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.
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.
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.