1. 6

  2. 3

    I find Raskin’s ideas to be interesting - even though him and Jobs had the same idea, their executions couldn’t have been more different. If you want a modern take on Raskin’s concepts, check out Archy.

    1. 3

      The predecessor to the Canon Cat was the Swyft Card for the Apple II, which evolved into the Swyft System and later the Cat: http://www.digibarn.com/collections/parts/swyft-card/

      His ideas for document navigation were revolutionary, but so different from the way things have been done now for decades that it’s hard to “un-learn” what you already know.

      Having read The Humane Inteface cover-to-cover at least three times, I gotta say that, while the ideas are good, he kinda drank his own Kool-Aid on some of it. For example, he develops a “calculus of human actions” to provide a formal method of discussing how “expensive” (in terms of time) a given keystroke or mouse movement is. He then goes on to show that his quasi-modal “leaping” technique is fastest.

      The problem is that he treats all keystrokes as equally expensive, when in fact using his method you have to contort your hand to keep a key held down while typing with your remaining fingers. It actually makes typing certain keystrokes significantly more difficult.

      He also places an enormous weight on mode errors: doing something when you’re in a different mode than you thought you were. His idea of quasi-modes, where you have to perform a continuous action (e.g. holding down a key) to stay in a different mode, are great, but with the advent of unlimited undo and what-have-you making mode mistakes is less deleterious than it otherwise might have been.

      Finally, his ideas that were mostly realized in the Cat and somewhat later in Archy are very evocative of Oberon, with it’s “noun-verb” ordering. You type some text, highlight it, and then execute a command on it. It definitely works, but it’s not, to use a more modern human interface term, “discoverable”. In other words, once you’ve highlighted your text, you have no way of knowing what can be done with it. The Cat had physical keys labeled with different operations (CALC, PRINT, etc), and that helped if you wanted to do one of those specific operations…but if you wanted to do anything else, you had to just know it.

      (That’s a flaw with Oberon too. Oberon is an amazing system, and I even own dead-tree copies of The Oberon System User’s Guide and Project Oberon, but the lack of discoverability is a legitimate problem.)

      An editor based on the Cat principles is something that I’ve toyed with writing before (though it takes some deep operating system hooks to lock the keyboard for quasimodes), and I’ve gotten as far as a little proof-of-concept program using GTK+ that lets you leap around. The end result is that on non-Canon-Cat keyboards you have to contort your hands in an uncomfortable way to navigate, but the idea does work.

      Maybe I’ll dust that code off now. It was fun writing it.