Collaborative development of open source software for mobile and web data capture and management



Similar documents
OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER

Jenkins: The Definitive Guide

everything HelpDesk [Ease of Use] [100% Web Help Desk] [Business Process Automation] [World Class Customer Service]

Cisco is a registered trademark or trademark of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.

Software Development In the Cloud Cloud management and ALM

Los Angeles Trade-Technical College Student Employment Center. Computer Science. Part-Time

Quick Reference Guide: Shared Hosting

Software infrastructure for Java development projects

Java (J2SE & J2EE) and Web Development Training Catalog

USING JE THE BE NNIFE FITS Integrated Performance Monitoring Service Availability Fast Problem Troubleshooting Improved Customer Satisfaction

Your Technology Partner Offshore and Onsite. Services Portfolio

Mobile Software Development Services

Lesson 7 - Website Administration

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

Java Software Quality Tools and techniques

Ensuring Enterprise Data Security with Secure Mobile File Sharing.

Integrated Enterprise Reporting

MALAYSIAN PUBLIC SECTOR OPEN SOURCE SOFTWARE (OSS) PROGRAMME BENCHMARK/COMPARISON REPORT DOCUMENT MANAGEMENT SYSTEMS (NUXEO AND ALFRESCO)

ITEC 495 Capstone Project Ideas

IBM Rational Web Developer for WebSphere Software Version 6.0

2sms SMS API Overview

Kaseya IT Automation Framework

Gabriel Iuga. London, United Kingdom Tel: ; Website:

Take full advantage of IBM s IDEs for end- to- end mobile development

Sisense. Product Highlights.

Introduction to IBM Worklight Mobile Platform

Integrated Performance Monitoring

ReportPortal Web Reporting for Microsoft SQL Server Analysis Services

SENIOR WEB DEVELOPER

PERSONAL DETAILS PROFESSIONAL PROFILE. Name: Eoin McCarthy. 3rd April Day of Birth: Irish (with valid Australian visa) Nationality: Phone:

LoadRunner and Performance Center v11.52 Technical Awareness Webinar Training

Bridging the Gap: from a Web App to a Mobile Device App

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Base One's Rich Client Architecture

Deltek Vision 7.0 LA. Technical Readiness Guide

itop: the open-source ITSM solution

Web Development. How the Web Works 3/3/2015. Clients / Server

Developer Workshop Marc Dumontier McMaster/OSCAR-EMR

system and integration with other internal platforms. Sr. Developer August 2011 August 2012

Procase Consulting. APEX 4.1 Introduction. Oleg Mochkin

Sandesh Prasanna Kumar

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Upgrade to Webtrends Analytics 8.7: Best Practices

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Overview. Timeline Cloud Features and Technology

RedTigerSoftware. WEB DEVELOPERS Introduction & Portfolio

Choosing a Mobile Application Development Approach

For Course Details, visit:

Questions & Answers from the Webcast: Your Mac Users Deserve Quality Support Too. Sponsors: Atempo. Centrify. Group Logic. LANrev.

Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid clouds.

Challenges in Android Application Development: A Case Study

CommonTime Making Business Mobile. Enterprise. CommonTime. Mobile Solutions. mdesign Platform.

Project deliverable: Enterprise SOA Showcase initial version

D Test Strategy

Exposé Ing. Jörg Pöschko

How To Use A Paper Questionnaire With A Computer Or Tablet (Or Both)

1.0 Hardware Requirements:

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

WHITE PAPER. Domo Advanced Architecture

HIV EMR Proposal. Report prepared by: Dr John Haskew, Director Uamuzi Bora

SMZ. SocialMedia. Z olutions

Citrix Desktop Virtualization Fast Track

JUSTIN J. LITTLE Build and Release Engineer

Build management & Continuous integration. with Maven & Hudson

For windows erver, Which edition of Windows server 2008 is required ( i. e. Web / Standard / Enterprise )?? Kindly suggest.

Administrator Manual

WINNEBAGO COUNTY INFORMATION TECHNOLOGY STANDARDS 2014/2015

Terrace Consulting Services

Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led

