The Burden of Choice
I’ve always liked the idea of having a little computer to carry around which fits in my pocket and has internet access, but until recently, there weren’t any models available which had both a complete list of features and a well-designed user interface. The release of the android operating system was a good first step, but it wasn’t mature enough to warrant the extra cost until the current version. So, after much deliberation I bought a Nexus One. And I like it. But with seemingly everyone else using iPhones and Blackberries, I got to thinking about design, and how it impacts customer perception.
The burden of choice is always a prickly question for a developer. How many settings for a particular application is too many? What level of control should the user be allowed? Is the design philosophy geared toward specific tasks or an open ended platform? In the context of these questions, there are two extreme approaches:
1. Create a specific device which places strict limits on allowed software and functionality, then tailor the hardware to the design of the software to reduce manufacturing costs and ensure consistent quality.
2.Create an open ended platform which will run on a variety of hardware and will run a variety of software, and allow the users both the benefits and the burden of choice in system configurations, applications, etc.
Savvy readers know where I’m going with this. listed are essentially the Apple and Microsoft approaches, respectively. Both companies have been very successful despite representing opposing philosophies. Microsoft (and not to leave them out, the creators of Linux even moreso) are the advocate of choice. You’d be hard-pressed to find a hardware configuration that can’t run some version of windows, and you’d be hard pressed to find a system on which windows won’t crash. Apple is the proponent of consistency. Their UI design is excellent, it’s too bad you can’t get that same UI on market cost hardware. Not only is it difficult to install any Apple OS on a non apple hardware configuration (or indeed any other device that what it was originally made for), it’s also a violation of their EULA. I don’t think either of these design philosophies in their extreme form represent the future of software and hardware design. The second approach is faulty because it does not cater to the non-technical user who makes up most of your customer base. the first approach is faulty because it does not cater to advanced or experienced users who are increasingly the first to develop new applications (therefore adding value) for your platform. Google’s software seems to be skirting between both these designs. They are open source, but with limitations. Their software is very easy to use, but has a deeper level of customization for more advanced users. They seem to be running at a higher level of design than either Microsoft or Apple, and they’ve done it with almost no cost to the end user. The future of computing is flawless interfaces combined with open platform support, and we’re getting a glimpse of that in Google. They are far from perfect, but they seem to be heading in that direction faster than anyone else.