Arevit Solutions, Inc. builds software in Seattle, WA.
We can help you build your web-based business.
Playlister Case Study
Page
1 2 3 4

First, I'll state the general use case for the app:

When an iPhone is the only handy computer, I want a quick way to identify songs that were recently played on KEXP without a bunch of tapping and pinching at Mobile Safari.

Next I'll list some measurable problems with the status quo that will be solved after I ship the project.

  1. App-launch to song info display in 7 seconds over EDGE
    When I averaged three EDGE page-loads of http://www.kexp.org/playlist/playlist.aspx, the result was 109 seconds. Way too long. Even with a full-bars WiFi connection it takes 21 seconds. And after the page loads, I still have to tap, pinch, and drag to zoom the text to a legible size, then line up the playlist data with the iPhone's viewport. So there is room for mobile performance improvement. But why a 7 second target value rather than say 2 seconds? That was the best time I measured for Apple's Weather App to load over EDGE. So that tells me that 7 seconds is a reasonable performance target for an app that relies on similar small nuggets of remote data.
  2. Rolling playlist, i.e. last X songs regardless of hour margins
    If I load http://www.kexp.org/playlist/playlist.aspx playlist page at 7:03 AM, the list sometimes includes only the one song that has played since 7:00 AM. As opposed to the last e.g. 5 songs that have played regardless of the hour they were played in. I don't want to deal with any browser navigation to view a prior hour, I just want to see the 5 most recent songs, so the Playlister application should handle that.
  3. Direct iTunes Links
    KEXP plays a lot of music that is not available on the iTunes Music Store. But when a song is available on iTunes, I like the instant gratification of an immediate purchase. So I'd like the Playlister application to let me buy songs directly on the iPhone. It would also be nice to know at a glance if a given song is available on the iTunes Music Store (i.e. without leaving the app to search the ITMS). So the application should tell me that it found an iTunes match by showing the album cover art from Apple.

That's it for requirements.

There are lots of cool features that could go into a radio playlist app, but the ones above address my favorite personal use case. And they will provide a nice example of the performance benefits possible with an iPhone App interface to an existing web service.

Now that I have my use case and some measurable feature requirements, it is time to build the Playlister web service.