Wednesday, 20 May 2009

Kizoom team at Yahoo! Open Hack London 2009

For the first time, I managed to convince some other Kizoom developers to come along to a weekend developer event. Dan, Matthew, Neo and Joyce joined me for Yahoo!’s Open Hack London 2009, and Neo’s friend San brought a much welcomed Lego Mindstorms set to the party.

Our team. Image courtesy of Nate Lanxon, CNET UK

And it was a pretty good party (though strictly a geeky one), complete with beer, music, snacks, giant Jenga and scalextric. There was even a fantastic live band (this being a geek party, the band consisted of guitar and Nintendo Gameboy…) and an iPhone orchestra:

But the most fun was the hacking. There were some absolutely stunning hacks produced over the weekend — better than both Hackday 2007 and Over The Air — and the Kizoom team had a great time playing with sticking things together for the hell of it. Mindstorms especially is great for hacks — you can run a Java VM on the programmable brick (see http://www.lejos,org) and then send it Java applets over Bluetooth. You then start attaching motors, microphones, light and distance sensors and building up the model with Lego pieces. Making silly things is fun and easy, and if you want to get serious you can even build a Rubik’s cube solver! We built a robot finger that pressed a button on a keyboard when it hears a loud noise (like playing a bongo drum!).

Since there were six of us, we pulled in other bits of hardware to play with as well — a Wiimote strapped to a scooter (ridden by Dan) sending its motion via Open Sound Control and Processing to a MacBook; and a JavaME app on a cameraphone with some image recognition to identify the omnipresent Hackday beanbags. Dan and Matthew built the hub of all these hacklets — a browser driven by Selenium, in turn driven by simple web services.

Aside from having a great time, both learning and building, we were very pleased to win the prize for “Most Awesome Hack”. I’d really like to include a video of our presentation, but that’s not available yet. In the meantime, here’s a few pictures of the various components:

The Fabulous Human Powered Browser Dan operating the scrollbar by riding the Wii-equipped scooter

The hacking itself was preceded by a morning of seminars on various Yahoo! and other APIs. I’ve included my notes below on the ones I attended in case anyone finds them useful.

GeoPlanet

Martin Barnes — Data Manager, Yahoo! Geo Technologies, UK (based in Shaftesbury Avenue)

barnes@yahoo-inc.com

Slides available

  • Most of the named places on Earth + relationships that tie them together
    • Not down to street level — just towns, villages & suburbs
  • Not a geocoder — provides you with some idea of the centroid of the object of interest
  • Official databases such as USPS also have weird and wacky data that doesn’t really exist in the real world — database
  • Integrates with Flickr & Fireagle so can expand on WOEIDs from these
  • Telephone area codes also included — don’t have exact boundaries, but can find out which cities are involved
  • WOEIDs sometimes get deprecated, but the API still responds to them — it just forwards you to the new authoritative WOEID
  • Each API key is limited to 50K queries a day
  • Have neighbour relationships for cities and towns
    • mainly for US, where they just spread one into the other
    • but also useful for other places
  • Can return GeoJSON: http://geojson.org/
  • GeoPlanet Forum constantly monitored
  • UK postcodes data is currently about 3 years out of date since Yahoo! are refusing to pay license…

Future plans

  • Plan to have data in some sort of escrow
    • depends on licensing deals with Navteq etc
  • Plan to integrate Geonames data
    • Original WhereHaus was based on Geonames but branched from it to get other sources
  • Plan to have user-based input, like Geonames

RDFa

Mark Birbeck mark.birbeck@webBackplane.com

  • Allows RDF to be embedded in web pages using attributes
  • Can attach license information to an individual image:
    • <img src="blah.jpg" rel="license" resource="http://creativecommons.org/license..."/>
  • No need for separate feeds
  • Helps for federated sites — just add markup to output from different systems
    • Can then pull together disparate outputs
  • Have built extensions to Drupal to add RDFa to contact details, etc.
  • See also OpenCalais http://www.opencalais.com/about by ThomsonReuters
    • identifies entities, facts and events in unstructured text, XML & HTML
  • See samples at http://code.google.com/p/ubiquity-rdfa/source/browse/#svn/trunk/_samples

Search Monkey

Neil Crosby — European Frontend Architect for Search at Yahoo

Slides available

  • extensions to Yahoo’s search engine: extend search results — making it easier for the user
  • users choose to install additional search monkeys from http://gallery.search.yahoo.com/
  • also supports XSLT that can transform whatever you want from the source page
    • e.g. if you have tables, you can pull them out as tuples
  • not done a huge amount of publicity to users about specific monkeys, but have turned on a bunch of monkeys automatically for all users
  • can also develop a monkey for your own site — can add to a header (see documentation somewhere)
    • in future may want to turn that on automatically

Blueprint

Ricardo Varela — Mobile Integration Engineering Lead, Yahoo ricardov@yahoo-inc.com

Blog: http://phobeo.com/

Presentation and handout available online.

I first learnt about Blueprint at Future of Mobile 2008 back in November last year, and Ricardo’s presentation was similar then. He understands the problems that are faced in mobile development, and Blueprint, like Luca Passani’s WURFL-based WALL, seems like a reasonable way to go forwards. However, it’s all down to the implementation and the edge cases and that’s a lot of hard work.

Quite a few people used Blueprint in their hacks, but didn’t actually demo on mobile phones (other than iPhones…). Dale Lane actually tried to make it work on Windows Mobile & Android G1 and had a horrible experience. When he visited his Blueprint site from his Windows Mobile browser, he actually got a message telling him to download Opera instead! That kind of ruins the point of a cross-browser system…

Yahoo!’s recent announcement that they’re killing all non-iPhone mobile native app development may point to Blueprint for mobile web getting stronger within Yahoo! But the promised native clients for BlackBerry and J2ME may now be dead in the water.

Anyway, here’s my notes from the session at Hackday:

  • Now gone to v1.1
  • Yahoo Mobile used to be text only, now graphics and styles etc.
  • some Nokia browsers won’t show tables unless you specify a doctype
  • video encoding for 40+ different mobile formats
    • currently only for videos hosted within yahoo.com
  • slideshare did mobile site with blueprint — created in 24hrs
  • similarly, http://m.fynbus.info/ — mobile version of buses in Fyn, DK
  • 1 out of 3 iPhone users has Facebook
  • Android and iPhone native wrappers still in development
    • were in development in November last year at Future of Mobile, so not that much progress…
  • this first release doesn’t have style customization
    • thinking about it — but can’t just support CSS, will have to have some subset
  • Some Blackberries are not standards-compliant for cookies
    • use commas not semicolons
    • if not in Blueprint now, can be added