Gareth Bestor - TAB Application - 2022-04

Gareth Bestor (@Xiphware)

Objective Corp

What contributions have you made to ODK?

I've been active contributor to ODK Community since 2017, a Forum moderator since 2018 (I think...), and a member of the ODK TSC/TAB since 2019. I've also been quite active in the associated KoboToolbox community Forum (similarly, answering some of their perhaps more obscure XForm form-related questions...). On occasion I've posted a few examples of some of the more fun and 'exotic' things your can accomplish with XForms, and hence Collect.

How do you believe your contributions have benefited ODK?

I hope my contributions to the ODK Forum in answering some of the trickier form-design related questions have been useful to the broader community. And that the practical experience I have gained from having to implement a 3rd-party ODK-compatible mobile client has been able to provide a degree of rigor to ODK's published APIs and XForm specifications. I have greatly enjoyed this 'collaboration', and I still have a tremendous motivation to see that ODK "does it right [spec-wise]" :slight_smile:

What do you believe the top priorities for ODK should be?

I believe longitudinal data collection remains the biggest missing feature of ODK, and something that I continue to remain acutely interested in seeing develop [more so for having to implement something myself quickly, but bespoke, for GoMobile]. I also believe full GIS feature integration into ODK data capture has tremendous untapped potential, most especially in relation to longitudinal data collection. I'm excited to see ODK do these in the best possible manner.

How will you help ODK accomplish those priorities?

As alluded to above, the top priorities I see for ODK are things that I am especially interested in finally seeing come to fruition, and I will endeavor to contribute to elegant solutions therewith as best I possibly can. Standards-based, offline mobile data collection is what I remain most passionate about.

How many hours a week can you commit to participating on the TAB?

4 (inc. Forum moderation)

What other data collection projects, social impact projects, or open source projects are you involved with?

I have been actively working on an open source native iOS XForms client (iXForms) compatible with ODK Aggregate - and now Central - for a few years now. I (desperately!) hope to finish the base functionality off this year to release it for beta testing by the wider ODK community. So I remain atune to ODK Central's API and ODK's XForm specifications in general, which I am keen to see remain as formal specifications, potentially consumable by other clients.

In my previous job (Master Business Systems) I was the lead for their GoMobile mobile inspection product [which was based on an earlier version of my iXForms]. Presently at Objective I am working on the next version of mobile building inspections. Which is to say, mobile forms is what I probably do best.

In a previous life I was part of the IBM Linux Technology Center, where everything I wrote was around open source Systems Management software, and was open source, a bunch of which is still shipping in the the current Linux distros. I still firmly believe in leveraging quality open-source software whenever possible.

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


I agree with you and this is more a testimony than a question...
A very recent first form with new "select from map" geo feature rised GIS relative questions from colleagues : can we use style for markers (visited/unvisited) ? Could we modify data of a visited place (during the session) by just clicking the marker ? Is it possible to show data from earlier sessions.
Great encouraging questions at the intersection between GIS and entity based and longitudinal data collection usage !
It's quite new, I mean for the moment I had in mind what ODK could do for my colleagues, now some of them also imagine their own original scenario based on ODK. Sometimes they also use Qfield to do things odk can't do for the moment. I try to limit it a maximum to not break our data workflows and forbid manual integration of uncontrolled data.
Finally I have one question, just because I am curious :slight_smile: :

What kind of GIS feature do you imagine into Collect ?


Do you have any tricks for keeping up on both the ODK and KoBo forums?

Other than having 2 tabs open in Firefox, not really... :slight_smile:

So the backstory is that we (MBS) - for our GoMobile product - needed a user friendly form builder for customers (local council IT staff) to write and preview their custom inspection forms. After looking around and evaluating a few in-house with our support staff, we settled on the KoBoToolbox Form Builder as best suiting our needs and user base. So we forked it, fiddled around with some of its UI to reduce it to just the KPI form builder portion (eg removing widgets for controls that GoMobile didn't yet support, hiding the submission management stuff, etc) and ended up with something quite suitable which we could import and edit XLSForms, and export the XForm definitions that GoMobile consumed. In return I felt it important to give something back to that community, so I hoped on their forum and started helping answer some of the trickier XForm form design questions that came up [just as a contributor - I'm not a Kobo Moderator or anything like that...].

Over time the skill base of the Kobo community has increased markedly, so now most of the typical questions that come up are already handled by knowledgeable folks there, and its only the really esoteric/squirrely ones that I can really contribute much to... But I still like to keep up with their forum as time permits, and help out where I can.


[First, a bit more backstory] So in my previous life I did a PhD in AI (before it was sexy, alas...) and backend systems management for IBM supercomputers (very UNsexy). What attracted me to the, arguably, antipodal mobile space was the unique challenges and opportunities that mobile apps entail. Mobile devices are so much more than just a portable web browser, and trying to solve real problems within the confines of a tiny screen, with slow unreliable connectivity, and using a lousy, imprecise input device called a 'finger' all make for very interesting solutions (ie intellectually 'sexy' :slight_smile: ). However, one of the most unique features of mobile is that we all now basically go about our lives knowing at any time precisely where we are spatially to almost everything of importance around us. And so much of what we do and interact with day-to-day has a spatial context or component to it: where people and things of interest are, how to get to them, how far they are from other things of importance, etc. So I think geospatial data and awareness is really a driving differentiator that can distinguish mobile data collection from simply filling in electronic forms.

One of the enviable privileges I had with my iXForms and GoMobile stuff was having a blank slate with which to play with, unburdened by legacy support or existing user base. So from the outset being able to download and see submissions in list form as well as on a map was integral to iXForms [aside: the other thing I've always been keen on is pushing more form and submission management down onto the device, which was tricky given the limitations of the the OpenRosa API, but is so much easier now with Central's rich API]. And with the subsequent GoMobile app I was likewise able to view, search and select council 'assets' - the things they need to inspect (aka Entity-Based Data Collection!), almost all of which had an associated location - equally in both list form or on a map. So I'm immensely excited to see this sort of functionality evolve and surface in the Collect+Central stack, but - I'm sure with the diligence of folks like @LN - in a far more formal and standardized manner than my own ad hoc hacks :wink: .

Honestly, as awesome and useful as the new 'select_one from map' feature that we just released in Collect is, I think we've really only just begun to scratch the surface on how we can fully integrate geospatial information into how users go about using ODK for mobile data collection. I really think we will start to see wonderful new usecases possible here as GIS support invariably evolves, naturally, within Entity-Based Data Collection.


Thanks Gareth for this enthusiast and shared point of view about GIS in ODK :slight_smile: