Since the dawn of the graphical user interface there has been tension between those that favor the mouse and those that favor the keyboard. I am reminded of this as I explored the new experimental Firefox plugin from Mozilla Labs called Ubiquity.
Ubiquity was designed by human interface designer Aza Raskin, who is also the son of Jef Raskin also a famed user interface designer who was one of the early leaders/managers of the Macintosh project at Apple. This is only relevant because Jef’s work after Apple was very keyboard focused, and ubiquity reminds me of much of the gestalt of that work. The point is that Jef, who has since passed, and now son Aza have a high regard for the value of keyboard input.
The idea behind Ubiquity is that you hit a command key sequence like “ alt + space” and it opens up an overlay window where you can type commands. The commands input system is really smart. It provides lots of help like suggesting what commands are available based on the first few characters you type. You can also do operations on selected text. For example you can select an address and type “map this” and it will, in the ubiquity window, show you a Google map with that address marked.
But this piece is not a review of Ubiquity. In short, Ubiquity is a very interesting idea. I want to like it, and I may yet get to that point, but I have to admit am not quite there yet. This article, though, is really about the some of the thinking I have done about the role of the keyboard in human interface, which playing with Ubiquity got me thinking about.
Let’s start with this: keyboardists and mousers are different.
I am not a keyboardist.
Now don’t get me wrong, I am a fairly fast typist. But my problem is I can’t remember commands. Putting a keyboard command in my head is like putting sand in a sieve. The reason I love graphical interfaces is because I can’t remember shit. I wish I could, because I am sure I would be much more efficient. Keyboards are much faster than mice and GUIs. The problem is when you are staring at a keyboard you have to remember what to do. A GUI is for me a giant cheat sheet.
The thing is I think most people have brains that are similarly not wired for memorizing lots of commands without lots of effort. And so I am at least thankful that I am not alone.
At Kloudshare, I am a mouser. My associate, Will, is a keyboardist. I use Eclipse for development. He uses EMACS. He will never use Eclipse. I will never use EMACS. EMACS is for people that can remember lots of stuff. Eclipse is for people that need hand rails. Will has a much better memory for such things than me.
And so, bringing this back to Ubiquity, I see that Aza is trying to bring the benefits of keyboards to the keyboard allergic masses. He does not do a bad job at all, and I am going to give it a shot. But I must say I am skeptical this kind of design philosophy can go mainstream. If I am right, there are many more mousers than keyboardists and no matter how hard you try, you just can never convert people from one group to the other.