NARROW and DEEP: That’s Good Interface, Baby
Comments: 12 - Date: February 6th, 2008 - By: Schwern - Categories: interfaces
It was inevitable that this blog would drift from human -to-human communications to device-to-human communications aka interfaces. Since we design the devices, and whether we intentionally design it or not devices have interfaces, interfaces are just human-to-human relationships one step removed.
That’s the justification, but really I just like to go on about interfaces.
Over on hates-software, Nicholas Clark is busy hating ATM interfaces.
…why use 3 of the 8 buttons to give me the options cash/balance/something-I-forget, and then add a whole extra bloody screen of “would you like a receipt?”.
Just make that 4 options up front - cash with/cash without
Maybe they got their programmers from McDonald’s - and it was only QA that stopped it saying “would you like fries with your cash?”
Why not indeed? Turns out, for once, the software got it right-ish. Nick is thinking like an experienced ATM user who has used their interface dozens of times and trained himself to its idiosyncrasies. He’s looking to make the experience as fast as possible for the expert, a classic programmer desire. But ATMs have to work first for the random guy off the street who’s never used this particular ATM before, then for the experienced user. The two are not mutually exclusive.
There is an interface design principle where a decision tree should be narrow and deep (or shallow and wide, but that’s another post). Each step should require a simple decision be made by the user, and compound decisions should be avoided.