Tuesday, 18 December 2007

XForms - what you need to know

If you develop or manage web sites or IT systems, you need to know about XForms.

XForms is a standard for electronic forms that is intended to replace the current standards for forms on the web (HTML forms). Although there are other competing standards, over the next few years it is likely that XForms will be widely adopted.

If you design web applications or write web pages, you need to know the differences between HTML forms and XForms.

The biggest difference is that XForms will require much less scripting.

XForms allow a lot of user interaction to be defined without scripting. For example, XForms would allow the contents of one drop-down list to be set by the value selected on another drop-down list (something that currently requires scripts in the browser).

XForms does a lot of data handling that is currently carried out by the server or by using scripts. For example, XForms can populate forms from data written into the web page or retrieved separately from the web server. XForms can write complicated XML data back to the server, without writing scripts.

XForms provides a standard way of specifying the functionality of a form. This makes it easier to write forms that work on multiple devices. (Currently this is difficult because of differences in scripting).

Unlike HTML forms, XForms support more than just web forms. For example, they can read and write data from files on a PC. For simple requirements, you could use XForms as an alternative to Visual Basic. You could use XForms for forms that have to be emailed and filled in.

Although XForms has not yet begun to replace HTML forms, it is already well supported by many products, most of which are free or open source.

Here is just a selection.

  • Browser extensions such as the Mozilla XForms extensions (for Firefox) or formsPlayer (for Internet Explorer) allow XForms to be processed directly in the browser.
  • Server-based systems such as Orbeon Forms translate XForms to HTML forms and scripts, so that XForms can be used directly by browsers without extensions.
  • Browser-based scripts such as FormFaces perform the required XForms processing, also without installing extensions on the browser.
  • The OpenOffice.org office suite uses XForms to support its forms functionality.

Why should you care about XForms?

  • If you are involved in web development, you will have to care about XForms. XForms will become mainstream, and you will have to navigate both the differences and opportunities that this brings.
  • If you are involved in systems development, XForms could provide a single standards-based technology that replaces multiple proprietary technologies.
  • XForms is, in my opinion at least, a much better solution than HTML forms. It is simpler, more powerful, more flexible, and much more widely usable than HTML forms.

Although there are other overlapping and competing standards and solutions, XForms is likely to become a significant technology over the next few years. Understanding how XForms could affect your web sites and IT systems will help you to minimise disruption and, more importantly, take advantage of new opportunities as XForms develops.

© Copyright 2007 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 11 December 2007

XForms to the rescue

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.

© Copyright 2007 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 4 December 2007

Web marketing pitfalls

Reading the websites of similar businesses can be a great way of recognising the weaknesses in your own.

Metrici are marketing a new method for ongoing IT management and assurance. We are currently building up a network of businesses who use our products and services, and businesses who provide IT review services into us.

To do this, we scour the web for potential partners. We read their websites, understand their business, and introduce ourselves by email. 30-40% of the people we contact want to meet us, which is very respectable for cold-call emails.

Our marketing approach depends on getting to know businesses from their websites. Over the past few weeks I have read hundreds of websites. If you provide IT strategy, IT review or IT audit services, the chances are I've read your website. This is what I found.
  • Many websites emphasise style at the expense of basic usability. Flash animations taking up half the page. Impossible to use drop-down menus. Pictures of beautiful people staring at laptops and pointing. The worst was a live chat pop-up that obscured the site and which would not go away, making the website completely unreadable.
  • Many websites forget the basics. Tell me what country you are in. I got excited about some businesses, but then found they were in Zambia or New Zealand. If you use a .com domain name and are not global, say where you operate.
  • Many small business dilute their offer with minor services. "We are experts in IT security. And we also do web design and VB programming." Which do you really do? Sounds like you are an IT security specialist who can't get enough work.
  • Some large businesses confuse their readers with dozens of complicated-sounding services like "Strategic architecture alignment maturity process review". I have no idea what that means. Just tell me that you do project management and architecture consultancy.
  • Everybody hides behind info@ and sales@ email addresses and behind contact forms. A personal email address is so much friendlier and shows that you really do want people to contact you. Give a picture of yourself. I don't care that you look awkward in front of the camera. (If I wanted pictures of beautiful people, would I start by searching for "IT auditor"?)
  • Specialists with unique offers do not provide enough context. For example, you might have special expertise in holistic security awareness, but nobody understands what that means. You have to start by saying that you provide "IT end user security training", and then explain your unique angle.
The worst thing about this is that it has made me see many shortfalls in Metrici's website. We are as bad as everyone else. We don't explain our products and services clearly enough. We hide behind general email addresses. We don't clearly relate our unique offer to things that people already understand.

We all know how important it is to present ourselves clearly. Reading hundreds of websites has made me realise how difficult this is in practice, and helped me recognise weaknesses in my own websites. So before I criticise any more, I think I should go and put my own house in order.

© Copyright 2007 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.