iOS version of ODK Collect

Probably here. (and you can probably tell by the abundance of postings recently how much time I've had to spend on it lately... :wink: )

Basically, iXForms in its present form works adequately from a user/functional perspective (although its missing such things a itext and repeat groups), but is a horrific mess! Its Objective-C, using a really good but slowly sunsetting UI library (XLForm) on top of a bunch of custom middleware (ARC) sitting on top of an bunch of arguably beta+ (non-ARC!) low-level XForms handling code, all sitting on top of an fmdb wrapper around an SQLite database. Again, it works, but .... OMG I'd never show my mother! :slight_smile:

I'm in the process of rewriting it in Swift using Eureka for the form UI and Realm for the DB layer, which will significantly diminish the code bloat and make it feasible for someone other than me to understand what the heck is going on. Soon as I have a minimally working (eg simple text-only question form) running I'll put it on github and let others watch - and contribute - to the other features being re-added.

But it isnt, and likely never will be, a strict port of ODK Collect to iOS. Rather, its an iOS XForms client attempting to be compatible with ODK forms, OpenRosa API, Central REST API, javaRosa behavior (eg support same XPath function suite), etc. [hence my earlier comment: "do people want an iOS ODK Collect app vs a native iOS XForms-compatible app?"]

1 Like

Hi,

We have been working on our own port of the odk collect for ios. We are about to enter the public beta phase in about a month. We have been working with some of our clients on this port for some time. If you are interested in working with the beta version please let me know. We have opened a github account to track the issues and solve them.

Daniel

1 Like

@Daniel_SalazarR thank you for sharing about this. I'll be looking forward the public release.

@Xiphware @Daniel_SalazarR
I probably won't understand the technicalities of your respective projects, but are you developing different solutions to provide iOS support? Are there overlaps?

Hi raph,

If you are interested, we would love to have you review our app on iOS.

Edit:
My post was flagged as inappropriate. I reread the guidelines and to be honest I don't see why it's inappropriate. Could you kindly explain to me why, please? I really want to learn.

The only place I thought it may have been the reason is the mentioning of the app name, which I deleted to be safe. Thank you all very much.

We are developing a different solution from that proposed by @Xiphware.

There are overlaps in the sense that both of our projects are looking for compatibility with the odk collect, xforms and such. But other than that we are completely independent efforts.

@Daniel_SalazarR @Xiphware any update in either of your projects? :slightly_smiling_face:

So I presented an update/overview of iXForms/GoMobile at the recent ODK Convening in Seattle. Slide-deck posted here: https://drive.google.com/file/d/1fGYGolOifnenqDEJPaKegBLaK6siraEZ/view

Status of iXForms - the open source iOS version - is that I'm still in process of porting the original prototype to Swift and a new Realm + Eureka framework (from Objective-C + fmdb + XLForm). It can fetch forms and submit to ODK Aggregate (OpenRosa), ODK Central (REST), and KoboToolbox (OpenRosa). But the new codebase isnt quite ready for public consumption just yet, and there's still a number of (not-insignificant) unsupported ODK features; see last slide. But hopefully the slides will give a sense of what to expect. :slight_smile: [FYI this all is being done in my spare time, when I'm not mowing lawns or chasing a 4 year-old...]

4 Likes

@Xiphware thank you for the update! Looks like you're getting quite close to a usable tool, it's exciting :slight_smile: Thanks for the hard work!

Thnx for your encouragement. It’s most certainly a ‘labor of love’... :wink:

1 Like

It looks like SurveyCTO released an iOS version of their app. I imagine that means they developed their own JavaRosa for iOS? Of course, they are closed source... :roll_eyes:

They leveraged multi-os engine to use the existing Java library and most of the Android code.

@Grzesiek2010, @seadowg this relates to your conversation about Kotlin multiplatform.

1 Like

I wonder if Esri did the same with their iOS Survey123 version, or re-implemented the core in native iOS... (again, closed source so we may never know)

Hello Daniel
Thank you for your
I woudn t mind to work in Beta version, do you know if a public version is available now?
Aline Philibert associate pro. at the uni. of Quebec in Montreal

Hi Aline,

My company is also developing a solution (there is a public version) that is compatible with ODK collect and xforms. Please PM me for more details.

1 Like

I think it's all web technologies and that they don't (directly) use any native components so it's the same app for both. I used to think that they wrapped Enketo but @martijnr says that they re-implemented their own engine.

1 Like

They do both. Mobile apps (native or something that builds to native) and web client (enketo).

1 Like

Hi,

You can find our version in the apple store, it has been there for a few months. It's a work in progress, a lot of forms do work, lot of the functionality works, but we do find issues with some cases. We fix those issues as soon as we find them or receive notification. We are also working on memory and speed optimizations right now for very large forms.

If you try it and find any issues please let me know and we'll fix it asap. We're releasing a new version every month.

2 Likes

In the next few months, we will start developing the iOS version of our security-focused data-collection app. The Android version supports ODK and it will be really important for us to ensure that the iOS version also supports it. This will likely to be native.

Rather than duplicating the work, we would love to build on what others have already started (and, why not, collaboratively develop a library that can be used by other teams). I'd love to hear how other teams have been faring on this @Daniel_SalazarR @Christina @Xiphware

2 Likes

We've got a team who are exclusively on Apple devices and we'd be happy to beta test any ODK Central compatible iOS clients. Our forms are pretty plain, just some geopoints, photos and other simple field types.

Thnx for the offer. If you can flick me a couple of your forms I'll see how well they 'behave', in my current beta... :wink: