Every few years, we hear a story in the tech news about how some company is going to resurrect the Amiga computer, and I always have mixed feelings when this happens.
Certainly my own nostalgic feelings for the Amiga are strong; the years 1985–1992, when I created hit titles such as Music-X, Discovery, and The Faery Tale Adventure were some of the most productive, most exciting, and perhaps happiest years of my life.
The Amiga was certainly ahead of it’s time. It was essentially the first personal computer that took multitasking seriously, and probably the first mass-market machine to feature hardware acceleration for graphics, the forerunner of today’s GPUs.
Yet, some of the strongest features of the Amiga weren’t manifest in its hardware and operating system, but rather in its developer community. In contrast to the dog-eat-dog world of MS-DOS development, Amiga developers, even those in vigorous competition with each other, were far more likely to get together and create community standards for things like file formats and APIs. For example, in an era where most applications on other platforms only supported their own proprietary formats, many Amiga applications could share data and interoperate via community-defined standards such as IFF (Interchange File Format).
I remember brainstorming with Amiga luminaries such as Todor Fay (Bars and Pipes), Allen Hastings (Lightwave 3D) and William Volk (Aegis). In meeting rooms at developer conferences, trade shows, and email threads we all strove to find ways to make the Amiga succeed as a platform — we were less interested in getting a bigger slice of the pie, and more interested in “making the pie bigger”.
So why would I hesitate to restore those days? There are a number of concerns I have:
First and foremost, the Amiga had a number of serious technical flaws. The biggest was the lack of memory protection; the “Gentleman’s agreement” in which applications shared a common memory space was one where a buggy program could easily take down the entire system, or corrupt another application’s data. Unfortunately, there was no easy way to add memory protection after the fact; the architecture of AmigaOS, and all of the applications written for it, depended on the fact that there was a single, shared memory space for all tasks. Many of the ‘cool’ features of the Amiga required being able to write data to memory owned by other applications and libraries, and adding modern Unix-style memory protection would have required the entire system and all apps running on it to be redesigned from the ground up.
I remember there was a lot of vigorous debate about this at the time; whether it made sense to invest the time and effort in this; Some argued that the Amiga could never be a robust and reliable contender without it, others saying that it was too difficult and the hardware support had too much overhead.
But we’re living in a different era now, one in which systems are routinely probed for weaknesses and exploits the instant they are attached to a network; To have a machine that did not have strong barriers between tasks would be suicidal madness.
But making the Amiga resistant to this kind of attack would require so much re-architecting that the result wouldn’t look or feel much like an Amiga, at least not from the developer’s perspective.
Another concern is that merely producing hardware and software is not enough; The value of the Amiga was in its development community, something that is not easily replicated.
Moreover, most of the Amiga developers I knew were forward-thinkers, trend-setters, explorers; They aren’t interested in revisiting the past out of some desire for retro-nostalgia.
To quote the venerable Josiah Bartlett, the question I constantly ask myself is “What’s next?” I want to jump on the bandwagon that’s headed for the future, and be on the bleeding edge of technology and culture. I have no interest in repeating what I did thirty years ago.
A third question I have is, what problems does a new Amiga actually solve?
It’s true that all of the popular operating systems we have today are deeply flawed. As someone who uses OS X and Ubuntu on a daily basis, and who occasionally uses Windows, I find these systems to be both amazing technical achievements and at the same time frustrating as hell.
I think the biggest problem we have today is one of insecure systems. Every week we hear about some new exploit or weakness that is being used by criminals and state actors to harm us. Our computers provide us with a never-ending game of whack-a-mole, and the number of security flaws seems endless.
It’s my belief that things didn’t have to be this way — we could have, if we’d had the foresight, invented architectures where resilience and safety were baked into their very DNA. But we didn’t think very much about security back then, and in the rush to get new products to market, or to save a few hours of programmer time, we made design decisions so fundamental and so deep that they are still with us today.
One example of this is the notion that every system we make has to be remotely programmable. That is, it is a developer convenience to be able to run scripts or programs on a device without actually opening the case. But while this is occasionally useful, I wonder if it’s really worth the cost. From the standpoint of a consumer, there’s no reason why someone who is not in my house should be able to run programs on my thermostat or my toaster. Yet we insist on making it possible because that’s just how systems are built now. And because they are vulnerable to remote exploits, they constantly have to be updated with “security patches”, which requires, of course, remote programmability — so the whole complex edifice becomes self-justifying.
I could go on in this vein for some time, but I won’t.
There are many other problems. For example, how many times have you seen a presenter at a technical conference spend several minutes fiddling with their video settings so that they can show their slides on the projector, while the audience waits in patience? How many times have you seen people struggle with the sound or video or network connectivity on video conferencing systems?
Hell, I can’t even get WiFi to work reliably on my Ubuntu laptop.
These are problems that need to get solved. And I think that perhaps, at some level, a new operating system and hardware design might help. Perhaps an OS based around capabilities or strict ownership of resources would help avoid the security flaws I mention. Perhaps new network protocols (such as the Next Generation Internet architecture proposals) would mitigate the problems of spamming and hacking that we have today.
But those future concepts are very far from the idea that is the Amiga. The kind of computer I want has little in common with the Amiga, or with any operating system that exists today.