If the word Marathon conjures up the image of super fit athletes scaling the impossible distance at a breakneck speed, the word Hackathon will surely conjure up the image of super geeky programmers typing away in front of a computer day and night without a break; in other words, not something for mere mortals. As it turned out, real world hackathons can actually be quite fun and not at all exhausting. And that was my experience with the Rhok’s hackathon that took place the weekend of June 4/5.
Rhok stands for Random Hacks of Kindness. A lot of times, people in the front line of disaster relief, and other humanitarian activities encounter problems that they cannot solve for lack of technical skills. On the other hand, it is more commonly acknowledged that engineers (and computer programmers included) like to solve problems. So why not get the two parties together, and create something that solves real problems? And Rhok was born. Besides connecting people via the website (http://www.rhok.org),they also host hackathons to bring members to work face to face with one another. June’s Rhok hackathon was hosted in 30 cities around the world. All sites were in active contact with one another throughout the weekend. It was quite cool to walk into the event, and hear people say, “We just heard from Bangladesh. They are just about to wrap it up for the day.” Given that the funding of Rhok was completely based on donations, the event was not hosted in a glamorous hotel, but within 4 classrooms on U of T campus. The organizers did a fantastic job taking care of all the details, from food preparation to about a million extension cords for people’s laptops. There was no entry fee, but registration is required. Participants need to bring their own computing supplies (laptops, batteries, power connectors, etc.), but breakfast, lunch, and first day’s dinner were provided. For the zealots who still enjoy the occasional university-style, the-night-before-the-assignment-was-due, code-code-until-you-drop frenzies, there were virtually unlimited amount of coffee, pop, and candy to carry you through the last mile. There was presentation for each project starting at 3 o’clock on the second day to decide which wins the first, second, and third prize.
The challenges that people tried to solve should be from the Rhok website. Participants can choose any problem they wish to tackle. They may use any programming language or technology. They may choose to create the actual implementation, or just do a requirement analysis of the problem. There is a lot of freedom offered to the participants. On the other hand, there are constraints that anyone wishes to join should consider. First of all, most of the problems aim at solving issues in the field, and it doesn’t require powerful imagination to realize the chaos one may experience in an environment where disaster just hit. There is probably no Internet access, no phone lines, no power, and very limited supply of anything. It’s highly stressful, and majority of the people would require assistance, instead of offering help. A centralized solution that requires a server and Internet access onsite is probably not going to be useful. Secondly, such relief efforts are usually funded by donations. And any solution that requires special hardware would not be easy to deploy given the economic implications. Thirdly, even coming up with a software only solution or a proof of concept program may run into hurdles. Imagine a team of 10 people with completely disjoint skills that approach the problem in completely different ways. It’s a challenge in itself. And the limited amount of time available for hacking implies that a single technical set back may hamper the effort to produce something useful by the end.
Then perhaps it’s not surprising that the first-prize winner is a project that employed distributed solutions on existing hardware platforms: Messages Without Connectivity. The basic idea is that when disaster hits and no connection is available to the outside world, devices (mostly cellphones) may form a small network and relay messages. And the first device reaches the server can dump all messages to the server, and the server can make it known to any interested parties that their loved ones in the disaster area are fine. On the client side, project team developed a small iPhone app that can receive messages via Bluetooth signals, and store and relay the messages. On the server side, the team suggested Ushahidi platform to mark the location of each message on a map. So the solution does not require special equipment in the disaster region; the solution is fairly simple; and it uses existing technologies and equipment. The project team even collaborated with team from Atlanta, which further enhanced the collaborative spirit of Rhok.
For me, the weekend has become a learning frenzy. Given the team’s disjoint technical skills, I tried my best to adapt to other team members’ skills set. Although I did not manage to contribute to the final solution, I have discovered how effective concentrated learning is.
So if you are looking for a way to solve some of the world’s problems with your technical skills, Rhok might just be the place for you. But choose well; otherwise you may be like me, finding yourself having little to contribute to a project. Even so, you’ll still find the event an awesome learning experience.