Back to Opinions

Annoying UI design

While I am not an experienced UI designer, sometimes you will spot bad design decisions just by being a regular user. The following list is not about bad design caused by missing functionality, like having a very long list without any search option. It is about someone actually spending their time to make their interface harder to use.

Impatient search

Let's say I want to search for a file, so I start typing the name of the file, but before I even write half of my query, the search field already started listing half my hard drive, because it started searching for anything containing the first few characters I just typed. Then it takes a while to realize, that I typed more than just those three letters and then it finally restarts the search and finds what I want. If it just waited till I hit Enter, it could have saved a few seconds and some energy.

Boneheaded text selection

I want to copy a specific piece of text from some graphical program. So, I just click and drag over the part I want and copy it, right? Unfortunately, the program decided it knows better than me and added more than I wanted to the selection. Usually the rest of the word when I wanted just a part of the word or space behind the word. Similarly, when I double click a word, it selects it and a space behind it. Why? Do people have trouble typing spaces? It is the biggest key on the keyboard.

Trolling list of options

I bet something like this happened to pretty much everyone. I want to connect to a wi-fi network, so I click the panel's network icon and a list of networks pops up. I spot the one I want and decide to click it. But right before I click, more networks are discovered and added to the bottom of the list, pushing the existing items up, so I click the wrong one on accident. This has such a simple solution that I suspect this is done on purpose - just insert the new items on the top of the list, so that they don't all have to move.

Neverending progress

It can be frustrating, when you are not sure that the program is actually doing anything. You know what does not help? A rotating circle progress animation. Not only it does not tell you how far the process progressed, but it usually does not even tell you whether the process froze, because it is done on a different thread, so it keeps rotating no matter what. Instead of adding that, you could just display the last logged message, which would take about the same amount of effort. I would not understand the message, but I would see that something is happening.

Imprecise time

For most programming languages, the simplest way of displaying time to a user is to just convert the time data to text. That gives precise date and time, usually down to seconds. But who would want to know precisely when something happened, right? It is much better to just tell the user it was 37 minutes ago, so that they can exercise their math skills and calculate the time from current time. Or even better, tell them it was a day ago and don't display the precise time on mouse hover, because that would be too much effort.

Camouflaged controls

Have you ever played an old point and click adventure game, where you have to hunt with your mouse for interactive objects? Now imagine that, but as a GUI. Is that a button or just an image? Is that a link or just a colored text? Let's click on everything and find out. This is the experience you get with a lot of modern websites and programs.

Lazy address bar

There are websites I go to so often that I remember their address. So I open a web browser, type in the address, press Enter and get to... Google search of the address, because the address bar is combined with search bar, so instead of finding the website by address and going straight to it, the lazy ass address bar tells the search engine to find it. Is this done because people keep trying to search through the address bar? If they can't tell the difference between an address bar and a search bar, maybe they should not be using a web browser in the first place.

Fake restart

The meaning of a restart is "to start anew" and "to begin or start something again after it has stopped for a period of time". So I would expect restart to be just a more convenient version of turning the computer off and then on again. But for some reason, for some operating systems, there is a difference between these two and restart does not really restart everything. So, it happens that you restart, only to turn off the computer anyway, because the restart did not reset what was causing the problem.

Race to the bottom

Sometimes I need to get something that is on a bottom of a very long list. And sometimes I have a bad luck and the list is not divided into pages, but it is an infinite scrolling list. So I have to scroll to the bottom, wait for the next bit to load, then keep scrolling, and waiting, and scrolling...

Button gamble

Touch controls. There are only a handful of cases where these are a good idea. Touch screen on a phone is understandable, because the device is (or used to be anyway) supposed to be small. But on something like a monitor or a washing machine? Not at all. Touch controls have a lot of disadvantages over regular buttons. You can't press them when you wear gloves, you have a very hard time pressing them when you can't clearly see them and you have no idea whether you actually pressed them, because there is no feedback.

You found a secret

Nowadays, programs like to hide scroll bars and I don't understand why. They take so little space it is not worth talking about and when they are not there, you can't tell whether there is more content outside the screen. So I have to blindly try scrolling in every direction, like if I am trying to find secrets in Wolfenstein by headbutting walls.

High priority search

Search is a welcomed feature, especially when it actually works. However, have you ever felt the need to search for something in a save file dialog window? When I want to save a file, I just use the directory tree to navigate to the right folder, or more often than not I am already in the right folder. So when I start typing on the keyboard, I would really prefer to be naming the file I am saving, rather than searching for it.



Bonus complaints

Unlike the list above, these are missing features. But I think they are so universally useful, that they should really be the expected behavior.

Window focus stealing

The usual experience is this - I click an icon to run some program, but it takes a while to load, so meanwhile I start typing something into an already open window, but then the program finally displays its window, steals my focus and I am now typing the rest there. I know that KDE Plasma has a setting to suppress focus stealing, but this is not something you need a setting for. The logic is quite simple. When I start a program and wait for it to show its window, the focus will be on that window. If I instead start a program and switch my focus to a different program, when the window is shown it should not steal the focus. That should be the default behavior in every desktop environment.

Blind scrolling

In pretty much every program I used, when I move up or down a list using arrow keys, the list starts to scroll only when I get to the last displayed item. So, now I am scrolling blindly and I always scroll over the item I want and have to move back a bit. It would be better to already start scrolling when I am still few items away from the edge of the screen, so that I see what is coming.

Text that can't be copied

I can't think of any reason why you would not want to allow user to copy the displayed text, yet it happens often enough. So I have to take a screenshot or retype it myself.

Turning off screen unexpectedly

Every operating system turns off the screen after a period of inactivity. That is desirable, but could we gradually dim it over a few seconds instead, so that the user can stop it?

signature