In order for an Open Data platform to have any sustainability it must have a community around it that consumes its data, be that the public or developers creating applications that people then use. This second CodeTheCity event saw that community begin to form around the MatchTheCity platform.
The second CodeTheCity hack event took place in Aberdeen over the weekend of 18th/19th October. The event had the loose theme of sports, fitness & wellbeing. Once again the event was well attended with a good mix of developers, designers and, most importantly, people with problems to solve.
My main involvement was with the MatchTheCity platform so the rest of this article is related to it rather than the wider CodeTheCity event.
The first CodeTheCity event saw the creation of the MatchTheCity platform in response to the request of a generic platform for matching people to reoccurring opportunities to do things – be those things exercise classes, swimming sessions or blocks of volunteering. Since then, via my on-going development and an appearance at EdinburghApps, it has evolved into a usable platform containing details of sports and activities classes both for people to browse and for machines to read via a simple API.
The community forms
Several teams came up with projects that made use of the sports and activities information the platform provides.
The range of projects developed by teams using the API included:
- An automated Twitter account that tweeted upcoming classes and randomly included an image found online relevant to the class.
- A matching service to allow people to find people to take part with / against.
- A web front end for viewing the classes.
Part of the plan from the start was to have the ability for people to rate the exertion level of each activity. This would allow the community to contribute to the data we have.
I added a new model to the MatchTheCity Rails app to represent exertion votes for each opportunity. This allowed each opportunity to have an overall exertion based on the average of the votes.
The API docs were then updated and the new functionality was in place for any of the development teams to use as they wished. The web front end was also updated to display the ratings and allow votes to be cast by users.
The trouble with users…
The euphoria of having developers using the API was mixed with the pain of supporting developers using the API.
Throughout MatchTheCity’s development I had been maintaining a very basic set of API docs. These were more as a reference for myself as I made use of them from the various mobile apps I was developing. However now I had developers who didn’t have direct access to my memory (I hope!) I had a responsibility to create a full set of API docs. Being human though some mistakes did creep in, but at least it confirmed people were reading them.
Another joy of having users is that they ask for things that aren’t there. On one hand it does confirm that some of the future plans I have are relevant. On the other it acts as a prod to implement some of the things I’ve constantly been putting off, although it is very handy to be able to point people to the MatchTheCity GitHub Issues page and ask them to enter their requests there.
It took its time but finally MatchTheCity got a logo thanks to Jen, our Code for Europe Design Fellow. No more egg on Twitter or plain text on the website.
Restructured home screen
Inspired by Helsinki Loves Developers website I’d been shown on a recent visit to Forum Virium Helsinki, I wanted to create the start of a community hub on MatchTheCity’s home page. This is very much a work in progress but looking at it you should be able to get the idea.
Edinburgh data issues
One of the developer teams attempted to use the Edinburgh dataset in their project. However due to some non-standard characters in the data it caused their software to crash. This raised the as yet unanswered questions:
- who is responsible for cleaning the data?
- how are errors fed back into the system?
- who gets the error reports?
- who fixes the data?
Active Aberdeen iPhone app
Not only did I get a chance to work on the development of the MatchTheCity server during CodeTheCity but I also had time to become part of the community and play with its data by demonstrating how quickly a native iOS app could be thrown together that allows people to view information within those machine-friendly Open Data APIs.
I extended the prototype iOS Active Aberdeen app to download all opportunities from MatchTheCity for Aberdeen and then display only those occurring for the current day of the week. Because this data was cached locally it meant information could be viewed as the week progressed without going online.
The app also displayed information about the class the opportunity represented, including a map showing the venue’s location, its sweat rating and a photo relating to the class if it existed in the data.
So overall the second CodeTheCity weekend was very productive in sowing the seeds for a community around MatchTheCity. Why not take a look and be part of it yourself?