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.