The worst offender is the login prompt. In Gnome, from the lock screen, I simply start typing my password. As soon as I type the first letter of the password, the password prompt appears, and when I'm done I hit enter and it unlocks.
On Windows, the first letter merely makes the prompt appear, but does not yet type into the prompt. In fact, it will only start feeding letters into the prompt once the little prompt-appearing-animation has finished. If I just start typing my password, it will eat the first three or four letters. So I hit enter, wait for the animation to finish, and only then start typing.
That's not the end of the world, honestly. But it is a learned gesture that the system taught me by failing to do what I'd asked it to do. It just goes to show the attention to detail that makes a UI feel fluid and frictionless.
Congratulations! You were able to recognize that it's a _login screen_ without seeing that there's a hidden password field.
The first time I booted to Gnome I waited damn near ten minutes for it to tell me it's ready for my login before I decided to start typing things to see if it was stuck.
It's _not_ intuitive.
- Why is there a full screen app drawer?
- Why does the top bar do nothing and function like my Android top bar?
- Why are there no icons in my tray for my background apps (steam, slack, etc)?
- Where can I go to see my current running applications?
I would love to use a Linux distro on my phone, but not at the expense of my Desktop experience.
The answer for most of these is "there's an extension for that"
> - Why is there a full screen app drawer?
https://extensions.gnome.org/extension/6/applications-menu/ (fully supported by the Gnome team; hopefully shouldn't break from release to release)
> - Why are there no icons in my tray for my background apps (steam, slack, etc)?
There are a variety of extensions that do this, I use Topicons Plus (https://extensions.gnome.org/extension/495/topicons/), which also seems to be a part of the core suite.
> - Where can I go to see my current running applications?
I rarely have to do this (for me it's almost always IDE, Terminal, Browser), but "alt-tab then escape" is an option. For the window list at the bottom, there is the Window List Extension (https://extensions.gnome.org/extension/602/window-list/), part of the core Gnome desktop as well.
In short, most of your complaints would be solved by logging into Classic Mode, which tries to emulate the Gnome 2 experience using some built in extensions.
> - Why does the top bar do nothing and function like my Android top bar?
I am not sure what this means, but I like the Shell's current behavior where we have as few active elements as possible detracting from your active window.
> there's an extension for that
Yeah this is fair, sadly it's not a satisfying solution. Extensions are often not supported on the latest version of Gnome for some time and even then, there's an issue of discoverability for both experienced and new users.
I understand the desire for customizability, but I'd prefer my desktop environment come out of the box tailored to facilitate a desktop experience.
> https://extensions.gnome.org/extension/6/applications-menu/
I am happy there is an alternative however this has the side effect of removing the "Hit the super key then type a search query" workflow. Ironically, an actual application menu is nearly entirely useless for me outside of niche cases. I have been using start menu search and spotlight for years at this point - gnome's activities overlay is just that with extra animations.
> I rarely have to do this (for me it's almost always IDE, Terminal, Browser), but "alt-tab then escape"
This is exactly how I use my desktop too.
In MacOS I used virtual desktops so heavily to organise this and it was an _incredible_ workflow.
Monitor 1, desktop 1 is terminal, desktop 2 is IDE. Monitor 2 desktop 1 is debugging browser, monitor 2 is slack, music and misc. Flicking between the desktops, everything is positioned exactly where I want it to be and there is no guessing what is going to be shown.
I only started using Alt+Tab after coming back to Windows and now again on Gnome. Alt tab is a bit too guess-y for my taste. If you have multiple windows of the same type (e.g. browser and seperate browser debugger) open, what does Alt-Tab open?
In Gnome, rather than using virtual desktops, I hit the super key and pick the application out of the application mosaic because it's deterministic and faster than Alt-Tab
> I am not sure what this means
Swipe down from the top left and you have applications, swipe down from the top right and you have quick settings. Clock is in the center. The elements are responsive. It looks and functions like the top bar for a mobile device.
The top bar doesn't have application shortcuts, it doesn't show you active background applications.
If you look at the effort that all desktop experiences have made to make their top bar/desktop bar useful, you will see distinct differences when compared to mobile operating systems that have to be cognizant of their use of space.
MacOS has a global menu, taskbar tray, taskbar add-ons (for cpu usage, international clocks, etc) and applications are opened via spotlight (Albert) search.
Windows has shortcuts, a start menu with search, and a taskbar tray, along with lots of options to administer the computer when you right click the start bar.
Gnome offers a horizontally space efficient mobile-optimised top bar and a full screen, mobile style application picker. Application search and the open apps mosaic are the saving factors of it
I understand the other ones but I don't understand this one. The Android tray does exactly this, background icons on the bar are a mobile feature. If you consider the Windows taskbar to be the ideal desktop experience, it doesn't do that, it hides the icons in a menu.
Windows does hide excessive icons, which MacOS doesn't do - it's a great way to hide running the pre-installed Skype and Teams at the same time :laugh:
The lock screen is weird, though, I agree. The newer (blurry background) one is better than the old one with the tedious swipe animation, but really could use a persistent "do this to unlock" prompt / button, because many people just aren't comfortable poking their computer unless they know what it is going to do. A lot of modern UI design unfortunately forgets that.
For what it's worth, the original design for GNOME's current lock screen involved bridging the gap between it and the login / switch user screen, which _would_ involve some more UI elements, but the actual implementation must have stalled somewhere.
That was a very bad idea from the very start. But it's the motto Gnome 3 was built on... I agree with the initial comment, Human-Computer Interraction SCIENCE went down the toilet drain to be replaced with so called UI/UX "experts"
CLion seems to be quite excellent at recording and replaying everything, including stuff I type while the auto-completion is loading. Plus it has a really fast key to screen loop.
https://blog.jetbrains.com/idea/2015/08/experimental-zero-la...
As an aside, I find it amusing that more latency is introduced by a USB keyboard than existed in an entire 80's computer (from keypress to rendering on screen). See also: Carmack's rant about how it takes longer to put a pixel on the screen than ping across the Atlantic.
Uh what?
>at the time I did these measurements, my 4.2 GHz kaby lake had the fastest single-threaded performance of any machine you could buy but had worse latency than a quick machine from the 70s (roughly 6x worse than an Apple 2), which seems a bit curious.
>We can see that, even with the limited set of keyboards tested, there can be as much as a 45ms difference in latency between keyboards. Moreover, a modern computer with one of the slower keyboards attached can’t possibly be as responsive as a quick machine from the 70s or 80s because the keyboard alone is slower than the entire response pipeline of some older computers.
Gaming mice usually go up to 1000 Hz / 1ms, the wireless ones usually let you configure down to 500/250/125 Hz if you want a bit more battery life. I'm sure that gaming keyboards also have a high refresh rate.
If you have a 144 Hz monitor that actually means your (normal) keyboard and mice are reporting events less often than your display is updating.
That being said pretty much any 1000 Hz mouse is better than any 125 Hz mouse when using high refresh rates because the discrepancy between the 125 Hz mouse poll rate and the 120 or 144 Hz display causes very noticeable jitter. If you have a mouse where the poll rate can be adjusted, this can be easily A/B tested; it's quite visible in high-framerate recordings as well (this can be done in OBS by using the fractional frame rate selector and just inputting 144:1).
Ok, maybe not. Honorable mentions to some Adobe's algorithms and Apple's Sidecar / Universal Control functionality.
Although I agree this is annoying, to be completely fair, it doesn't suggest that you should start typing your password immediately.
You could also start typing 'news.ycombinator.com' and it wouldn't browse to HN, but you wouldn't say that it failed to do what you asked it to.
Arguably, you have been 'taught' or you have inferred yourself that you should expect a sleeping system to immediately accept your keypresses as a password, which although reasonable is not necessarily a good practice.
For example - I have two computers connected to the same keyboard, one is indeed Gnome, the other Windows. I have twice now typed my password into what I thought was my sleeping Gnome system, hit enter, only to have to apologise to someone on Teams because I accidentally sent them my password because my keyboard was sending my keypresses to the Windows PC.
> You could also start typing 'news.ycombinator.com' and it wouldn't browse to HN, but you wouldn't say that it failed to do what you asked it to.
Well firstly, that isn't what the prompt is for, so I'm struggling to see the relevance. However it is a good example for me- When I type C-l right now, I can _immediately_ start typing 'news.ycombinator.com'. There is no delay, no animation, nothing. I didn't go through a learning experience of finding out how long I should wait before typing- it's just ready.
Fundamentally: _why_ should I have been "taught" anything about how long I should wait? I don't have to do that on my ubuntu laptop. I don't have to do that on firefox in the example you handed to me. It's bad when I have to learn that. The computer should never make me wait unnecessarily, and I find it worrying that people are so readily accepting of it.
And frankly, UX is about finding the little practices that make the experience better — arbitrarily waiting for windows to bring up a prompt is not making me any good, since I know what I want to do. So in my opinion in this very special case, windows is simply doing an incorrect thing — making the common case slow.
I don't have this experience. On Windows (10, at least), normally I see either a black screen (if it's asleep) or a wallpaper, clock, and a message saying 'Press Ctrl + Alt + Delete to unlock.'
> arbitrarily waiting for windows to bring up a prompt
I don't think it's arbitrary. It's doing something - it's calling Winlogon, spinning up disks and reading hibernation data into memory, restarting power to powered down components, probing authentication methods available (eg: fingerprint/card readers), in case of domain joined computers, validating whether the domain is available (which means firing up network interfaces), and if so, whether the user's password has changed, etc.
There are definitely downsides to Microsoft's approach here - as you mention, in a large number of cases, it takes more time to unlock the computer.
However, there are also upsides if you accept that UX is only one consideration when designing a secure log on prompt, and there may be other priorities.
Completely correct - I'm not excusing my lack of attention there.
> Well firstly, that isn't what the prompt is for
That's exactly my point. There is no prompt displayed on the screen, you have not been asked for input. You are pre-empting the next prompt before the system is ready for it.
> When I type C-l right now, I can _immediately_ start typing 'news.ycombinator.com'. There is no delay, no animation, nothing. I didn't go through a learning experience of finding out how long I should wait before typing- it's just ready.
Agreed - but that's with the application already open. From the lock screen, it won't do what you intend. With Firefox running and in focus, Ctrl + L tells the application to focus the address bar, but it only works in that context, you first have to prepare the correct context (computer unlocked, Firefox running, in the foreground and focused).
On Windows, Ctrl + Alt + Del tells the system to wake, not 'the next characters entered will necessarily be the password of the most recently logged in user'.
In fact, I tested a little bit, and often Ctrl + Alt + Del on a sleeping system actually asks me to enter a username first, not a password, although in some cases the username is pre-filled for me, and the password prompt will be focused. I cannot necessarily know a priori which I will be asked for until the system wakes and decides.
As soon as Windows displays the prompt, you can type into it (same as Gnome). The only difference is that Windows requires you to first wake and then authenticate once the system is woken, while Gnome allows you to do both simultaneously.
There is one particular 'pro' to the Windows approach of requiring Ctrl+Alt+Del which is that it's an interrupt sequence. If a malicious actor created a full screen application that mimics the Windows password prompt, it would not be effective because the Ctrl+Alt+Del sequence cannot be handled by an application. The same is not true for Gnome - if a malicious actor created a full screen application that mimics the login prompt on Gnome, you could be tricked into entering your password.
I fail to see why that wouldn't be a "good practice". Last weekend I read some articles on Canon Cat[1], and Jef Raskin referred[2] to the feature as something desirable:
> In many ways it was, for 1987, far ahead. [...] instant on with any keystroke (and you didn't even lose the keystroke)
He goes on to explain why it's a good idea to do so in the article, it's a good read.
My dad told me about a program he wrote for a PDP-11 which would just simulate a login prompt. When a username and password were entered, it would append it to a file somewhere, then print the 'Incorrect username or password' message, and exit silently.
The user would assume they'd fat-fingered the password, and try to log in again (successfully) and be none the wiser that their password had just been stolen.
The Windows dependency on Ctrl+Alt+Del makes this type of attack impossible, while systems that don't require a Secure Attention Sequence (as apparently it is called) to log in are susceptible to a slightly more sophisticated version of this attack.
The worst of which are dropdowns, lists or menus that inserts new items right over where your mouse is so that you accidentally click on the wrong thing.
All browsers do this for the dropdown that appears when typing in the URL bar. I type a few letters, see the site I want is 3 down in the dropdown, hit the down arrow three times and press enter, only to find that the item changed as I was hitting the down arrow.
And don't get me started on user elements that have a new position in the menu system for every release, if they even have a decent menu system.
Everything that reaches the screen should remain FIXED in place unless moved //by the user//.
This might happen E.G. because something was loading and now gets a resize event; so some list suddenly changes the position of everything rather than force the user to click something else to resize the misbehaving entry. (Scrolling could also do this, if it's based on a distinct UI element that is not 'activate the list'.)
I think of this frequently when I interact with bad offenders, Like Waze on my phone. I have like 2 addresses starred in addition to the home and work slots. It should PIN those, in a fixed (probably alphabetical) order under the home and work slots. If it's not going to do that for starred items (maybe I have 300 addresses?) it should give me a different widget to pin them.
It's a disgrace that modern UIs haven't dealt with this.
I had high hopes for Windows Phone because it was the only mobile OS that had a realtime UI. I don't care how long an operation takes. Just give me immediate feedback! And respond to my input as if it was mission critical. Why is it so hard?
The UI must update sooner than some underlying state; this bites me multiple times a day.
Teams are the worst.
But the best part is throwing in some rdp. The teams share screen rect is carefully designed to cover the entire Remote Desktop title which is required to resize it.
Who the hell is working on this stuff?
Also for some reason I often seem to bring up the edit menu on the comment above the one I wanted to pick
How hard is it just to grep The list of local apps on a device entirely before showing me the results? Why on earth does it even take a notable amount of time?
I don’t say this lightly when I say someone should be fired. Everyone on every level of every who let this exist should be blackballed by the entire industry. Managers, QA. Someone should’ve spoken up. It’s an absolute moral failure.
I definitely agree with this, and I like your use of the word disrespect. I think the younger generation has encroached onto the sanctity of "the platform", if you will, and now us old timers are suffering. I time myself for my actions every day since I started noticing these despicable UI trends, and on average I waste about 2-3 hours a week trying to discover what behaviors work with flat UI applications.
But, take a natively designed application from Windows 2000, and it's extremely easy to understand and use! And, dare I say it, more pleasing to the eye than flashy, animated graphics of today.
Coming from that era, I strongly disagree. While I agree with the article, that some elements are harder to spot as interactable, I would still say that they are way more coherent than programs from W2K era and that one just got used to the broken design of the UIs of that era/platform.
While usually understanding the UI even in W2K, I don't think that the dumbing down of UI (and reducing palette/layers adds to that) for the dumb users is necessarily a bad thing. At the end of the day I am also a dumb user.
Actually using GTK3 for a while now and moving to GTK4 however might also trick me to not notice a downgrade in discoverability, so in that particular instance I might get tricked by getting used to a certain design language even if they simplify it to the point of actually decreasing UX for users that are unfamiliar with GTK compared to GTK3.
What made some stuff hard was that there were not many pixels available for icons due to the more resolutions in those days, which made icons hard to recognise.
I think UIs should be dumbed down for dumb people. This is a good thing.
What I have a problem with is that UIs are forcing power users into only being able to experience software as if we were dumb users.
I'm deeply concerned about the future of software.
Maybe that's the thing. More coherence might be nicer, yes. But it might also not make UIs easier to use. Maybe sqeezing apps into a tight framework of UI coherence, makes the overall appearance of what's on the screen more appealing but at the same time loose usability.
Think of special applications like technical ones (Blender) or office (Thunderbird, LibreOffice) and also simple ones like a notepad application. Now try to find a common set of UI elements to use for all of them. What you'll probably get, is an OK notepad but a disturbingly bloated Blender.
TLDR Niceness does IMO conflict with usability and the former sure shouldn't be prioritized over the latter.
It's a balancing act and you can screw up in either direction. What's clear is that limiting options and limiting depth is at a certain point really better from a UX standpoint - and I'd say old Windows toolkits are an example. It doesn't even mean there is missing anything, but that it is structured differently.
> Think of special applications like technical ones (Blender) or office (Thunderbird, LibreOffice) and also simple ones like a notepad application. Now try to find a common set of UI elements to use for all of them. What you'll probably get, is an OK notepad but a disturbingly bloated Blender.
Neither of these apps would have a problem with a GUI framework/toolkit per se. It's more an implementation detail of the specific frameworks/toolkits and the apps in question (also consider the time when they were founded).
Because that‘s what you are accustomed to.
There is one good thing I could think of about the loss of consistency across applications: the underlying operating system matters less when the application works the same across platforms. Ironically this may help with the adoption of desktop Linux; Chrome, Slack, Zoom, and VSCode generally work the same. To paraphrase, this fulfills Netscape's vision in the mid-1990's of reducing the operating system to a bunch of device drivers.
One would think that Microsoft and Apple don't want Windows and macOS to be reduced to a bunch of device drivers. Then again, perhaps Microsoft's and Apple's business models don't require the long-time maintenance of these desktop-oriented operating systems. Microsoft makes a lot of money from Office and Azure, and Apple makes a lot more money from the iOS platform than from the Mac.
Still, I personally lament the rise and triumph of the siloed app, and the decline of platforms that promoted UI/UX consistency through a set of standard human interface guidelines, and I feel personal computing is generally getting worse instead of better.
Win32: Win32, Windows Forms, WPF, MAUI, UWP, WTL, WinUI, MFC and probably more
Gtk: Gtk+, Gtk2+, Gtk3+, Gtk4
Qt: Qt1, Qt2, Qt3, Qt4, Qt5, Qt6
Gtk and Qt didn't just maintain but provides major upgrades and changes. People complained that Gtk changed stuff, which is unfair. The various feature removals in GNOME3 after the first release provided bigger problems. I'm rather sure the changes between Qt major release also require work from developers. Custom theming is an issue with Gtk but also something I cannot recommend as developer and user. It is complicated on toolkit side and faulty on user side. Qt seems do to better in this regard but the user side problems remain. Apple just says just no to theming at all. I've also never felt the desire to theme Gtk because it looked good by default since Gtk3+ and even backported to some stuff to Gtk2+. There is of Java and Swing, yes, but I'm afraid the first error was including a toolkit into a language library.With Gtk and their HIG most stuff looks decent and usable. Windows? Nobody cares about the HIG. Micrsoft provides more toolkits than I know. And a lot developers just do whatever they want on Windows. Or worse, they use Electron. Microsoft Teams is the worst "application" in this regard.
By the way:
https://gitlab.gnome.org/GNOME/gtk/-/issues/3787
The font rendering issue. I recommend ignoring the blaming (users) and ignoring (developers) on both sides and instead reading the details involved. Looks like mostly intended and used during development on HiDPI-Displays and they need people experienced in font drawing matters. Some fixes are landing already. Taking into account how much effort was put in Harfbuzz, Freetype, Pango and Cairo I think they can only learn from this - being more careful and keeping backward compatible solutions alongside until the new stuff is working fine for all.
Also only Qt is comparable in the full stack experience offered by Windows frameworks (and MacOS/Android/iOS/...), with the caveat it is anyway cross platform and not Linux specific.
If you are aware that DevDiv controls managed languages, and WinDev Windows/C++, it becomes quite clear why the back and forth between those UI frameworks, given who happens to be on top on a specific time.
And now there is Azure + WebUIs to add up to those resource fighting, oh well.
Here's another one: "users were roughly 37% faster at finding items when visual indicators varied both in color and icon compared to text alone"
Source: https://www.nngroup.com/articles/visual-indicators-different...
The whole point of the settings app shown in the OP's screenshots is to quickly find the relevant section in the sidebar. But even before the great design madness of 2012, designers have started to remove icon colors everywhere. (Except for app icons, where Google and Apple have now removed shapes instead, sigh.)
From the sidelines, it doesn't look like the trend is reversing in GNOME land. https://twitter.com/hadessuk/status/1506316793413087241
Reminds me of https://i.kym-cdn.com/photos/images/newsfeed/001/927/386/c4d...
On Win10 I'm getting regular delays in keypresses and just enough lag when typing to be noticeable.
I've been trying plugging in two USB keyboards as a poor man's split keyboard, and the amount of software (looking at you IntelliJ in particular) that does something that means the characters arrive out of order when typing is hugely frustrating.
links to: https://danluu.com/input-lag/
Title: Computer latency: 1977-2017
Imagine if it were the opposite, and moving the mouse or speaking into a microphone caused the compilation to fail in subtle ways. Well, background compilation/typechecking/whatever is messing with user interaction.
https://blog.jetbrains.com/idea/2015/08/experimental-zero-la...
There were big improvements over time. IntelliJ performance seems to vary a lot between people. For some (like me) it's great. Others complain of huge delays. Probably, the differences are OS related and/or project size or plugins related. There are so many different configs possible for an app like that.
With a slightly larger max memory setting than default and using at least G1 garbage collector (ZGC for even better results) they would get a buttery smooth editor, but it is configured quite badly by default.
Though sometimes they just have threading issues, which won’t be solved by above.
I have tried JAOTC up until JDK16 with some IntelliJ products, but I think you are right in saying that the single most effective knob (or two) to twiddle in the default installation is to enable ZGC and increase the heap size.
Yes, I know JBR provide DCEVM builds (which need to be enabled by downloading the JDK and changing the "boot java" setting, ironically)
[1] and by that I mean "fuming"
Starting some time in 2020, the FileVault password dialog will drop characters whenever I’m typing quickly. And it never dropped characters before 2020 – even though I’ve had FileVault 2 on for many years.
And that’s at bootloader runtime, with not a single bit of the macOS kernel loaded yet!
So definitely forward to big brother Panopticon.
Every time I bump into these interaction issues, my stomach churns a little bit.
Right now, Windows 11 is especially bad because they have new and old code working side by side. It'll take a few years for Microsoft to rewrite enough of the Shell so everything will be consistent again.
I still have to dig through windows 7's control panel to change my microphone volume.
Because it is trying to be all things to all people: including supporting sponsored content and integrating with any fancy new/copied idea that the company is pushing (which may be quietly deprecated in the next major revision, but the hooks left adding abstraction load to everything else so that the few who actually found it useful don't complain).
Taskbar: explorer.exe
Start menu: StartMenuExperienceHost.exe
Searching: SearchApp.exe
So, when you hit a key with the start menu focused, it closes the start menu and opens the search window (with the search text initialised with that key).Perhaps keystrokes are lost during the switch.
Also worth noting that keyboards do still have function keys. In fact I use F2 as my `tmux` control prefix. :)
But for many years I've associated F2 with edit or rename.
Not long ago I even spotted it being usable in an app that blocked ctrl+C/ctrl+V.
Truly its crazy making.
Generally if you were interacting with the computer then whatever new thing should get focus iff its appearance was a direct result of your current interaction.
Since Windows 7 (or 8, I can't remember) and the "Metro" style apps, in the Control Panel in particular one of the controls (IIRC it was something like the 'show/hide icons in task tray'), that was previously a button, became a "hyperlink", essentially clickable text. Clickable text that was the same colour as unclickable text. What. The. **
I understand that this would annoy designers. But they're annoying me so I think this is fair.
My go-to example at the moment is Figma, which is a design tool that I find almost impossible to use because it has so many hidden, unexplained "features" in its UI. If I accidentally brush the keyboard I have to quit the application and restart because I have no idea how to get back to the state I was in.
Can you explain what you don’t like about hamburger menus?
Has someone hidden the zoom buttons in there? How about print? Perhaps that's also where save is, or tab colour? Most things in the hamburger menu are completely unrelated but exist for the removal of context. Button outlines so you have no idea what you can and cannot click on as well, which is mentioned in the fine article, are all modern design patterns. Looks over functionality.
Hamburger menu is just peak modern menus. Lazy.
The hamburger is kind of a weird breed of design signaling because of it. In some desktop apps it still is the original top menu, but not always. On websites and apps it can vary tremendously.
However, a top menu is not an expert level mode, it’s a beginners / proficient level mode. Expert level means using keyboard shortcuts.
Context driven display and modes are far more valuable when meeting spacial constraints. But that can be hard when you are dealing with many form factors and so the quick fix is the hamburger.
This is true when you use only an editor and a debugger. When you need to use 10 programs each with its own keyboard shorcuts (which, BTW you need to search in internet which they are because the company doing the software did not bother to make them accessible in a help menu) you're gonna have a hard time. In the (1985) past you had for such things a holder attached to your keyboard where you had a listing of those keyboard shortcuts. Now the world has evolved and we have ... tada... the hamburger menu. P.S. I would not feel good as a developer to know that someone , somewhere curses me and my family constantly for the work i done.
At least on macOS and Windows the shortcuts are shown in the (traditional) menu bar. With GNOME's use of hamburgers, it's anyone's guess. As someone who likes shortcuts, I found it very hard to figure out shortcuts in GNOME apps that have a lot of functionality hidden away. (Aside from keyboard shortcuts not being very consistent between apps on Linux.)
Slightly related: somehow, FF on Linux allows you to rearrange tabs from keyboard. Ctrl+Shift+PgUp/PgDown move the current tab left or right. As far as I can tell, this feature is only available on Linux. I have no idea why. It's much more convenient than dragging the tabs with mouse, because you don't have to worry about accidentally detaching the tab into its own window.
I feel the same way about notifications. Both native notifications and notifications via e-mail.
It is no longer easy to find out if something changed or happened in most websites/applications. You must be bombarded with notifications all the time, and god forbid you take an extended break or something goes into your spam folder, because if you snooze you lose.
JIRA for me is the worst in this regard.
61 unread notifications from Az Devops? Nah, I don't need to read those. I was watching that build in the background, I know it failed.
Mobile notifications should offer more filtering options at the system level. Why do I need to trust an app developer to respect my notification preferences? Why should I rely on the developer to build granularity into their push notification frequency?
It all gets simpler when you can filter at the 'inbox'.
Or we can look at it from the other side. "Where do I find the settings for this app?". Is it in File, Edit, View, Tools or Help. The answer depends on the app. Menus can be well organized or poorly organized but I don't think we should be banishing menus. The hamburger icon is just an iconic, space efficient way to say "menu"
For example, on Mac: https://developer.apple.com/design/human-interface-guideline...
And on Windows: https://docs.microsoft.com/en-us/windows/win32/uxguide/cmd-m...
> "Where do I find the settings for this app?". Is it in File, Edit, View, Tools or Help?
On Mac, it should be in the "App" menu and called "Preferences...", it should be the first item in the menu, except if you have an "About YourAppName" item which always goes at the top with a seperator underneath.
On Windows, it should be in the "Tools" menu, and called "Options...". 4 On Linux, it should be under the "Edit" menu, and called "Preferences".
If it's not, then the app (in my opinion) is broken. Of course, many apps are lazily ported across platforms or "hamburgerized". The Windows situation is obviously also more messy because of the newer "ribbon" standards complicating things a bit, but there are right answers.
(edit: fixed links)
> And on Windows: https://docs.microsoft.com/en-us/windows/win32/uxguide/cmd-m...
Both links return 404.
> On Linux, it should be under the "Edit" menu, and called "Preferences".
This one is a stretch, there are no such consistent and agreed-upon guidelines.
My point here is that just because things can be abused (or even, in the case of desktop applications, are almost _always_ abused), doesn't mean the general concept is useless or should be removed from applications. I would recommend instead of trying to cram a hundred possible actions into a tiny icon bar at the bottom of your iPhone, or removing 97 of those actions from the app itself and leaving just the most basic three down there, to maybe consider building a sensible and well-arranged menu layout _if and when_ you need more than those three that you can fit at the bottom.
You mean well researched guidelines with tons of evidence behind their decisions [1] that are as relevant today as they were 20 years ago.
> almost all applications ignore.
That most current applications ignore because people think they are ancient rarely updated guidelines.
This is especially evident in the MacOS world. HIG were the guide on the platform, and developers tried to adhere to them. And then the new breed of "designers" took over and even Apple breaks nearly every single one of them [2]
Microsoft has always been worse when it came to enforcing consistency of user interfaces, but even their choices were never random until quite recently [3].
[1] Apple's original HIG even had a bibliography section because it was actual research, and not some Dribble showcase: https://twitter.com/andy_matuschak/status/144740917559669965... and https://twitter.com/andy_matuschak/status/144771024771228057... etc.
[2] See, e.g. their abomination of an App Store https://grumpy.website/post/0RsaxCu3P
[3] Even the ribbon menus they introduced in Office weren't a random choice. They surely are now. See the Why the UI blog series: https://web.archive.org/web/20080316101025/http://blogs.msdn...
Nowadays it's just a random hodge-podge no one knows how to use properly.
A poor menu layout can be fixed. A hamburger menu will always be a byzantine mix of everything because everything has to be in there. There is no organization, except flyout menus--which were a problem with traditional menu designs, but you could organize without them.
Hell, some applications have just moved the traditional menu behind the hamburger. Why? Because that was a good way to organize operations, even if it wasn't perfect, or wasn't always perfectly implemented.
Well, unless it's an Electron app. Which is another good reason to avoid them altogether.
Does it ? This is the issue when people see no more as their own OS.
In the past, just like today, there were multiple modes to exit a program. One of them is to press Exit and the programm will exit cleanly. The other is to press the X in the window corner in Windows ( or send a close message from a window manager) which, depending on the implementation, might lose data. There is also the option to kill the process. Now in my opinion this Exit is a good thing and it is clear what is doing.
Happy to know I am not the only one who considers this weird.
It would probably make more sense to have an "Application" menu before "File". It could contain things like "About", "Help", "Setting" and "Exit". (Especially in cases where the current "Help" menu only contains "Show help" and "About". If it has more than five items, then I'd say it deserves a separate menu.)
But instead of being an ordinary honest menu where half the items has their defined places on each OS and the rest can be found easily it is a jumbled mess.
And since there are no standards as for where to put things in a hamburger menu they can move around between each release of the application.
And the only reason to use it instead of an honest menu is because Chrome does it so therefore it must be a good idea. Period.
It is somewhat ironic that even as desktop screens get larger and larger applications has to "maximize real screen estate" by removing menus, while simultaneously working to remove real screen space improvements like the option of Tree Style Tabs on Firefox (yes, it kind of works and it is still awesome but it get harder and harder by the year).
Old applications that actually follow the platform UX and accessibility guidelines
This does not seem to be the case, is it? I recently, accidentally hit Win+term+Enter into a Windows VM (intending it to hit the Linux host machine) and was surprised when a terminal popped up.
The arguably worst offender in MacOS these days is the emoji picker. Press ctrl+cmd+space, and depending on how recently you opened it, it can take some hundreds of milliseconds to open (on an m1). All while eating your keypresses.
How can a grid of unicode characters take 500-1000ms to display on a machine with an m1, 16GB of memory and a blazing fast NVME disk?
They said the same thing about my parents dog which died last year.
Today I get the feeling it's mostly just opinion. Either the designer's opinion or the wish to copy the look of something.
Whenever I see a hamburger menu I silently think "Here someone has given up".
And there are a lot of behaviors that are not functioning well.
Is something a button? Should I click it or double-click it? How about long-press on it? How can I know when there's no visual clues?
Things like "Hide cursor while typing" in Windows. It has not worked properly for decades and today only work in some super old apps like Notepad.
Another thing is type-ahead. I remember in classic MacOS, people pressed shortcuts and started to type the filename or whatever. It was all perfectly recorded and replayed. In modern Windows, press Win-key and start to type, oops, it missed the first keypresses, presented the completely wrong results and made a mess of your workflow.
I feel confused and disrespected as a user every day and I've been using WIMP graphical user interfaces since 1986. Sure, computers do more today, but there's less consideration of almost everything.