Thursday, January 8, 2009

It's too simple

This is probably the funniest thing I've seen from The Onion in ages. If you haven't seen it, watch it before reading the rest of this post.

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.


james curcio said...

A good post- and an issue I wrestle with daily, at work and out. (Though complexity is not usually what we're sorting against so much as- how can we get the user to the point of closing a sale quicker & easier.)

Though your example of "this blog" is somewhat off- that's what CSS is for. You can style a ui however you please, or anything else for that matter. Granted there isn't a UI method, but there are as you say things they do well, and things they don't. I much prefer the universal freedom of CSS (browser FAIL notwithstanding) to a limiting UI.

I used to design sites in dreamweaver. I tried the other day and was totally dumbfounded. I opened notepad and did it by hand. Best way to work. ;)

Matt Kelland said...

Sure - I could build a Web page to what the heck I wanted using CSS, Javascript, Flash, etc, but blogger's inbuilt UI offers me a restricted functionality to make it easy to knock up blog posts. If I want to do anything more, I have to know a scripting/markup language.

And I'll take PFE over notepad any day. Just enough functionality to do pretty much whatever I want, even if it is ancient. ;)

Kate Fosk and Michael R. Joyce said...

Seems like New year's resolution #41, "spend less time thinking about Matt's links / posts and more time getting on with movie making" just took another hit.
Lively was uber-hyped and didn't work (for most people) for the first week or so after launch.
This can't have helped..lots of negative exposure.
Re: interfaces.
For lots of people the question is 'who is around to help when I get stuck?'
The less isolated users are, the more they can learn and the less likely they are to give up.
MS already has a headstart with the lively and friendly forum.
Maybe more time and resources need to be spent supporting those who help others, and letting them know how valuable they are?
This might mean more senior staff hours spent posting thoughtful comments / responses on the forum -Kate

Matt Kelland said...

Sorry about your NY resolution, Kate! ;)

Something that came up in conversation last night: once you've mastered a skill, if the learning path was smooth, you tend not to remember how many hours you spent getting there, or at the least, to massively underestimate.

We look at The Sims 2, and comment how utterly intuitive the UI is. But when we did market research, a lot of people marked it as "extremely complex". But then, I've spent several hundred hours playing with it, and gradually building up familiarity. I've slowly added in new features with each new version and expansion pack, and as a result, it all makes perfect sense to me. Stick my version of The Sims 2 in front of a total novice, and they won't know where to start. It'd be like sticking me in front of my son's version of WoW, which has more add-ons than I can count. It's all obvious to him. And when I said my mum's car was simple to drive, it took us all how many hours practice to learn to drive a car in the first place?

"It's easy" isn't an objective statement. Perhaps what we should be aiming for instead, particularly with complex tasks, is to accept "it's easy when you know how" as a suitable benchmark, and then focus on helping people get to the "when you know how" stage.

Sheila, Canary Islands said...

I think it was de Bono who said that "Everything should be made as simple as possible, and no simpler. (My emphasis.)

Part of the trouble is that we live in an instant gratification society - just look at all the adverts for "learn a foreign language in three nanoseconds". People don't want to spend years slowly getting seriously good at something. I'm no fan of making things difficult for the sake of character building, but some things inevitably take a bit of effort, you know?

anaglyph said...

The most practical user interface for humans is likely to be a combination of voice and gesture which is pretty well understood by UI designers. The reason is obvious - it's how we interfaced with the world before computers came along.

The problem is one of technology - to implement an effective interface of that kind, the computer has to do a shitload of work - including kinds of work that we don't know how to make them do properly yet. My feeling is that we'll arrive at some combination of text input/voice input/gesture in the next decade that will be a reasonable kludge.

As far as something like blogging is concerned, it seems to me that the ultimate UI makes it unnecessary to know any kind of coding at all - I should be able to simply say "Put in a picture of a plane cockpit here'. 'Move it up a little, make it 20 percent smaller and wrap the gap with text' - and so forth. Or grab the picture with my finger and move it to where I want it. Again, the behind-the-scenes work has to be enormous, but for effective and intuitive UI I believe that is completely necessary. Our brains use that kind of computational power every second to make our UI with the world work effortlessly - that's inevitably what will have to happen with computers.

Matt Kelland said...

I don't think I want a voice & gesture interface. I've used both and I don't like them.

Voice interfaces don't work well in communal environments: I can sit here silently blogging while there are two other people in the room watching TV - it would annoy the hell out of them if I was talking to my laptop.

Language isn't that precise either: "put a picture of a plane cockpit here and make it 20% bigger" is a very imprecise statement. Which picture? Where exactly? Do I really mean 20%? A graphical UI is much more precise, and once you've learnt to use it, is much faster to get exactly what you want. It takes quite some time to develop a verbal rapport with someone so that they understand what you mean, particularly when you're doing something creative. For example, telling an actor to "stand by the window" isn't as fast accurate as clicking on the floor of a virtual set and placing a mark they can move to.

Gesture interfaces involve a lot more physical movement than using a mouse & keyboard. If I was moving pictures around my screen with my finger, I'd have to move my whole hand, and perhaps my arm: twitching a mouse is much easier.

And yes, I love the de Bono quote!

anaglyph said...

