Saturday 5 April 2008

OverTheAir: Hacking Competition & Presentations

Lots of people stayed up overnight to hack mobile applications and there were some very cool results.

I tried out building a mobile widget using the Nokia Web Runtime. This is an application environment on recent Nokia Series 60 devices that uses the WebKit browser with various extensions. You write widgets for it using JavaScript, XHTML and CSS (just like any other widget, but, as always, slightly different to the other formats). In fact, I started off building the widget using Apple’s DashCode — a web application builder for the iPhone. This comes with an interface builder that allows you to drag and drop controls onto the screen and wire them together.

Getting the control logic to work took a bit of getting used to — as with all interface frameworks, there’s a learning curve where you build up understanding of how the pieces are supposed to fit together. In the DashCode case, this isn’t helped by the lack of any documentation for the interface controls. However, the development environment more than made up for this — there’s a very capable Javascript debugger, complete with an interactive console, and it’s very easy to start and stop your widget in the iPhone emulator.

I used prototype to power up the Javascript side — making the Ajax calls to our server much easier and enabling some mucking around with the results to provide some pretty formatting.

Once I’d got the basic application working in DashCode, I took it across to the Nokia Web Runtime environment. This provided some extra features such as storing preferences between invocations so that the widget could start up straight into showing you the departures that you’d chosen previously.

I found the Web Runtime very effective, and it fills a very useful niche for simple, web-connected apps on recent S60 phones. Development time is fast and you have access to a reasonable amount of the phone features, though nothing quite as useful as location or the address book (as yet).

My hack won special mention in the “Most practical / ready for market” category — runner-up to the SNOB address book picture enricher. I’ve included a movie of the widget in action (within an iPhone environment) below.

<a href="http://cohen-rose.org/gallery2/d/7132-3/Kizoom_Team_at_OverTheAir.mp4?g2_GALLERYSID=69af5451e496bcfa9a187362a1849331">Download movie</a>

Some other hacks were:

  • PimPam — social BBC programmes
  • 21st Century Fridge Door — text & MMS to a shared web space
  • Location-based games w/J2ME — e.g. capture the flag
  • Social Tracker — basically just captures where you are to a database…
    • seems to use Google Maps in a browser to capture the current location
  • Flat Music Player UX design — zoomed out user experience — see the album art very small and in specific places on the screen
    • uses sense of physical location rather than words
  • Twitter client for Windows Mobile today screen
  • Browser Sync while ActiveSync’d — nice!
  • YourLocal - displays the local transport stops around Imperial College
  • FuturePlatforms — Octobastard robot — you have to see it to believe it :-)
  • SNOB: Social Network Open Butler — add pictures to your address book from social network avatars (web service outputs XML independent from social network)
  • Autowigificationizor (Owen Griffin) — click a firefox button and get a web runtime widget generated for you based on the RSS feeds for that web page
  • MixItUp — cocktails in Flash
  • Bluetooth + FOAF — unique ID from hash of bluetooth ID & device bluetooth name; can revoke it by changing your device bluetooth name; get a list of all the people you came into contact with at a conference
  • Update FireEagle location from command line, then display it on blog
  • LastMinute Labs — PhonePhight with motion detection & bluetooth — very cool!
  • Torchwood Sweded — again, I think you just had to be there…

No comments: