skip to main content
Menu

Should GOV.UK get a Form Builder?

UPDATE: GOV.UK now has a Form Builder! https://www.forms.service.gov.uk/


At the time of writing, the various government departments affected by the Coronavirus pandemic have been putting togeter systems together very quickly, something I think a GOV.UK service could have helped with. Including the most difficult part of handling a large amount of traffic. Which, not surprisingly, has had their struggles popularised in the media.

One thought came to mind. With the array of different government-backed digital services such as GOV.UK Verify, Notify, Pay and the range of other services, why not introduce an additional service. A Form builder would have allowed service designers to focus on building any techincal guts rather than the same form related things. Repeating accessibility testing of form elements takes time, and is not great for getting services ready at speed.

Header Image showing a sample GOV.UK service logo, and two images further down

A government backed form builder would allow for easy integration with other GOV.UK systems. Additionally, streaming of results to other systems which wouldn’t need to be built to handle large peaks in demand. For quite a few forms, a simple spreadsheet view would likely suffice.

At the very least, one clear example use case is the short-lived “Readiness to supply ventilators and ventilator components” service which only needed to capture information. With a form builder there would have been no need to build an application, database and deployment. Instead, with a form builder, the various form controls could have been drag and dropped, the form tested and then launched without much technical ability.

A sample new GOV.UK Coronavirus Testing Service

A more complex use case would be the Booking a Coronavirus Test service which wasslammed in the media for being overwhelmed early on. With some additional features compared to a relatively standard form builder, even services like this could have mostly relied upon a form system.

Additionally, we could reply upon the Form service scaling up and down to handle peaks. This would have relieved stress on any backend systems which can work at their own pace.

Reusable Components

Sample form showing an example location component
Sample form showing an example location component

We would start with a page based system as reconmended in the GOV.UK guidelines. From here the first page of actually booking a test would have a single address component. This could take advantage of HTML5 location APIs. Also address lookup tools could be added to make this easier for all users to fill in their details. Once this component is built for one form, the component could easily be dropped into any others which would reduce development costs across the government.

Slower backend processing

Sample GOV.UK coronavirus test form waiting for a slower backend system
Sample form waiting for a slower backend system

In the case of the testing system, once all the data has been collected from the user, the form system could then pass this data to a simpler test booking system in a queue. This allows the test system to work at it’s own pace, and provide more accurate results.

While it doesn’t sound difficult, booking systems are difficult in high demand as you need to ensure you don’t overbook the booking system needs to be aware of the latest state of the database. Most database systems aim to be “eventually consistent” which just isn’t good enough for booking. Allowing this kind of system to stream requests in a known capacity would mean this technical challenge could have been largely ignored. Especially given the time constraints I think it would have resulted in a better service.

Ideally, the form system would not make you wait forever and instead if it detects the backend system was sturggling, or after a timeout, offer the user a ticket and notify them later of results.

Sample GOV.UK coronavirus form telling the user their request is being processed by a backend system.
Sample form telling a user to come back later when the backend system has processed their data

In this case, you always provide the user with a response even if that response is telling the user to return later.

Other Benefits

Some other benefits could include some easy cross-development of features. For example, identity verification while simplified by GOV.UK Verify, is still quite a challenge to implement. With a form builder, this entire process could be drag and dropped into place. Or even just written in a JSON file.

Additionally, taking payment for services could also be implemented which would likely elimiate the need for some services.

Local authorities currently pay third party companies to provide them with essentially a form builder which could instead use a rebranded version of this system for very little additional cost.

My local council, Durham County Council has such a system. However, the forms have to load in through a progress bar which will likely reduce the accessibility. A government based system could have a much improved and streamlined design.

With a much lower cost could allow Durham Council to work on things such as a much nicer list of forms. Additionally, it could reduce the need for another online account along with the difficulties that provides. Completed submissions could be logged inside of a GOV.UK Account, another service which is in development.

Comments

Got any questions or additional commentary on this post? Please sent them to me on Twitter, or complete the contact form. I’d love to discuss more on these ideas, espcially those from GOV.UK!