XForms

XForms

Elliotte Rusty Harold

Thursday, March 17, 2005

elharo@metalab.unc.edu

http://www.cafeconleche.org/

Some Opinions

XForms, a combination of two of the most successful experiments ever performed with the Web: XML and forms.

--Micah Dubinko

For my current contract they could have saved months of effort by using XForms instead of standard HTML forms. We're talking thousands and thousands of lines of JSP code that could be thrown in the trash. I love nothing more than throwing code away ... love it.

--Kimbro Staken

It's not surprising that XForms is raising hackles and ruffling feathers since it has the potential to displace a language that a lot of people have spent a lot of time learning and building businesses around. But just as I gave up assembler programming to use C, so I now gladly drop spaghetti-script for XForms. It's not perfect and there are plenty of new features that I would like to see introduced, but its most important role has been to demonstrate that we don't need to be wedded to the old approaches for ever, and that new solutions are possible, and here today.

--Mark Birbeck

And a contrarian view:

I personally like XForms. However, I think it is a lost cause on the popular Web for three reasons:

It uses too many levels of abstraction to be understood by most authors.

It requires the use of many namespace prefixes.

None
of these problems really have anything to do with XForms features per
se. It is IMHO possible to bring many of XForms features (especially
the declarative constraints ideas) to authors without introducing the
other problems. For instance, by just extending HTML's form features
instead of making a totally new language.

--Ian Hickson, Opera

What's Wrong with HTML Forms?

Mix presentation and content

Limited user interface widgets

No client side validation

Round trips to server required to do anything significant

No data type aware controls

Excessively simple data model: a list of name=value pairs; all values are strings

Limited to browser environments; not good enough for rich user interfaces

Scripting Issues

JavaScript can help with some but not all of this

Users turn JavaScript off.

JavaScript often not supported by robots and other non-standard browsers

JavaScript has accessibility problems

Cross-browser incompatibilities make JavaScript hard to author.

What's Right with HTML Forms?

Easy to deploy; zero install

Straight-forward to author

Excessively simple data model: a list of name=value pairs; all values are strings