iTunes is old. It was first released in 2001, with the majority of its code then based on SoundJam MP, which can trace its origins way back to 1999. After QuickTime’s recent Snow Leopard rebuild, iTunes is left as one of Apple’s oldest apps. That leaves it on a relatively ancient Carbon foundation, which carries some implications John Gruber detailed.
If we accept that iTunes will eventually go through The Big Rewrite — and that assumption might warrant some discussion, but let’s go with it for now — what form does iTunes take? Does the existence of iPad fundamentally change iTunes’ future? What can Apple’s direction as of late tell us about “iTunes X”?
There are three main concepts that form iTunes: Your Syncing, Your Library, iTunes Store.
This is the eight billion pound gorilla in the app. There’s no huge mysteries behind playing a song. You don’t need to innovate very hard on that. But syncing in iTunes has gone from very humble and very music-only iPod beginnings to full-fledged broad media iPhone syncing to hybrid iPod+iPhone+iPad syncing. In The Big Rewrite of iTunes, this is absolutely the area that will receive the most attention.
When I first talked about the iPad, part of the problem I had was the concept of where your data lived. In the current scheme, everything surrounded your main machine. You hooked up your devices — iPod, iPhone, and now iPad — and they become slaves to the content hosted on your machine. And it is machine. Not machines. This has been a common gripe for years: how can you keep your music and library metadata in sync between your iMac and your MacBook? It’s a huge pain in the ass, and even if you do that your devices are still basically tethered to one specific machine. It’s not just a “hardcore techie problem”, either; I’ve heard this gripe from a variety of sources, including my dad. With a more digital lifestyle, more people want to use and sync their stuff in more places.
So where does that put us? The natural direction, of course, is the cloud. It’s the holy grail, really: over-the-air syncing of all of your data. You become effectively free from having to worry about where your data is housed, which device is up to date and which is doing the updating, and hell, you don’t even have to worry about files (which is one of the things Apple seems poised to dismantle, and for good reason: the file system is still a confusing concept to many). This solves a lot of my initial worries about the iPad, too; if you’re not tied to a certain machine, the iPad itself becomes far more capable as a standalone machine.
This is a technical nightmare. Part of it is sheer bandwidth, part of it is reliability, part of it is it’s just too damn new of a concept. The bandwidth issue can be solved by, you know, building a massive, massive data center. But the rest is typical cloud computing criticisms, and for good measure. There’s been quite a few high-profile mishaps and unreliability. Pushing everyone’s media and data to the cloud would be, in a lot of instances, just frightening.
But still achievable. I’m an avid supporter of MobileMe. Between three Macs and an iPhone, it’s managed all of my data beautifully, to the point where I no longer care or worry about where my contacts or email settings are. But Apple did have its fair share of hiccups when MobileMe launched, and one has to take into account that the underlying technology, .Mac, has been around for nearly a decade, slowly being built upon and improved the whole time. Expanding that same tech would be a substantial feat, to say the least. But the payoffs are fantastic.
I’d imagine direct, over-the-line syncing would be here for quite some time, and it likely would be the only option for the large initial sync and any large video or music additions, mostly for the sake of speed (even wireless N is painfully slow compared to USB 2.0 and 3.0). But after that initial sync, one could imagine the incremental downloads and uploads of your library metadata — play counts, skip counts, titles, album art, and so on — could be done entirely over-the-air, likely when you’re not even using your device. Download an album on your MacBook and, like MobileMe contacts, it gets pushed simultaneously to your iMacs at work and home and your iPhone in your pocket.
One big question mark is how much data gets pushed to Apple’s servers. Can you only send Music Store-purchased songs to the cloud, or can you send your songs pirated from Napster in 1999, too? How much will the EFF piss themselves when they realize how much information Apple would have on you? Does the central server even make sense in this scenario, or will you instead deem one of your own machines as the “host” and push all the updates out directly over your own private pipes? A lot of questions, a lot of problems, but still one tantalizing prospect.
This is, and always will be, the bedrock of iTunes. It’s a way to access your media: music, video, podcasts, and soon-to-be likely e-books. It may seem fairly straightforward at first; list your media, play your media. But I wouldn’t be surprised if it’s some of the gnarliest code Apple’s got. The problem is that, over a decade of use, feature additions, and rewrites, there’s a lot of stuff in there. Between playlist subtleties, library sorting, album art display, multiple views (including Cover Flow, List, and Grid), iTunes Store hooks, library metadata, audio file conversion, iTunes DJ, iTunes Genius, ringtones, album art downloading, ratings, and a slew of underlying code tying it all together… it’s a feat it works as well as it does in its current form. And the major problem with changing any of this is that iTunes is arguably the most entrenched software out there. Regardless of technical skill level, iTunes is the place most users call “home”. It’s their media. And everyone has very specific, custom ways of accessing their media. Removing, say, Skip Counts may utterly ruin some subset of users that tend to shuffle their library based on songs they’ve never skipped, for example.
But in The Big Rewrite, this is an area I suspect would get reworked. There’s just so much stuff to handle, and the feature bloat of iTunes has grown substantially. I can’t think of one feature release where Apple has ever removed anything from iTunes. That’s pretty significant, given Apple is the type of company willing to completely throw away iMovie and replace it with a new version entirely. If they were to start stripping out smaller, lesser-used features for the sake of streamlining and simplicity, this will be the area that will get the most amount of griping and criticism. I suspect they’ll keep the majority of the UI and look and feel around as they swap out the underlying engine, but those inconsistencies will creep through the cracks.
The Store, interestingly enough, has gone through The Big Rewrite. And no one’s really noticed. While the Store had previously used some type of web-oriented technologies, as of iTunes 9 it’s basically bleeding-edge HTML in a thin WebKit wrapper. This is a big deal. It means for one, they can leverage their existing investment in WebKit for cross-platform compatibility, and two, they can draw from the comparably bigger well of web designers and developers for a more flexible storefront. As a byproduct, this has let them shift more of their content onto the “proper” web; you can browse most of the music store without iTunes already, and just this week they’ve flipped on the ability to view apps from AppStore on the web.
In terms of the next version of iTunes, the Store is effectively independent of any new development work. It’s not nearly as big of a factor as it once was.
This just feels like the way to do it. But I wouldn’t even wager on a timeline. Apple’s been very cautious with iTunes for quite some time, and if they push something this substantial to market and they experience widespread failures, it’ll take some time to turn it around. But given iTunes’ lag behind other 64bit apps in Snow Leopard, Apple’s move to Cocoa, the sheer “oldness” of the codebase, and the much larger focus as of late on satellite devices with iPhone and iPad leading the way, it seems like now’s the best time to really make a dent in how iTunes is positioned and built.