Imitation and mobile devices
Off the Beat: Bruce Byfield's Blog
Whenever I review a new desktop environment, someone is sure to comment that desktops are obsolete. Apparently it has become the conventional wisdom that the future of computing lies in mobile devices. But, like all bits of conventional wisdom, that assumption deserves questioning, especially when it comes to interface design. So far, mobile interfaces have done little innovating, and mostly borrowed unthinkingly from traditional desktops.
Enthusiasts always exaggerate the impact of new technologies, and mobile devices are no exception. As Larry Cafiero has pointed out repeatedly, while mobile devices are undoubtedly growing in number, traditional computers are not about to disappear entirely. It's one thing to check Facebook on a phone or tablet, and quite another to vectorize a graphic on them. Even writing an email longer than a few lines can be torturous on a touch screen -- which is why keyboards are a popular accessory for any mobile device that can support one. Instead of driving traditional computers into extinction, mobile devices are simply turning them into a niche market for high end users.
This situation creates problems for mobile interfaces. Hoping to save themselves effort, manufacturers are continually pursuing the impossible dream of a single interface that fits every hardware platform. Unfortunately, what is convenient on a widescreen monitor can become an impossibility on a mobile device due to lack of space.
The same is true in the other direction. What users tolerate as unavoidable on a three inch screen can become unbearably clumsy on a twenty-three inch one. On a three inch screen, for example, opening all applications full-screen makes sense. But on a larger one, opening full-screen feels like a regression to the days of DOS and Windows 3.1.
This non-compatibility of platforms feels too obvious to state. Yet, to a surprising extent, mobile interfaces are still being designed as though they were traditional desktops.
A tradition of non-innovation
The trouble with designing mobile interfaces is that it is like designing a business card -- you have minimal space, and, in order to produce something usable, you often have to leave something out.
It doesn't help, either, that thinking about usability on mobile devices is new enough that no consensus about what works and what doesn't is available. Interface designers are left to work on their own, which means that each tends to make the same mistakes rather than learning from someone else's attempts.
Too often, these constraints result in mobile interfaces borrowing from traditional computer interfaces; the latest upgrade on my Kobo ereader, for example, removes the icon bar on the home page and replaces it with a less accessible combo box.
In fact, most mobile interfaces borrow without question from traditional desktops. Even a feature like a touch screen matters less than you might assume; a fingertip is simply assumed to replace the mouse. Overall, the conventional icons, panels, menus, and context menus are almost unchanged.
Such changes as exist are usually more random than innovative, such as the hidden trash can on my Galaxy S phone. Most changes are usually forced by the limited space, such as opening in an entirely new screen, rather than a dialog box.
The greatest change that I can think of is the buzzing of the device that indicates when an icon is selected. Otherwise, mobile devices are distinguished less by innovation than emphasis: for example, mobile devices are more likely to borrow Apple's spinner-racks than a traditional desktop. As a device for making selection easy without displaying all the choices at once, a spinner-rack seems especially useful on mobile devices.
But the spinner rack is only a single example, and other useful borrowings -- let alone innovations -- are almost non-existent. I have yet to see, for example, any adaptation of Amarok's context-changing pane of possible actions on a mobile device, despite its obvious advantages as a space saver.
A need for rethinking
Now that mobile devices are a part of everyone's life, the time is overdue for some serious thinking about their interfaces. Yet even projects like Tizen, that might be expected to lead such re-thinking show few signs of doing so -- few that any outsider can see, anyway.
In fact, the only project that I'm aware of that is giving serious thought to innovation in mobile interfaces is KDE's Plasma Active. In particular, Plasma Active deserves attention for the idea that, instead of evoking a change of screens, features should be temporarily dragged into the main screen. It's a simple change, but the increased ease in navigation is more than enough to show how a little rethinking can make vast improvements in the user experience.
Otherwise, the prospects for improvement are bleak. Some day, a usability expert look at the constraints of mobile devices with a fresh eye, and our mobile devices will get the interfaces that their importance deserves.
But until that happens, far from leading interface development, mobile devices will continue to borrow from traditional desktops, and we will continue to use interfaces that are too clumsy to lead anywhere except to a continual low-grade frustration.
Universal Interfaces?I think that those who are trying to have one OS for all devices have a good idea, but they are trying it the wrong way. I don't expect, nor do I want, an interface that works the same on a tablet, cell phone, or 21" desktop monitor. What I do want is a system that will inter-operate with any version of the system.
What I have envisioned is a system that is essentially a kernel that provides the same API across all hardware, and software structured in modules so that you can include only those that provide the functionality you need. Combine those with a separation of interface and functionality, and you can have the same back end running under vastly different interfaces. Thus, you can have an interface that works for the form factor it is being used on, no matter the type, instead of a "one-size-fits-all" interface that feels forced on anything else. Windows 8, GNOME 3, and Unity all seem to be aiming at tablets rather than the traditional desktop, and it is hard to mold them to the interface you want, with the end result that they start to feel awkward on the desktop.
The enlightenment foundation libraries seem to be the closest to what I'm describing in terms of what we have available now. That said, they aren't uncoupled enough. We need an interface system that you can drop modules and an interface description together, and have a system that works for a given form factor. That's a system I'd really like to see. I'm still learning to program, but that's the kind of system I want to make.