Skip to content


Beauty in Technical Limitations

Recently, I’ve been playing a lot of Sonic the Hedgehog 1 for iPhone (UK iTunes App Store link). Yep, that’s right — the original game from 1991 for the Sega Mega Drive/Genesis.

It’s a fun game, albeit one which I’m not really very good at, having only made it to Spring Yard Zone so far (even with the assistance of the Level Select ‘feature’).

Screenshot of Spring Yard Zone on Sonic 1

One thing that struck me about this game, though, is the technical limitations of the original hardware this game was designed for. When you have a 7.61 MHz 68K processor, a total of 512 colours (only 64 of which can be on the same screen at the same time) and sound that has to be generated through a rather primitive Programmable Sound Generator chip, you have a lot of things to work around and a lot of restrictions to work within to create a fun, entertaining video game.

Despite all these technical limitations — in fact, even because of them, you end up with an artform that becomes uniquely beautiful, because it is so technically constrained. The fact that all the sound has to be generated by this one chip, all the colours used have to be painstakingly thought out ahead of time so that the palettes will work out and you have the colours you need, the fact that the whole game has to fit inside a few megabytes — it enforces simplicity.

It’s something that’s easy to forget about when we can carry around extraordinary processing power in our pockets and the computers we use at our desks have such technical capability.

Video game programming twenty years ago demanded a different mindset — efficiency, simplicity and a degree of pragmatism about making things fit around the limitations. This game for me sums up where the binary, definite nature of digital technology, with all of its 1990s limitations, can meet with the full expression of human creativity.

Great Dorset Steam Fair 2010


iTunes 10 icon

  • All the iOS devices — iPhone, iPod touch and iPad, are built around Cocoa Touch.
  • Snow Leopard brought 64-bit support to the Mac mainstream for Cocoa applications. Carbon applications are clearly on the way out and have been since the release of Leopard in 2007.
  • The third major release of iTunes since Leopard came out is still Carbon and still only 32-bit. (Perhaps an even greater irony is that there is a 64-bit Windows version of iTunes.)

Is this a bit of a nitpick? Probably. Does it really matter what the framework underneath iTunes is if it is being improved? Possibly not. Is iTunes a huge, vital part of Apple’s iPod/iPhone/iTunes Store infrastructure that they are naturally unwilling to make huge changes to? Absolutely.

But I really, really wanted iTunes 10 to be ‘iTunes X’ — not just another major release with some new features, but a drastic rewrite of the application (for the Mac anyway) in Cocoa. The app’s performance has been improved with recent versions, but iTunes is still the one application that ships with Macs that feels out of place — the interface is jarring and not fluid, the app frequently hangs for several seconds for no reason and there is ancient UI debris hanging around. (Those first two might be better with this release, I don’t know, but the Mac OS 9-style context menu cursor lives on.)

Ah well, maybe iTunes 11? 🙁