A Simple Usability Guide
Desktop environments should never irritate users or get in their way. Desktops should be designed with defaults favoring non technical users but allowing technically savvy users options to modify the desktop’s behavior. Modification options should be readily discoverable.
When a desktop gets in the way of a user, the first thing a user does is look for a related GUI control to modify the undesired behavior. When no GUI control exists then the developers have a usability problem.
Sometimes developers respond that an expected desktop behavior is unsupported and users are expected to conform to the developers’ design vision. Such developers have a usability problem.
When no GUI control exists but configuration is possible in text files or dconf, then developers have a usability problem.
When users spend more than three minutes searching the web for a remedy to the irritation, then developers have a usability problem.
Developers who depend only on fellow geeks in IRC to help test software have a usability problem.
Developers who do not engage non technical users in testing software have a usability problem.
A simple example. How to configure or disable the menu transparency or opacity of the Cinnamon menu? The only method I have found is, as root, manually editing theme CSS files. For users who do not like transparency, this is a usability problem because the transparency is a distraction.
There is no GUI control.
There is no dconf control.
Searching the web requires hours because no non technical solution exists.
Developers think transparency is cool. A way to demonstrate geek creds. Fellow geeks do not see that transparency as a distraction. Non technical users think otherwise.
Developers did not engage non technical users in testing menu transparency. If they had they would have discovered the lack of a GUI control.
Just one simple slider widget.