There are certain design choices that are used often but have no business existing. Sometimes, designers go for some aesthetically pleasing choice at the cost of practicality. Other times, it looks like certain options were added as an afterthought. Many things contribute to a list of irritations that end users must put up with.
This page will address the top design annoyances in software and web pages today, according to me.
Settings and Options
The first one applies to software options. When I’m selecting the options, I should not feel like I’m doing a logic problem in math class. It should be “on” to activate the option, and “off” to turn it off. Turning “on” a switch to deactivate a feature is counter-intuitive. Or should I say it’s not counter-unintuitive?
For example, in Obsidian, you have to turn off your Community Plugins by turning on a “restricted mode”. Turning something “on” to turn something off is straight outta goofy land. Were they just trying to be difficult?
Instead, there should be a switch that you turn on to activate Community Plugins, or turn it off to deactivate Community Plugins.
Many settings are hidden in a section commonly called “advanced”. Well, how would the end user know what the developers considered “advanced”? It seems like a way to avoid organizing the settings. Developers should take the time to categorize the settings in a meaningful and more intuitive way.
Another settings issue is not knowing if the switch is telling me the current state or the state it will be in by clicking it. I’ve seen this issue in a lot of Android apps.
When the page (or app) loads, everything should load to the final place it will be used. It should not load and then be shifted around by other objects that are loaded next. If that is a must, then the objects should not be interactive until everything finishes loading.
As an end user, it’s frustrating to click somewhere only to have that spot change while I’m clicking it, thereby making my click activate something I did not want.
Edges should be defined, not implied.
If there are two sections of a page that are independent of one another, there ought to be an edge that the user can see.
This example is from Joplin:
Tooltips and popups can drive me crazy. In fact, as I write this in WordPress, I’m having to be careful not to trigger a popup that interferes with part of the page. Moving the mouse suddenly causes this huge settings block to cover up part of the page that I would want to interact with.
Icons should be relatively static. Yes, developers, we realize you have that neat power to remove them and replace them based on our mouse arrow, but really it’s not that impressive. Just leave them in place.
Aesthetics vs Practicality
What is comes down to is aesthetics vs practicality. I believe many of my frustrations are a result of designers trying to make something look pretty rather than be functional. I’m sure they try to walk the fine line between both to give the end user an attractive experience that is usable.
Maybe there should be an advanced setting that toggles between aesthetics and practicality. Just kidding about the “advanced” part, but having that setting might be useful.