Hacker News new | comments | show | ask | jobs | submit login
Make. It. Simple. Linux Desktop Usability (medium.com)
94 points by AnIdiotOnTheNet 4 months ago | hide | past | web | favorite | 55 comments



Global menus only make sense in an environment where only one application is on screen at once. This is especially true when you throw in "focus follows mouse"and you have to cross another application on the way to the global menu.

What I really hate lately is the iconification of menus, be it ribbon or that firefox abomination. Having to learn a different set of hieroglyphs for each application is a terrible UX. This is taking the form over function approach that has long plagued media players (still does with spotify and netflix) and bringing it to all applications.

Humans are much better at scanning through justified lists of text, this was our fast lookup method long before computers existed.


Global menus assume a single monitor setup. And as such are unsuitable.


This is not necessarily the case;

The Mac OS X desktop metaphor does attempt to solve this somewhat, the last application in focus on a particular monitor, is presented within the menubar on that monitor - regardless of whether or not the program is currently been interacted with.

For example: currently I have 4 displays with a program full screen in each, each Menu Bar has the menu options for each program.

All inactive programs present in the menu bars on the other monitors are greyed out - the effect of this can be seen in the linked image (I have minimised the other windows because work business) - https://imgur.com/MM8sQdt

I have Safari Tech Preview [the currently active window], Outlook, iTerm and Firefox (the display for which isn't included in the screenshot because it it's a vertical panel with odd dimensions), open on a monitor a piece.


> I’d like to see the Linux desktop improve. And I think a wakeup call is needed

This. Absolutely this. Please don’t take his post as a personal attack, and consider the possibility that Linux is not as usable as it should be.


It is unsurprising that this falls on deaf ears. The author is the creator of AppImage, the only remotely sane application distribution mechanism in the Linux Desktop world, and it is used by basically nobody. I've come to the conclusion, over time, that the Linux Desktop community just prefers that everything sucks. Maybe it makes them feel more 1337, maybe they just really really like terminals, I don't know.


To be fair, terminals are really nice.


They can be. I have a lot of fond memories of TUIs from the DOS era. I'd probably have a lot more respect for the Linux Desktop if they'd not even bothered with trying to be a GUI Desktop OS and just stuck with TUIs.


When Simon Peter (the author) actually filed an issue for a GNOME change that he found unhelpful, and gave use-cases and invited people to give use-cases as to why the change needed reverting, the change was reverted: https://gitlab.gnome.org/GNOME/nautilus/issues/437

