[HN Gopher] Refurb Weekend: Canon Cat
       ___________________________________________________________________
        
       Refurb Weekend: Canon Cat
        
       Author : zdw
       Score  : 121 points
       Date   : 2024-05-28 03:55 UTC (19 hours ago)
        
 (HTM) web link (oldvcr.blogspot.com)
 (TXT) w3m dump (oldvcr.blogspot.com)
        
       | kreelman wrote:
       | If you've not got the hardware, the Canon Cat can be run in
       | emulation mode via the Internet Archive,
       | https://archive.org/details/canoncat
       | 
       | I bought Jeff Raskin's book years ago in a moment of
       | inspiration.... His ideas were thoughtful, but perhaps
       | impractical? That was my impression nonetheless.
        
         | jbm wrote:
         | I loved his book (the Humane Interface). I even used ideas from
         | it to create RFPs for a client, and was able to better critique
         | ideas.
         | 
         | Not having modes is still a big deal for me. Getting lost in
         | menus and "not being able to get back" was something I dealt
         | with a lot, and having this spell out my frustrations was very
         | helpful.
         | 
         | That said, he really loved the interface of the Canon Cat; I
         | had no idea what it was when it existed, and I only know of it
         | through Wikipedia.
        
       | unkoman wrote:
       | That was a great read into a part of retro computing that I
       | haven't seen before.
        
       | userbinator wrote:
       | _" token-threaded" Forth, which instead of storing direct
       | execution addresses for each instruction in a Forth word executes
       | using smaller tokens which are looked up instead. This exchanges
       | the cost of an indirect lookup in a table for substantially
       | greater code density._
       | 
       | In other words, like a bytecode VM?
       | 
       |  _The "ROM" at IC11 is actually an 8K 150ns static RAM, an NEC
       | D4364C with specific support for battery backup. The service
       | manual calls this the SV-RAM. This is what the CR2032 battery
       | powers at the southeast (lower right) corner._
       | 
       | A CR2032 is surprising for a computer from 1987, given that AFAIK
       | PC mobos didn't have them until the 90s at the earliest.
        
         | classichasclass wrote:
         | (author)
         | 
         | > In other words, like a bytecode VM?
         | 
         | Kind of, but it's still Forth of the era, so it's still
         | threaded execution. You're still jumping from execution address
         | to execution address (either native 68000 code or another set
         | of Forth words heralded by a JMP to the nesting subroutine);
         | you just have a layer of indirection by having to look them up
         | in the token table first.
        
         | p_l wrote:
         | Forth style threaded code was used not just for Forth - it was
         | popular strategy for implementing higher level languages at one
         | point, especially to reduce size of resulting binaries.
         | 
         | Funnily enough, some later more advanced compiler systems could
         | be considered to have bits resembling that in code generation,
         | with Virtual OPerations that abstracted CPU instructions (often
         | more than one).
         | 
         | And indeed, threaded interpreters are one of the efficient ways
         | to implement VMs in resource constrained setups.
        
         | datpiff wrote:
         | > A CR2032 is surprising for a computer from 1987, given that
         | AFAIK PC mobos didn't have them until the 90s at the earliest.
         | 
         | Nintendo Famicom cartridges started using them the same year,
         | 87. PCs probably didn't need the space-saving advantage until a
         | few years later.
        
         | abruzzi wrote:
         | Yamaha used a CR2032 with legs as battery backup for sounds in
         | most of their synthesizers starting at least with the DX7 that
         | launched in 1983. So there is precedent.
        
       | astral303 wrote:
       | Jef Raskin's "Humane Interface" book was such an eye opener for
       | me---no modes (that explained why I was always frustrated with vi
       | or emacs), and that computers should never lose your data.
       | 
       | From this post I learned there was a project called Archy
       | implementing Cat in software.
       | 
       | The core principles still ring so very true:
       | https://web.archive.org/web/20061025010636/http://rchi.raski...
       | 
       | > Computer rage is a familiar phenomenon because computers are so
       | adept at losing your data. At any given moment, you are one
       | innocent step away from destroying minutes, hours, days, months,
       | or years of work.
       | 
       | > Archy never loses your work. This shouldn't be a groundbreaking
       | innovation in computer design, but it is. You never have to save
       | because it's done for you automatically. Your data is stored in
       | such a way that if your computer crashes, your information will
       | still be there the next time you start Archy up.
       | 
       | I think these days we are 70-80% to this groundbreaking
       | innovation---my computers no longer lose my in-progress e-mail or
       | documents, but sure still keep losing form input here and there,
       | and I still accidentally select all text and type over it in a
       | system with a single-level undo (iOS).
        
         | tambourine_man wrote:
         | iOS has more than a single level undo, but it's terrible at
         | exposing it and easily over writable by mistake.
        
           | hedora wrote:
           | Also, first-party apps like Notes have started reinventing
           | modal interfaces.
           | 
           |  _sigh_
        
           | astral303 wrote:
           | Oops, my mistake.. yeah, it does have multiple levels of
           | undo.
           | 
           | My favorite 3-way merge tool, kdiff3, has no undo.
        
         | mikewarot wrote:
         | Thanks to Moore's law, and this excellent essay by the late,
         | great Michael O'Connor Clarke[1] and our largely successful
         | KillSave campaign, we at least have autosave as a widely
         | adopted measure of sanity. It's better than nothing.
         | 
         | [1]
         | https://web.archive.org/web/20080621173441/http://killsave.o...
        
           | kilpikaarna wrote:
           | Ugh, I loathe autosave popping up in more and more places,
           | particularly webapps. I've messed up the working copy of my
           | wife's business website and various docs more than once
           | because she's asked me to fix or tweak something. I
           | automatically change some random things around in
           | Squaredpace/Webnode/Canva just to get a feel for a tool I've
           | never used and discover how the workflow might compare to
           | something I'm familiar with. Then I find out there's no undo
           | or it doesn't revert everything, I have no idea what changes
           | I've made vs the original, and it's autosaved. Terrible UX!
           | 
           | Autosave has no place outside anything more complex than a
           | simple text form, unless it's solely a backup solution for
           | crashes, or paired with a very solid version control system.
        
             | samatman wrote:
             | Agreed, autosave is wrong, because save is, among other
             | things, a destructive operation: it obliterates the old
             | version of what you save. That should require a decision by
             | the user.
             | 
             | What macOS native apps all do, and have for years, is the
             | right thing. They save your work, but not in your file.
             | Open something, make modifications, close the program, open
             | it: the modifications are still there. Crash? When you
             | reboot, you still have your work. You save when you're
             | ready to replace the old version with the new one, the
             | program doesn't make that choice for you.
             | 
             | Mostly they don't save undo history between boots, though,
             | and that's too bad. Ideally every format in which people
             | actually do the work would be non-destructive, preserving
             | an undo history back to whatever the initial state of the
             | file was. Photoshop got this right, so it's common in image
             | editing, but it should work everywhere.
             | 
             | Clearly you don't usually want finished work to contain the
             | complete edit history, so exporting a rendered version is
             | essential. But this isn't a difficult problem.
        
           | guenthert wrote:
           | That seems to be an odd formulation of a call for crash-only
           | software.
           | 
           | https://dslab.epfl.ch/pubs/crashonly.pdf
        
       | mft_ wrote:
       | Fascinating to imagine that but for an unfortunate marketing
       | approach (and some limited unfortunate product decisions) Canon
       | might have had a significant future --and now a legacy-- in
       | computing!
        
         | gedy wrote:
         | Canon gets a lot of heat for the failure, but it was not an
         | "obvious" interface imo, unlike WIMP interfaces. I have a faint
         | memory of trying a Canon Cat, and it just made no sense to my
         | young eyes, and that was before I had a computer with a GUI
         | (had used Apples and C64s before this)
        
       | nxobject wrote:
       | Well, now I'm jealous: how the hell did he find one? A vintage
       | meet or something? I have eBay alerts for a Canon Cat.
        
         | pmarreck wrote:
         | I was going to say, I couldn't find a single one on eBay, even
         | via "Completed Listings"!
         | 
         | Maybe we should form a group of the 10 people interested in a
         | Canon Cat? lol
        
           | stavros wrote:
           | Where are you going to find eight more people?
        
             | mschnell wrote:
             | Count me in.
        
         | polpo wrote:
         | I don't know where he got his, but last August there was one on
         | shopgoodwill.com. I was tipped to it on a small retrocomputing
         | Discord server but I stupidly forgot to bid on it. There were
         | only 2 bids and whoever won the auction only paid $26 for it.
        
         | classichasclass wrote:
         | (author) This one has actually been in my collection for around
         | a decade and is not a recent acquisition. I've just started
         | playing with it more and figured I needed to shore it up to
         | keep it going.
        
         | mayoff wrote:
         | I bought one on eBay in 2000 for $610 (eBay item number
         | 418348564).
        
       | apricot wrote:
       | In the 1990s, I worked on a Canon typewriter (AP800) that had a
       | similar-looking keyboard. That keyboard is the best I've ever had
       | the pleasure to type on and I've tried quite a lot, including IBM
       | Models M and F, all Cherry colors, Topre, etc. I could type for
       | hours on that thing and not get tired. I would love to get my
       | hands on a Cat to see if the keyboard is as good as that one was.
        
         | yjftsjthsd-h wrote:
         | That's interesting; can you articulate specifically what the
         | keyboard is doing better than others? (Lower activation force,
         | more obvious clicking, ...)
        
       | Animats wrote:
       | That might be something to put on a Chromebook, for people who
       | want a typewriter that can't do much else.
        
       | throwanem wrote:
       | > Raskin was emphatic that the Swyft and Cat should not have
       | modes -- when you release the keys, the operation is over,
       | whatever that ends up meaning.
       | 
       | But that's not what this is. Search _is_ a mode; it 's just one
       | that, in the Cat design, requires holding down a key to keep
       | active, and by dint of modelessness as a design goal also fails
       | at discoverability. (How do you cancel a search?)
        
       ___________________________________________________________________
       (page generated 2024-05-28 23:01 UTC)