Minimal IT logo and link to home page
Research, training, consultancy and software to reduce IT costs
Home | About | Newsletter | Contact
Previous | Next Printer friendly
11 December 2007

XForms to the rescue

By Andrew Clifford

Offline electronic forms are a useful part of many IT solutions. The XForms standard meets requirements that many commercial products do not meet.

I have been investigating electronic forms that can be filled in offline as a new feature for our Metrici Advisor service, to make it easier to distribute and fill in assessment questionnaires. As well as the basic requirement of capturing user input, we have a few additional requirements:

  1. Forms must work on any PC (we offer a service over the public Internet).
  2. Forms must be generated from XML, not hand-crafted.
  3. Forms must not require significant client-side development (we have few skills in this area).
  4. Licensing must not be restrictive or expensive.

I started by looking at Portable Document Format (PDF). I had seen PDF forms, PDF is reasonably easy to generate, and PDF readers (such as Adobe Reader) are readily available.

PDF forms are deeply frustrating. Standard PDF forms can not be saved by the free Adobe Reader - you need the paid-for versions. The free reader can save "reader enabled forms", which I could hand-craft using their paid-for software, though there are licensing restrictions. There is no obvious way to generate reader enabled forms without adopting server-based products from Adobe, which are too cumbersome and too expensive for our simple requirements.

I looked at alternative form handling products, such as Microsoft's InfoPath and FormDocs. None of these meet all four requirements. Most require windows-based forms clients, do not have simple form generation capability, and are licensed per client.

I looked at using browsers and scripting. Security restrictions and lack of cross-browser, cross-OS standards make browser-based offline forms very hard. Microsoft's HTML Applications do allow access to the local PC, but are restricted to Internet Explorer. Google Gears allows browser-based offline development, but is not yet ready for general adoption. Even if these solutions were widely available, they would still require significant client-side scripting.

I looked at Microsoft Office products. I have previously created forms using these, but this is difficult and error prone, and forces a dependency on particular versions of Microsoft products. I looked at pseudo-standards, like CSV, SYLK and RTF, but these are not sufficiently standardised or functional to support offline forms reliably.

I even considered creating plain text questionnaires, with a bit of simple tagging. Although this would meet all four requirements, it would be error prone and unacceptably unusable.

I began to despair. What started out as a simple set of requirements had turned into a mess of competing, proprietary products that do not do what I need.

And then, finally, I discovered XForms.

XForms is an XML-based standard for form definition that can be used online or offline. It supports richly functional forms and data collection without scripting. Although relatively new, it is sufficiently well supported to be the basis for a viable product.

The time I took to discover XForms has been very useful. It has helped me see the problems that XForms is designed to overcome, and to see the drawbacks of the alternatives.

I will describe XForms in a little more detail next week, to show how I can use the standard to meet my requirements.

Next: XForms - what you need to know

Subscription

To subscribe to the newlsetter, simply send an email to newsletter-subscribe@minimalit.com.
Privacy policy

Subscribe to RSS feed

Latest newsletter:
Magical metadata

We use the term "metadata-driven" to describe IT solutions in which functionality is defined in data. Taking this to the extreme can provide unparalleled levels of speed, simplicity and versatility.
Read full newsletter

System governance

System governance helps you implement high-quality systems, manage existing systems proactively, and improve failing systems.

Try it for free!

Find out more