Adam Butler TSC Application - 2019-01-10

Adam Butler (@adam.butler)

eHealth Africa

What contributions (e.g., issue triage, tech support, documentation, bug fixes) have you made to the ODK community?
My main contribution has been via my membership of the ODK TSC for past year. I've been an active participant in the biweekly calls, produced specifications for new features and reviewed specifications that others have written. I've also been involved in discussions around UI/UX.

How do you believe your contributions have benefited ODK?
I believe that my work as part of the TSC has helped ODK produce a focussed and coherent roadmap.

What do you believe the top priorities for ODK are?
Last year my answer to this question was: "Ability to push updated forms to devices; update/replace Aggregate; data integrity checks (e.g. intelligent analysis of XLSForms to check for data consistency between versions); easier integration with data pipelines." The first has been accomplished, the second is in progress. I believe that three and four are still important. I would also have to mention more complex data collection structures, such as longitudinal or case-based data collection. I would also love to see some more advanced geo-functionality (or maybe just better documentation for the functionality that is already there!)

How will you help the ODK community accomplish those priorities?
I put together an initial spec for longitudinal reporting that was reviewed by the TSC, and fully intend to move this forward (although it has admittedly stalled a bit).

How many hours a week can you commit to participating on the TSC?
~ 2

What other mobile data collection projects, social good projects, or open source projects are you involved with?
Plenty of data collection projects in countries such as Nigeria, Chad, Guinea, Sierra Leone, Democratic Republic of Congo, some with ODK-based solutions, some with custom solutions of which I have led development. I lead development of Aether, which as open source platform for data curation, exchange and publication (

Please share any links to public resources (e.g., resume, blog, Github) that help support your application.

1 Like

Hi @adam.butler! So about that longitudinal reporting spec :sob:, what do you think the root cause of the stall is? What do you think the TSC to do to make meaningful progress this year?

Hi @yanokwa! I can't deny that a major factor has been my own inertia... but perhaps you're right that there are some structural tweaks that could be made to the TSC's usual processes to make it easier to work on specs of this scale.

When we discussed my initial spec a few months ago, I was surprised at the range of functional expectations from the other TSC members. In retrospect, this shouldn't have been surprising, since it's such a large topic. But I suspect that, in cases such as this, it might be better to take a more structured approach than we usually do, and begin with an initial requirements gathering and expectation setting session before moving on to implementation details. It might even be interesting to open this up to a wider audience via the forums, in order to collect more representative data.

1 Like

Is this something that you see as being addressed in ODK Central? Or can you elaborate with some examples of what this might entail?

Hey Dan, thanks for the question (and sorry for the slow response).

Yes, indeed, Central's OData support improve things here. In the kind of projects we work on at eHealth Africa, there is usually a requirement to have data collected via ODK fed to dashboards and/or ETL processes. This often ends up being implemented by the manual download of CSV files which are then uploaded to these external systems, or by scripted access to API endpoints (which is, obviously, an improvement).

We've started using a system that works with Apache Kafka as a way of getting data to other places, which is working pretty well. Kafka is overkill for smaller projects, but for larger scale stuff, it's a good basis for real-time analysis, visualisation and processing.

ODK is usually the starting point for data - it's how data enters a system, generally speaking - and it would be good to look into how we can make it as easy as possible for people to move that data on to the next stage, whatever that might be.

1 Like