nac@forth.org

The Canon Cat

Neal Crook

Neal Crook has investigated the success and untimely demise of this radical post-Macintosh computer equipped with Forth. Its innovative user interface reminds us that computers can do much more for their users than the mainstream GUIs currently achieve.

Let me introduce you to the Cat. Here are some of its features:

 

That sounds like a feature-list for a rather nice modern PDA, but in fact it is the description of a desktop machine that came to market more than 13 years ago. It was the brainchild of Jef Raskin, a user-interface expert and father of the first Apple Macintosh. To whet your appetite further, the 68000-based machine had bit-mapped graphics and an integral Forth interpreter.

In 1978, Apple recruited Jef Raskin, employee number 31, as Manager of Publications. Raskin had been a writer on Dr Dobb's Journal, but his user-interface credibility dates back to his 1967 Computer Science thesis,

"A Hardware-Independent Computer Drawing System Using List-Structure Modelling: The Quick-Draw Graphics System"

which advocated a graphical what-you-see-is-what-you-get user interface.

In 1970, Xerox had opened its Palo Alto Research Center (PARC) and by 1974 had developed a revolutionary machine with a mouse-like pointer device and a graphical user interface, called the Alto. Raskin was aware of this work and encouraged an ex-PARC Apple employee to arrange a demonstration for Steve Jobs. Jobs became convinced that the GUI was the way forward for computers, and redirected the development of the Apple Lisa to use some of the technologies that he had seen at PARC.

In the meantime, Raskin had persuaded Apple to start a project to develop a machine that he named Macintosh. This was envisaged as a smaller, simpler, cheaper machine than Lisa, with an emphasis on ease of use. However, when Jobs was pulled off the Lisa project, he responded by taking control of the Macintosh development, and putting Raskin in charge of its documentation.

By the time the Macintosh shipped in 1984, Raskin seemed to have been written out of Macintosh history. The two in-depth Macintosh articles in the February 1984 issue of Byte magazine make no mention of him (though this was later remedied in the August 1984 issue). Xerox brought their own Alto-derived machine, the Star, to market in the same year, but with a price tag of $16,595 it sold poorly (for comparison, the Macintosh was priced at between $1,995 and $2,495).

Amongst the Raskin legacy to the Macintosh are the click-and-drag user interface and the one-button mouse (the Xerox machines used a three-button pointing device, but Raskin wrote a memo arguing that a user often pressed the wrong button and showing how a single button could be implemented needing fewer or the same number of user actions).

In 1982, Raskin left Apple to form Information Appliance Inc, where he was chairman and CEO. His new company developed Swyft, a document-centric machine that focussed on ease of use. In 1985, Apple brought the SwyftCard to market as an add-in card for the Apple ][. Information Appliance produced a more highly integrated Swyft derivative for Canon, called the Cat. They even developed a prototype FlatCat, though this machine never came to market.

Canon's typewriter division launched the Canon Cat Workprocessor in 1987, at a price of $1,495. It was bundled with a daisywheel printer and appeared to be a secretarial workstation. Like the Macintosh, it integrated the system unit, keyboard and display into a single plastic case.

Internally the Cat was based on the 68000 (like the Macintosh) with 256 Kbytes of RAM and a 720 Kbyte floppy. It had bit-mapped graphics and support for a pointing device such as a mouse, but the typewriter-centric marketing meant that Canon never exploited these capabilities.

Indeed Raskin claimed that the product marketed by Canon was only a "dim echo" of what his company had designed.

Instant On

The Cat didn't use files, instead it saved its entire machine state (including the state of the screen and the cursor position) to floppy disk. At power-up, it gave the illusion of booting almost instantly; within one second of power-up, the screen display (including the cursor position) was restored from the floppy disk. After a further 6 seconds, the cursor would start to flash and the machine was fully ready for use. If the user typed anything in those 6 seconds, the keystrokes were buffered and displayed as soon as the machine was fully operational. Tests showed that most people spent more than 6 seconds looking at the screen to restore their own context before starting to type.

The Keyboard

The Cat keyboard was small, and had a shift key called USE FRONT to access special functions that were marked on the front of some of the keys.

For example:

Internationalisation

A set-up screen allowed the keyboard layout to be changed to support different languages.

Navigation

There were no cursor keys. Navigation and selection were achieved using two coloured LEAP keys that were positioned for use by the thumbs; in the dead centre front of the keyboard (see below), just in front of the spacebar and rather like the mouse buttons on some modern laptops.

When the LEAP keys were simply pressed and released, they acted as cursor-left and cursor-right. Used as shift keys for alpha-numeric characters they enabled incremental search: holding LEAP>> and pressing 'a', moved the cursor forward to

the next instance of that character. Keeping LEAP>> held and pressing 'b' moved the cursor forward to the next instance of the string 'ab'.

Anyone who has used the Emacs editor will be familiar with this search mechanism. Using "shift front" with a LEAP key repeated the last leap. Using a LEAP key as a shift key with, for example, the Page key, would page forward or backwards within the document. After LEAPing from one end of a text region to another, pressing both LEAP keys simultaneously would highlight the text within the region.

In other writings, Raskin explains how this navigation method (for which he was granted US Patent 5,019,806) can significantly improve ease of use in a number ways:

Firstly, and most obviously, it requires the user to type the minimum number of letters needed to locate the desired text.

Secondly, it avoids the situation where you mistype the word you're searching for and then have to wait while the computer fails to find it.

Thirdly, it can improve the response time of the computer; as soon as the computer has updated the screen to show (for example) the location of the string 'ab', it can proceed to build an internal data-structure showing the first occurrence of 'aba', 'abb', 'abc' and so forth (it would order the search based on the frequency of letter usage in the English language). By the time the user types the next character, the computer is likely to have already located the next occurrence of it, and simply needs to update the screen. An optimisation like this is particularly useful when your processor is slow or your document large.

Forth In ROM

By highlighting the text "Enable FORTH Language" and pressing "Answer", the function of the "Answer" key was changed so that it would evaluate highlighted text as Forth code. In addition, by entering the cryptic sequence "use front" + "shift" + "space" the machine entered an interactive Forth editor/interpreter.

Once enabled, you could enter Forth text, highlight it and press "Answer" to evaluate it. By pressing another sequence of keys, you could also get to the interpreter itself.

The Canon Cat was well-received, and won a number of awards, including the 1989 Industrial Designer's Society of America award. Surprisingly after 6 months, with 20,000 units sold, Canon withdrew the Cat from sale. I found two suggestions on the Internet for Canon's motivation.

Recently, a group of the original Macintosh designers were in the news with the creation of their new company, Eazel. Eazel is developing user-interface software that will form part of the Gnome free software desktop environment.

Today, Raskin is an interface and system design consultant. Commenting (in 1996) on some articles about Macintosh history, Raskin wrote: "What I want to create is software that is as easy to use as the Cat was but with the power of today's applications. I know how to do it, I just haven't found a company where I can build it". So there's hope for more new and exciting innovations from this man.

Acknowledgements

My thanks to Al Kossow for providing pictures of the Swyft from his web site, and to George Currie who photographed his Cat for me.