Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

iMMAP Community Mobilization for Partnership in Schools

Looking at one tool to assist project Monitoring & Evaluation (M&E) in support of the USAID Community Mobilization for Partnership in schools, Sindh province Pakistan.

Patrick Fitzgerald

on 19 April 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of iMMAP Community Mobilization for Partnership in Schools

months Problem... The Education Secretariat of Sindh requires regular updates from the field to track monitoring & evaluation of district schools & school activities including Community Mobilization in Northern Sindh. Total Functionality Required Add, edit school location from the field

Send updates on a school or school activity including Community Mobilization from the field

Display other implementing partners within close proximity from the field & chat live

Receive field notification of school updates to track project progress from the office

Add, edit & update schools data captured in the field from the office

Extract data for further analysis & reporting from the office

Create a public website to showcase the project 1. 2. 3. 4. 5. 6. that's easy, how hard could it be... okay, so that makes it interesting. lets look at that on a timeline... 3 the timeframe of the project is 3 months with an immediate need for application deployment. 2 March 2013 2 April 2013 2 May 2013 Startline 2 June 2013 application development & software deployment establish office/procurement field team deployment & training data capture & maintenance website deployment to showcase project project reporting & report requests training, capacity building & hand over to Government so much to do, such little time... this just in from HQ DC.... complete the project while promoting a common iMMAP brand across all deliverables High Level Mandate so lets look at a framework tailor made to satisfy the requirements & a concept to handle that within the timeframe Ok... SDI HTML5 so what are the total list of functions we actually need to satisfy the Education Department... 7. field field field office office office web the web has changed... HTML5 includes the fifth revision of the HTML markup language, CSS3, & a series of JavaScript APIs. Together, these technologies enable the creation of complex applications that previously could be created only for desktop platforms. what does that mean? This means that the application architecture has changed from 3 tier to a 2 tier architecture that runs entirely on the client and cuts out the middle man. data store server tier client tier HTML5? its just hype, who cares? Everyone Apache
Open Street Map
Yahoo node-express node-openlayers node-jquery node-postgres GeoJSON GeoCouchDB "_id": "618f6d552f8cf3061934a4d087000d55",
"_rev": "1-06b9a4a10fc3d2dc062d310d7cd28b59",
"cmp_programe":"School Feeding",
} CouchDB started as a document store with the great ability to replicate data between nodes.

The built-in replication makes it the ideal platform for synchronization between mobile, desktop and server.

CouchDB sports no fixed schema, instead it stores documents which are formatted in JSON without a rigid schema. http://blog.couchbase.com/volker GeoCouchDB is an extension by Volker Mische that handles GeoJSON and includes an R-tree index (collection of bounding boxes) for quick geographic lookup. the GeoCouchDB roadmap includes bindings to PostGIS functions for spatial analysis node-mysql so thats the framework, whats the concept? Node.js is a platform built on Chrome's C++ V8 JavaScript runtime for easily building fast, scalable network applications.

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. http://nodejs.org/ Node.js has many a long list of node-modules, including; https://github.com/joyent/node/wiki/modules Express.js is a minimal and flexible Node.js web application framework.

Using Express.js, it is easy to get a simple web server up and running.

Express.js robust functions include templating for rapid application deployment client tier 2 tier client database architecture now to examine a technology framework that implements HTML5 great. so how does it work? ... in a new perspective http://expressjs.com/ as well as..... data store tier ...so that is interesting, what is the framework? https://npmjs.org/package/node-jquery https://github.com/booo/node-openlayers https://github.com/brianc/node-postgres https://github.com/felixge/node-mysql before we begin, we first need to see the same thing... Node.js & Express.js combine to enable classical HTML5 & CSS3 web pages to run on any operating system & on any client.

Node.js modules provide the additional functionality, including node-openlayers. database connection? easy. the key direction on the client is with NoSQL due to its consistency. "...
Consistency: That all database clients see the same copy of the data.
Availability: That all database clients are able to access a version of the data.
Partition tolerance: That the database can be split over multiple servers.

