Cloud vs. music

To follow up on the personal omnipresent applications vision I presented earlier, take a look at this article from CNet: Apple, labels talk music in the cloud.

The article is very focused on the legal ramifications of streaming music and not the technical particulars. So I suppose I'll cut it some slack for not answering most of the questions that I have when reading it. But let's begin by asking the first obvious question:

Are they really streaming my music files or just storing a single copy of every song and maintaining a map of which songs are owned by which users? Technically speaking, it would require a great deal of storage capacity to actually store my copy of every song I own along with your copies of the same songs (assuming you listen to the same crazy music I do). Imagine if 1,000 people own that same music? How about a million?

Clearly they are only going to store one copy of the music. Through some clever algorithm, the technology will recognize that I own a song when I prove it by uploading an MP3 file that matches a signature they have on file. Assuming it's tied to iTunes, they will know already what music iTunes customers have purchased through iTunes.

But that's only the most obvious question. The second most obvious question is:

Why would I want someone else to stream my music when I own several computers of my own and have plenty of bandwidth available to stream it myself?

Regular computers—yes, the kind that can only process a few billion mathematical operations per second—can, in fact, send music files over the Internet, creating a stream. I know, it's amazing that modern technology gives us such awesome power on our desktops. Did you know you can now work with massive spreadsheets with more than 65,000 rows on your desktop? I digress.

Especially when you consider how much consumer upload bandwidth is never used, it seems obvious to me that a lot of people have the necessary hardware and connectivity to stream music on their own. What's missing is the software to make it easy. Right now, music streaming software is focused on the local area network. Microsoft's "DLNA" and "Play To" functionality in Windows, Media Player, and compatible hardware devices is all designed for local area networks. That's not to say that you can't, with some effort, make these technologies work over the Internet. But the steps involved are complicated. (Expand all of the content on that page and even a technically minded person will panic: This isn't going to be easy.)

How music should work:

You should have an always-on connection to your home network. With that connection, you have two options:

  • Assume that the playing device will receive the music data and decode and play it locally. This approach only really requires a file server on the remote network that can be easily browsed from a remote device. Hardly a leap from what we have today. If the baseline file sharing protocol included the useful meta-data management that Media Player provides (presenting the music as a library with useful artist and album information), all the better.
  • Assume the playing device is just a remote terminal to the player running on the remote server. In this approach, the remote server is reading the files, decoding them, and playing them. Then a transport protocol like RDP is re-encoding and transferring the audio stream. This sounds a little wasteful of bandwidth and CPU power, but it's the more general-purpose approach. And we should have bandwidth to spare.

Other than the obvious appeal of another one-off cloud service that aims to solve a problem in a way that creates lock-in to their service, I can't think of any reason I'd want Apple to stream my music.

From a network theory perspective, my model just feels right as well. The bandwidth utilization is distributed among millions of Internet nodes. My home network transmits data to my remote device. Your home network transmits data to your remote device. These are four independent nodes.

I know that there has been a backlash of late claiming that the original hype of the Internet being distributed was over-stated. But I still think, in general, the single point of failure model (e.g., Apple as a music host) sucks.

I'll stream my own music, thanks.
About this blog