Earlier quoted context omitted.
I like the idea of Ubuntu Touch (having worked with Ubuntu a lot), but even more so Firefox OS. As a web developer, the idea that "native" could simply mean "the Web platform" is really attractive.
I don't want to run a browser to run applications, that's almost as bad as running Electron apps on the desktop.
Stop Building Closed Ecosystems
61–70 of 174 posts
Re: Stop Building Closed Ecosystems
#62Earlier quoted context omitted.
There 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 whi…
> 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 (o…
You're kind of fighting against Qt or GTK when you do that. Qt and GTK have their own widgets. React Native is more of a framework that uses native toolkits to begin with, so it starts out with much better alignment with platform expectations, and has better interoperability with platform features.
> There are not multiple "native toolkits" on Windows or macOS.
I'm confused by this comment. I don't know what kind of point you are trying to make here, or what you are responding to.
> 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.
Yeah, let's dial the "it's a position" condescension back one or two notches.
When I said, "Different platforms are just slightly too different from each other to make it work well," the "it" refers to cross-platform toolkits like GTK and Qt, which provide their own widgets. This explains why so many people use Electron and just embed a web browser (let's say "fuck it" and make one UI inside a big window), or choose to use something like React Native. Maybe I'm drawing too fine a line here--I think of Qt and GTK as cross-platform toolkits, I think of React Native as a framework without the toolkit parts, and I think of Electron as some kind of cross-platform box that you can something inside. I'd rather not talk about the definition of "toolkit" or "framework" because the definitions are not material.
Qt is a big honking mess, and GTK is worse. Speaking as someone who has written apps using both, and fixed UI problems in people's open-source Qt and GTK projects.
Re: Stop Building Closed Ecosystems
#63Earlier quoted context omitted.
I don't want to run a browser to run applications, that's almost as bad as running Electron apps on the desktop.
Who says every app has to run in a separate browser instance like with Electron? It could be as efficient as a browser tab, which would be perfectly fine as long as the UI is built in a reasonable way. On Android it's been possible for a while to install webapps via the browser that are then displayed like normal apps on the homescreen, and that is nothing more than running a website in the single browser app instanc…
Re: Stop Building Closed Ecosystems
#64Earlier quoted context omitted.
So 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?
There 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 whi…
Re: Stop Building Closed Ecosystems
#65The native side of this has long been addressed by cross-platform toolkits including but not limited to: Qt, GTK, FLTK, WxWidgets (note: all FLOSS, at least optionally). Alas, web development "decided" to completely reinvent the wheel for all this stuff, leading to a new generation of heading-to-native toolkits derived from browser-based technologies, such as Electron, React Native and Flutter. Unless you believe the…
If something like Electron stole your lunch, Qt obviously had serious problems.
Re: Stop Building Closed Ecosystems
#66Is it any surprise that tech is the way it is with this in mind? Is it frustrating? Absolutely. Is it as expected? Yup.
Re: Stop Building Closed Ecosystems
#67Qt is fairly open, I don’t get why the author doesn’t point at qt for a valid alternative.
Re: Stop Building Closed Ecosystems
#68The native side of this has long been addressed by cross-platform toolkits including but not limited to: Qt, GTK, FLTK, WxWidgets (note: all FLOSS, at least optionally). Alas, web development "decided" to completely reinvent the wheel for all this stuff, leading to a new generation of heading-to-native toolkits derived from browser-based technologies, such as Electron, React Native and Flutter. Unless you believe the…
I don’t necessarily disagree with any of this. But the toolkits first listed are all pretty poor if you care about aesthetics and UX. It’s like making furniture with framing lumber and OSB. It’ll work fine and be durable. But it just always feels not great. They generally feel, to me, a semitone sharper than portability with 90s Java applications.
This leaves several notable areas of UI/UX to address:
1. menus 2. file browsers 3. text entry 4. notification/tray integration 5. window management
These are where "the native experience" (i.e behaving according to guidelines or rules laid down by the platform controller) is really felt.
Yet they have very little to do with the "interior" (in-window) behavior of the app at all, despite being critically important.
If we're going to continue with the construction metaphor, I'd say it's more like creating a lovely house that has unusual door handles, windows that open in strange ways, and a different LED lighting temperature than you're used to.
Re: Stop Building Closed Ecosystems
#69Earlier quoted context omitted.
Why is it a “sad” lesson that users have preferences that are not in line with developers?
Personally I see the ossified bifurcation between users and developers as a major defeat that perhaps I won't live to see reversed. It was not set in stone that people would be by design dumbed down progressively as computing caught on, rather than assimilated into the computing world as 1st class citizens. In a parallel universe something like the Smalltalk, LISP or Forth machines were widely adopted and the dichoto…
I’ve been programming for a long time (since doing assembly in the 80s). My second job out of college was for a small company where I was a developer and also had to manage a SAN, a dozen computers that ran jobs, mail servers, ftp servers, MySQL and SQL Servers, messaging servers (MQSeries, MSMQ) etc.
Now I can just write some yaml or HCL and spin up an entire “server room”. I don’t wax poetically to juniors who never have to go through that and I even encourage them to use an even higher level of abstraction - the CDK that allows you to use code to create the yaml.
Ob Disclaimers: yes I work at AWS now (ProServe).
2nd disclaimer: while the CDK creates CloudFormation, Hashicorp ported it to work with Terraform and is cross platform.
Re: Stop Building Closed Ecosystems
#70Earlier quoted context omitted.
There 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 whi…
> 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 (o…
This is just not true on Windows. What is native Windows these days? Win32? WPF? WinUI? Even if your view is that Win32 is the one true native toolkit, MS alone produces multiple abstractions over Win32 like Windows Forms or MFC.