Free/Libre Software Usability
Generally, most people do not resist change as long as they believe or feel they have some control of the pace of the change. When there are choices about changes, generally most folks will stick with the devil they know rather than the devil they do not know. Thomas Jefferson famously wrote that, “...all experience has shown, that people are more disposed to suffer, while evils are sufferable, than to right themselves by abolishing the forms to which they are accustomed.”
There is only one way free/libre software will win the hearts and minds of computer users. Excellent usability. In A Practical Guide to Usability Testing, Joseph Dumas and Janice Redish (pg. 4) wrote:
Usability means that the people who use the product can do so quickly and easily to accomplish their own tasks. This definition rests on four points:
- Usability means focusing on the users.
- People use products to be productive.
- Users are busy people trying to accomplish tasks.
- Users decide when a product is easy to use.
A similar definition is provided in ISO 9241.
One of the cornerstones of formal training and technical communications is something called task analysis. What do users need to know to perform a task and accomplish goals?
While improving much the past several years, historically free/libre software developers have not done well with focusing on users, instead focusing first on scratching their own itch. When the user base expands, the focus often shifts toward satisfying fellow geeks rather than non technical users.
Often developers fall short with the remaining points. Many free/libre developers do not treat their projects as products. While free/libre software is offered to users with no cost, marketing is still required in that users must be convinced to use the software. That is, users must be sold on the idea to use the software. Treating the software as a product promotes an attitude that helps developers become competitive with proprietary software developers.
Proprietary software developers and owners focus on monetary profit — the final return on investment. Profit is possible only when the product is usable and useful. Much time is invested to ensure a product is usable and useful.
Free/libre software typically starts as a scratch for the proverbial itch. At that level of development most software works quite well — but only for the primary developer. At that early stage usability is limited to a use case of n=1. Often the software is not ready for other users except those who are like-minded.
When other users become involved the developers have a decision to make. Do they start massaging the software for other users or limit development to their own needs? If they choose the former then the software is now a product and the developers need to invest time in learning what users expect and need. The developers have standing to refuse to travel that road, but if they proceed forward then they become accountable to the users. The software no longer is their personal playground.
Distro maintainers are in the same boat. When a distro is designed to target fellow geeks then be open and up front about those goals. When the target user includes non technical users then the focus changes. In dramatic ways.
Free/libre software developers and distro maintainers are wonderfully skilled at tweaking and finding ways to help geeks work more efficiently. Double-clicks on window title bars, roll-ups, work spaces, hot corners, etc. There is one serious challenge with these innovations. Non technical users never use them and often find these kinds of features intimidating and intrusive.
Non technical users do not care about geek creds. They care care about being productive (point No. 2, Dumas/Redish). When being productive is not reasonably discoverable then they will discard the product. They will share their misadventures as well as through word-of-mouth advertising.
There is a simple message here. Defaults should heavily favor non technical users and not fellow geeks.
Most non technical users have been exposed to Windows. For most of those users they have known nothing but Windows. To migrate successfully to a Linux based desktop requires similarity to Windows. Yes, many free/libre enthusiasts are trying to change the world, but as the old adage reminds, you can’t get there from here. This is simple inertia. A system panel menu can be designed somewhat differently, but needs to still function as a panel. The only thing these users know about panel menus is to look for a button of some sort in the lower left corner of the desktop.
Throwing the panel to the top of the desktop confuses these users. They want to be productive. If anyone thinks this simple design shift is academic, pay attention to the noise generated when Ubuntu Unity developers introduced a feature to move the panel to the bottom of the desktop.
A similar example of this was when certain free/libre developers decided that window management buttons should be moved to the left side of the title bar, or in another project, eliminated altogether. Users revolted. The appropriate approach would have been to introduce those new features as optional and leave the original defaults. Let the technical savvy explore the new way of doing things. Users revolted because not because of change but because they had no control over the change.
Usability comes in other forms often ignored by distro maintainers. For example, regardless of free/libre software enthusiast wishes, Microsoft Word remains very much in use both in business and at home. While LibreOffice is an excellent replacement for all but certain corner case users, distro maintainers miss the obvious. Such as including MS Core Fonts. Such as including the Caladea and Carlito fonts. Yes, these fonts are available in the repositories, but they should be installed as defaults. Non technical users do not understand why the Word document they brought home from work looks horrible on their Linux based system with LibreOffice. Their reaction is predictable. With the expected fonts preinstalled they never run into those compatibility issues. The perception changes to “Hey, this just works.”
Arguing that there are “metric equivalent” fonts installed to avoid installing the MS core fonts does not fly with non technical users. They do not care about fonts called Liberation or DejaVu. That kind of technical talk is over their heads. Refer to points 2 and 3.
The terminal is something that reeks of geek creds and is a turn-off to non technical users. I once was told by such a user, emphatically, that he wanted nothing to do with using a command line.
Non technical users are not going to use a terminal. Any developer or maintainer who presumes this has lost these users. Developers and maintainers have gotten away with this presumption only because the type of user who usually delves into a Linux based system is not the traditional non technical user.
A presumed usage of a terminal or console eliminates non technical users. For distro design the solution is simple. Do not install include a terminal button in the panel or desktop. Do not include the terminal in menu Favorites. Do not include a terminal in docks. Keep the terminal available but out of sight and out of mind.
For software developers the absence of a terminal means adding missing GUI controls.
By the way, I have a terminal window open throughout most of my day. I would be lost without a terminal.
Most distros to this day still require home and non enterprise users to jump through the usual Linux administrative password hoops just to install a printer.
Even the desktop background image is important. The wallpaper is the proverbial moment for that one chance of making a first impression. Dark colors or themes are perceived by many people as being moody or gloomy. Think Batman (Gotham) and Gothic. Yes, some people like dark colors and themes. Guess what? They are a minority. The well known Windows XP landscape background full of peaceful green fields created a perception for the user to feel welcomed, to feel at peace. Remember those camera advertisements years ago? “Image is everything” is another way of saying “Perception is everything.”
Likewise with the traditional four work spaces. Geeks love additional work spaces. I have yet to run into a non technical user who even grasps the idea let alone tries to use a second work space. Targeting non technical users means setting aside the geek creds and focusing on point No. 1: the users. That means no work space switchers in the default panel.
Even the popular Mint distros have a default of four work spaces and a terminal button in the panel. Not to forget a narrow panel height that frustrates users with dexterity and eyesight challenges.
These quick examples amplify some of the missing polish with most distros and free/libre software.
Users decide whether a product is easy to use. Developers do not decide this. As most users are not geeks, this changes the definition of “easy to use.” Non technical users do not think like geeks and never will. What is easy to use for a geek more often than not is difficult or challenging to non technical users.
Most non technical users have some familiarity with using a web browser. When somebody recommends using a Linux based system, then they just might perform a web search using the word Linux. The web is filled with cautionary articles about how Linux is different, hard, challenging, or has a steep learning curve. The only way to offset those articles is to create a desktop and operating system that non technical users will find enjoyable, that allows them to be productive. When they get things done they will declare the product easy to use.
The traditional geek creds counter-argument is, “We don’t want a Windows clone.” Fair enough — then ensure your web site is clear and obvious that non technical users are not your target audience. In fact, tell such users they are not even welcome and will not be helped.
Design a distro for yourself or for non technical users. Sounds like you can’t do both?
You can, but there is a trick to pleasing both types of users. A trick that has worked well in the popular proprietary world of Windows. A trick that requires sweat equity. Targeting non technical users does not mean ripping all of the advanced features. This is a mistake some software developers make. When that happens the software becomes frustrating to advanced users. Frustrating is another word for not useful or not productive. The appropriate approach is to keep the advanced features but choose defaults that are not threatening to non technical users. The geeks and technically savvy know how to access those advanced features. Those types of users might complain how software or a distro is “dumbed down,” but they cannot deny the features are missing.
Non technical users never go looking for most of those advanced features. Throwing those features at a non technical user is perceived as intimidation.
The point is that developers and maintainers need to engage their users. Be interactive. Hiding in IRC channels and asking fellow geeks to test is not usability testing. That is back scratching and singing to the choir.
I have worked in cube farms alongside non technical users. I was always the “computer guy” to whom they asked for help. Throughout those years I observed that these people were intelligent and skilled at their jobs, but most were not computer savvy. They learned only what they needed to know about the computer to perform their jobs. The advice to software developers and distro maintainers is simple: do not presume these users are impressed by your geek creds. These types of users really do not care. They do not know and do not seek geek features. They are focused solely on being productive. They are not stupid — without intelligence. They are ignorant — without knowledge. They are not going to know unless what they seek is discoverable. A geek cred attitude of “works for me” will lose every one of these users.
Non technical users see the computer only as a tool. A means to an end. Nothing more. When a computer is not helping a user be productive then the computer is a hindrance rather than an asset.
Free/libre software long has been the domain of technical enthusiasts and geeks. Winning over the non technical user is doable when those involved treat users first, view their projects as a product, and seek to help all users be more productive. When that happens non technical users will declare the software easy to use.
Usability is not that hard. The key is being willing to place users first. Treat the project as a product. Leave the geek creds at the door. Then listen. Watch. Learn. Do not presume the geek way is the right way.
Mass usability studies are not required. Do not presume that non technical users think like geeks. Get non technical people involved rather than fellow geeks.