What on earth is a Hackathon?
It’s pretty simple; a group of interested people get together and try to tackle a problem, usually involving technology. They divide into groups, each with a problem to solve, and have 24 hours to take it on.
At this year’s SARScene conference in Prince Edward Island, Irish software developers D4H Technologies sponsored the first ever Search and Rescue themed hackathon, and I was hooked – since I’m am independent software developer (my company is Blue Toque Software) and SAR volunteer (with Coquitlam Search and Rescue) it was pretty clear this was an event geared toward my strengths.
The hackathon started with introductions from the attendees and people who had ideas to tackle. These included SAR volunteers from across Canada, and several members of the local PEI Developer community who graciously lent their technical expertise to the projects.
After a short discussion of different problems I found myself partnered with a group consisting of myself and another SAR volunteer, a GIS Specialist, a mobile developer from Antris, and a technical specialist from the flight simulations and training firm CAE. We chose a fairly simple problem that had been proposed by a New Brunswick SAR Manager named Norman Deschamps.
This was a truly national effort with members from Quebec, BC, and Ontario, an idea from New Brunswick all at a conference in PEI!
The scenario we tackled was this.
Build a system that works offline and allows users to arrive at a task, sign in, go into the field, record a GPS track, come back to the command post and upload the track, all with their mobile device.
Having just got off a plane the day before from Vancouver I felt that perhaps I was at an advantage being on Pacific Time – the hackathon officially started at 5:30 PM in PEI, but it was only 1:30 in Vancouver – the middle of he day for me.
The other major advantage we had was that I had already written a prototype system that handled some of the use case described above – part of my job sometimes involves learning new systems and as part of my work for a client I had developed a way to host a web site offline on a laptop and synchronize the database back to the online system when a connection was available. This prototype also contained a simple sign-in and sign-out functionality.
By 3AM PEI time (only 11PM in Vancouver), with the support of coffee from the sponsors, and a delivery of beer from Prince George SAR the three developers left standing (a generous description) packed it in for a 3 hour nap.
Down to the wire
Back at 8AM, we had till 4MP to “integrate” the solution – take the various parts and make them all work together. In our case the parts were the mobile app (aka “the client”), the web server (aka “the server”) and the mapping solution. We had a deadline of 4:30PM when we would have to demo and present to the other teams, after which the projects would be presented at the SARScene trade show.
In the best spirit of hacking our team worked down to the last second, with one of the final bugs found and fixed mere moments before we had to present the project. This may not sound exciting to non programmers, but the level of spirit and cooperation in the room was very high. We moved on to the presentation, and then the trade show where we learned that the public would be voting on which project they thought was the best or most interesting.
It turns out that our team was the most popular with the people who were voting, and so “Team SAR” won the hackathon. ESRI Canada graciously provided a prize of an Apple TV which was received by our member from Quebec, Thierry Des Trois Maison.
Presenting Blue Diamond
We called our solution “Blue Diamond” after the diamond like appearance of the mapping symbol for the Incident Command Post (ICP). We realize that this is actually a square, and that the blue portion is a triangle, but the name sounded better as a diamond.
The solution consists of the aforementioned web server that can be run on a laptop, and a mobile app that can run on iPhone, iPad, Android, and other platforms. Users with the app pre-installed can arrive at the command post and log in through the local WiFi network without access to the internet.
Users can then head out into the field and use the app to record their GPS track. When they arrive back at the ICP the track is uploaded to the server with a single click.
The server also has a feature where it can “push” (automatically update) the list of members who have signed in so management teams on the local network can see this update in real time.
Now, the system is a prototype and doesn’t have anything you can easily download and install unless you are a developer. But the most amazing thing about the project is that the entire thing is open source which means anyone can take the code and adapt it as they wish, or contribute to make the project better.
The code for our project and all of the others is available on GitHub.
The group who worked on the project including myself are eager to take this and make it into something that can actually be used by end users. We’ll be sure to announce any progress we make through various channels so keep an ear out if you are interested, and stay tuned for SARScene 2015!