Ask HN: Why does mobile appear to have a better dev UX compared to desktop UIs?
Recently I stumbled upon an app I liked, saw it was based on Electron and immediately lost my excitement. Electron to me represents a failure in Desktop frameworks. I wished that we could have something like React Native for Desktops.. and then it hit me, if we made React Native for Desktops... what would it use? Do desktops even have native UIs akin to mobile?
All I ever see are cross platform frameworks that impose non-comformant and non-standard UI designs on applications. Usually paired with poor developer experience to boot. Why is this? It feels like mobile OSs strive to make everything look good and be standard between applications, and yet desktop (OSX/Windows/Linux-frontends/etc) seem to care not for these features.
Now, I don't profess to be well informed on the subject - take any statements of mine as a inquiry. So, thoughts? Why is desktop.. the way it is?
9 comments
[ 1.8 ms ] story [ 37.5 ms ] thread1. macOS -> Aqua [1], apparently there exists an community package for react-native [2]
2. react-native-windows [3] by Microsoft which apparently has support for Windows 10 and xbox
3. There are other UI kits for linux and cross-platform, e.g. qt and gtk. I did not find much about react native there, except for ubuntu [4]
PS: I got those hits by googling "react native for desktop" :P
[1] https://en.wikipedia.org/wiki/Aqua_(user_interface)
[2] https://github.com/ptmt/react-native-macos
[3] https://github.com/Microsoft/react-native-windows
[4] https://github.com/CanonicalLtd/react-native/blob/ubuntu/REA...
Though, you did partially answer it. Apparently Aqua is the official kit for OSX. My next question would simply be, why isn't it more common? I so often see crappy UIs or hand made UIs, nothing feels as standard on Desktop as it does on Mobile.
I know I know, mobile suffers a lot too, but I think it suffers much less in recent years - the builtin UI frameworks have vastly improved. Yet, every Desktop app I use seems to have a different UI, a different style, a non-consistent interface.
Thoughts?
1) Intended for macOS Platform, e.g. Little Snitch, Paw, Pixelmator look good, as they use Aqua.
2) Built with GUI specifications by another company in mind e.g. MS Suite looks good on macOS, but uses Ribbons, etc. and on iOS Google Apps (Inbox, Maps) use Material Design. This is due to the issue, that Google and Microsoft do not want repeat UX Research and Development for another platform.
3) Java Applications like Jetbrains Webstorm/IntelliJ
4) Cross platform applications using Gtk or Qt like Handbrake
2-4) are basically the same - saving costs and/or time. And do not forget: If you are building a product, let's say Atom, Office or Webstorm, you want to users be able to use an familiar interface regardless of their OS
I think mobile had the big advantage of not making it easy to use other frameworks due to restrictions AND being around relatively young. 2-4) are quite common since before smartphones were around.
The main reason where mobile suffers is wrapped web views.
[1] https://en.wikipedia.org/wiki/QML
[2] https://www.youtube.com/watch?v=_6_F6Kpjd-Q
Contrast this to linux desktops where you can knock out applications fairly easily and it uses the local theme by default. They made it easy to do the right thing so most apps do the right thing. For an example, here is a todo list I threw together: https://gitlab.com/flukus/gtk-todo/blob/master/main.c . I just define my app, I don't do any theming, I don't worry about font sizes or color scheme, I just use the defaults that the toolkit provides and when I open the app it looks like every other gnome app. This is what windows was and probably still is missing. And the problem seems to be getting worse, see the awful background image in the windows 10 email client.
Aside from that, mobile UI's are simply much easier than desktop UI's. There is a lot less variablity in screen real estate for one, everything is full screen all the time. The don't have nested menus, they don't have accelerator keys, they don't have to (can't) display complex data, they are simple out of necessity.
> I just define my app, I don't do any theming, I don't worry about font sizes or color scheme, I just use the defaults that the toolkit provides and when I open the app it looks like every other gnome app.
On Linux you still have the problem with synchronizing GTK and Qt look and feel but that also improved a lot over the recent years. It not perfect overall but still pretty good.