Apple Introduces Revolutionary New Laptop With No Keyboard
There is, however, a serious point here about user interface design. This is something that's on my mind every day, as we grapple with the complexities of making it easy to create movies. What everybody's after is "add more features, and make it simpler". Which sounds logical and sensible, but it ain't.
A simple user interface sounds like an obvious solution, but as the video demonstrates (by reductio ad absurdum, admittedly) it doesn't work that way. Some things are sufficiently complex that you need a certain complexity of user interface to make them work. By reducing the number of controls in the user interface, you make it appear simple, but at the cost of burying functions too deeply.
It's just maths. Let's say you have 27 functions you want to perform. At one extreme, you could have 27 buttons, each of which performs the desired function. The end result is an aircraft cockpit, which looks scary and intimidating.
At the other, you could have 3 buttons. You could get to each of those 27 functions with just 3 clicks. Which is obviously better, right? Wrong. It's fine once you learn the menu sequence (press 1 to get menu 1, then press 2 to get submenu 1-2, then press 2 again to get function 5). But the only way to get familiar with the device is to go through all three main menus and all nine sub-menus, and remember what's on each and how to get there.
You could do the same with a single button, but you could activate it in three ways. Short press, long press, and double-tap. Now to get function 5 you'd press, hold, press. One button has to be even easier, right? You get where I'm going. Yes, it would be a beautifully clean interface, but completely unusable. You laugh. But isn't that what we so often do with icons on our interfaces? Left-click, right-click, double-click, middle-click, hover over, drag, CTRL-drag, SHIFT-drag, CTRL-ALT-SHIFT-right-click...? (And yes, I'm guilty of that particular UI design sin too.)
The fact is, some tasks are fundamentally complex, and you need an interface with sufficient complexity to do what you need to do. You simplify the interface by simplifying the task, either by removing features or automating them. I mean, it's great that we no longer have manual advance/retard levers or manual chokes on cars. We've automated those functions pretty well perfectly, and so that's two controls we don't need. And let's face it, who really needs a rev counter on an automatic? All well and good. My mum's Nissan is a triumph of simplicity.
But, of course, this may not be what the user wants, or needs. Take this blog, for example. It has basic word-processing functions, but I can't put a table in it. (Yeah, I could probably write one in raw HTML, but I can't do what I can do in Word or OpenOffice.) It won't let me select the icon I want for a bulleted list. It's restricted the functionality in favour of ease of use.
To be fair, 99% of the time, it's perfectly adequate, so I have no real complaints. All I really want to do on my blog is write words, and intersperse them with pictures and videos, and add in the occasional link. I can express myself quite adequately. But when it comes to a task as complex as making a movie, the basic functionality required to create something close to what I want is enormous. The medium is so rich that it requires a lot of user input, and that requires a rich user interface. And that, I suggest, means a relatively complex user interface.
Fundamentally, the user needs to learn the task. On something as simple as an iPod, the task can more or less be broken down to "select some music" and "play it". On a mobile phone, there may be many tasks, but they're all mostly simple, atomic tasks, and the main design challenge is to make it easy for the user to find how to get to them. But making a movie is a huge mess of complex, interrelated tasks, and no matter how simple you make the user interface, unless you understand what those tasks are, and what's involved in them, and how to get the results you want, you'll never understand what you're supposed to do.
It's what they call "necessary complexity". One of the things that killed Google Lively was that it was so simple it didn't work. Even though they did what all the design gurus said was sensible, they ended up with something that was harder to control than WoW and less fun. As it says in that article (do read it, it's good):
So, ideally the interaction interface needs to be of an order of complexity that is coupled to the order of complexity of the number and type of possible tasks. If it rises above that or falls below that, performing tasks becomes harder. Performing tasks with an oversimplified interaction-interface is like trying to make coffee with one hand tied behind your back.Getting the balance right is hard. Damn hard. With Moviestorm, we find that some people find it trivially easy, while others find it really hard. Some find it so feature-rich it's bewildering, others complain it doesn't do what they want. The middle ground risks satisfying nobody. Powerful, complex tools risk being usable only by the few. But simple isn't always the right answer either. As the Macbook Wheel shows, "simple" can easily end up meaning "hard to use", "unsatisfying", and "inadequate". "Simple" is not the Holy Grail. It's really not.
"Clear and well structured" - now that's a whole different paradigm.