5 ways to radically change computers (for the better)

January 1, 2008 ⋅ 5 Comments »

In his seminal paper No Silver Bullet, Fred Brooks draws a distinction between “essential complexity”, which is complexity that is directly caused by the problem we are trying to solve, and “accidental complexity”, which is just part of a particular solution. I’ve noticed that a lot of the usability problems I run into are caused by accidental complexity. Some of this complexity is so old and so pervasive that we’ve forgotten what caused it in the first place, and now we just accept it as “the way things are.”

Here are my suggestions for five ways that we could radically change computers for the better. All these problems are caused by accidental complexity. Some people might give reasons why these ideas can’t be implemented, but the truth is that nobody has ever demanded that these things be changed, because “that’s just the way things are.” But what the hell — it’s a new year, time for some new ideas time to make some changes!

  1. Instant on and off

When you turn on your oven, microwave, or television, you don’t have to wait 30 seconds before it’s usable. But with computers, it’s something we just accept. And then when it’s time to turn the thing off, there’s a confusing array of choices: should I shut down, or just put it to sleep? Or maybe I should hibernate.

For a good example of how computers should work, look at the iPod. It doesn’t even have an on or off button. When you press any of the buttons, it turns on. After it’s been idle for a few minutes, it turns off. Sometimes — rarely — when you turn it on, it takes a second or two to boot up. A second or two is fine; almost a minute is not.

  1. Automatic save

At one time or another, I’m sure everybody who’s used a computer has gotten burned by not saving often enough. You know, you hit the zone working on the last few pages of that essay, and whoops, you stretch your legs out and flip the switch on the power bar.

Did you ever wonder why you have to save your progress every few seconds? Wouldn’t it be better if you could just concentrate on doing your work, and let the computer worry about saving it? I’m not talking the half-baked “document recovery” that Microsoft Word offers — every single character you type should be saved as you type it.

  1. Getting rid of filenames

Does every page in your notebook have a title? Probably not. Then why is it that anytime you want to write down even the most trivial note on the computer, you have to give it a name? It gets in the way of what you’re really trying to accomplish.

And in the end, don’t we just up with next-to-useless names like “resume6-modified-pld-edit.pdf”? Instead of forcing you to choose a filename, the computer should just automatically save whatever you type. When you need to access it later, you’ll be able to find it by looking at a list of recent documents, or by using keyword search. Later, you might want to give it a title and a description, but that should be optional.

  1. Ubiquitous access to information

Here I am, working away on a computer with a 5 Mbps always-on internet connection, and the best way to make sure I have access to my documents is to email them to myself. Despite the massive amounts of bandwidth that I have available, a lot of my important data is still trapped on a tiny, fragile, spinning platter on my desk.

Sure, I could (and do) use web applications to be able to access my information from almost anywhere, but there are still some significant problems with doing that. If the site goes down, or I lose connectivity, I’m screwed. And many applications simply don’t have a good web-based alternative.

What I really want is for all my important documents to be silently synchronized to the internet while I’m working. If I lose connectivity, I can keep working away, and my work will be synchronized later.

  1. Eliminating applications

Sometimes when I use my computer, I feel like a janitor. When I’m really focused on a task, I find that my desktop starts to accumulate cruft. So I take a break from whatever I’m doing, and go and clean up after myself, closing windows and applications that I’m not using anymore.

I really wish that I never had to do that. And why should I? The computer is already going to swap out inactive applications, so why do I need to bother closing them? It can open applications on an as-needed basis, so why can’t it close them too?

I think the real answer is that we need to eliminate the concept of “applications” as we know it. Think of web applications — you don’t ever have to worry about “opening” or “closing” them. I’d like to see this kind of model applied to desktop applications as well.

Well, what do you think? I’m interested to hear people’s thoughts on these ideas, and to hear if you’ve got any others to add to this list. My friend Mike pointed me to a cool post by Matthew P. Thomas in the same vein as this. His old blog is offline now, but you can still find it in the Wayback Machine: When good interfaces go crufty.

Update (Jan 3): I didn’t mean to say that these are MY ideas, or that they are necessarily new. As MH pointed out in the comments, some (or maybe all) of these ideas are mentioned in Jef Raskin’s The Humane Interface, which I can’t recommend highly enough.


  1. MH - January 3, 2008:

    I think these ideas are great, but they're not new. I assume you've probably read Jef Raskin's The Humane Interface, which champions all of these ideas.

    Eliminating filenames and applications will require a significant paradigm shift for users. Like spinach, it is demonstrable that it's much better for them, but it will be hard to get them to let go of the old concepts...

  2. e - January 4, 2008:

    I heartily agree with all of your points, but I'm not sure if #5 makes sense. Web applications certainly do care about being closed. Think of closing an instance of an AJAX editor (e.g. Gmail and Wordpress) before it's had a chance to save. Applications could mark themselves as clean or dirty and allow the OS to close them when they're clean, but that relies on the application being honest, and the user having the same notion of clean/dirty that it does (ie, when does a read-only RSS reader become dirty?).

    As to "feeling like a janitor", I'm not sure if that's something that can be avoided. The computer can't know what data important to the user at all times. It certainly can't tell if a chunk of data has been superseded, or is something you no longer care about. If you download a movie and watch it, then decide that you don't want to keep it (because it sucked), then you have to decide if it's time for that movie to go away. Similarly, if your tastes in music change, you have to put on your janitor's hat and delete the tracks you don't care about.

  3. Patrick - January 4, 2008:

    MH: You're right, I didn't mean to say that these were MY ideas, or that they were necessarily NEW. Updated the post to reflect this.

    I have read The Humane Interface, it's one of my favourites. While I don't agree with all of Jef's opinions, it certainly makes you think.

  4. Patrick - January 4, 2008:


    You're right that closing GMail immediately after typing a sentence would (currently) be a bad idea, because it autosaves your draft every few seconds. But if #2 (Automatic Save) were implemented, this wouldn't be a concern -- if the letters show up on the screen, then they are saved. In the words of Jef Raskin:

    A user should never have to explicitly save or store work. The system should treat all produced or acquired data as sacred and make sure that it does not get lost, without user intervention.

    Then the only concern would be that the user "pulls the plug" while typing the sentence, which I think is a pathological case that no one would expect to have any guarantees with.

    The kind of idea I had in mind was that you don't worry about closing applications, you just switch away from them. If they haven't been active in a certain amount of time, the OS might shut them down, but it shouldn't matter. Just like GMail -- if you have a GMail window open, there's no harm in closing it (except in the scenario I addressed above) because you can always open it again and be right back where you left it. Does that make sense? Do you see any problems with it?

    You're right that we'll always need to do some amount of janitorial work. But if the software can make a smart, easily-reversible decision about things, then it should. Keep in mind that it won't be long before the concept of "deleting" a song or a movie will not even be relevant, just like with email.

  5. Dubroy.com/blog - The innovative interface of the OLPC laptop - January 10, 2008:

    [...] The OLPC user interface is called Sugar. I won’t give a comprehensive description; for the full run-down, see the Getting Started guide, or the Sugar page in the OLPC wiki. Instead, I’ll just cover my two favourite parts: the focus on activities rather than applications, and the journal, which replaces the hierarchical file system. Coincidentally, these two ideas both relate to points on my wishlist of 5 ways to radically change computers (for the better). [...]