1. 41
  1.  

  2. 25

    What I found most interesting in this piece (so in other words, it resonates with my personal motivation and bias to a large degree) is down in the comments (Mathias Hasselmann):

    “They simply don’t know their target audience. They design with that toxic idea in mind that “Grandma and Grandma must be able to use this”, entirely ignoring that world outside their ivory towers, where causal users happily do all their computing needs on mobile devices, not desktops. The desktop has shrunk. It’s not mainstream anymore. It’s a tool for information workers again, and making the desktop useless for information works will not bring a single mobile user back, but it will scare away more and more professionals for Linux at least.”

    I have a much longer diatribe in the out-queue as it strongly relates to my projects and frustration with how user integration with computing is developing, but really - the concessions everyone (from OSX to Windows and onwards) seem to make race away from “silent/passive by default, configurable mechanisms to your desires” towards “preset hidden policies to match our perception of what you want - it just works” rather than advancing the former to be more ergonomic, discoverable etc.

    1. 12
      Part 1

      I’m still reading the article, but I already heavily disagree with the first point, about menus having to be discoverable, verbose, and that every application should have a traditional menu bar. Please, pretty please, with sugar on top: don’t do that. Sure, have a menubar somewhere, possibly discoverable, but even in the worst case, allow us to hide it. Once you’re down with key bindings, the use of the menu quickly diminishes, and it will only eat up precious screen real estate. Granted, on a big 4k screen, the menu takes up very little space. Yet, it takes up some, and is distracting for no good reason. I’m ok with a compromise like a “Global Menu”, which integrates the menu of the active window into the top bar - as long as I can auto-hide the top-bar.

      To be honest, for discoverability, I much prefer applications that come with huge amounts of documentation, and a useful help system (hi Emacs!). That makes discovery a lot smoother than browsing around menus. With documentation, you can describe what a thing does, and have more information about it than a name.

      The rest of Part 1 is fine, and the author makes good points. But the insistence of having a traditional menu, visible, without explicitly saying that it should be hideable is not something I can stand behind.

      Part 2

      Regarding part two: checkboxes. Perhaps if you are dexterous with a mouse, you can click tiny checkboxes, or the small text beside them. Myself, I’m clumsy, and I like the big toggle buttons a lot more. Easier to see at a glance, they’re bigger, so I can hit them more accurately.

      I also happen to disagree about scrollbars: I have a modeline that tells me where in the document I am, more precisely than any scrollbar. I have key bindings to move fast, or navigate easily. I have no use for a scrollbar. Granted, this is my personal opinion, but I don’t try to force it on anyone. All I wish is to be able to hide the scrollbars. They can look and work whatever way you want them to, just let me opt out of that stuff, thank you.

      Docks: When you only have a handful of applications, all of which start up when you log in, what use is the dock? I do not need to see which apps are running - all of the ones I need are. I do not need to click on them to switch, I have key bindings to do so. I have no need for launchers, because I can pop one up with a… you guessed it, key binding. Why waste screen real estate with something I’m not ever going to use? From observing my colleagues and my family while they use computers, I have the feeling that most people use the dock rarely anyway. Rarely enough that auto-hiding it would not be wrong. Just pull your mouse to the side, and out it comes.

      Just because we’ve been doing something for 40 years does not mean it is still the best way to do things. It might be engraved in your brain, but there’s a new generation growing up who get used to the user interfaces of today. The way we did things fourty years ago will seem alien to them. When they grow up on handheld interfaces, the desktop looking similar is a feature. That makes it more discoverable for them.

      These UIs are built for a different kind of user. And that’s not necessarily a bad thing.

      Part 3

      Desktops should automatically set the language based on the bCountryCode field in the USB descriptor data.

      No. Just no. For one, many keyboards will just set it to 0, rendering this feature useless, as the author soon discovers. But having worked with USB HID a little, let me tell you one thing: don’t trust the hardware to be sensible. The spec is underspecified in many places, and hardware sometimes directly contradicts the spec. In some cases, operating systems fail to implement it properly too. You can’t build a useful UI on such flaky foundations.

      Besides, there are blank keycaps. There are people touch-typing US QWERTY on DE-QWERTZ labelled keyboards. Or typing Dvorak on a QWERTY-labelled keyboard. Don’t screw with us, and let us set up the language and the layout in whatever way we want.

      An install-time default offer is fine, mind you. But as long as we use the mess that is the current USB HID, that’s the best we can do.

      “Natural scrolling” is confusing, breaks the basic scrolling metaphor and has no place on the desktop.

      It may be confusing for someone who grew up with the “unnatural” scrolling. For those growing up with what Apple and others call “natural”, it does feel natural. I was curious about it a while ago, and have switched to it a few months ago. For me, it feels better. I do agree that a more descriptive name would make it much easier to understand what the difference between the two is.

      For the record, I’ve used the traditional scrolling for well over two decades. That’s what I grew up with, but I grew fond of this new hip thing. And for the generation that grows up with mobile devices, it makes sense to have similar defaults on the desktop too. With touchscreens coming to desktops (or laptops, for the most part) recently, this is not a wrong approach to take.

      Part 5

      Desktop icons: good riddance, and GNOME2 was awful. Organizing icons on the desktop is a terrible way to work. I’ve yet to see one person who does this, and their desktop doesn’t turn into a huge mess. Not to mention that having windows open will hide the desktop at least partially, rendering its use for organization near useless. If you have to minimize all windows or “Show Desktop” to get access to your launchers and files, you could just use a dedicated application for that. Not to mention that launchers on the desktop kinda go against having them on the dock…

      But again, like I said above a few times: just because we’ve been doing something one way for over 40 years does not mean it is still the way to do it now. Just because you feel comfortable with a certain kind of UX does not mean others do, too. There’s an entire generation growing up on touch-based devices. For them, your UX is antique and outdated.

      1. 11

        To be honest, for discoverability, I much prefer applications that come with huge amounts of documentation, and a useful help system (hi Emacs!). That makes discovery a lot smoother than browsing around menus. With documentation, you can describe what a thing does, and have more information about it than a name.

        That’s the opposite of discoverability, though. If you have be taught how to use a thing before you can use it effectively, it’s not discoverable.

        1. 4

          It literally starts with a welcome screen that has a link to the tutorial and a guided tour. Can’t be much more discoverable than that. Guided tours are so much better than trying to figure out what the menu items do on your own.

          1. 1

            Browsing the menus. Clicking and hovering over gadgets.

            The user is looking for the thing representing the symbol in their mind;

            In a menu they imagine an action that they want to perform and are conjuring words that point to;

            In a palette of buttons they visualise shapes and seek metaphor.

            And then a miracle occurs – they recognise the thing the programmer chose!

            We call that feature “discoverable”.

            This definition of “discoverable” is not a good thing.

            1. 4

              In your scenario, the user figured out how to do something without going off and spending time reading documentation or watching a tutorial video before they could do something useful. And probably pretty quickly, too. Why is that not a good thing?

              1. 2

                A person (A) who has used one word processor (X) will find another word processor (Y) “discoverable” if all of the menus and hot-keys work the same. Or many of them do. Or they share metaphor. Or other things.

                However a community whose expectations are built that way will have massive difficulty using any word processor that doesn’t (Z).

                Yet a person (B) will be massively more productive with that other software (Z). If they are not, it is not worth considering, for reasons, so it is only a useful conversation to consider the situations where they are.

                And the sum training in (X) and the discovery of (Y) far exceeds the training in (Z).

                Because our (business) goal is rarely to help people (A, B) do “something” but to produce the intellectual work products that we’re expecting from them (A, B).

          2. 1

            but there’s a new generation growing up who get used to the user interfaces of today.

            Yes, they do get used to the user interfaces of today. But does that mean they’re happy with the interfaces of today? How much happier would they be if an interface used the best of the past ~45 years (going back to Xerox PARC), rather than just the trendiest?

            1. 3

              I’ll ask my kids once they’re old enough to answer that.

              Mind you, I prefer the current trends, even though I didn’t grow up with them. Not all of them, mind you, but many of the current directions are in line with the way I prefer to use my desktop.

              I’m definitely happier with my GNOME3 than with anything I used before (and I used a lot of things since ~1996). I’m looking forward to using touch-based interfaces on the desktop, because that’s many times more convenient than mousing or keyboarding around. On the other hand, I’m also very happy that I can accomplish a ton of things from the comfort of my keyboard.

            2. 0

              Sure, have a menubar somewhere, possibly discoverable, but even in the worst case, allow us to hide it.

              I usually set desktops in the family to hide the bar on the bottom unless mouse moves near it. Everyone seems fine with it once they’re (a) told the benefit of one less distraction on screen and (b) shown how easy it is to make it re-appear. Firefox has similar benefit where just pressing Alt makes menu reappear. Another concept might be to tie them together where one button makes all the menus appear. The user then just mouse clicks or key combos to what they want from there. Then, we just train them on one button. Of course, they can still configure to hide any that they don’t want to appear at all.

            3. 4

              The global menu bar issue is something I deeply care about. Linux has a very good global menu bar, but people either are moving away from it or do not know that it is available. Just use Ubuntu 16.04 and see in action.

              Since 2014 Ubuntu modified GTK and Qt so that all desktop applications made use of a global menu bar. Everything works now perfectly. Ubuntu 16.04 with the default Unity desktop is a very usable desktop. All my non-techy acquaintances like it. These modifications have, however been refused upstream, because they do not fit the GNOME 3 paradigm (most of which I like).

              I really do not understand why people are against global menus. They are better, scientifically proven better. And they save a lot of vertical space, that in modern super-wide monitors is a precious resource.

              Why doesn’t the global menu bar receive the love it deserves?

              1. 2

                They are better, scientifically proven better

                Citation needed

                1. 3

                  From Fitt’s law [1] and Steering Law [2] comes that global menu bars are much easier to access.

                  Fitt’s law tells you that global menu bars are better because they can be reached by moving the cursor to an infinitely big target [3]. In other words, you can throw your mouse pointer somewhere up and it will surely and easily reach global menu bar.

                  Steering Law tells you navigating along/inside a vertical or horizontal tunnel is hard if the tunnel is thin (hello badly implemented JS menus that disappear when you move to a submenu). In the case of a global menu bar navigating it is easy because it is infinitely tall, just push your cursor slightly up.

                  Global menu bars are easier to access, but are they faster to access? This a good question, because, on average, the global menu bar is farther away than the local menus. It turns out that, on average, they are equally fast to access. [4] Windows requires more aiming precision (slower) but less travel distance (faster). MacOS requires less aiming precision (faster) but more travel distance (slower).

                  All things being equal, simplicity should always preferred, because it means that more people can fruitfully use a system, for example people with disabilities.

                  1. P.M. Fitts: The information capacity of the human motor system in controlling the amplitude of movement. J. Exp. Psychol. 47, 381–391 (1954)
                  2. J. Accot, S. Zhai: Beyond Fitts’ law: Models for trajectory-based HCI tasks. In: CHI 1997: Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 295–302. ACM, New York (1997)
                  3. A. Cockburn, C. Gutwin, S. Greenberg: A predictive model of menu performance. In: CHI 2007: Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 627–636. ACM, New York (2007)
                  4. E. McCary, J. Zhang. GUI Efficiency Comparison Between Windows and Mac. In: HIMI 2013: Human Interface and the Management of Information. Information and Interaction Design pp 97-106, Springer (2013)
                  1. 1

                    This makes sense, thank you for the detailed response.

                2. 2

                  how does it play with focus modes other than click-to-focus? e.g. in focus-follows-mouse, if you have to move your cursor through another window en route to the global bar, it would rebind to the new application.

                  1. 2

                    Focus-follows-mouse has a delay before switching applications. Move across fast, no app switching. Or go around (fairly easy with non-overlapping windows).

                    1. 1

                      I haven’t tried these global menus in Linux, as an Enlightenment user, but how long ia the delay and is it configurable?

                      I’d tie it to motion, because I appreciate my desktop being fast and all kinds of stalls annoy me. I’d imagine this to be very true if I have to touch a pointer device.

                      1. 1

                        It appears to be a hard-coded 25ms delay, at least in GNOME shell. Others may implement it differently.

                3. 3

                  Whether or not you agree with this series, it’s useful because it forces us to confront the possibility that UIs of the past were better – that fashion is hurting usability.

                  1. 2

                    Regarding Part 3 the only time I ever look at the print on my keyboards is when some fucking piece of software decides to help me out by changing my layout. Please don’t do that. I have 3 keyboards I use often with 3 different prints on them, yet my mind layout is always the same.

                    1. 2

                      This is pretty close to the article that I’ve been wanting to write. I feel that software interfaces have been careening towards form-over-function for quite some time. It seems like it’s far more important these days that an application or desktop environment look new and fresh than it actually works well. This is reflected in the mass shift from “user interface” (how well people interact with the technology) to “user experience” (how people feel about interacting with the technology).

                      I agree with the author that it’s sad that we’re erasing decades of progress on desktop interface design. I’ve been using computers for three decades and Linux for two decades. I installed Ubuntu 16.04 and really tried hard to give it a fair chance. But after a few weeks, I just could not be productive in it due to silly design decisions and missing features.

                      The one thing I disagree with in the article is that global menu bars are some kind of panacea. I suspect people that champion for them “grew up on them” so to speak and are simply too used to them to give them up. I understand and respect that. However, most of the arguments for them fall down when you introduce multiple displays. When there is more than one display, which display gets the global menu? What if your global menu is on screen A and your application on screen C? Do you expect users to mouse all the way over to the left to get to the menu? Should the global menu be moved to a different screen depending on which application has focus? Or should it move depending on which display has the mouse cursor? Or do you just put the global menu on all screens? Everyone will have a different (valid) opinion for each one of these questions.

                      I myself don’t care for global menus not only because the Right Behavior is not clear when there are multiple displays (I use a minimum of 2-3 every single day) but also because although I have a lot of screen real estate, I am typically focused only a very small part (one window) at a given time and it’s more efficient to have everything that concerns that application all in the same area or window.

                      /rant

                      1. 2

                        I can see the point of Fitt’s law, but otherwise I also hate the global menu bar. Any time I use a Mac, it is just weird how it constantly changes when clicking around and is visually disconnected from what it is supposed to manage. Moreover, it doesn’t work at all with sloppy mouse focus anyway (which I was skeptical of at first and now find vastly superior).

                        And btw menus and submenus require quite a bit of precision anyway, hitting the right option can be a pain. There’s more to it than just opening the menu.

                        So what I’ve been considering today is actually making the mouse lock to the active window with ease, so then the window borders become the infinitely spaced target area. Then the menus are still tied to the window, and have infinite mouse target height. But then, how to make the mouse escape the window? It also kinda ruins sloppy focus. I’m thinking maybe put it on a hotkey to toggle window lock, or maybe just make the cursor a little “sticky”, so it requires a little more distance to escape the window border when it has a clickable thing on that side.

                        idk, I am thinking about it, but at the same time, personally, I basically like things the way they are on my computer - per-window menus ftw.

                      2. 2

                        I like acme, because I can put the menu / command line, wherever I want. I have the most frequently used commands saved in a file for each project. When I want to do something, most of the time, I just double-click the command line I previously saved, and middle click the selected. It works for editing text, and it works even better for REPL interfaces.

                        1. 2

                          This type of article misses the point of “Linux on the desktop” and open source in general.

                          It’s not about giving somebody a pre-built system that magically meets all their needs - its about giving them the power to customize their systems to their needs themselves.

                          There are lots of window managers, web browsers, editors, email clients, etc. Picking the ones that work best for you is your own responsibility.

                          1. 1

                            People expect it to Just Work, which should account for pre-existing work and biases. These are different from mobile and IMO millennials should learn the desktop as a separate thing from mobile, just as we old farts learned mobile. This way the baby stays in the bath water.

                            As for customizability, I’m happy I put the effort into tweaking Enlightenment to how I think, though the defaults aren’t horrendous.

                            It’s sad that its developers don’t seem to aim for adoptability by distros.

                          2. 1

                            They are removing bars from the screen one at a time. They removed title bar ( I think that’s okay ), then they remove menu bar of application ( that has been talked in this article ). After that they will remove the system menu bar when application lauch and also they make the application status bar ( which normally display at the bottom of the application screen optional ). But fow what? To give more space to main window or to remove the other obstacle from users of the system to make them focusable ( if “professionaly” said! ) But, we already have F11!