Hacker News new | ask | show | jobs
by keypress 2753 days ago
Aside: FOSS UIs may stink, but I've never really understood this. As the UI should be the easy bit. That said most web sites, browsers and even the desktop still has quite a poor interface. Remarkable given the technological options.
2 comments

That's because making the UI is the boring part, and if you're not getting paid it's normal to focus on the non-boring parts.
It's boring to do UI when the tooling is outdated and poorly documented, and when the potential audience for one's creations/improvements is miniscule.

Not that long ago I read a blog where the author had either created or leveraged an HTML5 canvas-based implementation of X11 to explain and give inline demos for how X11 works under the hood. It was a blast to read and inspect, and I bet it was fun to write and implement!

Now-- re-implement that blog in the toolkit of your choice without leveraging that toolkit's webkit widget. Then make sure to release binaries for all the common systems someone would have used to read the original blog.

You're going to have a very, very boring time doing that. But that boredom isn't inherent to doing UI as the original blogs shows. Instead it's due non-optimal tools that end up eating all your concentration, and the fact that nearly no one will be there to cheer you when you reach the finish line.

Possible exception for Qt. But even there you've got to do extra work to compile binaries to ship for each platform. Or you somehow run it in the browser which is experimental and not nearly as well-documented as just using existing web frameworks.

> The UI should be the easy bit.

That's your problem right there. Many (most?) FOSS contributors are in it for the intellectual challenge. Designing a good UI is perceived as a lesser problem compared to technical challenges, and therefore disregarded.

Also, design is not the comfort zone of most FOSS contributors (which is why some FOSS projects do dedicated outreach programs not only to women or minorities, but also to designers).

Also, I think there is still some "it was hard to write, so it should be hard to use" mentality. I frequently see it justified it as an avoidance tactic for developer burnout: By making it hard to use your software (e.g. by providing no documentation, or by coating the documentation with a thick layer of jargon), the only users you'll get are the ones persistent enough to work through that on their own, and those will be the ones that deliver high-quality bug reports and contributions.

But there are many rewards to wrapping these products up. MS did well with their little tabbed UIs and checkboxes. It felt more like a mixing desk, easier than say discovering and typing command line options.

I don't think people have a 'this should be hard to use mentality'. I've been with programmers and designers who have had not one idea about designing the interface. They are fine cloning, but not at innovating. And frequently the UI is just born out of cluelessness. Or with websites, the design constraints sometimes override the ergonomics, or even kill code orthognalness.

These are common explanations to read online, but when you Occam's razor them to another explanation (which I'll share in a second) they build unnecessary narrative around motivation.

What if lots of open source GUIs are bad for the same reason many commercial and enterprise-internal GUIs are bad: the core of the problem was solved and the team lacked sufficient incentive to keep working on quality of life enhancements.