Since CouchDB’s focus is on being partition-tolerant and highly available, this means it is eventually consistent.
(M. Thompson., Getting Started with GEO, CouchDB & Node.js). Consistency? var mysql = require('mysql');
var connection = mysql.createConnection({


connection.query('SELECT 1+1 AS solution', function(err, rows, fields){
if(err) throw err;

console.log('The solution is: ', rows[0].solution);

connection.end(); https://github.com/felixge/node-mysql node-mysql HTML5 & CSS3 client tier SQL data tier NoSQL data tier var pg = require('pg'); //native libpg bindings = var pg = require('pg').native
var connStr = 'tcp://postgres:1234@locahost/postgres';

var client = new pg.Client(connStr);

//queries are queued and executed one after another once the connection becomes available
client.query('CREATE TEMP TABLE beatles(name varchar(10), birthday timestamptz)');
client.query('INSERT INTO beatles(name, birthday) values($1, $2)', ['John', new Date(1944, 10, 23)]);
var query = client.query('SELECT * FROM beatles WHERE name = $1', ['John']);
//can stream row results back 1 at a
query.on('row', function(row)){
console.log('Beatle name: %s', row.name); //Beatle name
console.log('Beatle birth year: %d', row.birthday.getYear()) //dates are returned as javascript date

//fired after last row is emitted
query.on('end', function(){
}); https://github.com/brianc/node-postgres node-postgres just make a request. RESTful HTTP API this is possible after MapReduce map {} http://slides.html5rocks.com/#landing-slide HTML5 Features GeoCouchDB CouchDB Learn More http://www.couchbase.com/presentations http://www.everytalk.tv/talks/1254-Erlang-Factory-Lite-Munich-Germany-CouchDB-and-GeoCouch map {} map {} reduce {} 2 tier client database architecture 1. framework 2. concept http://wiki.openstreetmap.org/wiki/OSMCouch & OSM OSMCouch is storing Planet.osm data in CouchDB with GeoCouch extension.
GeoJSON data can be retrieved for any use case or viewed with OpenLayers, extended with POI tools. outcomes rapid deployment of all data capture, management & export for information management as well as presentation tools using the same base template & functionality. less software
less functions
less code
less maintenance targeted application with specific functionality for rapid deployment is more > Replication the four basic functions of a database (CRUD); CREATE HTTP PUT schoolsdb/school-415070023 READ HTTP GET schoolsdb/school-415070023 UPDATE HTTP PUT schoolsdb/school-415070023 DELETE HTTP DELETE schoolsdb/school-415070023 http://www.erlang-factory.com/upload/presentations/359/geocouch-online.pdf SQL, that's great! we can send data to the SDI. SQL - NoSQL Integration OSMCouch http://slides.html5rocks.com/#geolocation http://slides.html5rocks.com/#notifications-api http://static.mrdoob.com/projects/chromeexperiments/ball-pool/ For Fun HTML5 Demo http://www.geoinfo.info/geoinfo2011/papers/claudio.pdf http://wiki.openstreetmap.org/wiki/OSMCouch how is this implemented? when a record is entered, updated or deleted on any client database CREATE HTTP PUT schoolsdb/school-415070023 READ HTTP GET schoolsdb/school-415070023 UPDATE HTTP PUT schoolsdb/school-415070023 DELETE HTTP DELETE schoolsdb/school-415070023 (Volker Mische, 2011) it is instantly replicated throughout every client db including revision replication can set to;
push, and/or;
pull. http://www.geoinfo.info/geoinfo2011/papers/claudio.pdf PostgreSQL + PostGIS a base HTML5 & CSS3 template is used by Express for each application generated, streamlining all following interfaces & promoting a common iMMAP brand the HTML template includes by default; additional content & functions will be included on top of the base template with each of the following applications... HTML5 Template the admin application is designed for use by a country office to deploy data capture & data management Projects. + New Project enables the user to create a data capture application using a form builder. the form builder creates HTML5 forms and a couchdb database for client data capture... the document schema is then sent to the iMMAP SDI offering API web services for RDBMS generation. implementing ODK or Imogene, the web service generates a Project specific RDBMS based on the form parameters.

all data captured for a specific Project within a country office will eventually reach the iMMAP SDI. Pakistan Sbep Schools Security Incidents SRD Flood Response SQL & NoSQL integration? How? however OGC web services would be the best option for long term ease of maintenance & transparency. of course direct access is possible using node-postgres for all Projects deployed in the country office (Maps, Projects, People & Groups) information is automatically collected & can be managed OASIS Web the web services implemented including data processing and PDF print for Oasis Web can largely be reused by client Community Mobilization once deployed, Project analytics can be viewed from the admin panel including usage, users, location & data the search is used in conjunction with the selection from the left menu (i.e. for Projects) the country office admin client is implemented in couchdb & stored in the iMMAP SDI a data capture Project for CMP has been designed and deployed from the admin, lets take a look the main search is used in conjunction with the selection from the left menu (i.e. for 'Everything' or just for 'Projects') CMP country office Project the form generated in the admin application is deployed as a Project enabling the addition & update of CMP information from the desktop users can be defined in the People tab & dragged into groups, such as;
USAID add, edit, update users/user groups deploy Projects form builder iMMAP SDI Project analytics manage information using HMTL5 it is possible to track user locations, receive field notifications, initiate live chat and send group sms to users, groups or those within a proximity in the field from your office location.

notifications are received on school updates from the field that can be reviewed & located on the map interface, i.e.;
School feeding in School 415070023 has commenced on schedule. notification feed deploy application from the Project it is possible to deploy a mobile application based on the generated Project form. the operating system is specified so the Project knows what install scripts to use OSM Tiles are also included in the deployment, with the users & user groups already defined as above the functionality is basic & native to HTML5, specifically focused on data capture, live chat & location HTML5 automatically calculates geolocation schools and CMP programs can be updated from the field school locations can be added HTML5 is live in this example, a user from WFP has updated their status to 'School Feeding' to indicate a school feeding program has begun all other users are notified live & can see the status on the map live chat is another feature which is possible, so that an implementing partner can quickly chat with the WFP user to find out more auto Geolocation add a school update a CMP program for a school live chat, notifications & sms on top of all this, sms notifications can be sent to users, groups or to those within proximity Notification feeds update the Information Management Officer (IMO) live chat, live tracking with the iMMAP HTML template, it is possible to prepare email notifications from the data captured within the system & send to users & user groups.
this includes graphs and charts generated in the report module. email of course, with any JQuery or HTML JavaScript chart library, a comprehensive data report module can provide statistics & charts for the user (from data directly on the client!). data reporting module using gdal, data can be extracted for analysis in dedicated GIS & statistics analysis engines including ArcMAP, uDig & SRSS. http://www.gdal.org/ogr/ogr_formats.html the country office project data is sent to admin as well as the allocated RDBMS database stored in the iMMAP SDI CMP built on the same HTML5 framework, the final objective is completed with a website including selected functionality displaying the latest data to showcase the project continuous replication web showcase to satisfy the high level mandate from DC, the following templates are generated & deployed to promote a common iMMAP product streamlined templates internal & donor report template reports PPTX power point templates for presentations & trainings presentations HMTL now the user can.... http://static.mrdoob.com/projects/chromeexperiments/ball-pool/ HTML5 canvas & graphics can also be investigated for interactive charting live chat, live tracking, notifications, group SMS users/user groups data reporting email template notification feed manage information + the project field survey & monitoring tasks are complete, the data is extracted from the system for analysis & reporting. with enhanced tools for data capture & information management, the donor can be satisfied with a good result as well as a final website to showcase the projects success! data extract (gdal ogr 2 ogr) form builder Project analytics search box in banner user login left menu left menu filter iMMAP SDI data extract manage projects deliverables HTML templates for desktop, web, mobile & reports with the database registered, now back to the client... now to review database registration at the iMMAP SDI iMMAP SDI the admin features... 2 March 2013 2 April 2013 2 May 2013 Startline 2 June 2013 useful for GPS data capture as well as live location display Admin country office maps & map tiles can be selected as well as specific functionality modules for the deployed Project (we will visit a deployed Project shortly). Project setup Project setup
Full transcript