Tech constantly evolves - yet so much stays the same

iPad 3
The iPad may be a marvel of modern computing, but that doesn't mean all the tech inside is the latest and greatest

Sometimes it strikes me how remarkable it is that technology manages to move so fast, and yet in some ways stay exactly the same.

I came across this paradox only last week, when I invested many hours programming with a protocol that's nearly 30 years old for a piece of DIY hardware that encapsulates both old technology and new, in a language that's very modern.

I was writing an editor for a SID-chip synthesizer that uses MIDI to talk to the computer. MIDI, the protocol that many digital musical instruments use to communicate with each other and your PC, is absolutely ancient.

It started life in the late 1970s, and the 1.0 specification was first published back in 1983. Even the latest hardware synthesizers sport two of MIDI's distinctive five-pin DIN ports, one for input and another for output, and with just a couple of fat cables, you could send note data, timing information, custom information and control signals directly over its 31.25kb/s serial connection.

It's slow and cumbersome, but despite the passing of a whole human generation, nothing has ever quite managed to replace it. Even when there's no visible sign of MIDI from the outside and digital musical instruments are capable of generating high quality polyphonic sound from low power ARM CPUs, there's a good chance MIDI is still there, busily humming away to itself somewhere beneath the surface.

And so I found myself digging into binary mathematics, splitting bytes into nibbles and casting significant bits as I tried to write an application to send data to and from an iPad via a synthesizer. I was even using a modern language to encapsulate these MIDI commands, which just made things worse.

In between worrying about objects and scope, I had to accommodate memory offsets for system exclusive data, timing issues for messages sent in parallel and data loss during transmission - all problems you'd expect from an earlier generation of digital computing, not a device at the vanguard of the post-PC revolution.

The trusty old MIDI protocol is still around for one very important reason: it works. It might not be the best option after being shrink-wrapped into RTP and sent down a USB cable. It might be too restrictive and only work with cables of a certain length. But it's precisely those limitations that make it good at doing the job it was designed to do, and it has proved this point by remaining relevant while the world around it has completely changed.

Moving on for the sake of it

The point I'm getting to here is that operating system developers shouldn't be too eager to throw those aspects of their usability out in the rush to make everything look 'touchy'.

This is happening with Linux, with both the Gnome and Unity desktops, and Windows 8 looks to be taking plenty of inspiration from touch design. OS X is also likely to incorporate more and more iOS features as time goes on, although I think the gesture support from the Magic Trackpad is quite neat.

Thinking different is a good thing, but being objective is more important. Especially with Linux, those old paradigms have lasted not because they looked brilliant, or because they gave the user all the features they wanted. They've lasted because they simply worked. That's why so many people continue to use Vim and Emacs, staring at monochrome screens and crib sheets of keyboard shortcuts.

Yet they are two text editors that should utterly confound a generation that thinks in 3D and DPI. MIDI could be replaced by the Open Sound Control protocol (OSC). It's immensely flexible, fun to work with, and solves nearly all of the problems I mentioned earlier.

But this flexibility also makes it difficult to work with, especially for musicians. They don't care how difficult MIDI might be to program behind the scenes - they only care that when they connect a MIDI source to a MIDI destination, things happen. You can't easily do that with OSC, and many traditional desktop users can't easily do the equivalent desktop tasks with their new Unity or Gnome Shell desktops.

That certainly doesn't mean they're wrong in what they are trying to do - Mint's awesome Cinnamon update to Gnome is a great example of this compromise, and has the potential to catapult this Linux distribution into the stratosphere because it appeases so many people unhappy with a vanilla Gnome. It just means desktops shouldn't be making their brave new ideas the default option.

It's like forcing synthesizer manufacturers to only support OSC. Instead, new technology should try to convert people from the old way to the new way, carefully convincing them of the advantages, so that when they go back to MIDI or Gnome 2.x, or Windows XP, or mice and keyboards, they wonder how they were ever able to use them.

Until that happens, we're all stuck hacking away at old technology embedded within the new.