Originally uploaded by drudru
This is Dwight Elvey. I met him at the 10th Vintage Computer Festival over at the computer history museum. I was particularly interested in his exhibit since he had a working Canon Cat. Dwight was nice enough to chat with me and answer some of the interesting questions about the Cat.
Why is the Cat interesting?
Well, the Canon cat was designed by a company called Information Appliances. This was started and headed up by Jeff Raskin. Jeff created the Macintosh project at Apple. He was a smart and opinionated designer who was definitely ahead of his time. Somehow, he got a deal with Canon to build the ‘Cat’. It was meant to be a simple computer that focused on word processing. It wasn’t uncommon, back then, to buy a typewriter for college that was essentially a daisy wheel printer with a super tiny 1×16 character LCD to work with. The Cat would be a higher-end competitor. Of course, since this was a real system, it had a few other items thrown in. For example, it also had a database, spreadsheet, modem, and supporting terminal emulator built in. It also had an innovative search system with keyboard support. Jeff also believed that the system shouldn’t have files… each disk was a document. I like these features. I believe that this was probably what Jeff was thinking of when he was going to create the Mac.
Anyways, I first heard about Information Appliances via A+ magazine when they had a little product announcement blurb. It had a picture of Woz and Jeff holding a tiny Apple ][ expansion card that had ‘amazing software’. Anything that had Woz approval was important to keep an eye on. I found out later that this software was the pre-cursor of the Canon Cat but made for the Apple ][ and accessible via a hot-key. Not too long after that, the Canon Cat was announced and it had some press for a month. Since I was in Miami, though, I never got to see it in real-life.
The interesting thing about the Cat is my recent rediscovery of the machine from a software engineering perspective. The entire system was written in Forth. Dwight showed me how you could actually execute Forth right inside the word processor. While we chatted, a few things came out about the Cat that are particularly interesting.
- The entire system was in Forth, so they prototyped on the Apple ][ (hence the product), and then effortlessly ported it to the 68k based Canon Cat.
- They had an extensive unit-test suite for all Forth words in the system. Dwight mentioned that the developers initially hated this, but then came to really appreciate it.
- The system shipped on time and on budget with just a small team of devlopers and NO BUGS…. in ROM. Did I mention that it was in ROM?
That last point is huge. How many software engineers can pull that off consistently, without serious burn out.
My takeaways are:
- The Canon should be looked at for some of the unique ideas it had that still may not be prevalent
- Test driven development is the only way to create software. Period.
- Forth is an underrated technology. If I were doing an embedded system project, I would seriously consider using Forth.