I’ve been trying to make sense of all the different components which make up the OpenRosa/ODK ecosystem. Here is a tidied version of my notes.
A W3C XML standard for form specification. It is intended to be integrated into other markup languages such as XHTML, and is more flexible than a basic HTML web-form.
ODK (Open Data Kit)
A project which produces various software to author, collect, and manage mobile data collection. They maintain the ODK XForms standard. Originally sponsored by Google.
A reduced version of the XForms specification. Initially developed by the OpenRosa Consortium and now forked and maintained by the ODK project.
An Android app used to complete ODK XForms and submit responses to a remote server.
Successor to the now unmaintained ODK Aggregate , a server software for managing ODK Xforms. ODK Cloud provides paid-for hosted ODK Central instances with regular updates, security, and support.
Desktop application for macOS, Windows, and Linux. Used to pull, push, and export forms on ODK servers such as ODK Central and ODK Aggregate. Can also pull forms directly from ODK Collect from a connected Android device.
A drag-and-drop style form builder web-app for creating ODK XForms. A downloadable version of ODK Build is available for macOS and Windows.
A Java library developed by the OpenRosa Consortium that implements the ODK XForms specification and renders forms. ODK Collect uses ODK JavaRosa , a fork of the original JavaRosa to render forms. JavaRosa is highly committed to ensuring that JavaRosa is usable on low-resource devices. ODK JavaRosa is at the heart of many applications which use ODK XForms.
A project “competing” with the ODK project which writes its own tools to author, collect and manage mobile data collction. KoboToolbox uses the ODK Xforms standard to create forms. KoboToolbox focuses on providing an end-to-end hosted solution, while ODK provides various components to allow the user to roll their own custom solution. The ODK project and KoboToolbox aim to keep the same pace and sync changes with each other.
An ostensibly re-branded version of the ODK Collect Android app.
A form standard used to simplify the authoring of ODK XForms using XLS files.
A web-app that allows users to upload a compatible XLSForms file and convert it to an ODK XForm. Can also preview the compiled ODK XForm in the web-app using Enketo.
A Python library used to convert XLSForms to ODK XForms. A major re-write of the older xls2xform . Many projects use pyxform in the background to build ODK XForms.
A project which uses the ODK ecosystem to run a web-app to render ODK XForms in a web browser. The web-app is used by a number of other projects including ODK and KoboToolbox. There is also a downloadable version of the Enketo web-app available.