My name is Alberto González Palomo and this web application is the technology demonstration version of the Nigerian Oil Spill Monitor I made for the British NGO Stakeholder Democracy Network (SDN).

It's the "director's cut" in a way: it differs in small details where we didn't agree or which are not adequate for an official website as is the case with, for instance, certain map/data overlays.

The official version is hosted by SDN at oilspillmonitor.ng

Technology basis

The application is built on these main foundations:

Fortunately SDN agreed to discard support for old browsers right from the beginning. It was clear to all of us that the effort of having to build different versions of each feature for the non-standards-compliant browsers was more than we could afford.

How it happened

In March 2013 SDN asked me to take over the software development part of the project. They had been delayed for half a year trying to get results from their previous technology partner and decided to look for someone else.

The application was supposed to be "very nearly there" and require just "final interface refinements and tweaks", but after working on it for almost two months it was clear to me that it was just a rough proof-of-concept (POC) demonstration. My work during that time is recorded in the GitHub project repository: Sentido-Labs/monitoring-platform

The 15th of May, at 8:52 according to my notes, I started working on a new program from scratch without billing SDN as they hadn't requested that. I had already patched what I could in the POC, and new features and improvements were being impeded by its lack of structural integrity.

I had been evaluating different components that could be used: database management systems with geographic query support (PostGIS, SpatiaLite, MongoDB), front-end components (LeafletJS, OpenLayers, D3, AngularJS, jQueryUI, and others) and by 22:40 I settled on LeafletJS + h5bp + Bootstrap (with jQueryUI) + AngularJS with the back-end still undecided: I would just load the prepared JSON file for now.

Three days later I removed all traces of jQuery which was only needed for the date picker, and things were progressing well. There was a pause in the project while SDN was in Abuja meeting NOSDRA and collecting feedback and requirements; I took on a small job of a few hours for another customer in the meantime and worked on the new application in my spare time.

By the 22nd it had most of what the old prototype did and added more functions like the multiple map/sat layers. At this point it became clear that this approach would work.

I told SDN about my plan of abandoning the old POC and then do any further work on the new prototype instead; they agreed to it provided that we didn't lose any features, and work on the old POC stopped.

In the first week of June the main parts of the application were working including a simple data storage back-end, much more efficient (14 times faster) and useful than using a Google spreadsheet as before.

Since then I've been working on this mostly financed by SDN when they could get funding, and occasionally in my own time. It has been a great experience so far.