7 ms·
The native side of things has been address very badly by cross platform tools. I don’t want lowest common denominator shitty cross platform apps.
by scarface74 4y ago
The native side of things has been address very badly by cross platform tools. I don’t want lowest common denominator shitty cross platform apps.
- PaulDavisThe1st 4y agoSo what do you want? "Highest common denominator" doesn't make much sense in this context - it's functionally equivalent to lowest common denominator. You want N different implementations, 1 per platform? You think the cross-platform toolkits could be better? Do you have an explanation for why they are not?
- scarface74 4y agoI want native apps on my platform of choice that leverage the native capabilities of that platform. That’s the entire reason I chose one platform over the other. Mac users complained about Word 6 forever ago when MS tried to use a cross platform toolkit and Apple’s Windows app were just as bad.
- PaulDavisThe1st 4y agoSo you don't actually want cross-platform apps at all, but either single-platform apps, or apps developed independently for both platforms (because otherwise you're just talking about some in-house cross-platform toolkit).
- scarface74 4y agoWhy do I as a Mac user care about cross platform apps? Even as a long time Windows user, why would I care about cross platform apps? I chose a platform because the platform and the apps meet my set of priorities. As far as how that affects Linux users, even if I did prefer Linux as a developer platform, why make it my daily driver instead of running it in a VM or with something like WSL2?
- PaulDavisThe1st 4y agoWell, you're obviously welcome to do whatever you want, but I personally regard this as backwards. I believe in libre software, because I believe it is ultimately going to be better for users (over what timescale, I can't say for sure, but longer rather than shorter), and better for developers and better for technology. So I want to work on a libre platform, to some extent regardless of the applications I need/want to use, and thus I pick Linux first and apps second. When the app is not there (e.g. a DAW), I merely choose to spend a few decades of my life developing it, thus destroying my ability to do what I originally wanted to :) As for why would you prefer Linux as the daily driver, that would depend a lot on what you were doing/needed. It is a technically superior in almost every respect (not every, but close). It has better audio latency performance, should that matter, better bandwidth for most things, is generally more customizable to your own preferences (though obviously other platforms may be customizable enough). Upgrades and maintainance is generally simpler and smoother. I like being in control of my technology in a way that Microsoft and Apple increasingly do not allow me to be. I'm not saying that you have to care about any of that. I do, that's all.
- schrectacular 4y agoIt sounds like you are largely in agreement with GP, who says: "I chose a platform because the platform and the apps meet my set of priorities." You listed a wonderful set of priorities which put the philosophy and a certain kind of usability at the top. GP seems to value day-to-day UI/UX within the desktop. So question for you, with regards to cross-platform, insofar as you value it as a goal, is that to help spread the user base of libre software?
- PaulDavisThe1st 4y ago> So question for you, with regards to cross-platform, insofar as you value it as a goal, is that to help spread the user base of libre software? Essentially, yes. As a developer, I'd like my work to be available to as many people as possible, and I'm not dogmatic enough to insist that they choose to use Linux or another libre OS as their platform. If I want users of other platforms to be able to use my work, I need to somehow do cross-platform development. That means either creating my own cross-platform toolkit, or using an existing one. As a side note, I'd also say that cross-platform development turns out to be great for finding bugs and design flaws in your software. Exposing it to other compilers, linkers and UI/UX design models has always been a positive experiences, even if often frustrating.
- PeterisP 4y agoThat's a false dichotomy, someone can want a cross-platform app that has shared code but the outcome is "native-like" on each of the platforms. If a cross-platform toolkit can't do that and people consider that its result is a bad fit to some of the platforms, it doesn't mean that these people don't want a cross-platform app, all it means is that this toolkit is not good enough.
- klodolph 4y agoThere are multiple explanations for why cross-platform toolkits are kind of awful. I'm treating "cross-platform toolkits are kind of awful" as an observation here, because I've used them, I've worked with them. And my measurement for awful is poor UX, relative to native apps. Different platforms are just slightly too different from each other to make it work well. So you end up with a bunch of cross-platform apps which are built on things like Electron. You more or less reject platform expectations for how apps should work, how they should look, or how they interact with other apps / other parts of the system. You end up with stuff like Spotify or Discord. Thing is--if I'm getting work done with this app, if I get paid for working with it, I'm going to pay for a better experience. Instead of using GIMP, I'll use Procreate, Photoshop, Pixelmator, whatever. Maybe I'll use Notepad++ or BBEdit. Maybe I'll buy Pro Tools despite its cost, or maybe I'll buy a Mac just so I can use Logic. It is costly to just reimplement your UI for multiple platforms, but that's where the "closed ecosystems" come in. React Native is kind of a compromise between the Qt-style approach (cross-platform UX) and the native approach. You're given a framework which works with multiple native toolkits, and you can have a mix of cross-platform UI code and platform-specific UI code.
- PaulDavisThe1st 4y ago> It is costly to just reimplement your UI for multiple platforms, but that's where the "closed ecosystems" come in. React Native is kind of a compromise between the Qt-style approach (cross-platform UX) and the native approach. You're given a framework which works with multiple native toolkits, and you can have a mix of cross-platform UI code and platform-specific UI code. I don't understand this claim at all. Qt (or GTK) let's you "escape out" to the "native" toolkit on Windows or macOS as needed. There are not multiple "native toolkits" on Windows or macOS. > Different platforms are just slightly too different from each other to make it work well. So basically, you're denying that it's possible to do excellent cross-platform apps at all. OK. I'm not sure I agree with that, but it's a position.
- catiopatio 4y ago> So basically, you're denying that it's possible to do excellent cross-platform apps at all. OK. I'm not sure I agree with that, but it's a position. Can you name a single cross-platform application that is indistinguishable from a native application?
- culi 4y agoLook at WebGPU. Still a WIP, but it shows that you really CAN provide a performant cross-platform... platform if you're really thoughtful about performance
- PaulDavisThe1st 4y agoWebGPU doesn't offer any facilities relevant to GUI development except a method of putting pixels on the screen. If you're suggesting WebGPU, you're really suggesting a drawing technology, not a GUI toolkit.
- culi 4y agoNo I didn't mean to imply its utilization for GUI development. I meant for it as an example of cross-platform technology that maintains good performance while being extremely cross-platform
- PaulDavisThe1st 4y agoPlenty of examples of that. I could name dozens outside the web space.
- scarface74 4y agoAnd will it look and act like a native app? Will it support all of Apple’s built in accessibility affordances that a developer can get for free by using Apple’s native toolkits (and Microsoft’s)?
- PaulDavisThe1st 4y agoa11y is definitely a critical and often overlooked issue. And this is one area where I find myself in 110% agreement with the title of TFA: Stop Building Closed Ecosystems. If the Apple and MS a11y frameworks were not so distinct from one another, wrapping them in a cross-platform layer would be much easier. But they couldn't be bothered, largely because they both have enough users whose priorities match your own: are the apps on the platform good enough for them. The incentives to standardize a11y at the API level across OS platforms is a tiny fraction of the incentive to standardize e.g. WebGPU.
- gjsman-1000 4y agoThen, on the other hand, you'll rarely see Linux ports. Lowest Common Denominator apps have been a blessing for Linux users - we would have never had Visual Studio Code, Slack, Postman, and who knows what else otherwise; and you can't tell me any of their developers would've done the work to port everything to GTK or Qt otherwise.
- scarface74 4y agoIsn’t that a problem that Linux only has crappy cross platform apps that are not as good as native apps? Why would I run a Linux box as my daily driver instead of a my Mac that is real Unix, has a 16 hour battery life and I can get great polished native apps?
- klodolph 4y agoI mean, it depends on how much time you're spending in great, polished native apps. For work, I spend all of my time in VS Code, Chrome, Slack, and the terminal. It's hard to justify any platform as being better if those are the apps you use, since they basically work the same on any platform. And then there are the people who spend day in, day out in programs like Photoshop, InDesign, Pro Tools, etc.
- PaulDavisThe1st 4y agoAt least two of the final three you mentioned run on Windows and macOS, meaning that somewhere there's a cross-platform layer for the GUI. And yet apparently, that works. There's a lesson there, though I'm not sure what it is.
- scarface74 4y agoAdobe and Microsoft both have spent 30 years optimizing their development around supporting both Macs and Windows. But how much of the GUI is actually cross platform? Adobe famously used Apple’s Carbon API and was very upset that it wasn’t ported to 64 bit. There is a lot of Cocoa in both products. Microsoft use to brag that they had more Mac developers than Apple did.