{"id":839,"date":"2011-12-29T14:03:55","date_gmt":"2011-12-29T19:03:55","guid":{"rendered":"http:\/\/pappp.net\/?p=839"},"modified":"2011-12-29T14:03:55","modified_gmt":"2011-12-29T19:03:55","slug":"canon-cat","status":"publish","type":"post","link":"https:\/\/pappp.net\/?p=839","title":{"rendered":"Canon Cat"},"content":{"rendered":"<p><a href=\"https:\/\/pappp.net\/wp-content\/uploads\/2011\/12\/CatEasy.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pappp.net\/wp-content\/uploads\/2011\/12\/CatEasy-300x195.png\" alt=\"Clip from Canon Cat Advertising Materials\" title=\"CatEasy\" width=\"300\" height=\"195\" class=\"aligncenter size-medium wp-image-840\" srcset=\"https:\/\/pappp.net\/wp-content\/uploads\/2011\/12\/CatEasy-300x195.png 300w, https:\/\/pappp.net\/wp-content\/uploads\/2011\/12\/CatEasy.png 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>I&#8217;m not sure why there has been a <a href=\"http:\/\/news.ycombinator.com\/item?id=3394546\">spate<\/a> of <a href=http:\/\/www.theverge.com\/2011\/12\/28\/2665791\/jeff-raskin-canon-cat-humane-ui\">tech<\/a> <a href=\"http:\/\/www.adafruit.com\/blog\/2011\/12\/28\/the-canon-cat\/\">news<\/a> artcles about the Canon Cat recently, but it&#8217;s really refreshing to see.  I assume it started because someone spotted this nice <a href=\"http:\/\/appliance.io\/\">document dump<\/a>, and the tech news world is an echo chamber.  <\/p>\n<p>Many of the articles note that the manuals and such come with (mostly) complete circuit designs, but they miss the other interesting bit of technical openness &#8211; Cats were running a totally introspective user accessible software stack written in a dialect of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Forth_(programming_language)\">Forth<\/a>.  In addition to having a UI that is still a popular example for application specific computing devices, it was also user programmable\/modifiable almost down to the hardware.  I&#8217;m not a fan of Forth, but it demonstrates that <strong>1. It is possible to make an embedded computer programmable without interfering with its UI model, and 2. It is possible to design introspective systems which are usable<\/strong>, which are right in line with what I want to be doing with myself next, and totally out of line with current trends in computing.  It brings to mind <a href=\"http:\/\/en.wikipedia.org\/wiki\/Alan_Kay\">Alan Kay<\/a>&#8216;s work, or a more reasonable LISP machine.<br \/>\nThe other reason I&#8217;m fascinated by the Cat is that it manages to make a completely modeless text editing system, and its development spawned several papers (in the linked documents) on the topic.  I despise implicit modality in user interfaces (this is why, despite having all kinds of wonderful features, the traditional progammer&#8217;s editors just end up making me furious), and good through theoretical and case studies supporting that stance are a beautiful thing.  <\/p>\n<p>That dump is slightly different collection of Canon Cat materials that I put together when I was curious after reading <a href=\"http:\/\/en.wikipedia.org\/wiki\/The_Humane_Interface\">The Humane Interface<\/a> a couple years back.  I&#8217;m still integrating the collections,  but there seems to be some different stuff in each &#8211; piles of arbitrary format documents are hard to diff, especially when there is no name correspondence and some are binary formats.  I think there may be enough material in the various available sources that, given access to an operable CAT and a reasonable digital lab, it would only be a large 10s\/small 100s of man hours of work to emulate or even hardware simulate one.<br \/>\nI&#8217;ve never (actually, I think I ran into one as a kid but did&#8217;t know what it was at the time) had a chance to play with a real Canon Cat, and owning one would be a mixture of all the standard problems in owning vintage computing stuff &#8211; they&#8217;re expensive and collectible, and like most computers of the era, bulky and fragile, and they require problematic media&#8230; but I would still probably get one if I had the chance for a reasonable price, because they did so many interesting things right.  More and more I think CS\/EE programs should include (probably just as an elective) proper History of Computing courses &#8211; if my intended life pattern continues, I may even get to teach one for a while. I think it would be a blast for all involved. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m not sure why there has been a spate of<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,37,1,10],"tags":[181,127,183,182],"class_list":["post-839","post","type-post","status-publish","format-standard","hentry","category-computers","category-electronics","category-general","category-objects","tag-canon-cat","tag-jef-raskin","tag-raskin","tag-vintage-computing"],"_links":{"self":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=839"}],"version-history":[{"count":0,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/839\/revisions"}],"wp:attachment":[{"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}