Plenty of tools to pick from…but which one is best for your particular use case?

If you want to build your own custom form templates and use them on mobile phones, there are a number of good forms software tools to pick from today.  These include:

  • GoCanvas
  • DeviceMagic
  • DoForms
  • Fulcrum
  • ProntoForms
  • XForms
  • FastField Forms
  • Formstack
  • and more….

Each tool has its pros and cons, business model, price point, unique features, and fan base.  But which one is right for me?

Rather than covering each tool one by one, this article highlights some questions you might want to consider when making a decision on what tool to use for your own unique forms and use cases.

Do you need to collect and display information in table grids (similar to Excel tables)?

Sometimes it’s easier to collect data in tables and rows, rather than one field at a time.  However, most generic forms tools can’t do this, forcing you (the form designer) to add a lot of fields to your form.  The end result is a very long form where the field user has to scroll a lot to fill out each field.

To illustrate, take a look at the image below.

Almost none of the generic mobile forms tools mentioned above have customizable table grid controls.  I believe that GoCanvas has that feature, and so does XForms.  In XForms, you can customize the table grids fairly easily, including the following:

  • Add any field type to a column, even a signature field
  • Add a calculated field to a column, which takes values or does math on other numeric columns in the table
  • Lock a column into readonly
  • Lock a row so that it can’t be deleted
  • Pre-populate values in rows and specific cells
  • Add a footer that can perform various functions, including ability to calculate the SUM, MIN, MAX, or AVERAGE of all the numeric values in a column
  • Add a button underneath the table that allows the user to add a row to the table

Here’s a little video illustrating how you can use the XForms Designer to build and customize a table:


Do you need some way of knowing that the information submitted wasn’t tampered with?

Audit trails are nothing new, but not all systems do this or give you enough controls to let you answer this question with ease.  In XForms, we have something called a Form’s History.  It works by automatically creating a new version of a submitted form each time any change is made to the data stored within the form.  Edited forms are then made available right from the Forms screen in the XForms web dashboard.  And if a submitted form was deleted, you can view this too!  Just flip the “show deleted forms” switch to “on” and voilá!  Any form that was deleted will appear, and show you who deleted it and when it was deleted.  Here’s a screenshot of what this looks like in XForms.

Do you need the system to work in offline mode, so that you can use it when there’s no cell or wifi reception?

Most generic systems can handle this, although some like AirTable actually can’t.  In XForms, flipping to offline mode is as simple as flipping a switch on the menu to “offline”.

Do you need to collect meta-data like geolocation, so that you know where the forms were filled out?

Like offline mode, most generic forms tools built for field work have this feature available.  In XForms, this information is captured whenever a form is initiated (provided that the user gave the app permission to capture the device’s geolocation).  In terms of data display, in the web dashboard, you can display the location of where the forms were initiated on a map.  This metadata is also exportable directly to an Excel download from the Forms screen.

With phone camera resolutions nowadays at 12-megapixel or greater, do you need a simple way to limit the size of the photos being pushed through your cell connection?

Today’s phone cameras are amazing.  You can take exceptional pictures now.  But that comes at a cost: massive file sizes, sometimes up to 6MB per image.  And if your particular use case doesn’t require that kind of massive resolution, why would you want to push that much data through your cell network, especially if your signal is at 2 bars or less, on a slower LTE network, or god-forbid you are on a 3G network?  As an example, lets assume you take 10 pictures and attach them to a single form.  Then you submit the form.  Let’s assume that each photo is 2MB, uncompressed.  That means that just the images attached to the form = 2MB x 10 images = 20MB!  While this may not sound like much, try pushing that over 3G with a weak signal.

You can auto-adjust image file sizes in the XForms Designer tool.  A good write-up of photo management best practices, resolutions, and file sizes can be found on this article.


Do you need to route forms through an approval process?

If your use case requires a form to be reviewed by someone before it is “approved”, then you probably need an approval workflow process. A classic example is a lockout-tagout (LOTO) form.  In this scenario, a field tech will fill out a form indicating all the safety precautions and procedures taken, send that form to their safety manager for review, and not continue with the LOTO until the safety manager has actually approved it.

