AMP Offline Joins Full AMP Code in Going Open Source

March 6, 2020 Aid Management Program
Nadejda Mândrescu
News/Events, Program, Tech Stack

In line with Development Gateway’s commitment to using open-source technology, and building on the transparency and community benefits we’ve seen from opening the Aid Management Platform (AMP) source code last year, DG is pleased to announce that we’ve made the AMP Offline application fully open source.

The AMP Offline code is available under the GPLv3 license, the same license that the AMP code is under – allowing free use, editing, and full compliance with the AMP code. To get the code “ready” to go fully open-source, DG’s AMP Offline team cleaned obsolete files, updated the license and readme files, and did some refactoring for security purposes.

Throughout AMP’s history, Development Gateway has always encouraged independent government ownership over both the software code and the AMP system itself, without any start-up or recurring fees. Since the beginning, our goal has been to enable governments and developers to modify the code directly to meet changing country needs.

For example, Ethiopia’s Ministry of Finance and Economic Cooperation (MoFEC) technical and management team expressed interest in developing and maintaining new AMP features on their own. Through a knowledge transfer and source code training series completed last year, we trained the team to build AMP features on their own. Using Github, a well-established source control platform, further streamlined the ownership transfer process. With AMP Offline’s code newly public on GitHub as well, teams like Ethiopia’s will be able to independently build on and modify the module to fit their needs into the future.

Public access to the code creates an effective environment to build a community that can both contribute to and benefit from AMP and AMP Offline. Giving different AMP country teams the ability to add new code used to improve their own platforms, we’re enabling cross-country collaboration and faster tool evolution.

About AMP Offline

AMP Offline is a desktop client application for our flagship AMP platform. Since limited or unreliable internet connectivity is a challenge for AMP online usage, we developed the offline app to support full AMP usability regardless of internet connection and quality. It is one in a sequence of tools we developed to continuously add new features and UI/X improvements as part of a larger AMP Re-Engineering initiative.

Figure 1: AMP Offline access with or without internet connectivity

With almost twenty years of AMP experience in 25+ countries on 5 continents, having developed a variety of technologies and satellite tools to continually improve and modernize AMP, the Offline module represents one of the most universally beneficial features. It fulfills an important user need – to complete data input and validation from anywhere in the world, with or without internet connection. The Offline tool enables low network data consumption, quick page load, and ample offline storage.

So far, AMP Offline has been successfully deployed in Chad, Malawi, and Haiti. In each country, the Offline module has made AMP more useful, flexible, and ultimately successful – easing and accelerating the data entry process. The application’s simple and easy upgrade process enables users to receive each newly released version as capabilities expand, with seamless code and synced data migration.

A Sustained Commitment to Open Source

DG prioritizes open-source technologies to optimize development by reusing robust libraries, maintained by dedicated teams and public community and avoiding “reinventing the wheel.” The open-source AMP data is stored in NeDB – an open source, embedded, persistent database for Node.js, that is managed through a subset of MongoDB’s API. Using Electron (an open source library developed by GitHub) AMP Offline combines web technologies such as ES6, React.js (developed by Facebook) and Node.js with the speed and flexibility of native applications. Other well-known applications like Slack and Microsoft Visual Studio Code are also built with Electron.

Figure 2: AMP Offline application technical stack

Upcoming Releases

During the development, release, and open sourcing of AMP Offline, the DG team’s goal was to build a common set of modules that can be reused between AMP and AMP Offline. AMP Offline retained a familiar look and feel to AMP users, providing a visually integrated user experience. DG also updated AMP Offline’s UI for some modules, like the Activity Preview. Implementation of the Activity Preview window will be the first Offline module to be incorporated into AMP, rather than AMP into AMP Offline. This solidifies UX/UI consistency across both apps, and allows for unified future development and maintenance.

Stay tuned for new AMP Offline releases coming soon.

Interested in seeing our code? The public repository of AMP Offline can be found on GitHub.

Share This Post

Related from our library

Three “Hacks” in Advancing Anti-Corruption Work To Strengthen Accountability

Since partnering with Accountability Lab (AL) on HackCorruption in 2023, staff from Development Gateway: An IREX Venture (DG) and AL have mentored teams from the hackathons hosted by the project, which is aimed at leveraging innovative digital tools to identify and fight corruption. After serving as the mentorship team for hackathon winners, DGers Gabriel Inchauspe and Kelley Sams, along with AL’s David Sada have identified three hacks in mentoring anti-corruption change-makers and ultimately, furthering transparency and accountability through the creation and use of digital tools.

April 3, 2024  
aLIVE Program Reaches Milestone: Livestock Data Standards Endorsed by Ethiopia’s Ministry of Agriculture

In early 2024, the "a Livestock Information Vision Ethiopia" (aLIVE) governing committee endorsed a comprehensive set of standards to guide the collection, storage, and maintenance of livestock data in Ethiopia (i.e., a data standard). The data standard specifically focuses on standardizing data on cattle, sheep, goats, and camels in the country. The National Livestock Data Standard document contains standardized data sets for national animal data recording, animal disease, diagnosis, treatment, vaccination recording, animal events recording, location, and other additional attributes.  

March 28, 2024 Agriculture
Équilibrer les besoins : Trois idées pour construire une approche de co-conception dans plusieurs pays

En réfléchissant à la première année du programme DaYTA de DG, nous avons identifié trois idées sur la meilleure façon de co-concevoir avec des parties prenantes représentant plusieurs pays.

February 29, 2024 Health