Friday, 4 April 2008

OverTheAir: Case Study: PrimeSky -- Bringing Web 2.0 to Mobile (Tom Hume & Bryan Rieger -- FuturePlatforms)

A webservice to let people find out what’s in the sky that night… oh, and it has to work on mobile too! How do you fit Space onto a mobile phone? And we want to open source it at the end of the project.

How do you orientate people? How do you display constellations on a small screen?

design process:

  • put stuff on paper first — it’s easy to change
  • iterate with real people
  • get it on a handset as soon as possible
    • initially simple PNG files (look like a simple web page) to check expectations on single pages
    • then some simple HTML to check out navigation, with SVG images showing constellations and context

development process:

  • went through at least 3 iterations of the database schema
    • avoid database-driven design
  • needed to present images in a house style, easy for creation and working at different scales
  • technologies: Symfony PHP, WURLF+WALL4PHP, ImageMagick all on a LAMP stack
  • subjective scaling: manipulating SVG files to keep captions and stars large but overall image small
  • rendering SVG to appropriate format for mobile using ImageMagick
    • then cache pre-created images for a while
  • added in microformats:
    • events for days — every page on the site has a little API in it
    • transformed to vCal on mobile devices — allows you to bring something direct into your phone calendar
  • also provide JSON, YAML, XML, serialized PHP feeds by just adding ?api=xxx on the end of the RESTful URLs (search API is also exposed)

Development took about 7 weeks for one developer.

conclusions and questions

  • look for design solutions first (over and above technical solutions)
    • e.g. orientation
  • you don’t get a choice of which version you want — it’s always the one for your device
    • e.g. iPhone gets a widescreen mobile version, not a zoomable full web page
    • Tom: “the iPhone has a kind of split personality — it’s billed as full web on a phone, but the big sites all have iPhone-specific versions”

There’s also an SMS and email alerting service for interesting events.

Launch date: soon...

See the whole presentation:

3 comments:

Nistor Mihai said...

Hello :) how did you integrate wall or wurlf into the symfony framework :) do you have some libs to give :)

Adam Cohen-Rose said...

You need to ask the FuturePlatforms guys. I know that they said they would opensource the project at some point in the future, if you can wait :-)

Nistor Mihai said...

Thanks a lot :) now let's see if I receive any response :). Anyway if I won't receive I think in 1-2 months I will develop one of myself :p Ps: Wall4Php is not that perfect anyway :)