When someone says “mashup”, 90% of people in the room think of google map. And true enough, when we participated in the Mashup Australia contest, all three mashups/apps that we built make use of google map. Now lets hear about our experiences in building mashups for the Mashup Australia contest.
The first mashup that we built is Centrelink Offices Near You. It’s an iPhone web application which makes use of the Geolocation API to find out nearby Centrelink offices. Geolocation is supported by iPhone Safari browser and therefore, it allows users to provide their location to web applications accessed via the browser.
What is special about this app?
The overall goal of this app is not different to many other apps that are already available – find places close to your current location (be it offices, schools, cafes, stores, public toilets, bus stops, etc). However, the beauty of this app is that rather than having to tell the app where you are by entering your postcode or an address, it automatically detects your current location using the built-in Geolocation capabilities. This is also very handy when you are on the go but you don’t necessarily know where you are. We wanted to build an app that is not already in the market, and one that will showcase what new technologies could bring without impacting the overall goal. We also wanted to support the Government 2.0 Taskforce initiative and show just why open access to Australian government data and information are good for the country’s economy, society and consumers.
Technologies we use
Google Map API
To obtain the look and feel of a native iPhone app for our web app, we use iUI: iPhone User Interface Framework. We have used iUI for all our iPhone web applications and it’s pretty good. Just a few negatives that we noticed with iUI framework are that it invalidates your markup because it uses a proprietary attribute
selected="selected" on div elements and form input elements look quite out of place on any browsers other than Safari. Other than that, it’s very easy-to-use, dynamic and has a lot of examples on the web.
We use LAMP environment which consists of Linux, Apache Web server, MySQL database and PHP Server-side language. The high-level architecture is pretty simple; a MySQL database that contains data about centrelink offices in the country with geo-location information, a web application in PHP that queries the database for centrelink offices close to a specified geo-location, and a RESTful web service that returns an HTML result onto your mobile phone. The RESTful web service also returns data in KML format for using it in another application, eg: Google Earth.
Using the exact same code and technologies used in this application, we applied it to another dataset (Medicare Offices in Australia) to demonstrate the reusability and adaptability of the concept and code. The end result is Medicare Offices Near You, the 2nd entry we submitted for Mashup Australia.
Part II will talk about Google Map + Flickr + Wikipedia mashup that we built, called Historic Australia – Interactive Photos Map.