Wednesday, May 2, 2007

Step Outside Your Own Head

One of my favorite books is James Gleick's Chaos, which tells the story of the (then-)emerging science of chaos math. A major theme in that book is the value of cross-pollination. Many of the big discoveries in chaos math came from people crossing the lines which defined fields of study. For instance, one of the first strange attractors was discovered by a meteorologist. The idea which Chaos puts forward is that research informed by two fields of study inherently leads to thinking which accomodates the possibilities of both fields while accepting the limitations of neither.

The idea is very far from proven, and easily dismissed by the skeptical; yet there's no doubt that studying two things intensely and in depth will lead you to perspectives on both of those things which will never be experienced by somebody who has only ever studied one.

Of course one great example is DHH, creator of Rails.

While legions of geeks admire him worldwide, and many people acknowledge that Rails is a huge marketing success as well as a huge programming success, very few people seem to think of DHH as a businessman per se, and the business component of his degree (a bachelor's in Computer Science and Business Administration) is apparently assumed by geeks in general to have no significance at all. Likewise, as a partner in a small business, rather than the chief overlord of some gigantor-mongous raging corporate megabeast, DHH slips under the business radar as well. Consequently he can make great business decisions, write incisive commentary on business, and still be regarded entirely as a programmer.

My own forays into cross-pollination don't have the stellar success DHH enjoys, but I did learn something interesting last week. I went to see a movie called Fracture, primarily because an acting teacher had seemed excited about it and partly because it was 4:45 and I wanted to avoid rush hour traffic. I looked at it from the perspective of an actor in training and a wannabe screenwriter, and saw some flaws. What's interesting about this is that I had recently seen the same flaws somewhere else - somewhere very different, in fact. I had been to a technical interview, where, when faced with a classic "prove you can think in algorithms" question, I had failed entirely to prove I could think in algorithms, but proved beyond a shadow of a doubt that I could argue about user experience design.

(In my defense, when I got started in this thing, there was initially no real distinction between a programmer and a user experience designer. But when I got started, people were having arguments on Usenet about whether or not the Web would ever be as big as Compuserve. I got started a long time ago, and things have changed since then.)

Anyway, the reason I mention all this is that the flaw I brought up in my argument about UX design was the same flaw I spotted in this movie.

The algorithms question was all about how you would model a hierarchical filesystem in a Rails app, so that a hypothetical user could create folders and subfolders. I argued that the whole thing was a bad idea, because hierarchical filesystems only reflect the mindset of highly organized people who think in terms of hierarchies - in a word, engineers.

My view was that building a system which presumes an engineer's habit of thinking sets up real speed bumps to adoption for normal people, and in the context of a consumer application, this is a real problem. I said instead the system should do away with the entire idea of a filesystem and instead allow for entities to be tagged, and to bear multiple tags if the user wanted.

In fact I think this should be a guiding design principle for all Web applications today. Replace the hierarchical filesystem with tagged search. Google did it for Gmail, and it became a powerful competitive advatnage. Quicksilver does it for OS X, and it works beautifully there as well. In fact Quicksilver is easily the best thing about OS X. As Microsoft's day fades further and further into the past, more and more applications will follow suit. That whole paradigm is over. In the past, showing users the hierarchical organization behind the scenes was useful, or at least something you could get away with doing; but today, ever since Google, it simply insults the value of their time.

However, the paradigm still makes sense to engineers, because we think in terms of the machinery behind the scenes. I use Quicksilver, but I often use it to launch a Unix terminal. Asking you to think in terms of the machinery behind the scenes isn't an insult to the value of your time if you think in those terms anyway. But it's important to realize that most people don't. My objection, essentially, was that the engineers were assuming their users were also engineers. They were stuck inside their own heads.

(By the way, my truculence was met with surprising grace on the part of my interviewer, and I have to credit him for that.)

Anyway - this movie made a very similar mistake. It includes a lot of stuff about the life of lawyers, and unfortunately, speaking as the son of a lawyer, I can tell you that they made a few mistakes in the area of reality. Lawyers do not, in real life, rapidly promote talented underlings, or fire people without serious consideration beforehand. Lawyers also do not have sex with their employees or employers lightly, nor do they casually expose professionally inappropriate relationships to public scrutiny by inviting their partners co-conspirators in such professionally inappropriate relationships to Thanksgiving dinner. Lawyers do not give up the law for good and move out of town if a particular case goes badly. Lawyers do not hold their most crucial business meetings during swank rooftop parties. In general, lawyers tend to be cautious people who value propriety and common sense, and who work in offices and courtrooms, with their clothes on.

As implausible as all of this is for a group of lawyers, however, it's not at all implausible behavior for people in Hollywood. In fact it's really what people in Hollywood are notorious for. Sex all over the place. Studio execs getting fired and hired like it's nothing. Everyone holds their most crucial business meetings at parties. And plenty of Hollywood wannabes have packed up for good after a deal went south. Even though it's utterly inaccurate to portray lawyers this way, it's perfectly reasonable to portray screenwriters living this kind of life. It's just utterly insane to imagine regular people living that way. The people who wrote this movie about lawyers were assuming these lawyers were screenwriters too.

It's easy to criticize them, especially when sitting through absurdly implausible scenes in an otherwise believable movie, but given that I've also seen engineers caught in what is ultimately the same mental trap, it's much more useful to consider that everybody does this in some way or another, and that the ability to get past it is a very useful - and very rare - thing.

In Google's case, throwing away the hierarchical filesystem in favor of tagged search created one of Gmail's most overwhelming superiorities. The folders model is a foolish model for e-mail, given the huge volume of e-mail that the average e-mail account will see during its lifespan. A hierarchical filesystem is not a useful way for the casual user to organize thousands of X, for any value of X. It just doesn't match the human brain.

Gmail and Quicksilver owe a lot of their business to this simple insight, and similar opportunities exist. Look hard and you'll find them. But first you have to be able to move outside the boundaries of your own expectations. Step outside your own head.

(Also, Clay Shirky has an excellent podcast where he explains how Yahoo's failure to make a very similar mental leap cost them their business once Google got up and running.)


  1. Dude, movies exaggerate to be interesting. You're making the assumption that the movie you watched should represent 'reality' and therefore you concluded that they made a mistake. You're missing the point. If the lawyers in the movie thought a lot before firing an employee, and they didn't have sex with their subordinates, and they expose relationships like you describe, it would've been such a boring movie.

  2. Good poiont overall, but the email example is a bit of a stretch. I use both gmail and yahoo daily, and can't say that gmail is more user friendly or nicer looking or in any way superior to yahoo for that matter. I use mail folders to separate incoming mail and view this as a necessary feature of any mail app. Since it's a shallow hierarchy, it's quite similar to tagging, which I still consider inferior. OTOH, I'm an engineer...

  3. @anonymous1 - no. see "Presumed Innocent" with Harrison Ford and Greta Sacchi. That's a great movie with realistic depictions of lawyers. And I didn't even need realistic. I would have happily settled for marginally plausible. And don't call me dude. I'm not hanging out with you hitting your bong on your sofa. Do you even know which movie I saw? Have you seen it? Have you ever written a screenplay?

    @anon2 - well, there you go, you're an engineer. engineers are organized to begin with and use the hierarchical filesystem much more frequently than regular people as well. not only does it come to more naturally to our way of thinking, but we ge trained in it much more thoroughly as well.

    also, if you're only using labels as if they were folders, that's the old Fortran joke: "a good Fortran programmer can write Fortran in any language." use labels as labels. take advantage of the zero-cost symlinks. use labels to make search more efficient. they're search optimizers. they're not folders at all. the only reason you can use them as if they were folders is because they're a superset of folders.

    use Quicksilver on OS X for a few months and then move back to Windows or Linux. Then you'll really see what I'm talking about. The model everybody uses for the OS today is actually Smalltalk, although very few people actually realize this. Smalltalk on top and Unix underneath. The model people should use today is Unix on the bottom, Smalltalk in the middle, and Google on top. That's what you get with OS X and Quicksilver. That's what Windows Vista tried to be, and failed.

    It's a real sign of a paradigm shift when Microsoft tries to add Google to its OS and the whole thing just falls apart. This is the future of operating systems. Nobody wants to memorize a hierarchical filesystem when they're used to being able to type a few words and get what they're looking for. Google made that normal. Now users expect to get it for free.

  4. So true. Stepping out of your head is one of the best things you can do professionally. I think the process of developing websites would be less bedevilled by misunderstanding and angst if developers could let go of their prevailing paradigms. I recently blogged on a similar theme at - what is web design? are you absolutely sure?

  5. Stepping out of your head sounds like the advice that website planners give to businesses: get out of your organisation-centric way of thinking. Ideally the result is a customer-centric, or task-centric, website that reflects the customer's view of the world rather than the orgnisation's view of itself.


Note: Only a member of this blog may post a comment.