Web Forms: What's next and our plan for releasing

Web Forms work in progress

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:

  1. Prototype to test our assumptions
  2. 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 :world_map:
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.

Snapshot of the feature matrix with progress for each item

Want to give feedback? :hugs:
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!

13 Likes

A way to easily generate QR codes that point to the webforms and which can be printed would be great.

1 Like

With Enketo it was possible to add onto the URL parameters to prefill a question.
For example, if:

&d[full_name]=dan%20joseph

is added onto the end of the URL then the question with name = full_name will be already filled with "dan joseph" when the forms loads.

  1. Is the above something prone to failure that I shouldn't use currently?
  2. Will a similar thing be possible in the new web forms?

There are a couple of known issues but nothing significant. One that comes to mind is that it doesn't work with start-geopoint (https://github.com/enketo/enketo/issues/1313)

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.

1 Like

2 posts were split to a new topic: What review and edit functionality is planned for Data Collectors?

We are now in phase 2 as outlined in the top post. :tada: 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)

Selecting and ranking

Thanks for all the great feedback and suggestions so far, please keep them coming!

4 Likes

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.

Thanks for your feedback, @wroos!

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

1 Like

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 :confetti_ball:

2 Likes

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.

Thanks!

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.

1 Like

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.

2 Likes