Jay Robinson delves into what makes up iTunes LP and comes out pleased and suprised: “The iTunes LP experience is accomplished with HTML 4.01, CSS and JS. The interface feels very Flash-like, but there is no trace of it. The CSS animations are elaborate and smooth.”
With iTunes 9 Apple have released a new music format designed to replicate the traditional LP experience but in the digital age
Once you double-click an iTunes LP in iTunes, it takes over your entire window with a WebKit view. A photo fades in and an audio snippet representative of the album will start to play (about 30 seconds). A list of links leads you to the most obvious feature of the iTunes LP: photos, videos and lyric views.
It turns out that an iTunes LP file (.itlp) is actually a zip file, containing the music files and an HTML file with accompanying CSS. Amazingly, the flashy interface is produced without the use of Flash (see what I did there?) but rather the cutting edge CSS animation features built into Webkit (the open source rendering engine that makes up Safari).
This is most surprising in that it’s a very modern, very open way to actually create the LPs. One would almost have expected a binary format laced in DRM, but no; this is a format that would be relatively easy to support in other media players by integrating the webkit rendering engine into the player. Progress has been made porting Webkit to GTK+ and QT4 which means that iTunes LP support on your favourite brand of Linux may not be as unlikely as first thought when Apple announced the feature on 9/9/09.
iTunes LPs are based around a 1280×720 frame, but will scale to window size. This seems a rather non-arbitrary size and I would even go as far as having a guess that if the rumoured Apple tablet does exist, the size of iTunes LPs was based on the resolution of that device so that iTunes LPs could be played full screen. Kind of makes you think, doesn’t it?
Also this week, code was landed in Webkit to add 3D canvas and WebGL. With Flash-killer features like this appearing in the web browser engine, it expands the capabilities that Apple could use in iTunes LP, and iTunes itself (the new iTunes store is now HTML/CSS, as compared to custom XML rendered by QT). What’s best about all of this is that it’s open source and anybody’s game to implement on any system.
I find it immensely exciting that web technologies are being used for purely non web-browser uses and multimedia experiences. It opens the possibilities of greater portability in the future as well as a greater chance for alternative software to compete on equal grounds with iTunes.
Let’s see Zune HD do that with IE6 😛
It’s no surprise that Apple did not use Flash for iTunes LP, after all if they did they would have to allow Flash on the iPhone/iPod Touch in order to view them. I’m not happy with a lot of Apple’s doings around those devices and their apps, but their no flash policy is one of the few things I absolutely and unconditionally agree with them keeping. The more devices without Flash the better.
I’m glad Apple did not put them in a binary format, although in general Apple does seem to avoid binary formats on the Mac as much as possible. Look at iWork documents, basically a folder with xml and other document files such as images. Look at apps in general under OS X, they’re just folders with mostly non-binary files in them with the exception, obviously, of the libraries and app binary itself. Apple pkg files, Plists, you name it… they seem to keep away from binary files as much as possible. I’m glad they did so with iTunes LP as well, but I’m not as surprised by it. And as for no DRM, well Apple has removed all DRM for all music in the iTunes Store, there’s no reason iTunes LP would be different in that respect and in fact, if iTunes LP files had been DRM’d, Apple would have to remove their advertising for no more music DRM which is something they do like to show off.