Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Why does mobile appear to have a better dev UX compared to desktop UIs?
8 points by notheguyouthink on July 11, 2017 | hide | past | favorite | 9 comments
I'm trying to understand why it's so much easier to make a native and good looking application on Mobile than it is on Desktop.

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?



The biggest problem is that MS seriously dropped the ball. There was never a developer friendly API like Qt or Gtk for windows, MS wen't down the drag'n'drop tooling route instead. The other problem was that everything was grey boxes by default and almost no apps stick to the native look and feel, let alone allow themeing. This is even true of most MS apps like office and internet explorer.

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.


On Windows nobody cares a bit about a consistent UI and now even Microsoft doesn't care anymore. A bare Windows 10 itself offers a happy patchwork of everything you can imagine. From the old, inflexible "gray boxes" (only not so gray anymore) to random colorful, oversimplified, touch oriented nonsense.

> 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.


Ever tried Qt? It's cross platform but still tries it's best to feel as native as possible. It brings its own C++ IDE (Qt Creator), is well documented and nowadays you can use QML [1] to build your UI [2].

[1] https://en.wikipedia.org/wiki/QML

[2] https://www.youtube.com/watch?v=_6_F6Kpjd-Q


Yes, there are native UIs on desktop. I tailored my answer for react-native, as you mentioned that.

1. 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...


Haha, I apologize for the lack of React Native googling, but it was more of an example. Perhaps I should have omitted it, because it was the least meaningful part of my question.

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?


Mhm. I can think of the following categories of Apps (I am looking from an macOS kind of angle):

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.


Touch screens introduced a lot of new gestures. It's not about mouse clicks anymore but people's fingers. You have to think about your user interaction in a whole different way. Slower animations, smoother movements, more feedback and responsiveness.


Not to mention the Accelerometer.





Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: