12 Sep
2007

Microsoft and XForms, Standards Assassin or Innovator?

Humble Beginnings

In researching technologies for dynamic form presentation, I came across the lonely and sad story of XForms. XForms is a sad little technology that once had a great future and was full of hope and aspirations.

The basic idea was that I can build rich form functionality, including some processing logic, using XML tags which are then rendered by browsers at run time. I can then hook into the forms processing model with custom functions and logic, parsing things and doing some dynamic rendering on the client without needing to round trip for a post back.

OK, that sounds useful. It also sounds easier than building complex logical structures that rendered by conditional AJAX panels.

The W3C Forms Working Group delivered a working draft for an XForms standard in 2004. XForms languished in this state until February of 2007 when a new working draft was delivered.

The InfoPath Effect

The future of XForms seems bright and assured, doesn’t it? In fact, if we look at the W3C’s list of technology adopters, there are a host of vendors listed including IBM, Mozilla, Oracle, and many more specialized companies. Have you guessed yet who is conspicuously absent from this list?

Apparently, when the discussions were occurring for XForms standardization discussions in Redmond were focused on InfoPath and the support of the InfoPath proprietary .XSF standard for including all kinds of XML into the InfoPath editor. XForms didn’t make that list.

Where does that leave the client-side dynamic form technology from MS? Well, inside the InfoPath rendering engine, as it turns out. Which is definitely a part of IE. This means that using IE, one can render an InfoPath form (XSF file) to HTML and interact with it. IE has no such knowledge of XForms.

Now What?

FireFox supports XForms for use as a client side technology. Although initially conceived as a dynamic, client-side tool, Oracle, and several other vendors, provide server side technologies for using XForms.

A 3rd party plugin, Forms Player, provides a free XForm rendering engine that integrates into IE. Thank you very much for the attempt guys, but using such a non-standard plugin isn’t exactly a safe bet outside of a controlled enterprise. Is the computer you are using now equipped with Forms Player? I doubt it.

There are other ways to kluge together a client side interaction. After all, that’s what AJAX is for.

How Could This Work Better?

  1. Microsoft could provide XForm support in IE on their own. In fact, this is a reasonable feature of the InfoPath rendering engine, not just related to IE.
  2. MS could host an open plug-in community for people who need functionality to be added to the products (IE for example). This is already available, but the next step is to take that code, vet it, and then include it in the product. That’s right, distribute community derived code. Whew, makes me heady just to think about it.
Technorati Tags: , , , ,

2 thoughts on “Microsoft and XForms, Standards Assassin or Innovator?

  1. Like you say, XForms isn’t available natively on IE, and most likely won’t anytime soon. There are plugins for IE and Firefox, but, well, those are plug-ins which require to be installed.

    An other way is to have a server-side XForms implementation. You deploy your XForms engine on the server side, it crunches your XForms files to generate pages that use Ajax and run on all major browsers. This way you get the benefits of XForms, without the drawbacks of having to install a plug-in.

    Orbeon Forms is one server-side, open source implementation of XForms. You can learn more about Orbeon Forms on: http://www.orbeon.com/

    Alex

Comments are closed.