About Rate-a-Loo
What is Rate-a-Loo
Screenshot of Rate-a-Loo version 0.1 31 October 2009
Rate-a-Loo shows the location of public toilets in the ACT - along with some descriptive data, and ratings and comments from the public.
Rate-a-Loo was created as part of the inaugural Govhack event in Canberra. The goal of the event was to take public datasets (mainly provided by government) and find ways of transforming this data into something that more Australians can make use of.
Rate-a-Loo is a modest example of what can be done. It uses the TOLT - Public Toilets (ACT) data set, the Google Maps API and a standard LAMP server environment. It was created in less than 24 hours by one person - version 0.1 was released at 15:03 October 31, 2009.
Note: I've just found this site that does the same thing as Rate-a-loo! www.ratetheloo.com. Unintentional imitation I promise - and proof that making data available like this means that many people can use it.. There are a few things that I plan to add to Rate-a-Loo that will distinguish it a little from this original version.
Why Rate-a-Loo
In the realm of mashups - this is a very basic application. Placing points on a map is de rigueur - more creative use of data should really be the aim of a good mashup. With this in mind - I have tried to demonstrate how a dataset can form the core of a social application. Rate-a-Loo depends on members of the public providing a measure of the quality of each toilet. Crowd-sourcing in effect. Without this - you would be better off using http://www.toiletmap.gov.au which contains national data (and seemingly more data for the ACT). There is the potential for an app. like Rate-a-Loo to enrich the seed dataset with real world observations made by the public.
Once the door is open to gathering input from users - you have the facility to create a much more interesting application.
Who made Rate-a-Loo?
Rate-a-Loo was created by me, Gavin Tapp (find me on twitter @wingedmonkeyboy). I have been working with the web for around 10 years. Most recently as the Webmaster for Lifeline Australia. I have a really broad range of skills and experience - but my expertise is limited in a lot of areas. Some might say 'jack of all trades, master of none'. Hacking together an application like Rate-a-Loo exposes a lot of the things I'm not good at :) . One day I'll try out this object oriented programming lark .. until then functions will do ..
What were the challenges?
The dataset available for Toilets in the ACT used a geolocating dataset based on a reference to Mt Stromlo - rather than the usual lat and long. Thankfully I had some help from fellow #govhack'ers @ignitesydney and @LdsVegeta to convert this data
It also took me too long to parse the converted data from XML to a format I could add to my database. Note to self - work with XML/KML more often :P. (2nd note to self - KML is really interesting and you can do cool stuff with it.)
The biggest challenge may have been finding a good project to work on. It is essentual understand the purpose of an application - what problem it is going to solve - before you start working. In this case - we had a bunch of smart people, with new datasets - looking for problems to solve. Pushing random datasets together is a good challenge - but is not necessarily going to produce a compelling web app. It would be great if the next event like govhack posed a number of challenges that teams could aim to solve (but at the same time, there also needs to be a 'free for all' approach where smart people can inspire each other and go in unexpected directions :) ).
What is next for Rate-a-Loo?
There are lots of things that could be added to Rate-a-Loo. Here is a list in no particular order:
- A national dataset
- Improve the user interface to make it more appealing and easy to use. This would include incorporating some iconography to illustrate the different facilities and ratings for a toilet.
- Incorporate Google street view style imagery to help locate, or report on the condition of a toilet.
- An iPhone / Android version of the app that allows people to access the data from mobile devices. In addition to the usual find and rate toilet functions, it would be cool if the app allowed the user to record the GPS location of toilets that are missing from the database.
- A subscribe function that allows the user to be notified of ratings for a particular loo - Mainly with the intention of using Rate-a-Loo to alert local councils if a toilet is in poor condition
- More accurate geographic data - many of the map points in version 0.1 are poorly located. (@ignitesydney says this is because it wasn't clear which reference point was the right one to use when converting the original dataset's geodata to lat/long.)
- The PHP was written in a rush, in the middle of the night - so it could use a good clean up. I'd post snippets here for people to use - but it might be too embarassing
Updates
23:25 10th November 2009
- The KML file is now generated a few times per hour, rather than on demand. It was only taking a second or two to generate, but it was causing the map to load without
markers - making the whole experience a bit pointless.
- Moderation now applies to comments and new toilets (I know its a funny topic - but a few of the comments may not have made everyone laugh). Ratings appear next time the KML file is generated. Moderation will happen every day or so.
- If you rate a toilet - you now see a zoomed in map of the toilet location
- tweaks to the css
23:25 5th November 2009
- You can now add more toilets to Rate-a-Loo. The page here lets you locate a loo on a map, enter details and then save. I'll
be moderating new additions to Rate-a-Loo just to see how people use it. At Govhack - sherro58 pointed out that one of the map pins based on the data from the ACT government seemed to indicate that there was a public toilet in the front room of one of his friends! Not ideal! So I'll check each new entry to keep people's homes safe from people seeking relief.
- This also releases Rate-a-Loo from Canberra - it could now serve any location. (This will probably require a change to the main interface to include a search function.. and some sort of clustering / marker management .. )
- The geocoding widget used to add a new loo may also be useful in allowing people with local knowledge to move toilet locations that are already in the sytem to the exact location of the loo. This will be handy, as the seed data I started with is not very accurate. I'll explore this next.
23:52 3rd November 2009
- Added some flickr api stuff. Its my first time doing this - so fingers crossed. Its now possible to upload images to flickr from Rate-a-loo and have them tagged to match a toilet. Rate-a-loo queries flickr when its building the KML file for the map, and when showing the detailed page for each loo. As you can see here. Uploading seems to be working ok - but there are still some bugs. Images aren't always found/loaded, and sometimes the map points don't appear on the map. I think this is falling foul of caching somewhere in the system.
17:29 3rd November 2009
- Added some CSS and images to tart things up a little.
- RSS feed added to each toilet that will keep you up to date with any new ratings. This seems like a silly idea - but it fits with the idea that this type of system can be used to provide feedback to government (and others) that may be involved in maintaining these facilities
- Working on a flickr feed for each toilet, and the facility for people to add their own pics of a loo.
Things that might be useful if you are making something similar