Mobile webapp for Ushahidi

16 Dec

As a (web) project and program manager working in the humanitarian and for development, I’ve been always fascinated by the amount of challenges that any tool aimed to the fields presents; just to cite a few: reliability, low bandwidth, cross-platform, offline support, extreme simplicity, and of course it should work-when-everything-else-fails(TM). I will not mention that, as a plus, in many cases budgets and funding are limited, if not extremely limited, compared to complexity.

I guess this is the reason that pushes those who works in this domain to keep being extremely pragmatic, ingenious and sometime very innovative.

In Reflab we have lately labelled this whole lot of design challenges as building resilient tools (resilience being THE buzzword nowadays, I guess it is a good choice to promote the idea).

In such context of resilient applications, limited connectivity is one of the main issues I’ve been personally working on in the last years, first developing OOPS, i.e. offline and portable web-based information publishing (or offline websites, if you prefer) and later working on Data Collection.

The idea for a not-so random Hack of Kindness

some nice folks hacking HTML5 for Ushahidi at RHoK

Just before ICCM 2011 I though we could apply what we had learned so far in data collection and mobile web applications to a project that we really appreciate a lot and which, hopefully, would immediately benefit: Ushahidi.

Ushahidi is an amazing tool in terms of impact in crisis management, works well via web and also has mobile applications for several platforms. A mobile web application, with offline support, would make it address some extra use cases: offline data collection, of course, but it would also make it a lot more easy to distribute, update and, last but not least, as Erik (@whiteafrican) immediately pointed me out, if would be great if it could support Custom Forms.

So, together with some friends and colleagues we when forward spending a few evenings, and then a whole RHoK weekend to develop the Ushahidi mobile webapp.

The hack

What we did: using the Ushahidi APIs, HTML5 and some Javascript libraries we could quickly build a very first version of the application, then a second one by the end of the weekend.

The app uses different HTML5 features:

  • application cache for offline use of static resources (html, css, javascript)
  • storages (Web SQL) for report data saved locally on the browser
  • geolocation API to obtain latitude and longitude from the device GPS
  • FormData to post the image
  • online/offline events

The UI interface is based on jQueryMobile, server-side there is a very lightweight back-end written in Python, that can simply be replaced by other frameworks or directly integrated in Ushahidi core.

What does the application provides: at the moment is only manages reports, collecting data online and offline, saving it locally and sending it when some connectivity is available. It features all basic fields, included GPS coordinates and image/photo upload (on platform supporting it), but not the custom forms.

Not bad to have something running, plus some documentation; and the same code could be used for other mapping or assessment tools!

Credits go to Riccardo Lemmi (guru and lead), Francesco Occhipinti (Javascript wrestler), Francesco Merlo (Python/API uber-developer) and Antonio Tirabasso (wise UI engineer).

What’s next?

In the pipeline we have: to put everything on Github, work on the UI (no work has been really done, yet), and do a real-world simulation/testing.

I really hope the app will prove useful to Ushahidi users: with the feedback collected we could then consider extra features, better interfaces and move forward looking at the custom forms.

Thanks to Heather Leson (Ushahidi Director Community of Engagement) we are now looking to other related challenges and will connect with more people willing to join online-offline and connectivity-related developments!

 
References:
The Next steps for Ushahidi Hacks
Online offline web applications
OOPSHTML5 rocks
About these ads

7 Responses to “Mobile webapp for Ushahidi”

  1. Caleb December 17, 2011 at 2:25 pm #

    Awesome work!

    I may be blind, but I can’t seem to find the link to github where you posted the code.

    • Francesco Ciriaci December 17, 2011 at 4:09 pm #

      Thanks! And sorry, the code is not yet on Github, it is one of the three main pending activities (together with some work on the UI and some more testing). Be sure that I’ll keep you posted when we put the code up, likely in the next week.

    • Francesco Ciriaci January 10, 2012 at 6:01 pm #

      Code is now on Github: https://github.com/axaroth/ushahidi-webapp

  2. itoctopus December 28, 2011 at 8:04 pm #

    Hi Francesco,

    Is the code now available on github?

    • Francesco Ciriaci January 2, 2012 at 5:24 pm #

      Not yet, sigh. I wanted Riccardo, the main developer, to do the commit. He will be back soon, I’ll let you know when done.

    • Francesco Ciriaci January 10, 2012 at 6:10 pm #

      https://github.com/axaroth/ushahidi-webapp

Trackbacks/Pingbacks

  1. RHoK – The Next Steps for Ushahidi Hacks – The Ushahidi Blog - December 16, 2011

    [...] Also see Francesco Ciriaci’s post on his Mobile Web App for Ushahidi. [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 1,130 other followers

%d bloggers like this: