Tim Lee is, for my money, one of the most reasonable and thoughtful tech policy essayists we have. His latest, “Open User Interfaces Suck” got my attention, because he hits me right where I live. In his usual, respectful, level-headed way, he claims that open systems (like the open source development process I love so dearly) is ill-suited to a good user experience.
Tim starts, as you might expect, by holding up Apple as a paragon of interface design, since they make beautiful machines and beautiful, approachable software. He then turns his gaze to more open platforms, like Android, with withering disappointment. He concludes that because open systems require consensus-building and “big tent” approaches which are optimized for “scalability and flexibility”, they’re poorly equipped for good UI design. On the other hand, Tim says that good design depends on “simplicity and consistency,” which comes from the vision of one person (let’s call him “Steve“) and the slavish execution of that vision throughout the product.
Luis Villa beat me to much of the argument I was going to put forward, so I’ll direct you to him. The upshot: “Tim is not the first or the last person to say ‘open’ when they mean ‘disorganized,’ particularly in the context of UI.” I’d like to put a finer point on that.
The caricature of an open source community as a hotbed of chaotic, directionless free-for-all doesn’t match what we know about successful open source projects: they’re run by influential leaders who manage dissent and provide a clear vision for the project’s development. Likewise, the caricature of proprietary systems as coming from a single source of wisdom (Steve Jobs or other) doesn’t pass muster, either. Anyone who’s worked in a large enterprise knows exactly how many committees a particular design decision must survive before it’s adopted.
This discussion has been going on for years, and I’ll refer you to John Gruber, Matthew Thomas, Havoc Pennington, and the profane jwz. Their essays read as though they were written yesterday. With the notable exception of Gruber, there seems to be consensus across nearly a decade that good UI design isn’t impossible for an open development process. It’s just really, really hard. Thomas is most instructive, since he identifies a number of structural challenges to good design on open projects. But again, there are plenty of structural challenges to good design in proprietary projects, as well.
In the end, I don’t think that it’s useful to compare an entire universe of developers like the open source community to a single exemplar of good design, like Apple, and draw conclusions about the relative merits of their respective process — mostly because the process is irrelevant. If a project wants good design, it has to work for it.