Keep It Simple, Smartly

I posted a little while back about how hard it is to design tech products that appear simple, and said that I’d write more later about how to add complexity to them over time. So here are a few proposed ground rules on how to increase technology complexity without frustrating or alienating users (who value simplicity more than they think they do). These rules are just conjectures, based out of personal experience and observation; please don’t interpret them as peer-reviewed or empirically validated.

The best single resource I know of for dealing with complexity is The Laws of Simplicity, a small but deep book by John Maeda, president of RISD and former professor at the MIT Media Lab. I’m not trying to take issue or compete with Maeda’s insights at all here; I’m just adding a few thoughts on the relatively narrow topic of adding complexity over time to technologies like websites, applications, and devices.

Here are four rules of thumb. I hope they make sense and are useful:

Evolve, Don’t Upgrade. A series of small changes executed over time can be perceived as no change at all. A single great leap forward, in contrast, is hard to disguise as anything but that. Erosion and typhoons both alter the landscape, but a lot more people notice the typhoons.

This implies that if technologists want to add a bunch of new features and functionality to their offerings without being obvious about it they should introduce them in dribs and drabs over time rather than dumping them on users all at once.

This is comparatively easy to do with websites and harder for client-resident applications, especially because frequent app revisions strike many as an annoying hassle (I’m tired of typing my Mac’s password every time I get a new version of iTunes, Office, Tweetdeck, etc.). And it’s pretty close to impossible to do with hardware.

Keep the Core Interface Constant. Device makers like Apple and RIM have done a good job of keeping the user interface consistent over generations of releases. I think Amazon’s done the same. I know its home page and other pages have changed a lot over the years, but it feels like the search box, shopping cart icon, and ‘your account’ link have always been in the same places on the home page, as have the reviews and buttons I click to buy something on product pages.

These constants anchor me as I navigate around the site; if they wandered all over the place I might well get disoriented and confused, which is the last thing I and Amazon want. And even thought the navigation tools changed a lot from the first generation of the Kindle to the second, enough other aspects remained the same that I didn’t find the switch too disorienting.

I find that iTunes is not doing a great job following this rule. Important parts of the interface seem to migrate over time, and do so in unpredictable and jerky ways. And the worst case of interface inconsistency I’ve ever seen was Office 2007 for Windows, which with its Ribbon menu system pulled the rug out from under users in a deep and meaningful way. I felt my productivity plummet as I hunted around Ribbon to accomplish standard tasks, and never got back close to my previous comfort or proficiency.

Don’t Even Talk About It. If the first two rules are obeyed, complexity added over time can be just about invisible to the user. When that’s the case, why not let them discover it on their own instead of placing it front at center right after each enhancement? When my iPhone software was updated to version 3 I didn’t notice anything much different until I held my finger down on a text message inadvertently. The text soon changed color and a little ‘copy’ balloon appeared over it.

I inferred from this what I’d read elsewhere; that the iPhone had finally included cut and paste functionality. This news wasn’t delivered to me in any mandatory or even obvious tutorial, README file, or series of “what’s new” screens. Instead, it was delivered to me subtly, during my normal use of the technology.

This rule applies to feature sets in general. I don’t know if the iPhone has always interpreted two quick taps on the space bar as a period and start of a new sentence complete with initial capital letter, but I found out the other day that it does just that. I’m sure this is covered in some owner’s manual, portion of the Apple site, and/or blog posts, but I couldn’t be bothered to look at any of them, and my iPhone didn’t try to tell me everything it could do. It let me figure out over time what it was capable of.

Let Users Opt In. The iPhone / iPod ecosystem became vastly more complex when the App Store opened, but users could ignore it entirely if they chose to. The products continued to work fine with only factory-installed functionality activated, and all the additional apps were just icing on the cake.

Similarly, Gmail users can ignore labels and their folder-like attributes if they wish, and can also keep downloading attachments instead of opening them as HTML or in Google Docs. People can opt in to these features if they want (however, they’re forced to opt into to Gmail’s technique of grouping all messages with the same subject into a single conversation; I like this, but I know others who wish they could turn it off).

“People don’t like change” is both a tired old saw and a useful mantra for technology designers. So let them opt in to changes as much as possible, and keep using the same old same old if they want to. Following this rule means forcing change on users as rarely as possible, which is not an approach most technologists are familiar with. Instead of pushing their innovations on users, they need to master the art of letting people pull them in when ready.

Apparently simple technologies are blessings amidst the hectoring1 distractions of modern life. Could we please have more of them?

I don’t mean to imply that the examples above are the only technologies or companies that have done a good job of complex-ification. They’re just ones that I use a lot, and so am familiar with. I think, by the way, that part of the reason I use them so much is the great job they’ve done with adding complexity over time. The iPod and iPhone, Gmail, and Amazon’s site are all much richer and feature-laden now than they were when I started using them, but in my head they’re still clean, simple, accessible tools. Neat trick, that.

What are the other ground rules for intelligently adding complexity over time?  What have you observed or learned from firsthand experience?  Leave a comment, please, and let us know.

1 I was giving a talk a while back and used the word ‘hectoring.’ Right afterward a colleague threw down a great challenge: “‘Hectoring’ comes from Hector, the Trojan hero of the Iliad.  How many other English words can you come up with that are derived from the names of people in myths and legends who are neither gods nor the children of gods?” I got a few; how many can you come up with?   Leave your answers in a comment, and no reference works or Googling allowed…   😉