Self-Limitation Due to Software Simplification

Show Sidebar


I recently listened to a podcast episode of 99% Invisible named Of Mice and Men where Christina Engelbart, the daughter of the famous Douglas Engelbart was interviewed. Her father not only invented the computer mouse. He also was the man behind the Mother of all Demos where he presented technologies like remote video conferencing, on-line collaboration tools, hypertext, word processing, revision control system in 1968! He truly was way in advance of his time, influencing many researchers and companies for decades. Here, I don't want to spoil all of the fun: you have to watch his demo yourself and listen to the podcast episode as well.

This article is about some opinions and motivations that Douglas was following that resonate with my experience perfectly well:

We are limiting ourselves by not learning about how to use a computer more efficiently. Furthermore, we are limiting ourselves by sticking to simplified and easy to use software products.


It might seem strange to many people that I recommend switching from a simple to use software to a more advanced software that requires certain amount of learning effort. There are a few exceptions to this suggestion.

For example, when you have to do a task only once or twice a year, there are good reasons to stick to a simplified software solution. Learning effort invested upfront might be already forgotten when this software is used for a second time.

This is a perfectly fine scenario for sticking to a software interface that is able to help accomplishing this task with a certain amount of effort and limited scope.

In general, people are using computers for tasks that are repeated frequently. This article is for this kind of tasks that are being conducted by knowledge workers or people working with computers on a daily basis.

The Problem

There are many wonderful quotes in this podcast episode. Therefore I just highlight a few paragraphs from the transcript:

Christina Engelbart: Today’s user interface in the modern computer is what I call ‘grunt and point’. It’s very primitive communication, so that’s why I call it ‘grunts’. In order to really push the envelope of human effectiveness and intellectual effectiveness, you don’t want to be confined to just a very small vocabulary of grunts and clicks, so you want to actually have a full language.
Luisa Beck (podcast producer): Doug Engelbart was a pioneer in his field and his main goal wasn’t to make computers that toddlers could use. He wanted them to be as powerful as possible and imagine that if we took the time to learn how to use our devices, if we became fluent in their language, their potential to make us smarter, more efficient humans, would be huge.
Luisa Beck: It wasn’t as if Engelbart was against user-friendly devices, but he just believed that if we were willing to put time into learning computers, they could do so much more for us. He felt they could help us communicate and collaborate, to become better humans and more effective problem-solvers.
Luisa Beck: Christina thinks that when we prioritize simple user-friendly devices over more complex, learnable ones, we limit ourselves and we might miss out important ideas. And for a while at least, Steve Jobs did exactly that.
Steve Jobs: “Add over a hundred Alto computers, all networked, using email, etc, etc. I didn’t even see that. I was so blinded by the first thing they showed me, which was the graphical user interface. I thought it was the best thing I’d ever seen in my life.”
Larry Tesler: A lot of people have made the point that by dumbing down computers so much that it’s easy for anybody to learn, we’ve made it so that most people don’t go to the trouble of learning something that could give them more leverage, more power, with their computer, and I think that’s a fair criticism.
Christina Engelbart: The example my dad used to like to give, and I think this is really appropriate, is the difference between a tricycle and a bicycle. So anybody can get on a tricycle, especially if you see somebody else ride it, you can just get on and ride it. You don’t need any special training, you just kind of do it and figure it out. But that’s fine if you’re just going to go around the block a couple of times or something,
Roman Mars: If you’re trying to go up a hill, a tricycle is a pretty bad way to go. You want a bike with gears and you’ll learn how to balance and steer it and change gears because it gives you a lot more power. You can cover a lot more steep ground.
Luisa Beck: Doug Engelbart might look at the world now and say, “They’re all on tricycles, they should be on bicycles.”
Luisa Beck: But I think Christina would say there’s still more we could learn and our simpler interfaces have sort of hidden that path from us. They’ve hung a curtain over the complicated stuff to keep us from having to face it and in doing so, they keep us stranded in ‘grunt and point’ land.
Christina Engelbart: My dad always said, “Well sure, easy to learn, easy to use is fine for the beginner, but once you’ve used something for a year or two or five, why would you sit down and use the computer the same way you did the very first day you came in. That’s ridiculous.” You need to have a clear, streamlined path for advancing into a much more sophisticated, holistic way of interacting with the computer.

