Alternative visions of our future fascinate me, as do artifacts that represent that alternative vision. One such artifact is the Canon Cat.

The popular computing environment with us today was derived primarily from the graphical interface developed at Xerox PARC and honed over decades by Microsoft and Apple. But this interface represents just one possible metaphor among many for how we might interact with a computer. In The Design of Business, Roger Martin writes about looking at unexplored avenues even after a business has found success. Martin argues that, after the winning experiments have been identified and honed to mechanical precision, there is value in taking a second look at the failures.

Jef Raskin is credited with providing the initial vision for the Apple Macintosh. After Raskin left Apple in 1982, he set about designing a machine that more closely represented his original concept for the Macintosh. The result was introduced to the market in 1987 as the Canon Cat. The Cat had a text-only interface, a surprising contrast with the pioneering graphical interface of the Macintosh. The Cat did not include a mouse; users could navigate, rapidly, using the keyboard. There was no file system. Instead of navigating through trees of folders and files, all content was available at all times in a document stream. The Cat did not include a set of distinct applications. Instead, there were a variety of tools that could be applied to document content using the keyboard. There were tools for document formatting, search and replace, macro recording and playback, abbreviation expansion, spell-check, sorting, inline expression-evaluation, even spreadsheets and mail merge.

The Cat would be less interesting had it not contrasted so sharply with its contemporaries. Raskin had aimed to create an “information appliance” rather than a personal computer. Canon billed the Cat as an “Advanced WORK Processor”, comparing it to the dedicated word processors in use at the time. The release of the Canon Cat in 1987 followed the release of Research Unix version 9 and 4.3BSD, and coincided with the release of UNIX System V Release 3.2. The Macintosh II, Macintosh SE, and Windows 2.03 were also released that year. At that time, the Unix tools-based approach was well established. Consumer-oriented, GUI-based systems were on the rise. The paradigm that came along with the GUI has the effect of compressing the learning curve; the system is easier for beginners, but it does not reward additional effort. Proficiency is tantamount to expertise.

As a text-interface enthusiast, I want to see if there is anything to be learned by studying the Cat. The Cat can be thought of as a word processor; a device oriented toward the input, editing, formatting, and output of textual data. These four key functions capture how I use Vim most of the time, so the use-case, for me, is almost identical.

Input is probably the least surprising aspect of the Cat. The keyboard included just 59 keys including a pair of modifier keys, labeled “USE FRONT”, that refered to functions indicated with legends printed on the front of the key caps (much like the graphic symbols on the Commodore 64 keyboard). A pair of LEAP keys facilitated rapid navigation through documents. To position the cursor, the user held down a LEAP key and performed a search, not unlike using the / and ? functions in Vim. Because the LEAP keys were dedicated to this function and positioned below the spacebar, navigation was very fast; faster, I think, than in vi and Vim.

Editing was accomplished by highlighting and manipulating selections. Selected text could be moved, erased, and changed. The user could also perform global search and replace. The user manual encouraged navigation using the LEAP keys and discouraged “creeping”, using the LEAP keys to move one character at a time. Mathematical expressions could be evaluated in place, much like using dc or bc as a filter or formatprg in Vim. There were no regular expressions, but this may have been seen as an unnecessary complication given the Cat’s target market. That said, the Cat was able to execute arbitrary Forth and Assembly code input by the user.

The Cat managed to provide a WYSIWYG environment given that it’s output target was a daisy wheel printer. There were no fonts. (The font would have been determined by the daisy wheel itself.) Only the most basic formatting options were available: bold, underline, indentation, justification, and line spacing. These features were the minimum expected by the word processor market. Personally, I prefer to use markup, presentational or semantic, rather than futz with styles while composing or editing, but I have tools like groff and pandoc at my disposal. I’d love to send groff output to a daisy wheel printer, though.

It’s never too late to learn from the past, not necessarily to find out what works and what doesn’t, but to explore ideas that have been abandoned and ask what use they might have today. The Cat’s interface presents an alternative conception of applications: cooperative tools that act on the user’s information rather than sealed partitions from which user data never escapes. I’ll admit it’s not fair to compare a word processor to a general-purpose computer, but I want to call attention to the unobtrusiveness of the system, its simplicity, and the lack of barriers between the user and their work. Some of this is clearly a result of the Cat’s limited scope, but it’s also the result of a design philosophy that is centered on the user and places applications in a supporting role.

Lo and Behold, Reveries of the Connected World
Hacker News: Ted Nelson: It All Went Wrong at Xerox PARC
“A Spritual Heir to the Macintosh”, BYTE