Install and Configure SQL Server Database Software Interview Questions and Answers

OUR TEAM. Enterprise Application Experts

Penetration Testing Lessons Learned. Security Research

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions

TeamCity A Professional Solution for Delivering Quality Software, on Time

SOFTWARE DEVELOPMENT BASICS SED

Implementing Microsoft Azure Infrastructure Solutions

Middleware- Driven Mobile Applications

QuickStart Guide for Managing Computers. Version 9.2

Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1

Feature Comparison. Help Desk. Ticket Management. to Ticket. Fully Customizable User Interface. Escalation Rules.

Software Requirements. Specification. Day Health Manager. for. Version 1.1. Prepared by 4yourhealth 2/10/2015

Information. OpenScape Web Collaboration V7

CatDV Pro Workgroup Serve r

Invest in your business with Ubuntu Advantage.

TG Web. Technical FAQ

SHARPCLOUD SECURITY STATEMENT

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

How To Protect Your Data From Harm

Comprehensive Agentless Cloud Backup and Recovery Software for the Enterprise

Filestor Digital Asset Management. The way it works

MOBILE MEETS THE CLOUD

Transcription:

Collaborative development of open source software for mobile and web data capture and management Achievements, tools and processes, lessons learned and dynamics of changing mobile platforms Jørn Klungsøyr jorn.klungsoyr@cih.uib.no

DESIGN www.openxdata.org COLLECT www.openxdata.org MANAGE DESIGN Video tutorials available at: doc.openxdata.org www.openxdata.org contact@openxdata.org

Design Design complex forms in graphical interface Supported question types include e.g.: Text, Numbers, Date, Time, Single / Multi-select, Multimedia, Geotagging Define skip logic & answer validation criteria

Collect - Mobile Structured SMS manually coded forms for any phone

Collect - Web Web-based forms can be accessed through desktop computer, laptop, netbook, pads/tabs and smartphones with access to the internet and JavaScript support

Manage Own your data - host on your own servers Define roles for different types of users (e.g. administrator, study manager, mobile data collector) Export data to CSV or direct to a relational database Manage data and forms using a standard web-browser

