Paper forms are an important way for organisations to collect information from their clients. Over the years there have been attempts to bring paper forms into the digital age. We’ve all had those hideous PDF’s, that you are supposed to fill out and email back, come through our inbox. They always end up losing data or not working - and I mean who wants to work in Acrobat Reader for a second - not me!
The logical next step as things have developed with mobile devices and tablets is digital form apps, whether that be web apps or mobile apps. These are just a few of my thoughts on what is best and will hopefully help guide you if you are considering getting your forms brought into the digital age.
Web or Mobile App
The first thing that seems to be on everyone’s mind is that they want an iOS or Android app to replace their dead tree forms. Although we all love the idea of an ‘app’, a web version is considerably more cost effective and can pivot much easier to accommodate changing needs. The web is such a rich, feature filled environment now that it is often hard to argue that (in the case of forms) an app is more suitable. That being said, native apps offer certain features that the web just cannot support / access. If access to these features is a requirement for you, an app is the right answer for you.
My advice to anyone looking to get a form converted to a digital version is to remember that you are taking something that has lived in the realm of printers and scanners, probably for some time, and brining it into a new technological world. Instead of getting caught in the trap of making the technology fit the form, sometimes it is helpful to re-evaluate the form the fit in with the technology.
At the very least it will be a good chance to review the form to make sure it is collecting all the information you require.
iOS / Android App You Say?
The reason you would opt for a native app over a web version generally comes down to Internet connectivity. If you are completing the form whilst you are out of range of an Internet connected network, and perhaps need submissions to be cached, an app is the way to go. An app is able to store the data locally on the device it is installed on, whether that be an iPad or Android tablet, and sync with the remote database (more on this later) when it joins an Internet connected network.
Now, sure there are other reasons to require an app version of the form, but most of these requirements are edge-cases that rarely end up being a final requirement for the form. These might include things like requiring access to hardware that is less efficient to access via the web browser. If, for example, you app required continuous access to the the GPS, a native app would be the preferred approach.
Producing mobile apps is a more development intensive process, that naturally leads to greater development times, and for the customer, a greater cost. Not only is the initial development time greater, but the turn around for tweaks and changes is usually longer when compared to web technologies. To add to this even further, apps need to be updated once a new version is released. If the app goes through a distribution point, such as Apple’s App Store, this again increases the time it takes to get an updated version to the customer.
Native apps are also platform specific. If you need the app available on multiple platforms this is considerably more work. There are tools available to produce cross-platform apps which may be a suitable solution if those platforms allow access to the device hardware you require.
Web App Perhaps?
Don’t be fouled by the web. It is a powerful place to work, full of fantastic surprises. Had I been writing this 5 years ago I would definitely be opting for the native app at all stops, but no more.
The web offers some great advantages over a native app version that usually ends up winning out on the native app version. The most important advantage, in my opinion, is the shorter development and distribution times. The web by its nature allows developers to pivot very quickly and have changed code in the hands of their clients extremely fast. There is no need to install updates or push things through distribution channels. The developer can simply finish their code, and within minutes have the new version available for the client. All the client needs to do is refresh the browser to see the changes instantly! 🚀
Unfortunately the web does like to be connected. If you complete a web form and lose Internet connection it can be nothing but a headache. There are things the developer can do to make sure you don’t lose your data such as submitting via (warning: fancy jargon ahead) AJAX requests and using the browsers local storage API to persist the data, but if the form is often completed in places with no connection, perhaps its time to look at a native app instead.
A couple of caveats: if the form is to be hosted on a Intranet, this can lead to longer times between the developer finishing the changes and the client being able to view them as the IT department would need to deploy the changes. Hosting the service on an Intranet can remove the dependency on Internet connection to just requiring a local network connection.
I wanted to drop in here a few of the lesser known form features possible in the digital world of forms. As you are viewing this in your web browser I’ve thrown in a couple of example links that you can demo.
This is always at the top of everyones list! Can I collect a signature…why not! There are plenty of libraries out there to enable tablets and mobile devices to collect signatures.
Signature Pad is a fantastic library for doing this on the web.
Handwriting to Text
This is a good one. Want someone to be able to write with their finger or a stylus and have it convert to text, sounds cool hey?
MyScript is a powerful object character recognition library to do just that.
Token Based Invites
Do you need to make sure only those that get sent links can complete the form? Sending out invites with a token per person ensures that once the form has been completed with a specific token, it cannot be used again.
Want to know how long a user spends completing the form, or perhaps a specific question. Simple. You can track all sorts of useful information about your users to not only collect the information in the form, but get data to help you improve the form itself.
Often a form might not be fully completed on the first go. Perhaps you’ve had a phone call and need to address something quickly and think “I can come back to this later”. With your paper form, if you leave it at the office and need to complete it on the go, you are out of luck. With a digital copy, you can save a draft and jump back into it whenever you are ready, picking up exactly where you left off.
Auto Calculation and Math Based Restrictions
Does your form require you to tally a column and give totals or enforce certain math restrictions? The digital world was born ready for this, it thrives on it. Naturally you would never need to tally another column ever again, the software takes care of that and can really enforce those restrictions - we’ve got you covered! Do you need to make sure that someone doesn’t spend more than their allocated budget on copies of “Peter Combe’s Greatest Hits”. That is dead simple (but you should let them anyway).
Automated Question Flow
Does your paper form have this:
It does? Well that’s all well and good on paper, but you can forget about that now! If you were to answer YES to this question (first of all you’ve seen everything) you would be automatically taken to question 10, and not just by scrolling, the other question would disappear. It’s pure genius 🤓
You don’t always need one person to complete a form, sometimes you need several people to collaborate and have input on the completion of the form. A digital version makes this super simple to collaborate and helps the flow of the form to the people of interest.
If you have section A, B and C that all need to be completed by different people, they can do that all at the same time and you can have the data collated automatically. Or perhaps you need it completed in series - well no more passing forms from office to office, now once the first section has been completed, the next person will be notified by email or push notification, and this continues until the form is completed. Automate all the things!!
Having an automated service can be hard when you are trying to automate things using content provided by a user. For example, imagine running Australia Post and having people enter addresses in all sorts of strange, inconsistent ways. Of course you can start writing your own system to parse addresses and attempt to normalise the data you receive - or you could stop reinventing the wheel and lean on an address validation service.
If you have your form converted into a digital version you are going to want a nice interface to be able to interact with the data. No more looking a spreadsheets in Excel, now you can scroll through a hand crafted administration system that contains all your data. The back-end can help automate even more tasks as well! (did I mention automation yet 🤔)
The back-end contains that remote database I mentioned earlier. You can think of the back-end as the brain running the form. It can do all sorts of magical trickery to make your life easier, such sending notifications as needed, calculating stats, restricting access to the data, etc.
If you need to send reports on a regular basis, this can be completely automated. Need to download the data to import into another system - not a problem. Want to be able to filter just submissions within the last 2 months that answer NO to question 6B on a Tuesday… well if you do - you can! Need to be able to view beautiful visual graphs of your collected data to detect trends over time - yes, yes, yes!
Doing it Yourself
There are heaps of great tools out there you can use to get your forms converted DIY. These solutions are built with strong assumptions about how your form should work, look, and flow. If you can work within these restrictions, they can be great resource, but often there are things you want done that these services don’t offer, just keep that in mind when checking these out.
Of course if you are after a more customisable, built to order solution you will need a developer to help put something together for you.
Hopefully you’ve got a great feel for the features a digital version of your form can have. The point here is to automate those tasks you do on a regular basis. Never enter a paper form into a computer again…like ever.
Update: 17th of July, 2017
I’ve added Typeform to the list of DIY solutions. I came across this as Taylor Otwell, the creator of a web framework called Laravel that I use on a daily basis, was using this service to allow people to submit ideas to the Laracon (Laravel Conference) science fair. It’s very modern DIY form builder, and I simply had to add it.
I also fixed some typos (will probably be more of those in the future 😅) and clarified the reduced requirement on an Internet connection in the caveats.