RHoK Melbourne: VicAlerts and VicSafe

1

An overview of our Random Hacks of Kindness Melbourne project.

on 7/6/11

On the weekend I worked amongst a small but dedicated team of developers to set in motion a disruptive change that Victoria so desperately wants and needs.

The event was RHoK Melbourne, a weekend hack-a-thon held at Swinburne University in their new ATC (Advanced Technologies Centre) building.

The Problem.

The problem we were tackling was put forward by members of the Bureau of Meteorology, in particular BOM representative Stef (Stefan Willoughby), who attended the event, stepped us through the problem and shared his experience on the topic. You can read the original flood warning problem description for an idea of what we were briefed on. So, we set about devising a system in which we could better communicate warnings and information to people affected by or who may be affected by floods, so that they may make better decisions in such times of crisis.

As our group talked through the problem and tossed a few ideas around, we realised that the problem extends beyond just floods, but applies to bush fires, storms, terrorism and even traffic and road alerts too. We were now talking about designing a solution not just focused on floods, but that could warn people about all sorts of significant events that would impact their day-to-day lives.

Fortunately, we have the science, technology and organisations full of people capable of predicting (with amazing accuracy) the movements of floods, storms, bush fires etc -

I mean, just check out the depth of information available for flood, cyclone or tsunami warnings on the BOM's website. CFA have fire warnings too. VicRoads display road closures for us too. Let's not forget the Victorian Department of Justice either.

The Solution.

Unfortunately, the methods in which all of this data is stored and the resulting information is disseminated just isn't cutting it! So, our idea was VicAlerts - a platform for providers to submit their significant alerts and warnings, which would become an aggregator/clearing house for the alerts, allowing other websites, mobile phone applications and services to build on top of the VicAlerts data source, and deliver the alerts to the relevant people, in a format they want to consume it in.

We came across the Common Alerting Protocol, a data format for exchanging public warnings and emergencies in a consistent format. The CAP protocol covered all of the attributes we wanted to capture, it was clear that a lot of work went into designing the protocol, so we'd be crazy to come up with or use Yet Another Data Format of our own.

This is pretty much what our original architecture diagram looked like, except it was scrawled on a piece of scrap paper... hacker style. NOTE: This is also a slide straight out of our presentation.

We put together a basic implementation of the VicAlerts platform, an example provider (just a simple form with fields matching the CAP protocol) and we implemented a mashup website dubbed VicSafe which combined the VicAlerts data with Google Maps to display recent alerts nearby to the user's current location or search term. Our VicAlert / VicSafe presentation is available online and gives an overview of the examples we built and some designs for a mobile app that we didn't get time to implement.

The technologies used in our hack include: Node.js, MongoDB, HTML5, JavaScript, CSS, Google Maps v3 (and KML) and WebSockets (via socket.io). In addition to exposing an API to query alerts (recent, nearby, by type/severity, etc), we envisage VicAlerts offering something like the PubSubHubbub protocol (server to server webhook callbacks) which would ping each of it's consumers (or subscribers) when a new alert was submitted, facilitating near-instant updates to each of the sites and services subscribed to VicAlerts.

This type of architecture lends itself well to setting up dedicated services for different things, like sending an SMS to people geographically nearby the alert affected area, or allowing ABC's website to subscribe and display information on alerts as they come in.

Reflecting on the weekend.

All of our ideas and efforts were the result of literally a dozen hours, so they aren't much more than prototypes at this point, but they serve a message, and the message is LOUD and CLEAR:
We need to work towards providing data in a uniform and accessible manner.

Lastly, we aren't the first group of people with this idea, since the weekend I've learnt more about the work being done by the Google Crisis team and even discovered a similar idea proposed by Reuben Townsend in the App my state event.

Thanks to the other guys involved on the project: @benjaminpearson, @markdalgleish, @sivaone, @wolfeidau and thanks again to all of the sponsors of the RHoK Melbourne event - it was a blast. ;)

Tim McNamara

  -  http://timmcnamara.co.nz

on 13/9/11

Tony, it would be great if I could get help from you and other RHoK participants with the Humanitarian FOSS Miniconf happening as part of LCA2012. Here's a bit of a blurb of what I'm trying to achieve:

Australaisia has been hit by several major disasters in the last year. Free software has benefited perhaps hundreds of thousands of Australians and New Zealanders. LCA2012 presents an opportunity to enable the free software and open source communities to collaborate.Technology increases the effectiveness of the response to those crises. This miniconf will enhance that effectiveness.


Do you have any suggestions for reaching out to the RHoK participants?

You should leave a comment:

Some tags are allowed: (a, b, blockquote, code, em, i, u, pre, strong).

who am I?

I live in Melbourne. I work at Inlight Media. I'm passionate about web and software development. I like jQuery, CakePHP, Flex. I can code. I can't draw. I play basketball with the Spiderpigs and the Generals. I love snowboarding in the winter and wakeboarding in the summer. I play computer games too often.