Gav's Blog

Broken hands on broken ploughs, broken treaties, broken vows

Firefox browser CAP alerting plugin (Sahana idea for GSOC2009)

with 8 comments

I haven’t blogged about Sahana for a long time, and I’ve got plenty to write. So much that I can’t decide where to start, so I’m going to pick a nice small piece to start with.

The Concept

Last year, I was involved in a project in New Zealand to produce an investigative report on Public Alerting Systems with the New Zealand Centre for Advanced Engineering. This report will hopefully soon go public, and I’ll provide a link when it does.

This report was looking at the different technological solutions for getting alerts out to people in as timely a manner as possible. At one point in the search for different systems, we started discussing means of injecting HTML in web pages via an ISP, so that a public alert could be sent out to anyone on the Internet. I’ll talk about this and other options later. Let me get to the point of this post.

After starting at the HTML injection idea, and progressing through a few others, I reached a kind of natural conclusion that a more suitable means of alerting users via a web browser would be a browser plugin that can subscribe to Common Alerting Protocol (CAP) feeds, and when a relevant alert comes in via CAP, this is displayed to the user in their browser using the XUL:notificationbox at the top of the webpage.

Draft Requirements

Anyway, a possible idea for a Google Summer of Code 2009 project is that of constructing a browser plugin for Firefox that implements this alerting capability, and expanding Sahana to support full publishing of CAP alerts. Here are some features it could/should support.

Firefox Plugin

  • Bundle publicly available CAP feeds (ideally listed in a nice Country/State taxonomy – this will make it easy to discover and utilise existing CAP services.
  • Allow users to optionally register location in some manner, so as the plugin can identify relevant alerts (by location) and give them higher status than say remote alerts. Users should be able to register multiple locations – whether it has home & work, or multiple cities. Privacy is of course king and this information must be protected.
  • Provide a means of adding additional user provided CAP feeds to the plugin.
  • Provide the ability to open the alert in a new tab and format in a human-readable manner, including niceties such as embedding Google Maps to show geospatial information and links back to the source website of the alert for verification.
  • Implement means of verifying messages that are digital signed, and decrypting encrypted messages.

Sahana

  • Implement a CAP feed in Sahana so that Sahana can act as both a producer (in terms of creating a CAP message) and a publisher (in terms of making it available via a CAP RSS/Atom feed).
  • Implement a CAP proxy or similar, so that say all users of a Sahana server can obtain CAP alerts directly from the Sahana server – rather than going to an external website. This may be useful for distribution of alerts within an organisation or centre without having every client browser connecting to an external server.

What would be very nice, but may be beyond the capabilities of Sahana servers currently, is making the CAP service on a Sahana server easily discoverable on a LAN via zero-conf services such as Bonjour.

Draft Outcomes for Assessment

The outcome of such a project would be to produce a working solution whereby a Firefox Browser plugin is capable of working with public CAP alerts and that CAP within Sahana is capable of fully acting as a CAP server via RSS/Atom feeds to the CAP alerting plugin.

Compulsory

  • Implement the specified requirements
  • The browser plugin works as expected with publicly available CAP feeds.
  • The browser plugin works as expected against the Sahana demo server. (Yes, this means that your modifications to CAP on SahanaPHP need to be implemented).

Optional

  • Implement the Sahana CAP server in SahanaPY
  • Provide one or more standalone CAP clients for a mobile platform e.g. Google Android, Apple iPhone/iPod Touch etc
  • Write an Internet Explorer plugin with similar functionality – it is important that this functionality is also provided for IE given its widespread usage and deployment.

Whilst the plug-in can and should operate completely independently of Sahana, it should also be designed to work well with Sahana servers (e.g. SahanaPHP and SahanaPY).

Anyway, this is just an idea I wanted to float and get out in the community for discussion. I’d welcome any further comment or ideas to build upon this!

Written by Gavin Treadgold

March 4th, 2009 at 12:42 pm

8 Responses to 'Firefox browser CAP alerting plugin (Sahana idea for GSOC2009)'

Subscribe to comments with RSS or TrackBack to 'Firefox browser CAP alerting plugin (Sahana idea for GSOC2009)'.

  1. I think this definitely a must on pursuing. I’d be interested being a GSoC co mentor on this project.

    sharing some of the CAP related work and ideas that I’m pursuing …

    Radio Data System for transporting alerts
    http://waidyanatha.blogspot.com/2009/02/common-alerting-protocol-messages-over.html

    HF radio for transporting text alerts
    http://waidyanatha.blogspot.com/2008/12/short-messaging-and-common-alerting.html

    P2P CAP Broker concept
    http://waidyanatha.blogspot.com/2008/06/p2p-cap-broker-for-communicating.html

    Nuwan

    5 Mar 09 at 16:25

  2. Gavin -

    Excellent ideas. My experience with emergency action messages makes me think that a good extension to your idea would be an ability to switch the plugin into ‘scenario’ or ‘exercise’ mode. Those opted in could participate in monthly full-scale disaster events by sending and receiving exercise messages, while those who don’t want to be bothered will not be inundated with messages. I suggest this because a problem with implementing these kind of warning systems is that disasters happen infrequently (hopefully) so people’s attention to, and familiarity with these systems stagnate. This approach might also help recruit people to install the plugin.

    Dave

    6 Mar 09 at 07:09

  3. Hi

    Being a firefox addon developer this idea is making me interested a lot, I would like to apply for this idea for this year’s summer of code. I will be soon writing on mailing lists.

    Thanks

    Shree Kant Bohra

    14 Mar 09 at 01:31

  4. [...] plan to build a CAP framework, and the circle would be able to be partly completed by designing web browser plugins that are capable of connecting to the peer-to-peer CAP read-only [...]

  5. @Dave – The best approach for exercises, is probably to allow people to optionally sign up to an exercise feed (and tests would fall into the same category). A test would probably be the best way to undertake it, and it could perhaps be linked to preparedness messages. E.g. 12 preparedness actions might be identified by the relevant emergency management agency for the year ahead, and each test message would remind people to undertake a personal preparedness action e.g. April may be ‘refill your water’ month. Good idea to incorporate this as well though! But it definitely needs to be in a separate and optional feed. In exercises, we always prefix messages with the likes of EXERCISE ONLY, and this is something that could be done with an exercise feed is actually build it into the system so that all messages on an EXERCISE ONLY or TEST MESSAGE feed is automatically prefixed by the system to ensure that no messages as part of an exercise go out on a real feed, or appear as a real message.

    Gavin Treadgold

    14 Mar 09 at 22:43

  6. [...] up with ideas (I’m stoked to have two students working on CAP ideas that came out of my earlier suggestion), and reviewing each and every of the 45 proposals we recieved, it has been exciting to get so many [...]

  7. @Dave
    @gt

    CAP Messaging allows for different message statuses: Actual, Draft, Exercise, System, Test.

    Ideally a CAP generator should simply be able to be set to “Exercise Mode” and produce “for exercise” messages. The CAP reader could then have a “For exercise” watermark or some similar mechanism.

    Tim McNamara

    8 Jul 09 at 18:16

  8. Gavin, can you possibly update this blog or write a new blog with the actual work done; there’s no literature on the actual development that took place as well as a link to the code-base; I’ve been citing this blog but we need an updated citation.

    Nuwan

    27 Apr 11 at 16:26

Leave a Reply