GNOME prefers that people hop onto their IRC (which is not logged so, unfortunately, people can't easily reference previous progress made) but filing GitLab issues also works. There's the gnome-design IRC for trying to create change to the Human Interface Guidelines. In the Nautilus IRC I suggested trying a GNOME Forum to try and collect design feedback better but they say they've tried this before and there weren't enough people willing to maintain it so the forum died. The problem is that GNOME devs get so much outright abuse for their design decisions that it's too unpleasant for them to engage with the community and, because their devs are nearly all volunteers (bar, like, two Red Hatters (one being the Files lead)), there's no-one paid to engage with the community like there is in, say, snapcraft (who have engaged with criticism very well in my opinion, even if they haven't outright capitulated to demand (which I think is a bad idea anyway since you then end up flip flopping constantly because the outrage is always against the status quo (KDE has this problem (https://mail.kde.org/pipermail/plasma-devel/2018-June/086117...) also see Ubuntu - outrage against Unity 7 was cited in Shuttleworth's comments on why Unity was scrapped ('In the community, our efforts were seen fragmentation not innovation.' https://blog.ubuntu.com/2017/04/05/growing-ubuntu-for-cloud-...) https://forum.snapcraft.io/t/external-repositories/1760 https://forum.snapcraft.io/t/disabling-automatic-refresh-for...). So criticism against GNOME is never engaged with and the rage continues... Still, if you want to try and get the GNOME team onboard, I highly recommend hopping onto their IRC and constructively arguing with them. Arguing here will not change the situation because they don't read pages like this, at least, that's what they were saying in the Nautilus IRC, they want to get on with the task at hand https://wiki.gnome.org/Community/GettingInTouch/IRC

Admittedly, people like Carlos (the Files lead) do read the GNOME Reddit, so maybe that's the closest thing to a GNOME forum and you could thus try posting there about your gripes with GNOME :) https://www.reddit.com/r/gnome/ In fact, this article has been posted on the Reddit recently: https://www.reddit.com/r/gnome/comments/8shfiu/make_it_simpl... I suggest commenting there to try and make more progress :)


I'd like to add to that list, the GNOME Header Bars (the merging of title bar/menu bar/tool bar) into what ends up being a hodge-podge of button and menus which is so radically different between applications I never know where to click.

Bonus points to Nautilus, which somehow manages to have 2 buttons side-by-side that look like hamburger menus, the actual hamburger menu and view as list.

I really dislike everything looking and acting different, it's like having to learn a new language just to talk with a new application.


From the second part:

https://cdn-images-1.medium.com/max/1600/1*EXYbO_qnV2m8fv4mB...

> Adjusting the volume in KDE Plasma — why is there more than one slider for playback? Hardly intuitive

Because there are multiple outputs and you can assign a source to whichever outputs you want. Why shouldn't the controls reflect the actual capabilities of the device?

The next step is saying that the device is too capable and needs capabilities removed to make it easier to understand. No thank you.


You're a technical user, the blogger was speaking of non-technical users who's mental map of the machine don't accommodate multiple volumes. They also have no idea what "audio adapted analogue stereo" or "HDMI / display port" means.

Even as a technical user the amount of volume controls can get quite ridiculous. There is the device volume, the app volume (games, media players), the context volume (typically on phones), a volume control on the output device (speakers or display), volume controls on the output devices of output devices (TV -> stereo setup), volume controls on the input devices (Bluetooth, keyboard controls). It really is amazing that we have so many places to control such a seemingly simple so I can't really blame non-technical people for getting confused.

I'd love to have just one analogue knob on my keyboard to control everything and never think about volume again.


Non-technical users, who don’t know what HDMI and headphones are, probably have no computer at all, not to mention a specific linux distribution. And all these attempts to make an OS for an average complete idiot (that nowhere exists) just make things worse every year. Thank god few sanity bastions like xfce are still alive.

Btw, iphones have context-dependent volume control, probably because combining ring and music volume is impractical. The same for speaker vs headphones. But now I never know if I turned volume down for “volume”, “headphones”, “ring” or whatever it shows on that vague screen. This is a complex issue, and when you hide it behind too clever logic it can get even worse than explaining.

Btw2, in my childhood we had no computers or experience, but no one failed to manage volumes on chained-together audio systems. A good subject to think of.


> And all these attempts to make an OS for an average complete idiot (that nowhere exists) just make things worse every year. Thank god few sanity bastions like xfce are still alive.

I agree, but to many try to ride that middle ground, KDE is probably the best example. It aims to be simple but so much is configurable via hidden context menus and drag and drop controls that users can completely rearrange their desktop accidentally, even when it's locked. I don't know how but they do. If they'd just hide everything in text config files it would be better for both groups.

> Btw2, in my childhood we had no computers or experience, but no one failed to manage volumes on chained-together audio systems. A good subject to think of.

My family were constantly getting confused by things like the volume button on the VCR remote and the surround sound home theatre craze was a nightmare (and notice how so few people bother with this complication any more?). Other things like only changing the channel on the TV while recording something on the VCR and why the have to press AV2 when they used to just put it on channel 5 needed constant reminders. Their way of looking at the world just never understood input/output pipelines, at best they had to learn what to do by rote.

> Non-technical users, who don’t know what HDMI and headphones are, probably have no computer at all

I think you're hugely underestimating the people that still need them for work and creative tasks that tablets/phones will always suck at. They still act as the universal hub for all devices so people can do things like print documents or upload pictures from their digital camera to facebook. Not to mention the better ergonomics of something like a screen you can tilt but don't have to hold constantly.


> You're a technical user, the blogger was speaking of non-technical users who's mental map of the machine don't accommodate multiple volumes. They also have no idea what "audio adapted analogue stereo" or "HDMI / display port" means.

Really, they can't understand that the speaker has a different volume to their headphones?

At least this is better than having multiple volume knobs on one audio path.


The point wasn't that such functionality shouldn't be offered, but that a single global volume bar is almost certainly what you want most of the time. It should show a single volume slider that covers the master volume for all output devices and allow tweaking beyond that from another menu. This is the behavior of the Windows 10 mixer, for instance.

>The next step is saying that the device is too capable and needs capabilities removed to make it easier to understand. No thank you.

Sadly, yes, this is how Linux Desktop people think. GNOME especially.


> but that a single global volume bar is almost certainly what you want most of the time

Only true if volume is perfectly normalized. Otherwise you want to be able to quickly control volume per application or some context without affecting other applications, so when you switch to them you don't have to do it again. Browsers are examples of how bad it can be, with overly loud unnormalized instagram videos and no volume controls and in contrast somewhat normalized youtube volume with controls.


I don’t recall anyone ever saying to me they were worried about volume normalisation. Don’t design for edge cases that app developers can tackle.


>Now, with a menu bar you could reach the “About” dialog box with one single click, and dragging the mouse around. With this thing, you need at least three clicks, and you need to know where you have to click. A giant step backward with no apparent advantages.

This guy talks about some menu options like everyone accesses them 10 times a day. Who cares if 'About' is tucked away somewhere. Has anyone ever used the 'About' button in a browser? What for?

I much rather have a clean screen with fewer buttons than the 'About' button sitting there, never being used.

edit: read the other parts as well now and while some of it is nit-picky I recommend the series to all! worth a read.


It's not just about "About". I often want to revisit a web page and the same logic applies there. In Safari, the "History" menu is always right at the top of the screen. With a single click, I can look at recent pages, and hover over previous days.

In Firefox on Linux, I needed to learn to click on the bookshelf icon (?!) in the menu bar, then History. Then the menu acts like a wannabe iOS app and slides the history into the menu with an animation. It feels a lot more cumbersome for no good reason at all.

Both app and web designers have quickly understood that mystery meat navigation is a dead-end[1] now matter how clean it looks. I don't understand why the GNOME and elementary teams keep doubling down on it.

[1] https://thenextweb.com/dd/2014/04/08/ux-designers-side-drawe...


From that article:

'My take-away from all of this is that if most of the user experience takes place in a single view, and it’s only things like user settings and options that need to be accessed in separate screens, then keeping the main UI nice and clean by burying those in a side menu is the way to go.'

That article is saying that A/B testing shows that if you have different content views etc then you should have visible navigation, if it's options then sure, tuck it away in a side menu. I don't think the History menu is a 'view' per se...


About buttons are there to find the exact version of the software you are using - and who is behind it. It is useful.

Sometimes to contact the devs.


Anybody else starting to hate GNOME? I mean, I use it, but I feel like I use it despite a lot of things that they've actively done to make my life harder. This article distils some of their finer work.

From way up here in orbit, it seems the problem is leadership, in that it's way too open. Somebody can suggest a shitty idea, discuss half of the issues it and then four months later —without quorum— drop a patch to implement the whole thing. That gets accepted and before you know it you can't launch executables from Nautilus. See: https://gitlab.gnome.org/GNOME/nautilus/issues/184

I'm not saying Carlos shouldn't have some autonomy here. He's been running Nautilus for a few years now... But is it acceptable that just one person steers the most fundamental component of a desktop used by so many downstreams? I wonder how many of the other GNOME culls (https://askubuntu.com/a/286438/449) can be attributed to a couple of people with so little discussion.

I do abhor design by committee and trying to keep too many stakeholders happy can really lead to a product becoming flabby and inefficient, but interface decisions within GNOME seem to happen too often without any scientific rationale, let alone a consideration of how it might affect users.

Also slightly pissed that the major commercial desktop players (Canonical, SUSE, Red Hat, etc) aren't pushing back. They'd seemingly rather write their own stuff than feed into the running of the project. NIH.


Not GNOME, but the implications for GTK and a whole load of libraries that are being worked on to support these changes. Like especially GTK is just not a stable target. I used GTK 1 and 2, and especially the incompatible changes in 3 and removal of features are just super annoying (many examples, we already had the introduction of header bars etc., there was always a little triangle in the status bar that was just cut, lots of deprecated widgets, ...). And if you look at the plans for 4(!) there's more fundamental changes coming.

And personally I still don't want to touch Qt, but it might just come to that. I don't think I'm up for yet another rewrite with a toolkit that can't be stable for ten years. That might sound grumpy, but also consider GIMP is still working on the port to GTK 3 ...


If more people read this and comment (one way or another), we might get a more usable desktop on Linux.

I’m going back to Linux after years on the Mac and windows, and it’s killing me. Finding anything is a pain in the butt, hence me posting this.


Same situation - forced to used Linux again at the moment and having a hard time using Ubuntu 18.04 and hence Gnome. Shockingly bad UX, I find myself googling things like “what’s the Firefox shortcut key for X” all the time.

I decided to stick with it for a few weeks, now considering leaving Gnome and even buying a Mac for the job.


I don't want to look like a linux advocate, i like mac UI better, but if you find gnome painfull (and you should), try cinnamon. It does not have searchable menu like asked in this article, but it has everything else, and i personnally find the interface lean and efficient on laptops (i still like mac UX better).


Give it a try to "kde neon".


There is a big recent trend for inventing new UI/UX solutions for things that aren't broken until they are. I'm really looking forward to see this problem to be addressed in the near future.

That hamburger menu button in Chrome kept me from adopting the browser until I gave up only about a year ago.

There are so many projects born and die each day, it's a mystery to me why nobody have solved the famous Linux Desktop UI problem so far (Mac OS did though). The 'about' item often is the first thing I'm looking for when I see a new app. And if I can't find it within a minute, it gives me a instant idea that working with it will be no walk in a park.


I think the reason UI/UX is not solved on Linux is that designers do not readily work for free. And there are often very good reasons they don’t. The only solution I see is for someone to pay large amounts for great designers.


I feel like the author needs to explain why the menu-based user interface is better. That's taken for granted, but is it actually true?

And consider that the response to that is likely to be different for people who learned computing on environments like Windows (where global menu bars would be really weird), Mac OS (where they're normal) or various earlier UNIX GUIs (where who knows, anything goes and each application probably does it differently anyway), or on smartphones or tablets, which is where a lot of younger people are getting their first experiences of computers.


> Windows (where global menu bars would be really weird)

Would they really be weirder than hamburger menus?

Also, GNOME 3 has a global application menu in the top-left corner, but it only contains around 5 entries on average and is largely ignored. It's the worst of all worlds.

Ubuntu's Unity had the right idea when they let users choose whether to display menus at the top, or inside each window. The implementation was terrible, but I wish the concept would have caught on as some kind of XDG standard.


I think he went into quite a bit of detail from being quicker (less actions) to being more discoverable.


Despite a few quibbles (especially re: the prominence of browser settings menus), following these recommendations would be a great help. The clock bar at the top of the screen in GNOME 3 is a weird half measure, and its uselessness drives inconsistency in app UI since every app has to implement its own menu.

I would gladly hitch my wagon to the author's star if they wanted to organize a project to implement these improvements. Does anyone with more Linux development experience know where such a project would start? Is it already in progress somewhere?


Part 6 entry mysteriously left out of the index:

https://medium.com/@probonopd/make-it-simple-linux-desktop-u...


I don’t understand a lot of the criticisms at modern ui/ux patterns in this post. Ex: complaining about the hidden settings menu in chrome. Most people just want their applications to work and have the most common functions easily accessible. I am sure most users of chrome don’t ever need to delve into settings and are happy with the minimal set of options presented to them and that user testing backs this decision.


Yes, and browsers are specifically about the content you're viewing whether that be a simple page or a web-app. How often do you really use the application menus of a browser in the first place, and does that justify giving them center stage over and above the tab list at the top?

There may be arguments in favor of global menus, but browsers are not one of them. Personally, I detest global menus like the plague because it really disconnects the list of actions from what I'm going to be acting on, especially if you have e.g. focus follows mouse. (But I'm sure we're just supposed to let go of that too...)

EDIT: ... and since nobody asked: The problem with the Linux desktop is mostly lack of consistency across applications, IMO.


> Most people just want their applications to work

There is a part 6 entry addressing this very thing:

https://medium.com/@probonopd/make-it-simple-linux-desktop-u...


I don't think I understand the author's critique of the Chrome/Firefox menu button either other than the weird choice of iconography. I'm curious as to what he would propose as a solution to the problem.

I do agree with the author on his sentiment on the lack of discoverability with applications nowadays. It might've been better to showcase the `chrome://settings` interface since it's a prime example of less suitable mobile design bleeding into the desktop UX. Funny, I just noticed that they actually use a proper hamburger icon for toggling the hidden settings menu, not the triple dots.


> other than the weird choice of iconography

I think that by now, we're well on our way of educating people on the meaning of the hamburger icon...


The problem with global menu bars is that you can have multiple windows on the screen, and the menu in this other place, totally separate from the windows (the top of the screen) depends on which window is focused. That is weird.

I'm sure everyone that has used OSX has at some point wondered when they couldn't find a menu they were looking for only to realise some window on a different screen was focused.


I implore everyone to read the rest of the series.


I totally agree that menu bars and shortcut hints in menus are important ui features. But I draw the line at global menu bars.

If I've got an app in a small window in the lower corner of my screen (which in fact I do at this moment), I want the menus for it right there, not all the way in the far corner of the screen.

Plus, global menus are terrible with focus-follows-mouse, which for me is such an important feature that I've even set up my work Windows laptop to have that behavior.


A lot of this seems to have been written by a mac fanboy.

As for the discussion of ridding cut/copy/paste in menus: who doesn't know the shortcuts for those?


New users.


I disagree that presenting users with a slew of menus that they most likely won't be using (I'm talking browsers here) qualifies as "simple". "Consistent" maybe, but not "simple".


It's like these people haven't heard about Cinnamon.


Reverting back to Gnome 2 makes me want to tear my eyeballs out. The inconsistent icon scaling, lack of padding and non-existence of decent vertical alignment within panels makes it very difficult to design a tasteful desktop.


Desktop is not a picture to look at, it's first and foremost UX.


Can we not have both? Decent UX without all the very easily avoidable and sloppy design mistakes?


XFCE4 is all you need


To be fair to firefox, this has changed recently.


What has changed?

- Hamburger menu is still there.

- Sidebar-everything is still there.


The menu button has been there for a few years (I refuse to use the abomination of a name that it's acquired). However, it's layout has become more sane recently. It used to be a bunch of tiles. Now it looks more like a classic file menu but with weird, mobile-esque, sliding menus.


It's a different layout than what is pictured and described in the article.


The gnome screenshots look really bad, I agree completely.

Funny sidenote: I have to shamefully admit that I never used a Macbook until a few weeks ago, when I wanted to watch Netflix on my girlfriends mac. I was pleasantly surprised that she uses it almost exactly like I use my Linux: never close windows, just swipe from workspace to workspace, and a nice launcher bar at the bottom. The only thing I don't like is the screen-width bar at the top which provides controls for the current application.




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

Search: