The Humane Interface

In 1993 Jef Raskin wrote the article Down With GUIs! in which he decried the state of user interfaces. He started with a bang: “Bluntly: Graphical User Interfaces (GUIs) are not human-compatible. As long as we hang on to interfaces as we now know them, computers will remain inherently frustrating, upsetting, and stressful.” And his conclusion was just as strong: “Some of the deepest GUI features conflict with our wiring. So they can’t be fixed. Like bad governments, they are evil, well entrenched, and must be overthrown.”

Jef may be best known for starting the Macintosh project, but more out-of-time interesting are his interface concepts, which he wrote about in The Humane Interface. His design rules were smart and as relevant today as ever: “the product should only help and never distract you from the task”; “To make an interface habituating, it must be modeless … [and] monotonous”; and “The suitability of an interface can only be determined by testing.”

But some of his other ideas were so out-of-step with what was happening at the time that they baffled users. He proposed a world with no applications and no files, just the user’s content. And to manipulate this world users would “leap.” It was one of the fundamental ideas in his interfaces, and it was never embraced by users. Leap let users move around in a document faster, he claimed, than using a mouse. His Canon Cat system implemented leaping with two distinctive keys below the spacebar — which ended up making the machine feel like it was from another world. He further evolved the OS with Archy — but, sadly, its development stalled after his death in 2005.

Perhaps these interaction concepts were too revolutionary for people to really understand. Either that, or they were just eccentric curiosities. In either case, his question-everything approach was pretty amazing and admirable. His attitude may have been a bit aggressive and confrontational, but it was insightful and pointed out real problems. Hey – maybe it’s time to question developing NUI conventions before it’s too late…

Archy interface