iPod acoustic hack: what it means

Some months ago, an enterprising hacker accomplished a key hack in the eventual opening of the iPod: Nils Schneider reverse-engineered the iPod's firmware. This means that hackers now have the means to move data off of and onto the iPod at will, but more interesting is how he accomplilshed it. He figured out how to get the iPod to convert its firmware to a series of squeaks (essentially, to play it like a piece of music) and then converted the music back into software. My cow-orker Seth has written a fantastic piece on the creativity involved in this ingenious hack:

Schneider's ingenious approach shows several important virtues:

* User innovation and the lack of passivity. Apple didn't intend for third-party software to be used with the iPod; not only was Schneider unconcerned with this, he ended up using the iPod in a way that its developers wouldn't have anticipated (and, if they've heard about it, are probably amused or startled by). He certainly refused to limit his thinking to what the original manufacturer had in mind; he insisted, on, well, thinking different.

* Consciousness of history. This problem was solved before in an earlier generation of technology. As Dave Farber has often pointed out, it's tragic that computer scientists and programmers working today are often thoroughly ignorant of what earlier generations have already invented and implemented. Even more than other fields, computing may be repeating and duplicating effort all the time. The notion of modulating digital data as a waveform at audio frequencies has been deeply important in digital communications, but it's easy enough for people who don't use a modem any more to forget it — never mind people who (like myself) have never had to use an acoustic coupler.

* An appreciation for the universality of the machine. The idea that data is data and that representations and encodings of it are merely accidental goes back, depending on how you want to count it, decades or centuries. (See, e.g., Umberto Eco, The Search for the Perfect Language (Malden, MA: Blackwell Publishers, 1997), for some antecedents of this idea in the days before Shannon, Turing, and von Neumann.) But even so, we can get stuck in what cognitive psychologists call "functional fixedness" and refuse to think about data outside of its current representation. We can refuse to think of some signalling method or storage medium as capable of representing any data, of communications media and computing devices as genuinely universal. We can say that certain outputs were made for certain purposes and stubbornly refuse to consider that there are other outputs, even outputs that may be a problem for somebody's security policy. We can read Shannon, or anything after Shannon, and still not know in a practical sense that any data can be encoded on any channel. But Schneider thought with an abstraction and generality that befits an "information age"; he knew that bits are bits, from a communication engineering point of view, and meaning comes after, at another layer.

Link