Humane Android

I just received Jef Raskin‘s “The Humane Interface” in the post. After having discussed some of the complexities of user interface and user interaction design recently, I figured I had no excuse any longer, and simply had to read this seminal book.

Right towards the end of chapter two, Raskin wrote about the implications of interruption in your work. He mentioned how the Canon Cat dealt with making interruption less painful by always returning to exactly the place where you left off after having dealt with an interruption.

Having recently started developing an android app, and furthermore having developed an iPhone app, I was struck by how these two new platforms mimic parts of the Canon Cat’s functionality — but fall short of it.

Please note that I’m deliberately attempting to write this article such that non-programmers can understand it — but a certain level of computer literacy is required.

The Cat’s functionality of always returning to the place where you left off can be visualized as a stack. Stacks are common concepts in programming, but less often used in user interface design. The stack is a metaphor taken from the real world, and applied to computers: imagine a stack of books, or sheets of paper.

Stacks such as these have a few simple properties. The topmost item on the stack is always visible, while all others are hidden. Furthermore, it is easy to add a new item on top of the stack, or to remove to topmost item from the stack. What’s harder to do is rearranging the order of items in the stack, or to pull items from the middle of the stack: either task requires a partial disassembly and reassembly of the stack.

In computing, therefore, stacks are defined by the tasks that are easy to perform on stacks of physical items, and forbid those tasks that are difficult to perform. As a result, a stack in computing defines the primary operations of:

  1. placing an item on top of the stack
  2. removing an item from the top of the stack
  3. examining the topmost item of the stack

Without knowing the exact functionality that the Cat offered, it’s easy enough to visualize common computing tasks arranged in a stack. The trick lies in realizing that even with multiple programs open and running at the same time, your attention is always focussed on a single one: that’s the top of the stack.

When you switch to a different program, you essentially add a new action on top of the stack, and your attention is focussed on that new top now.

Except that’s where the stack-analogy ends on modern computers, because they allow one to quickly switch between programs back and forth. Bringing the program into focus that you want to deal with now is the real-world equivalent of pulling a specific book from a stack of books, and placing it on top of the stack — all in one smooth movement.

Imagine therefore a computer where that would not be possible, because programs acted like a stack, rather than the freely rearrangable collection that they are on modern deskop operating systems. Imagine that while you were typing a letter in your word processor, if you wanted to look at a web page, the browser would stack on top of the word processor, and you could only return to your word processor by closing the browser again1.

What might at first seem limiting compared to the way our computers behave today, may actually be the more powerful mechanism — if implemented in the right way. The right way in this case would be to not associate any cost with opening the browser.

This concept of cost is a tricky beast, and includes at least two components: for one thing, the browser software itself must load quickly. And for another, it should not cost you, the user, any more thought to view the page you want to than strictly necessary. Some browsers today at least solve the second of these issues to a degree, by remembering which page you last viewed.

  1. Oddly enough, many people I know use the freely rearrangable program collection that modern desktop OSes provide in exactly this manner — or not so oddly, as it were, if you think as Raskin appeared to. []

  • Dryade

    Das hört sich spannende an *find*.
    Wie schade, Amazon hat die deutsche Version nicht mehr im Programm, jetzt sind die Bookcrosser meine letzte Hoffnung! – Denn auf Englisch schafft das mein Hirn nie ;-)

    • unwesen

      Ja, ist spannend – und nur die Spitze vom Eisberg. Hab inzwischen das Buch weitergelesen, da kommt noch viel mehr Interessantes.