Some generic mobile forms tools (including DeviceMagic) have a feature that can handle this sort of scenario/use case.  In XForms, we call this an approvals workflow, whereby you specify who the approver or approvers are, and which forms need to be routed through the workflow.  The approval workflows can be single step or multi-step.  A multi-step approval workflow basically means that after the first person(s) approves the form, it then gets routed to a second set of approvers.  Automatic notifications are provided via email, sms/text and push notifications via the mobile app and web app.

The approval workflow in XForms essentially has 2 outcomes: a form can be approved (requires a signature) or rejected (requires comments). Comment threads are retained and displayed to both the form author and the form approver.  Approval signatures are automatically appended to the PDF that is generated by the system.  See screenshots below.

Do you need to give your customers access to your forms, in real-time?

Most generic tools don’t provide this feature, especially for free.  In XForms, you can specify the company name of your customer, and give them access to the XForms dashboard, where they can log in and view all of the form data submitted on behalf of their company.  The data is in read-only mode, and you can control which “applications” they have access to.  This feature provides your customers another level of transparency that they likely aren’t used to having.

Do you need to be able to add users with different permissions?

Not every user is the same.  Some folks only need to add forms and view their own forms.  Others need to see everyone’s forms. While most systems are multi-user out of the box, XForms has a few nifty features in this area of the system:

  • If you need to disable user quickly, you just flip a switch in their profile to “disabled”
  • You can control which app(s) a user has access to.  This lets you use the system across multiple divisions/departments, and users of the system can be limited to just that particular department’s forms, for example.
  • You can force a password reset
  • You can dictate the complexity of the password and the expiration timeframe.

Do you need an easy way to export everything out of the system?

A lot of systems make extracting data out of the system difficult…on purpose.  They don’t want you to leave.  Reminds me of DirecTV…you have to talk to a pile of people and be on the phone for an hour just to cancel.  Not so in XForms.  It’s as simple as a couple of clicks.  Just click the green “Export to Excel” button and all the data on screen gets downloaded as an xlsx file.  If you want to download all the form data your team has collected, click on the 3 vertical dots (ellipsis icon) on the far right and click on “Download All Form Data”.   That’s it.

Do you need a simple way to visualize your submitted form data?

Each generic mobile forms tool cited above has their own way of visualizing the data collected.  In XForms, we use big customizable blocks to aggregate and display only the most important values you need to make informed decisions.  You don’t need to learn some special widget functions either.  Just click on your form name, view aggregated data, click to drill down, and view the form details.

Do you need to integrate your form data with other systems?

While most systems have publicly-available APIs, not all of them do.  This particular feature is a must, as it allows you to expand and weave field-gathered data directly into other tools you use, like Sharepoint, MS Teams, Slack, etc.  Make sure that the product you go with has simple-to-integrate publicly-available JSON RESTful APIs.

And the most important consideration: is the field app simple to actually use, so that your very busy field crews that work in horrible weather conditions adopt and embrace the new system?

Can’t say this enough: the mobile app component of the system you decide to use absolutely has to be simple to use.  If it’s difficult to navigate in horrible weather conditions, field crews will shun it.  And if they do that, what’s the point of having a system with all those features?

I mean, imagine trying to fill out a form in the field while getting eaten alive by mosquitos.  Or squinting at a hard-to-see screen because of the reflection in the bright sunlight, while sweat drips down your forehead.  Or trying to tap on some buttons with gloves on, while cold wind whips into your face.  Not fun.  Want to read about some actual field work war stories we’ve been through ourselves?  Visit the fieldwork stories page on our website for a few laughs.  One of my favs is the porta-potty method of cooling off when its 95°F in 99% humidity.  Check out that story from the link above.

While most software tools are designed in the comfort of a perfectly-conditioned office, use of that software happens in shit weather.  Sometimes nice weather, but more often than not, horrible weather.  And field crews are pretty damn busy already, having to McGyver their way around temperamental equipment, missing gear, irate humans, tight timelines, and the like.  The last thing they want to do is fiddle with some over-engineered, complex software tool forced upon them by upper management, just because some dude in the office compared feature lists and picked the one with the most features.

So do yourself a favor and don’t select a tool just for the backoffice benefits, or with features you will never use.  Select a tool that the field crews can learn to use very quickly without having to sit through a webinar to learn how to use,  a tool that’s there when they need it, and that gets out of their way quickly, so that they can get their field work done and go home, where they’d rather be.