As my interest in user experience has increased over the years, I’ve become overly aware of all the little issues in products that I use. In general, UX issues cause confusion and frustration and increase the amount of effort required to accomplish a goal. These particular issues are minor things in Ubuntu Linux (and, in some cases, other operating systems as well) that are relatively trivial to fix from the user’s perspective yet they’ve been problems for a long time.
If you have a large monitor or multiple monitors, you have probably experienced this. You return to the computer after a while and you move the mouse cursor to find where it is (perhaps after logging back in). You don’t see the cursor because it is exceedingly small, so you keep moving the mouse either back and forth rapidly or in large circles for a few seconds hoping the movement will catch your eye.
Simple solution: When the mouse cursor first moves after being inactive for a period of time, briefly highlight it.
Pasting into a Terminal
A less frequent though potentially disastrous issue is pasting into a terminal. Sure, you should never paste directly into a terminal from a website and sure you should perfectly remember what content you last copied, but you’re in a hurry and you’re a forgetful human. Webpages can have hidden characters, so the pasted text isn’t necessarily the same as what appears to have been copied. Besides, you probably forgot you just copied and pasted a chunk from a document into an email. When you pasted into the terminal, you intended to paste that annoying non-obvious git command you had copied before that. Suddenly a few dozen commands are sequentially executed in the terminal, doing who knows what.
Simple solution: When you paste into a terminal and the content contains a newline character, the terminal should stop before including that character and show a buffer for the remaining lines. You can tap enter as you want to execute each one or you can abort if this isn’t what you intended to paste.
Opening File Windows
One of those little things that I find quite annoying in the file manager (simply called “Files”) used by Ubuntu is that opening a new window opens that window at your home folder instead of at the same folder as the other window. At first, this might seem like a good plan since that is going to be one of the most frequently accessed folders, but this isn’t so great. When opening another window, it’s usually because you want to do something related to where you currently are that is easier with two windows such as moving files between two sibling folders. If you’re several folders deep, you now need to navigate back to where you were, either duplicating effort or using several shortcut keys (Ctrl + L, Ctrl + C, Alt + `, Ctrl + L, Ctrl + V).
Simple solution: Open a new window to the folder you were in since you already have a dedicated button to go to the home directory (which, surprisingly, is something Windows does right).
Software Update Repetition
Another Ubuntu annoyance is the Software Updater. It unobtrusively shows up as an icon with a subtle glow to let you know there are updates available. This is excellent because I can open it up hours later when I’m not in the middle of something. Then I glance through the updates to make sure I know what I’m getting myself into and click to install them. A short while later, the updates are all installed and… there are more updates to install!? At some point between the time when the icon first appeared and when I clicked to install, new updates came out, but Software Updater doesn’t look for these updates until you’ve applied the ones it knows about or reopened it at another time.
Simple solution: When I click on the Software Updater icon and it’s been greater than some time threshold since the last check for updates, immediately check for updates in the background and give a loading indication in the app (“Checking for additional updates…”). There’s no need to hide the currently known updates or block installing them; just intelligently handle checking for new updates. Software Updater could even periodically check for additional updates while it’s in the background to limit the likelihood that anything has changed when the user is ready to install the updates.
Something that is absolutely infuriating and that I’ve experienced in Linux, Windows, and OS X is stealing focus. This is when you’re actively working in one app and then something else pops up in front and suddenly pulls in the input. Windows is the absolute worst at this because the prompt to restart your computer will pop up randomly and take all input from your keyboard, which means an ill-timed prompt could trigger a restart because the user was typing. Obviously, this is the worst possible case, but there are other cases that are less severe and still annoying. You click to open a large software program such as for 3D modeling, movie editing, or coding and it can take several seconds to open, so you continue to look through your email and start typing a response. Suddenly, “HEY, REMEMBER ME? I’M THAT PROGRAM YOU LAUNCHED. I’M READY NOW, SO I’M TAKING OVER YOUR SCREEN! WE’RE BEST BUDS, RIGHT?” It doesn’t matter that the user initiated the action; this is horribly disruptive.
Simple solution: If the user has changed focus, respect that focus!
It can be very easy to dismiss UX issues. People often blame the user (“You clicked to open that huge program; you should know it’s going to come up a while later.”) or accept the frustrations as normal (“Of course you have to wiggle the mouse like you’re having a seizure to figure out where it is.”), creating an excuse for not making the experience better. But a good user experience is perhaps the most important thing you can focus on for any product. Even when you’re not consciously aware of the little UX snags here and there, you come away from a poor user experience feeling frustrated or unhappy; a good user experience makes you feel satisfied and even delighted. Ultimately, users gravitate toward better user experiences and are more likely to talk positively about apps exhibiting good UX, so why wouldn’t you spend the extra time to ensure your product doesn’t have any sharp edges?