Your points taken, and to a pretty large extent I agree but I think that's just us old fuddy duddies who are restricted by those ideas. I watch my stepdaughters interact with computers and I can sense that they find typing on a keyboard tedious and limiting. They really don't care about environmental distraction - currently they have the tv on, are texting friends, talking on the phone and listening to music. Their typing skills are nowhere as good as mine, and I'm crap in the grand scheme of things. They are very socially driven, and I know if I could crack an interface that tapped into that, I'd be rich in a flash.

I learnt to code in html, and to a lesser extent in CSS, but only out of necessity. I find it cumbersome and boring and the whole process an impediment to the flow of ideas. If someone gave me a useful alternative I'd grab it in an instant (example: using a prepared blog template, such as WordPress craps all over having to code a site from scratch, which is what I'd been doing up until blogs came along). I'd much rather use something that streamlines the process and takes away some of the tedium of understanding the mechanics.

I do disagree with your example of voice in regard to actors - sure, you can place a virtual actor anywhere you want, but that is a very 'push' technology. Personally, in creative enterprises, I prefer to have a dialogue. What I foresee with voice and gesture interfaces is just that - a interaction rather than just a command-driven hierarchy.

As for the 'make the image 20% larger' problem - well I concur, but we deal with those problems every day in human interactions - 'put that chair near the window... a bit closer... turn it around to face the view...' Our brains deal pretty well with that kid of thing without the need for exact instructions.

I don't mean to suggest that this kind of interface will be the be-all-and-end-all of UIs, but that it will become, in my opinion, a very dominant one. Already I have gadgets that use voice recognition and I love them. And that's despite the fact that they are FAR from perfect.

johnnie said...

Matt Kelland says
http://mat​tkelland.b​​m/2009/01/​its-too-si​mple.html please feel free to chime in

Johnnie Ingram says
Great post, and good comments too. Particularly Kate: 'For lots of people the question is 'who is around to help when I get stuck?' Damn good point, and one that I hadn't really put enough importance on. Gonna have a think, and post my comments later.

Dave Lloyd says
Kate as ever goes straight to the point. If you show someone what all the buttons are for, they get it. If they have to work it out, they don't. And only a human can figure out what you don't get. Even an aircraft cockpit is not that scary once you've had someone talk you through the controls.

Matt Kelland says
We also underestimate the background learning required. In order to create a Word document, I need to learn the alphabet and learn to read and write. Then I need to learn to use a keyboard interface. Then I need to learn to control a mouse and find my way round Windows. Then I need to learn to drive my word processor. And that doesn't even begin to say anything about whether I'm capable of creating anything that's actually readable, let alone any good.

Hugh Hancock says
Yeah. I've been teaching my grandfather - 0 computer knowledge at all - to use a Mac recently. Intuitive? Not so much, if you don't know what a window is or how it differs from a dialog box, or why they appear and how, you don't know what the pretty pictures mean, and you don't know when to double-click or single-click. It's interesting what turns out to be easy and what turns out not to be. iPhoto? WAAAAAAAY too complex, with random single-clicks and double-clicks. Gmail? The menu is really confusing. Web browsing? Oddly simple.

Johnnie Ingram says
It's also true to say that a lot of people don't use a word processer "correctly", for want of a much better phrase. Most people format titles individually, rather than setting a heading style and then formatting the style rule. I even knew someone once who used to centre-align all off her subheadings by repeatedly pressing Space until it looked like it was just about in the middle, cos she didn't know about the paragraph alignment tools.

Matt Kelland says
Well, we wanted it to be "simple, like The Sims" Turns out that wasn't necessarily a good benchmark.

Hugh Hancock says
Not unless you're setting your baseline at "Can use The Sims". It's a problem. If you designed an interface that would be simple for my grandfather to learn, for example, Johnnie would probably hate it, because it'd break all kinds of conventions that advanced users are used to.

Matt Kelland says
That's a more accurate baseline. "Similar level of complexity to the Sims" would have set our expectations better than "as simple as the sims".

Johnnie Ingram says
Hugh - and even then, you'd still have to teach grandad to use it. At which point, you may as well invest the time and teach him standard conventions.

Matt Kelland says
Not necessarily - it may be quicker and easier to teach him "grandad conventions" than "standard conventions".

Hugh Hancock says
It'd be a LOT easier to teach "granddad conventions". For example, a system which never, ever used double-click would make my life about a million times easier. As would one that didn't use multiple windows. Hmm - I wonder if something else to look at is WoW. It's a very complex game, but it's infamously easy to learn - and I do mean "infamously".

Johnnie Ingram says
It probably won't surprise you to learn that we've looked at WoW once or twice during our design discussions.

Matt Kelland says
I had to teach my mum to use a digital point and click camera. I never had to teach her what an f-stop was, thank god, let alone what all the different basic settings on my camera were for. (night, motion, portrait, standard, etc).

Hugh Hancock says
Heh - whereas my grandfather can use a DSLR fine (that was last Christmas's present). He already knows photography backward, so it's easy.

Matt Kelland says
I hope you guys are going to put some of this on my blog

Johnnie Ingram says
Actually, I was half-thinking about asking you all if you'd mind if I just cut and pasted the entire damn discussion and posted it into the comments.

Hugh Hancock says
Sure, hit it.

Matt Kelland says
Some editing might be sensible. You probably don't want people to know that you can't spell "word processor"

Johnnie Ingram says
That ain't gonna come as a surprise to anyone.

anaglyph said...

Ha. Great conversation - good points.