Ease of use is a feature
It may be an undervalued one, though. Like many other examples of good design, the best user interfaces go largely unnoticed by their users. If a user consciously notices the UI, as something separate from the task at hand, it could probably be improved.
Ease of use is a frequent topic of discussion in Ubuntu. For example, one of the primary reasons why we chose the GNOME desktop for Ubuntu is that the GNOME project was making great strides in this area, as exemplified by the GNOME Usability Project and its Human Interface Guidelines or HIG. Nearly four years later, usability is still a key consideration whenever we discuss alternative applications. Ubuntu users don’t often consciously notice if their system has good usability characteristics, though. By definition, it’s behaving as expected, and it’s human nature that this usually goes unnoticed.
Facebook is another example of this phenomenon. Like Ubuntu, Facebook was a relative latecomer in its space. There were already plenty of social networking sites at the time, some with millions of users. Today, Facebook is winning, with over 90 million users and one of the most visited sites on the web. They did a number of things right, notably their strategy to make Facebook an application platform, but one of them was usability. Their site looked and worked like a single application throughout, rather than a loosely connected universe of ugly pages. They’ve recently launched a redesign which aims to make it even simpler and more consistent, showing that they’ve maintained this focus so far. They’re even running it in parallel with the old design to measure its impact.
How about Ubuntu? Most of the software in Ubuntu is developed by other communities, but many of the applications which originated in Ubuntu exist for the sole purpose of making it easier to use: gnome-app-install (Add/Remove), Update Manager, Ubiquity (our desktop installer), Jockey (our driver manager) and UFW (our work-in-progress firewall) primarily provide a simpler interface to functionality provided by underlying tools. A system programmer wouldn’t say that they add much in the way of features, but they enable casual users to do things they couldn’t do before.
Where could we do better? I’m interested not only in specific usability improvements, but in how we can improve our overall approach to ensure that we continuously improve. The first step is to figure out how to measure how well we’re doing, and be able to try out new ideas.
How can we, as a community of users and developers, do effective usability testing, and collaborate with upstream projects to process the results? I have some ideas, which I’ll write about separately.