Download the authoritative guide: Cloud Computing 2018: Using the Cloud to Transform Your Business
Linux has always had a reputation for being difficult to use. Consequently, when developers began improving users interfaces, they concentrated on what they imagined that new users needed. They rarely had the actual opportunity to observe new users, but the new user they imagined became a standard figure among developers, often surviving to this day.
Yet after observing this habit for over a decade, I wonder more than ever if the imaginary new user still exists, or ever existed at all. I suspect, too, that the emphasis on this figure has been a detriment to other types of users.
After all, this is the end of 2016, not 1986. Probably few new users are seeing a computer for the first time, even in many parts of the developing world. Most must have had experience of a classic desktop environment with a workspace, menu, and panel, and should be able to adapt to most Linux desktops without instruction and more than half an hours' experimentation.
Even those who are mainly familiar with phones or tables are unlikely to need special consideration -- and those who do must be a constantly diminishing minority. In designing for new users, developers might very well be designing for a group that doesn't exist in 2016. Meanwhile, the needs of other users are neglected.
Over-Extending Linux Simplicity
In the early years of user interface design, imagining the new user may have had some advantages. Around the turn of the millennium, Linux user interfaces were characterized by a lack of organization, and, at times, even consistency of spelling and location. Armed with the belief that consistency would help the new user avoid confusion, developers could bring a much needed order to their desktops that could benefit all categories of users.
However, this concept can be over-extended. For example, the CD Burner Brasero, a mainstay of GNOME technology, is a vast improvement over older burners, which crowded features into the application window, and overwhelmed users with the jargon of burning. Instead, Brasero works with the most common features, making it useful maybe eighty percent of the time.
However, a user who wants something unusual, or runs into errors, requires a burner like K3B. If you examine K3B's default settings, most of them are identical to the ones offered by Brasero. But if you ever need more than the defaults, K3B places them close by, sometimes on advanced tabs that can be ignored most of the time.
Where apps like Brasero are enough in most circumstances, they have been simplified to the point where they are useless when a difficulty arises -- that is, exactly where some complexity would be welcome. The case is more or less the same with Shotwell, Simple Scan, and many other standard GNOME applications. As with much of OS X's recent design, the otherwise sensible idea of simplicity has been over-extended to the point that functionality is reduced.
Yet even in circumstances when over-simplified apps suffice, they extract a price. An over-simplified app can make a user efficient most of the time, yet what it does not do is give users any degree of understanding. Rather than learning the concepts behind the functionality, users of these apps memorize a path they can follow to achieve their goal. They never understand how their apps work, because nothing in the interface teaches anything beyond accomplishing their most common goals.
In effect, a user who learns Linux from apps designed for the newcomer risks remaining a newcomer. At best, they gain minimal competence. Even worse, they are discouraged from exploring -- and, in the process, absorbing free software's do-it-yourself competence because the application gives them little to explore.
Moreover, at a certain point, simplicity can become obscurity. For instance, many of the functions on musical devices are built into a series of buttons: angle brackets pointing to both left and right for previous and first and next and last, a square for stop, and a series of horizontal lines for the main menu. These symbols are a convention that must be memorized -- and new users are precisely those least likely to know the conventions.
And if that were not enough, other functions require users to press a combination of buttons. The components of these combinations is not the least obvious, so users either have to experiment or resort to the manual to make sense of them.
Yet because these combinations are supposed to be simple enough to understand at a glance, often the manuals or any sort of help is considered is considered unnecessary. This is the same descent into simplicity that has distorted Fedora's Anaconda, which in recent years has devolved from one of the leading installers to an interface so obscure that it actually makes get Linux up and running more difficult than the process was a decade ago.
Linux Interfaces for All
What is missing from the well-intentioned designing for new users is the realization that new users don't stay that way. While designers may not want to intimidate by offering too many options too early, curious users may eventually want to be more than competent with their software. Instead of assuming simplicity is the only possible virtue in a graphical interface, developers need to think how to encourage the discoveries of the curious every bit as much as they need to hurry the competence of the newcomers.
In other words, they need to design an interface that is flexible enough to fit the needs of not just an imaginary new user, but of every actual user.
This was the approach of classic KDE apps like digiKam, Amarok, and K3B, and explains KDE's reputation for writing software that not only includes the kitchen sink but a bath tub with nine different faucets. All these apps have clearly visible defaults that users can select without understanding them while still succeeding in their tasks. Yet, at the same time, hidden by a tab or a dialog window -- or, sometimes, simply left unselected -- are more complicated functions to which users can graduate when they feel prepared.
Such something-for-everyone interfaces take more planning than minimalist interfaces. KDE, I have noticed, sometimes takes half a dozen releases to organize them properly. But the result can be application windows designed for everybody -- a true definition of user-friendliness that serves all users, not just imaginary and obsolete ones.