Friday, August 19, 2011

Why software patents lead to poor usability

I'm a big fan of usability. I think that usability is the next goal, not features. Products are being distinguished based on how usable they are, rather than how many features they have.

In the physical world, usability is improved by
  1. Making the underlying process visible. An example is a small light that glows when a device is turned on. Glowing lights indicate that electricity is flowing through the device, which suggests that now the device is on.
  2. Improving the mapping between the action and the object that causes the action. Switches have only two positions: on and off, corresponding to the two states of a lamp. Volume controls are dials that you rotate indicating a range of possibilities. Doors have handles that indicate which direction they can be pulled.

Good interfaces in the physical world rely on making the system clear to the user. When interfaces don't follow any logic, they have been standardised: all cars have driving controls in very similar locations.

Computer usability is somewhat arbitrary, though. There is no real-world analogue for a menu-bar, or a right click, or a context menu. There is no real-world analogue for task-switching. The pioneers in computer design could adapt some real-world objects as metaphors for computing actions. Thus the pervasive 'desktop' metaphor for objects on the computer, even though it now has nothing to do with a real desktop. But metaphors are rare and much of the interface was incidental and arbitrary. Like the use of the QWERTY keyboard for all English-language computers, and the arbitrary position of the menu bar (top of the window) and the status bar (bottom of the window).

When usability cannot follow any logic, the easiest solution is to standardise. In his book, "The Design of Everyday Things", Donald Norman shows how the design of a wall clock is arbitrary and illogical. But around the world, every wall clock looks identical, which allows you to read a clock. The placement of the accelerator and brake pedals, and the control sticks on the car is similarly illogical. There is no good reason for the wiper control to lie to the right, and the light control to lie to the left of the steering wheel. But every car seems to follow this. The result is a breathtaking advance in usability. You can rent a Toyota Sienna or step into a Ford Focus and drive it without any instruction. Once you know one car, you can drive nearly every car.

Computers aren't like that, here are the trash bins from Windows and Mac OS:

They both look pretty similar, but not exactly. A user who has been seeing a clear glass recycle bin will look for something similar on OS X. It takes some time to identify these similar features and their related mappings: 'Recycle bin' versus 'Trash can'. Trash cans are just the start of it. Computer systems differ along all these characteristics: the placement and position of the menu, the types of icons, the keyboard behaviours. Even turning off a computer has no agreement. Some computers have a physical off button on the keyboard, some have an icon on the top right, some have menu items. Software to perform the same action looks very different on different systems.

Where computers have standardised, it has been a success. Computers all use the same keyboard and mouse, thankfully. And some keystrokes (Ctrl-C, Ctrl-V) are common across platforms and programs.

The reason why software cannot look identical across products is due to software look-and-feel patents. Look-and-feel patents allow the patent holder to maintain exclusive right to how a user interface looks. A good example is the recent patent litigation on a phone's look and feel. These patents have been around for a while now. So has the resulting litigation. Patents of this nature disallow someone from providing a similar look-and-feel of an established product, which makes it impossible to standardise on an interface.

As a result, consumers have to deal with the explosion of interfaces. Using a new phone is much harder than using a new car!

I don't want to highlight just one company: many companies are involved in this. Such litigation has existed for quite some time now. One of the early lawsuits between Apple and Microsoft about the look-and-feel of the Windows system was filed in 1988. As a result, Windows could not look similar to Mac OS. Windows developed its features in isolation, which Mac users had to painfully adapt to when they switched to Windows. Many years later, Apple developed the popular OS X operating system and many users switched from Windows to Mac OS, they had to painfully learn the new interface.

Innovation is key to generating new products, though radical innovation in the interface is harmful rather than helpful. Cars have had the same control mechanism for many years now. Yet they have had some innovation within the confines of the interface. Cars are more comfortable, safer, and consume less fuel than those in 1960. Yet, you could probably step into a car from 1960 and drive it.

While computers have become faster and more capable, they have not made much advance in standardising interfaces. New systems have their own bewildering interface that require learning. People dislike upgrading because they will have to learn the new interface to perform the same actions that they used to perform earlier.

It is our responsibility as users to demand consistent interfaces. We can buy a new car and can safely transfer all our driving knowledge to it. We should be able to buy a new computer and be productive with it right away.