It’s all in the title

In a few words, Procrastinator is a webOS app I developed and submitted to the “SFR Jeunes talents développeurs” contest. SFR held this contest a few month before launching the Palm Pre in France, an event I was obviously counting the days to, given how in love with webOS I was/am.

Procrastinator is mostly a headless app : it connects to the calendar app on your device and fetches your events for the day. It then warns you 10 min before the time where you should leave in order to be on time, depending on the transportation mode you choose.

Clicking on the notification opened a new card with your itinerary (the simple fact of mentioning this reminds me how elegant the webOS notifications and the UI in general were elegant). At the time of your appointment, if you were not there yet, the app allowed you to send a precomposed SMS explaining you were running late.

The transport options were using a car, a bike or, for Paris, taking the metro or the bus. This particular option did cause me a lot of trouble : back when I made the app, public transports were not included in Google Maps for France : I could rely on the Google Maps API for the bike and car part, but I had to hack my way around the last one. What I did was make a call to http://wap.ratp.fr/siv/itinerary (RATP being the public transport company in the Paris area, and they did not offer any kind of API at that time) with the address of the next appointment as the destination, and the current location of the user (reverse geocoded by Google) as the origin. The answer to this call was an html file but it also included an XML part that included all the steps of the itinerary : I decided to use just that to display it to the user.

Little did I know, the RATP decided for some reason to delete this XML part, exactly the day after the first deadline for the contest ! Since it had never been meant as an API for third party developers, there was obviously no warning of that. In the end, what I ended up doing was parsing the HTML page I received as a result and figuring out what part was the origin, destination, and the different steps of the itinerary according to their formatting properties (eg the destination was always in black and bold, the metro station names were inclosed in H2 tags and were white, etc.).
Needless to say this was a rather painful and time consuming process, but eventually it worked and I was able to update the app with a functioning version before the jury took place.

As far as the contest was concerned, after a while SFR contacted us explaining that given the number of submissions they had received for the contest (26), the 4th and 5th prizes of 7000 and 3000 euros would be replaced by “special prizes”. I did not make it to the top 3 but at least, I got (another) webOS phone ^^

All bitterness aside, here are the user guide and description of the application I sent to the jury (in French)

Click here to download the PDF file