There are almost as many design principles as there are articles about them. But my two favorites are the Principle of Least Surprise, and You Ain’t Gonna Need It.
The Principle of Least Surprise, is one of the design principles of the language Ruby, specifically in the context of “the principle of least surprise after you learn Ruby very well.” And all good systems have the property that they do not surprise experienced users, but great systems do not even surprise inexperienced users. This is what Apple has been doing for years, trying to make their products mimic familiar scenarios and objects from the real world, so that users can simply pick up the product and use it.
You Ain’t Gonna Need It is actually a programming principle, stating that you should never add features under the assumption that someone might need it someday. Chances are that users either won’t need it, won’t want it, or will end up preferring something significantly different than what you provided. But I think this principle can be simplified down to “provide the minimum set of options and features to allow users to complete the task”. Simpler products are easier to learn, easier to master, and easier to create and test. The only extra work is in designing it properly.
With this in mind, let’s turn towards Ubuntu. I’m hardly a Linux novice, having used Gentoo, Fedora, Ubuntu, Debian, Mint, openSuse, and others before eventually converting to Mac OSX. I had to upgrade my spare Ubuntu box this week from 12.04 all the way to 13.04, and found a few gripes.
First of all, there’s the Amazon search feature they added sometime in the 11.X releases. It slows the search box down, which is the main way that applications are opened, and clutters up the results. Besides being a transparent money grab, I have a hard time imagining someone trying to open up their music client and suddenly deciding that they need to buy some cheese crackers right now. It all seems like quite a bit of distraction in order to enable a few users that want to order from Amazon without having to fire up Chrome first.
But the part that really angered me was when I tried to turn this “feature” off. I couldn’t find any settings within the dock itself (right clicking does nothing, it seems), and I couldn’t find any reference to it in the system settings panel either. A quick trip to Google, which I feel shouldn’t have been necessary, told me that I could turn this search off in the Privacy settings, for some reason. As annoying as this was, all would be well if the upgrade to 12.10 didn’t turn it back on again. Why would you do that to me, Ubuntu? I clearly stated that I had no interest in this mis-feature by hunting it down and disabling it, what purpose does re-enabling it have other than grab a bit more money from Amazon and anger me?
It’s these little mis-steps and more that make or break the user experience of a product. I’m fairly tech savvy, and am comfortable digging through StackExchange and various forums to find some solutions to my problems, but that’s not the way that the average customer works. For those who aren’t comfortable looking up answers or editing configuration files, these little details will quickly scare them away to an operating system that’s less surprising and simpler. And these are the users that Canonical must attract if they’re hoping to turn Ubuntu into a mainstream Operating System.