Hacker News new | ask | show | jobs
by phendrenad2 2875 days ago
I think there are things inherent to Linux that make it unable to ever reach the level of usability that MacOS provides.

On MacOS there is one way to do everything. Want to make a desktop GUI app? XCode has a project template for you. If you deviate from the APIs it suggests, you’ll get nothing but pain. On Linux, there is no default window API. You have to choose between Qt and GTK and <a billion other things>. That leads to fragmentation at the windowing system level. And just think, that fragmentation happens at all the other levels too.

Ubuntu has removed some of the fragmentation, since it’s so popular that you can just target Ubuntu and let your application fail on different configurations (or worse than failure - technically work, but require tons of tweaking in config files. Ugh).

However, Ubuntu has reached the point, IMO, where to provide better UX, they would need to start making Ubuntu actually incompatible with other Linux distros, or push the Linux community to adopt new standards that are better for desktop linux. A perfect example is Wayland: supposedly Wayland is a lot better than X11 for desktop purposes. It’s just too bad that Ubuntu can’t just break compat and blaze their own path here, or we would probably have a great Linux UX story already.

2 comments

In my opinion most of the distributions are starting from the wrong end. They start with kernel, add package management, decide which services to run, which toolkit to use and then make some utility applications. Sometimes over a few different distributions. This mean not only that it is hard to convince people why they should change things, but that when you made the improvements you want you end up stalling since you haven't actually tackled the things that are lacking.

What you should do is the opposite. They should start with the toolkit, the network infrastructure, the management utilities or something else that would be the use-case. Once you have e.g. a solid toolkit that is attractive to developers and people start making good applications the rest is a matter of time. There is of course a reason why people don't do this, which is because it is hard. But hard is good, it is complexity that will kill you.

This is of course essentially why Android and Chrome OS is successful in their own right.

Interesting point, although I can't say I ever managed to get on with anything in XCode I've certainly had some Linux native desktop dev struggles in the distant past.

I'm a Java dev mostly, so perhaps I'm insulated from such things by the JVM. So long as I can run Chrom[e|ium], Eclipse, Docker and a terminal with a bash shell I'm pretty content. Even with that small list I've got issues with keyboard input lagging in Chrome on MacOS and Docker performance is poor relative to Linux. iTerm is a thing of beauty though.

I've got a box running Wayland on Arch. Can't say I've noticed any differences as a user from X11, I'll have to look them up and see what I'd missed.