Technology Complexity

Mostly when I read Don Box’s blog I say to myself “Hmmm, interesting. I didn’t know that. I wonder how long his hair is these days?” What he’s working on (Indigo) is interesting to me (it was my former life), but it’s not where my passion currently lies.

Today Don posted a piece as a response to Eric Raymond’s article on software usability. I hadn’t read Eric’s article, but after I did (and John Gruber’s analysis of it) I just had to write something myself. You see, I’ve been thinking quite a bit about technology complexity lately. I’m working on an incubation project at MSFT right now that is all about consumers and cool scenarios enabled by technology (software, hardware, networking). This is actually my 4th attempt at trying to get Microsoft to build this particular “product” (I can’t really say what it is at this point), and we have learned a great deal in my previous attempts.

I want to change the world. I want to make all of these cool consumer scenarios that we’ve talked about for decades become a reality.

One of the most important lessons we learned is that the “typical consumer” (aka “Aunt Tillie”) can barely (if at all) deal with the technology complexity she already has. And the concepts contained in new, super-cool scenarios are so far beyond her reach that trying to introduce a product that enables it for her is laughable. Let me illustrate…

Personal Video Recorders (PVR) such as TiVO or MCE are amazingly cool. If you watch TV and you have one of these products you know it is a “killer-app”. Once you try time-shifting TV you get addicted to it; it is lifestyle changing. My family never watches live TV. My kids hate commercials, and skip them (yay!). As a parent, I can ensure that no matter what time it is or what day it is, if my kids want to watch TV there will be something “on” that they like (and I approve of). Life changing in a very significant way.

The concept of a PVR was introduced into the marketplace roughly 7-8 years ago. Why, if PVR is such a killer app have only ~10 million units from all manufacturers been sold? Price is certainly a factor, but ‘cmon, this is a killer app!

Do you have a PVR? Are you hooked? If so, you have probably tried to explain the benefits to non-technical friends and family…to get them to experience what you have. My experience “selling the concept” has been hit-and-miss (much like the manufacturers). The failures all result from the people I’m talking to just not getting it. It’s just too complex, given that they already have to think about digital cable v. satellite and the fact that they have to have all these wires and remotes and everything. I’m not saying they are incapable of getting it, but they are already so overloaded with technology that at this point in time they can’t handle any more.

Another example: Consider fast-user-switching in Windows XP (and the copycat in OS X). Killer feature. Anyone with a single PC that multiple people use should use this. It just solve sooo many problems. But check around and you’ll find that the majority of your non-technical friends/family don’t use it. If you explained it to them, showed them the benefits, they probably would. But it would take a lot of energy to explain the concepts of “user accounts” to my in-laws when they are already struggling with how to drag the MSN8 side-bar to the left so that it’s big enough to see.

The blinking clock on VCRs also comes to mind…

So what should we do about this when we have an idea for a cool consumer scenario enabling product? I suggest the following:

Segment “consumer“ into smaller buckets. For example, the “Aunt Tillie” bucket is the true techno-novice; my in-laws fit into this bucket. They can turn their PC on, read and write email, play a little hearts, browse the web, but couldn’t initiate a “Remote Assistance“ session unless they were “assisted“. The “Media Enthusiast“ bucket has people in it who love ripping CDs and portable music players and home theaters. They can and will dig deeper. The “Geek“ could build a PC from components and maybe even write a little code. The “Super Geek“ is probably a programmer by trade and can figure anything out (unless of course it’s Eric Raymond trying to share a printer on Linux).

Once you create these buckets focus on the one that is the most realistic for your product. Sharing a printer on a home network ain’t for Aunt Tillie, so don’t pretend you’re gonna sell the product to her. Focus on nailing it for the enthusiast, but keep an eye on Aunt Tillie.

If it is a V1 product, build it for customers who will actually use it and will be able to help you learn. It would be a shame to enable a whiz-bang new scenario that geeks would get and love, but you’ve de-tuned it so much by focusing on Aunt Tillie that geeks find it unusable. Aunt Tillie won’t buy it because she can’t comprehend the concept and geeks won’t use it because it’s not flexible enough. In the end you won’t learn anything (other than the lesson I’m describing here). And most importantly, you will not have moved the world forward

Of course, it’s not always possible to be this patient (do a V1 that you learn from, then expand in V2, etc…). So you have to make trade-offs. What I’ve seen is that product designers tend to pick one extreme or the other. Some companies are better at all this than others.

So while my attitude about enabling new consumer scenarios is somewhat pessimistic, the good news, for us technologists, is that if we follow this formula over time (generations?) the complexity will be “absorbed” and even Aunt Tillie will finally “get it“.

1 comment


  1. fossne says:

    great job

Debate this topic with me:

This site uses Akismet to reduce spam. Learn how your comment data is processed.