Some recent projects…

London Bus Countdown

London Bus Countdown

After discovering that TFL had made available, realtime arrival data for London's 19,000 bus stops, I deciced to have a go at making an HTML5 Mobile app. At the time, the data was available from TFL's website as a JSON feed, powering their website's map. I wanted to use this data to feed a mobile friendly implementation, making use of some of the new JavaScript functionality made possible by HTML5, such as Geolocation, Local storage and Application Caching.

Users can add the app to their homescreen for quick easy access when they are out and about in town.

Feeding the data to the app required some sort of web-service, so I made a Python server to route the AJAX requests so that they can be on the same domain.

The app makes an initial request to locate nearby bus stops, and then another to load the countdown data when one is chosen. With mobile, response time is critical, and proxying webservice requests is slow. The only real-time data are the countdown times, not the locations of the bus stops. So I decided to store the locations in a database, cutting out a time consuming step.

Running the app on Python was quite new to me so I thought I would try something else new for the database. So, document based (hipster friendly) noSQL database MongoDB stores the locations of the bus stops, and serves up search results in a few milliseconds. Leaving the only time consuming webservice requests just for the real-time countdown data.

  • HTML5 + CSS3
  • jQuery Mobile
  • JavaSript
  • Python, (Bottle framework) + Tornado server
  • MongoDB

The Ethical Chef

Ethical Chef

Deri Reed is a Cardiff based thought leader in vegetarian cooking. He approached me in need of a site support his flourishing social media presence.

The site is a WordPress blog, which allows Deri to publish his appearances at various events, and to discuss ideas with his followers. The blog is closely linked with Facebook via a selection of Social plugins, and the site enjoys a lively up to date stream of discussion.

There is a regularly updated recipe section, which has a strong SEO focus. This type of content provides an opportunity to further target search engines using special semantic recipe markup. Facebook's Open Graph meta-data allows people to like content that refers to an actual recipe. The recipes themselves are marked up using a micro data format designed for recipes. This has meant that some search engine results pages recipes are displayed in a Rich Snippet. Providing an all important reason to click.

A google rich snippet

  • Design
  • HTML + CSS templates
  • WordPress Build
  • SEO

RAF Benevolent Fund

1940 Chronicle

1940 Chronicle

The RAF Benevolent Fund came to Reading Room with the task of creating a site to help them to engage with a younger audience. The solution was to blog and engage socially with the younger audience by adopting the persona of a set of characters experiencing the Battle of Britain first hand, through the medium of the 1940 Chronicle, fictional a newspaper, reporting events as they happened, 70 years ago.

I worked on the visual design and build of this site, which is a WordPress blog. The site features a number of personalised templates, one for each of the characters, and the newspaper styled homepage.

WordPress was the ideal tool for this, and with a bit of caching, some planning, and a nice big Amazon server; the site stood up to some large volumes of traffic. Particularly when Stephen Fry Tweeted about it.

  • Design
  • HTML + CSS templates
  • WordPress Build

Wotton Swimming Pool Ltd.

Wotton Swimming Pool

I have been responsible for the web presence of this venerable sports facility for over a decade. My first website, and for many years this has been a testing ground for new skills and technologies. As it stands now, a change of management from the District Council to a Non Profit Company, necessitated the speedy creation of version 6 which is now managed by WordPress.

One of the challenges for the new management has been a need to organise the volunteer resource effectivly. The original solution took the form of a book in a shed, and whilst it was central, it's accessibility was not optimal.

As part of the WordPress theme, I created a login controlled area featuring an online tool where members of the volunteer group can log in declare their availability and view their sessions. The pool manager can then, by means of a different membership role on the site, assign who should cover each session. An SMS gateway provides reminders to people who request them prior to their session.

Also linked into this database driven application is a public facing booking facility. Public site visitors can view and request free slots in between scheduled public sessions and other bookings.

  • Design
  • HTML + CSS templates
  • WordPress Build
  • SMS gateway (REST API)

Can I Park it

Can I park it?

After a frustrating Boris Bike trip one evening, I realised that getting rid of a bike at the end of a journey is actually more critical than finding one in the first place.

A bit of Googling revealed a whole community of Boris Bike data enthusiasts, and I found that someone was running an (at the time) un-official availability API. Using Yahoo Query Language to handle the XML data and a cron job I began collecting data. I then created a little app using CodeIgnitor and Google Maps to show the docking stations where parking could be difficult over the course of the day.

This has been my first Boris Bike app, and as a massive cycle geek I am sure there will be more!

  • YQL
  • Code Ignitor
  • JS/jQuery UI, Google Maps