Curiosity is bliss    Archive    Feed    About    Search

Julien Couvreur's programming blog and more

Platform issues for movie listings on-the-go


I have been thinking about the problem of movie listings on-the-go, after seeing it implemented on a SPOT watch.
Here are some thoughts and comparisons on how to build this experience on different devices (SPOT, cellphones, laptops, and PDAs). In that process, it will become apparent that some additional platform functionality in browsers (and maybe in the cellphone operating systems as well) would help make such scenarios easier to implement: background services.


My wife just started working on the SPOT/MSN Direct team last week. MSN Direct is the service that lets you pick some channels of information (stock, traffic, calendar, movies, weather, ...) and have them sent to your device.
I especially liked the "movies" channel, which lists movie show times in your area, since I've been frustrated in the past trying to go to see a movie on an impulse (while away from a PC).

The SPOT approach is interesting, as all of its data (organized in "channels") gets automatically refreshed and cached in the background (using a broadcast protocol over FM).
Furthermore, the software for displaying new channels is also distributed over the waves and cached on-demand.
The main drawbacks for SPOT are that it requires yet another device, comes with a service fee and is not open to third-parties.


Cellphones providers use a different model to offer this kind of information. The information is usually downloaded interactively, thru the web browser on the cellphone. This results in a slow and synchronous experience, due to the latency and bandwidth constraints of the device.

Another approach is to install an application on the cellphone (see Google Mobile Maps for example). The experience benefits from the increased interactivity and richer information design, in exchange for the cost of install. Regardless, installed apps still suffer from not being able to refresh their data in the background, for the app needs to be running to update its cache.


Other platforms such as PCs (laptops) and PDAs do not have this problem for installed apps: they support running services as well. But this seems heavy and overkill for most simple scenarios.
Instead of a installed app you could implement a web app with caching for offline support, but browsers on PCs have the same limitation discussed earlier: they cannot refresh data unless you load that page/app.

Browser services:

One solution would be to support the notion of lightweight services in the browser.
A web app that needs some background activity would use some (new) API to register and declare the service that it needs. This would include some schedule information and some javascript code.
That javascript code should have access to some existing APIs to access the network and the local storage (with the usual same-domain restrictions), and some new APIs to communicate back to the user (notifications, toasters) and the "service manager" in the browser.

More thinking needs to go into designing the adequate API, but it seems that the notion of "service in the browser" would allow some interesting and useful scenarios, such as the movie listings on-the-go or background web chat (ie. GTalk on the web without having GMail opened).

Do you see potential in this model? What kind of web applications would this enable?

Update (2008/01/14): Lina ordered a Kindle device for my birthday and I am starting to think about some cool ways to use it. The Kindle seems very appropriate for such applications (not very good for interaction, but good for information display).
Movie listings would be convenient on the Kindle, but there is one obvious issue already: I cannot seem to find a movie listing API which I could build upon...

comments powered by Disqus