On our recent Insiders call we talked about what we are working on now and what’s coming up next. We wanted to share a bit more detail about ODK Web Forms so you know what to expect over the next few months.
As we noted in our initial announcement about Web Forms, our goal is to create a consistent user experience with Collect and ensure a smooth roll-out. To achieve this, we’ve broken up the work into 4 phases with outcomes and examples of features we will be implementing during each of those phases with ongoing user feedback.
The planned work is not a comprehensive list, but will give you a sense of some of the features we will be working on. As we look further out in the future it gets more uncertain because we will learn and iterate as we get user feedback and plan beyond Phase 4.
Phase 0: Product Discovery (done ✅)
Outcome:
Prototype to test our assumptions
Derisk known complexity
Features:
Make initial tech and architecture decisions
Derisk question types such as repeats, translations, etc
Phase 1: Share with community (now)
Outcome:
Users can preview web forms in Central and in a standalone service
Users try their forms and give feedback to help shape the next phases
Features:
Share the design and implementation process
Build the most common question types (appearances, validation feedback, form attachments (including Entity Lists))
Research:
Based on user research so far, we know users expect consistency with Collect, which has been particularly challenging with geo functionality. A few insights we’ve heard so far based on experiences with geo questions in Enketo:
Capturing the location on mobile is very difficult, but important for self-reporting and for folks not using Collect (e.g. citizen reporting). Regardless of device size, location questions will be responsive and users will know they've captured the location.
Users often add the coordinates first rather than using the map, which is why information is captured incorrectly. We aim to design an experience where data collectors can interact with the map first and have the option to manually add the coordinates if necessary.
Offline layers aren't available. We know offline layers are important for both Collect and Web Forms, which is it is prioritized in phase 4.
Phase 2: Beta (next, likely starting late 2024)
Outcome:
Users can opt in to Web Forms for individual forms in Central
Users can clearly identify which of their forms will work with Web Forms and which ones won’t
Features:
Enable users to send, edit, and view submissions
Expand more specialized functionality (geo, annotations, submission attachments)
Phase 3: Release (later)
Outcome:
All new forms in Central use Web Forms by default
Users can revert to Enketo for functionality such as offline use
Features:
Implement less common functionality (e.g query parameters)
Add ability to switch modes (one question vs list, grid, etc)
Phase 4: Offline functionality (later)
Outcome:
Users can work offline and understand what happens to their data
Users can install forms and/or projects as a progressive web app
Features:
Add visual feedback for when users are working offline
Implement offline map layers
Stay up-to-date with our progress
We will continue to share our progress here and update the product roadmap. We also have a feature matrix that you can use to check what we’ve built, so you can determine when you may want to make the switch.
Want to give feedback?
If you’re interested in telling us more about how you want to use web forms and provide deeper feedback, you can comment below and we’ll schedule a user interview. You’ll also be able to check it out on your own in the next Central release and let us know what you think!
Yes, we will likely use the same syntax for continuity. It's not the friendliest but it does work well. If you have any feedback or suggestions on that, please do share.
We are now in phase 2 as outlined in the top post. Our goal is to allow administrators to opt into using Web Forms for specific forms as part of the next Central release. You can read more about the initiative in this thread.
Thanks to everyone who was part of the geo-focused Insiders and data collectors calls – you all have helped solidify the vision for geo functionality in Web Forms. We plan to start implementation for that later this month.
We've added a number of features big and small over the past few months. Notably, attaching CSVs to forms (including Entity Lists!) is now fully functional and you can try it out in Central v2024.3+. You need a Central install to attach files but for all other functionality, you can try your own forms on the demo site. The demo site now has implementations for the range and rank question types which are not yet available in Central.
You can try these in the "All question types" form linked from the demo or try this form that shows selecting options to rank: filtered_rank.xlsx (10.6 KB)
Thanks for all the great feedback and suggestions so far, please keep them coming!
Dear @LN,
Sorry, I am not sure if switching between Enketo and Web Form is important as long as the functionality is still so much behind Enketo, esp. types, appearance, logic and offline.
About when will (almost) full current functionality of Enketo be available in Web Forms, please? Only then, introducing Web Forms will become interesting for us. Esp. for form testing and data cleaning!
So far, our main problem was that several Enketo essential features and bugs (!) have been different to ODK's. Our problem was not a different visual UI "appearance" (or a missing matrix option) in ODK.
We were happy when the Enketo maintenance was overtaken by the ODK Team, and hopefull to see less differences soon. And, sorry, we are unhappy to see now two different development teams again (Kobo/Enketo and ODK/Web Forms) and probably a long way to get a comparable Web (Forms) tool.
Projects leverage different subsets of full form capabilities and we know some are ready to get value from Web Forms today. But you're correct that for many others it will take longer for it to be a viable option. Allowing users who can get value out of Web Forms to opt in as early as possible will mean we can get useful feedback to power further improvements.
Nearly all the logic functionality is in place and matching Collect, as validated by extensive tests ported from Collect. The biggest missing logic piece is the XLSForm trigger functionality (XForms events and actions) as well as metadata preloads. We expect to take this on within the next month.
Our current target is to have some support for all types by this summer. It's an aggressive target and we'll continue to update on our progress.
Yes, we agree with this fully! We invested quite a bit of time and energy trying to address these issues in Enketo. Building a new system was not our desired outcome but it was not viable for us to continue working in the Enketo code base long term. You can review our reasoning at https://github.com/getodk/web-forms?tab=readme-ov-file#qa
By accident I discovered that the masked appearance doesn't work in the new web form yet (or Enketo FWIW), but it's also not listed in the Appearance matrix for completion when I went to check the status.
I also hit trigger not working, but see that's coming up soon
Will the beta be in the next major ODK Central release?
It would be nice if it was possible to opt-in all users into the beta automatically. On my setup I actually don't run Enketo at all anymore and webforms will only used to preview simple forms, so the beta should be sufficient.
The opt-in functionality will be in the next Central release! As part of this beta phase, when people opt-in they will be able to fill out a form, preview, and edit a submission with the new Web Forms.
I see how this would be helpful for your workflow, given that you're not using Enketo anymore! However, we don't want everyone to opt in automatically because switching could be disruptive for some folks that are using functionality in Enketo that hasn't been built in Web Forms. We expect most people will want to opt in and try Web Forms for new forms rather than work in flight. Eventually, we want to make it easier to switch over all forms rather than opting into specific forms one by one.
I meant as an optional config or odk-cmd command for the server admin when upgrading to the new version. I think it would be useful for people running new or small servers for few users that can easily be opted-in by the admin.
But thanks a lot for the reply. Definitly looking forward to the next release then.