Starbucks, iTunes URLs, and Bonjour?

I’m not a coffee lover at all, but I think the new link between iTunes and Starbucks is exceedingly interesting from a technical viewpoint.

I have to wonder if they are accomplishing the connection between song playing over the PA in the store to the iTunes Wi-Fi Store via Bonjour’s DNS-SD. After all, Bonjour is a service discovery protocol that Apple has been known to champion.

If you turn on Personal Web Sharing in Mac OS X, it publishes the URL for your server via Bonjour, and you can see the results in Safari (Bookmarks button > Collections > Bonjour). Recall that every item in the normal Mac/Windows version of the iTunes Store has a URL, and suddenly it doesn’t seem farfetched to publish that URL over a local network. Bonjour’s DNS-SD provides just such a mechanism.

What if they have a resource in each properly-equipped Starbucks that updates a Bonjour-published iTunes Store URL when the track changes?

If they wanted to provide history, rather than just the current track, I suppose there could be some intersection with RSS. (I wish Yes.com provided RSS feeds for stations for this reason.) An RSS feed URL is just as valid as any other, and I believe the iTunes software itself understands RSS (for its podcasting feature). There’s also nothing stopping them from publishing more than one URL, so they could conceivably publish both the current song as a direct link and an RSS feed (with individual song links) for history. Even without history of recent songs played, the use of Bonjour seems entirely plausible to me because:

  1. it would only become available in the physical vicinity of the Starbucks’ Wi-Fi access point
  2. it could link you directly to the track that is playing
  3. it can be refreshed dynamically, without requiring a “Refresh” button in the user interface
  4. it could probably work on laptops running an updated version of iTunes, as well, in a way similar to (but not exactly like) how you can already share your iTunes library.

Update: I fixed an error with the URL of this story, so the permalink actually works.