Learn the Computer's Language

What can we do about this issue?

First, we need to understand the computer as a powerful tool that enables us to accomplish tasks in a way that nothing else could provide.

No sane person would assume that using a machine like, e.g., a caterpillar should be started without learning how to do things properly. However, with computers, I got the impression that people do assume that this very powerful and complex machine needs to have a user interface that reduces this large set of possibilities to a small sub-set of things we want to do without investing much learning effort.

Typically, the big software companies are following this pattern in advertisement as well as in user interface design.

I strongly disagree on that rationale. I found it very interesting that Douglas Engelbart had the same point of view, fifty years ago. This also emphasizes my opinion that we're still in the stone-age of information technology.

For task we do frequently, we should learn to use software solutions that do not limit us to certain things accessible by icons or menu entries. We should learn to use software solutions that are able to grow with our requirements. We should be worried when we're realizing that we're using a system for many years without getting better.

One possible approach can be found in several software products. Some products offer a simplified interface by default and offer some kind of advanced interface on demand. While this being a very good idea to deal with not scare away users for occasional usage (simple mode), it is only a first step in the right direction.

A different approach is that advanced users are able to use advanced features as their requirements get more complex. The important thing here is, that those users should not be confronted with an overloaded interface, exposing everything at once to the user. Professional tools like GNU/Emacs do offer great scalability from novice users (icons, menus) to advanced users (keyboard shortcuts, command input) without a bloated interface at all.

Besides those interface approaches, there are other important steps we should take. For the sake of brevity, I only mention our education system. The things I teach in my classes on Personal Information Management should be part of everybody's school education. I'd love to teach much more complex workflows and software solutions instead of promoting really basic things. However, as long as large parts of computer users don't know what Ctrl-C or Ctrl-V does, we're having a huge issue with our education system. This education system is just not fit for the current world, not even mentioning requirements of the future.

Currently, we're doing it completely wrong.

2020-06-22: Comment from Sebastian

Sebastian sent a brief reply via Twitter that contained a link to Defending Perpetual Intermediacy. Please do read this article. It discusses the same topic from a different angle, coming to a slightely different recommendation. Jeff Atwood quotes the famous book "The Inmates are Running the Asylum" by Alan Cooper. He states that "intermediate users are the only users that matter".

The thing is that I prefer interfaces that do not exclude certain types of users if possible. Of course, many pro-tools may not be usable by completely novice users. Some pro-tools try to compensate as much as possible by offering built-in tutorials, simplified menus, selected icons, and so forth. Those things usually can be easily disabled by intermediate and advanced users in order to unclutter the interface.

Naturally, it's hard to come up with a good solution for the whole spectrum from novice users to expert users.

So if I would have to decide on only one specific group of users, I'd probably also favor the group of intermediate users for a general software product. However, I still think that if you can serve intermediate users, it's not that hard to come up with a solution that enables expert users to get more efficient while using your product as well.

The common theme is that software should not stop at serving novice users. I think that Jeff as well as Alan would agree with me.

2020-06-23: Bruce Tognazzini

There is an article by Bruce Tognazzini from December 2011. If this name doesn't ring a bell, you should quickly read about Bruce since he is a very important person in the HCI as well as in the Apple history.

The article is called Browse vs. Search: Which Deserves to Go? and it's not exactly on-topic in this discussion above. However, there is an important quote that does fit well in the discussion on simplified interfaces and the Apple approach and despite the age of the article, this quote still applies in my opinion:

Unlike the Mac, the iOS environment is locked down tight. When a developer decides to lock out everyone else from their private sand box, they need to provide robust solutions that support not only new users, but those of us who have been here from the beginning, learning, using, and expanding our holdings and our needs. Apple, right now, is failing to do so. I in no way fault Apple for concentrating on selling products. I do fault them for failing to support users as the users move from beginner to veteran. It doesn't help Apple's sales when their most important sales force, we experienced users, are constantly frustrated by Apple's failure to keep up with or even show the slightest concern for our expanding needs.

Well, this sums up the Apple point of view quite accurately from my own experience with this ecosystem: stick to the inexperienced users, ignore advanced use-cases altogether.

Comment via email or via Disqus comments below: