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) 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. 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. 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)
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) 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. 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. 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)
|
|
In case all of this sounds too familiar, this functionality was included in Google Now in 2013 (the contest took place in 2010). It would be flattering to think I had the idea before Google, but to be perfectly honest, I think this was actually supposed to be included in webOS, and I think I heard about it in one of the keynotes where Palm presented the OS. Strangely enough, I haven't managed to find mention of that specific feature anywhere, and when I realised it hadn't made it to the final version of the OS, I decided to re-use the idea for my own app.