Why port emulators to the browser?
In a discussion on Hacker News about emulators being ported to the browser, I drew attention to my own project, PCE.js, which emulates a Macintosh Plus and an IBM PC/XT. Some of the questions brought up included why someone would undertake such a project, and also the legal considerations of including the software ROM required to boot the machine.
So, why port emulators of outdated computers to the browser? Well, to start with, I feel very strongly about the importance of learning from the past – not making the same mistakes again and again due to a lack of historical perspective. I was really inspired by Bret Victor's talk at the DBX conference, in which Bret demonstrated a bunch of technologies from the 1970s which attempted to solve problems that we're still wrestling with today. It's a great talk, and it precipitates the question; why haven't we figured this stuff out yet? Why do today's 'solutions' feel lame in comparison to these prototypes from several decades ago? If anything, it seems like we've gone backwards. The great past ideas Bret mentions, like Sketchpad, NLS, and Smalltalk, should inspire us to aim higher as we create the future.
Similarly, lots of great thinking and design can be found in old systems. The original Macintosh, with influence from the Xerox Alto, solved lots of user interface issues which people are still failing to think about today. A trivial example is that Mac OS, in 1984, had considered ‘angle of escape’ in its drop down menus. That is to say, menus don’t close when the mouse cuts a corner on the way to a submenu. It seems minor, but it’s something which Windows didn’t fix until 2001 (Windows XP), and plenty of web apps still do wrong to this day. The awesome usability and simplicity of the original Mac is something which should be available as a working, interactive demo to the newest generation of designers, makers and creators.
I also feel that the historical significance of these systems means they should be available to explore with a minimal barrier to entry. Making that happen, though, requires including the system ROM, OS and other software such as applications and games, along with the demo, which goes beyond what’s covered by ‘fair use’ in copyright terms. However I’d go as far as to say that making this stuff accessible has, to a degree, a moral imperative, and that it outweighs the negative of the technical infringement on copyright. Such software is, after all, ‘abandonware'; it hasn’t been sold commercially for a long time, and it’s also just really outdated, not likely to be used to any financial gain.
Being able to explore and interact with these once-pioneering systems, the Macintosh and the IBM PC, has great historical and educational potential, and that’s why I wanted to make them available in the most accessible way possible; in the browser, without any extra searching, downloading, installing. Batteries included, no assembly required.