Dynamics of changing mobile platforms Palm (C/C++) PocketPC / Windows Mobile (VB.net / C#) J2ME (Java) Nokia / Sony Ericsson / Blackberry Linux (C/C++) iphone/ipad (Objective C) Android (Java) WebOS HTML5 / JavaScript Requires flexible architecture to support multiple platforms, sizes and versions.

The race for the rigth platform EpiHandy was developed using.net / Microsoft Technologies (MSSQL, IIS, VB, C#) Running on Windows and PocketPC EpiHandyMobile using Java (J2ME and J2SE) connected to existing.net based applicaiton OpenXdata was developed in Java. Replaced EpiHandy and built on EpiHandyMobile OpenXdata uses GWT/JavaScript for web front end. Next steps? JavaROSA based android, native android, ecollect HTML5/JavaScript client.

Collaborative development

The Garage hacker approach GarageHacking / Anarchy - just make it work High level of trust/autonomy - no way to handle review/merits Distributed teams no fixed/regular interaction cross sites. Ant based - no dependency management Dependencies as binaries in subversion Fragile release management Mobile build required WTK Long release cycles (1/2-1 year) Numerous forks and paralell efforts

Formalizing collaborative development Formal consortium founded in June 2010 Organizations as members Management Committee Steering Committee Core Developers External Contributors

Community processes Agile / XP and Apache community influenced Tickets Management Committee Prioritized backlogs Core committers - how to become Milestones Patch submission Daily standups - skype 2 week iterations with releases of each discrete component Public releases handled through maintenance releases.

Apache / MySQL hybrid model Projects / Sources Backlog Iterations / Releases

Continous Integration Maven Code build and dependency management tool Subversion - Code repository Trac Ticket and development management Jenkins Continuous Integration server (build server) Nexus Artifact repository (dependencies) Cobertura Test coverage FindBugs Code analyse Checkstyle Code style checking Concordion - Acceptance tests

Integration stories and experiences Clinical Study in Peru with ~24K participants (OpenMRS) Routine HIV reporting in South Africa ~10K users (DHIS) DOTS for MDR-TB in Pakistan++ (OpenMRS Xforms) Community HW - MoTeCH in Ghana(MoTeCH+OpenMRS) Mobile Clinical Trial: OMEVAC in Uganda (OpenClinica) Immunization Registry: mvac Albania - Workflow (YAWL) Web mapping: OpenXmapper (GeoServer/OpenLayers) Web analytics: OpenXanalyzeR (R for analysis) Offline web (ecollect) Reporting (JasperReports) Security: OpenXsecure (BouncyCastle)

Preliminary findings: MoTeCH case (I) Initial assumption to use structured SMS by health workers to create and update medical records using their own phones using "free" SMS. o The required messages were long and complex o The costs of SMS's would sum up to be a significant cost Calculated costs of SMS compared to forms based application (J2ME). o It was much cheaper to give new phones and pay for mobile data than cover costs of "free" SMS. User comparison / validation workshop o SMS was surprisingly cumbersome, challenging and unfamiliar o openxdata was intuitive and required little training to start using Conclusion: o "on all fronts it ended up being better. It was cheaper, better ease of use, better quality of data that could be presented and we could collage much more data - enabling more functionality in the system."

Preliminary findings: MoTeCH case (II) OpenXdata introduced risks and challenges o Knew they had to change/modify to make more robust o No proper release process Interoperability was challenging o Used pieces of openxdata not the full package o Used whitebox integration with OpenMRS Unstable components o Xforms designer in openxdata was extremely fragile

Preliminary findings: Problems Designer has been source of a lot of griefs and tears. Performance issue - some things can be quite slow in the admin interface. The form designer takes quite some time to load. Large projects managing users - usernames, passwords - especially if users only have access to mobile. Lack some features like automated reports/statistics Problems with Data validation and Form version creation. Lack of support for advanced logic Development branches re-integration Lack of multitenant hosted/cloud solution

Preliminary findings: Useful functions Ability for a someone who is not a programmer to design a questionnaire a very powerful questionnaire with complex skip logic Flexibility to create forms based applications for any type of domain. Change management in custom applications a change can have huge implications. How we can manage that in openxdata is incredible. Remote used openxdata at the furthest locations on low-end phones in disconnected mode. Enabled individual level data at point of service Xforms and XML based Web-based dashboard and management Supports very large and complex forms on both web and mobile Automated availability of data in regular SQL database.

Preliminary findings: Reasons for using It is open source and free and cost of maintenance is very low. Do not need latest phone models. Dashboard works in regular browsers Mobile works on low-end / low-cost phones Flexibility to adapt it to the requirements of clients Ability to deliver solutions fast due to not starting from skratch Immediate availability of data once uploaded from phone Data is validated during collection Reduced cost of data capture Digitized individual level data automated reporting Mobile is easy field workers have not have had challenges the cell phones is ubiquos

DESIGN www.openxdata.org COLLECT www.openxdata.org MANAGE DESIGN Video tutorials available at: doc.openxdata.org www.openxdata.org contact@openxdata.org

EXTRA

Technologies used Java Spring Hibernate GWT/GXT MySQL Apache Tomcat Xforms and XML Liquibase Database change management Testing frameworks - JUnit / Spring Testing Framework Build Tool Maven Dependeny management - Nexus Mobile: J2ME

Key Innovations Binary Protocol plugin handle multiple versions of clients. Non-binary protocol support e.g. REST Serverside processing of XForms and XML Versioned Hybrid XML and Relational DB

Hardware infrastructure 2 locations 400km apart in Norway o University of Bergen o University College of Ålesund Local backup and cross site replication LDAP Linux servers and services. Pgina is investigated to offer authentication for windows clients. Account registration 30+ vm s on XenServer (4 physical 2 simple) CentOS 5.7 Ubuntu 10.04 (switching to12.04) Windows 7 / 2003

DESIGN www.openxdata.org COLLECT www.openxdata.org MANAGE DESIGN Video tutorials available at: doc.openxdata.org www.openxdata.org contact@openxdata.org