Tuesday, November 24, 2009

When Immensely Difficult Tasks Appear Simple

I love it when one (or a group) of our kind manages to pull of something monumentally difficult and make it appear as if it should surprise us that we weren't able to do something so simple earlier.

Case in point. The Shazam app for the iPhone and Android. If you're familiar with it you'll know where I'm coming from. To fill in the uninitiated, Shazam uses the speakerphone mic on your cellphone to listen to and sample a small segment of a song, say playing on the radio. It then compares that sample to what must be a gigantic database of music and identifies the song, artist and album. The database is stored a some remote server, not on your phone. Shazam must upload the sample it records wirelessly to that server, which processes the match and then sends the result back to your phone.

It happens fast, usually in under 15 seconds. And most of that time is devoted to sampling the music. The actual matching time is a pittance. And for me at least it hasn't missed one yet. But here's the thing. Matching a full music track to a full music track wouldn't be that hard. All you have to do is compare the waveforms of each full track. If the shapes match, the songs match. But Shazam doesn't compare a full track. Generally you come into the song somewhere in the middle. And even then Shazam only samples a small portion of the song. So now you're asking the computer to compare a small portion of an unknown song, starting at an unknown point in that song, to a database of every song ever recorded (or thereabouts.) That's orders of magnitude more difficult than comparing full tracks, because now the computer has to compare its sample to part of a song, and it has absolutely no idea what part that is.

And that's what I mean. These programmers have managed to pull off what really constitutes computing magic. It's beautiful, and not just because it works, but because it does it so elegantly and so transparently that you completely forget the monumental piece of computing that's taking place under the hood. And apart from all of that, Shazam is a kick to use. It's essential for the music lover and radio listener.

If you get it, you'll love it and you'll use it constantly. Just try and get an appreciation for the fact that what your doing almost shouldn't be possible.*

*That's a bit of an overstatement maybe, but it sells newspapers.

No comments:

Post a Comment