NICS ICT 2015 Hackathon
Kainos sponsored the Hackathon at the Northern Ireland Civil Service ICT Conference 2015 where five teams had 24 hours solve a real-world problem faced by the public sector. Stephen Anderson, a Senior Software Engineer at Kainos, was one of the developers who took part in this inaugural event, and this is his story.
The NICS ICT Hackathon 2015 was brilliant! I’d never been to a hackathon before and although I was excited about the prospects of working late into the night on a 24 hour mini-project, I was also quite nervous before the event. What if we don’t get our project to work before the deadline? What if I let my team down? What if we can’t come up with a decent project? Etc. etc. etc. Daft thoughts really now that I look back on it because everyone that I met there was enthusiastic and willing to help each other.
The event kicked off with presentations from a number of NICS department representatives. Each presented their idea or a real-world-problem to the room in the hope that one of the teams would take an interest in it and build them a software solution. This was one of the aspects of the hackathon that really appealed to me because it is the diametrical opposite of what I am used to as a developer. Usually the client or product owner knows what they want and it is up to the developer to ensure that they deliver that. In the hackathon, however, the developers have the freedom to create whatever they want in order to solve the client’s problem. This opened up new possibilities for collaboration and creativity between clients and developers in unique and interesting ways.
My team consisted of Síona Murray from Kainos – a software engineer and Big Data specialist; Dean Gordon – an experienced .NET Developer from the Department of Finance and Personnel, and me. There were 15 ideas, suggestions and problems presented by the NICS department representatives to choose from. In that moment, we knew it was going to be a hard decision to make and with such a tight deadline it was a choice we’d have to make quickly and commit to. Some ideas sparked our imagination: a “What’s On” app to help members of the public find events put on by local councils near them; an app to find emergency contacts relating to services in a person’s local area; a way for members of the public to easily gain access to out of hours GP contact details nearby; a job application processing solution with part of that centring on finding jobs near the potential applicant.
So Síona, Dean and I took a bit of a risk. Rather than picking one of the presented ideas to build a solution for, we decided to build a project that would tackle a common theme that ran through the various potential project ideas: the need for members of the public to find government services, events, contact numbers, jobs, etc. that are “near me”.
There were several aspects to our solution that we wanted to achieve:
We decided to display information in a map where users can select criteria for what they are looking for and the system would display markers on the map for matching items. These include services, events, contact numbers, jobs and other locational information.
Clicking on the markers displays additional information including links to external sites. In this way, we direct users to information on existing relevant governmental department websites, rather than trying to replace them. This is important because our solution only aims to enable the finding and discovery of location-relevant information, not to provide low-level, detailed information.
We chose to give users the option of either clicking on a map or typing in an address in order to add locations.
Multiple events can be added to a single location – useful for the likes of entering emergency pharmacy opening hours on public holidays.
Not all users will be able to use maps, so although this was our preferred interface for the primary user base, we created a page to cover the same functionality for users as the map-based interface. This was in a tabular format that would work with screen readers or for users who cannot use a mouse. Tabular data includes calculated distances in miles between users and the locations.
The solution we built takes into account the Local Government Districts (LGD) of users and event or service locations. This enables our solution to provide the ability to display the nearest services that are relevant to the user, even if the nature of a service is relevant only to users within a Local Government District. We achieved this with the help of Damien Robinson of Spatial NI and his very clever web services.
Everyone will want to use this application on a mobile phone as well as on a laptop or tablet. We therefore built our solution to use responsive web design so that a single deployment could provide a user interface relevant to a desktop or a mobile device.
Whenever a user searches for items matching a selection of criteria, our solution saves a record of the user’s location and their criteria selection. This provides meaningful and relevant data that can be analysed to show location-relevant discrepancies between what citizens are looking for, and what government departments are providing. For example, our solution could show a heatmap of locations where councils are hosting events for children aged 7-12 and a heatmap of locations where people are searching for events for children aged 7-12.
Such data, represented like this could inform councils of such discrepancies in a manner that does not require any technical data-analysis skills and could aid in their efforts to improve the services they provide, based on the requirements of the citizens.
On the first day, we worked a solid 17 hours and then another 5 hours the next day, up until the cut-off time. The atmosphere was relaxed throughout, with plenty of pizza and caffeine to keep us fuelled. Wayne’s World, Happy Gilmore, The Addams Family, and Zoolander playing on a big screen in the background adequately reflected the general happy mood of the hackathon participants.
I was blown away by what the other teams came up with. It was amazing to see so many useful, creative projects completed in such a short time. I totally recommend the experience and would be very keen to participate in similar events in the future.
Stephen is just another typical surfer / musician / programmer from Durban, South Africa. He joined Kainos as a Senior Software Engineer in April 2015 and has been working on a variety of NICS projects in our Enterprise business unit. He thinks his job is too much fun to call it work.
Sign up to the Kainos newsletter