XForms Becomes Proposed Recommendation
leighklotz writes "The W3C has announced that XForms is now a Proposed Recommendation, after certification of one full implementation (open
source Java XSmiles from Finland) and two more implementations of each feature (the Internet
Explorer plug-in FormsPlayer
and the Java standalone Novell
xPlorer). XForms is the next generation of forms for the Web, and uses an
XML-based three-layer model: data model, data, and user interface.
XForms uses CSS for device independencence and is designed for
integration into XHTML 2,
SVG, and other XML-based markup
languages. A host of other implementations
are available or in progress, but my pick for most interesting is DENG, which is an
XForms to Flash compiler written in Flash. DENG supports
XForms, SVG, RSS, XHTML, and CSS. XForms is in consideration for other standards as diverse as Universal
Remote Controls and the UK
Government Interoperability Framework, and was developed with the
participation of IBM, Oracle, Xerox, Adobe, Novell, SAP, Cardiff,
PureEdge, and a host of other companies,
universities, and invididuals."
Now it's also "the next generation of web forms". Gag me with a buzzword.
It's not as if the original XForms were unknown, either -- it comes up second in a Google search for "Xforms". These jokers should have known better.
Feh.
dear world wide web consortium,
thank you for your recommendation of yet another over-complicated standard for the world wide web. while we do appreciate the time and effort it takes to keep coming up with esoteric standards that involve the letter 'x', we currently are not searching to implement any additional layers of abstraction into our website viewing experience. we currently have xml backends that are interpreted by xslt's to generate style sheets that are controlled by dhtml, and feel that adding another abstraction layer to what was originally a simple way to serve a formatted text page would take us into the realm of meta-meta-meta-meta-programming, and that's probably two meta's too many for us. we have decided that we would rather spend our time creating interesting content, than debugging at what level our standards-based fancy pants websites are breaking on each browser.
so, while you guys are doing good job there in lotus-eating land, we on the real web will be passing on this standard.
thanks,
the world wide web
Just like Firebird. What really gets me is not the fact that these names have already been taken but that at least two seperate people on earth think these are good names for their projects. Firebird is a bad name and it's only made worse by the Thunderbird project, confusing as hell. One should be called Fire and one Thunder, now that's pretty cool. Except for the fact that Fire is an IM on the Mac.
XForms is a bad name. Sure, it kinda sounds like XHTML. Here's a reality check: XHTML is a bad name. X2 was a bad name for a movie, XP is a bad version number and so is MX. X is a stupid letter. Don't go tacking it onto everything you name just to make it sound cool. A name doesn't make something cool, but it sure can make it sound stupid.
Don't even try to explain that extensible starts with an X instead of an E unless you're speaking in ebonics, and in that case, mad props.
- You get hierarchical data, as opposed to the flat list of query parameters you have today. This makes a huge difference in the expressibility of a form. In fact, the XForms spec outlines some support for, for instance, dynamically adding controls to a form. No more re-submitting because those 3 file upload controls weren't enough for you, extend the form offline via javascript!
- You get to reuse your form handling code to service SOAP requests, too. Instantly.
- Form data can be serialized by the browser or by a more specialized client, and submitted later on (this is the Suspend and Resume another poster mentioned). How about being able to disconnect from the internet, copy that article submission form to your laptop, and fixing all those typos while you wait for that call from your editor? Or even submitting the form via an alternate method, SOAP or even email if your server supports it.
- Accessibility. This isn't something I worry about on a daily basis, but there are many people who do. XForms controls are fairly platform-agnostic, and cater better to those with visual or other disabilities. Plus they're more easily adapted to novel input devices, like a cellphone.
If you're a frustrated web developer itching for a simpler way of living, this may be your ticket. Even today, you should consider supporting XForms on your back end, while translating to the simpler HTML forms for today's web clients. I am.I'm surprised at the number of negative posts I've seen already.
This is actually a good thing. HTML forms are badly broken at every level, as anyone who has actually tried to build a decent UI with them will know.
I have been using the draft specification for a while to produce forms in my software and it is useful because it lets me write code (PHP) which produces XFORMS XML, without worrying about how it will look. I then pass the XML through a transform and end up with good old html. Because the actual layout is produced by a transform, I can let my designers choose which transform they want to use to get the kind of prettiness they like. I can get complex layout, with sexy results, without having to write hideous html or wrangle with the cruft that is CSS each time.
That's just the layout side of things. The three-level model give me much more control over adding scripting behaviours (Javascript), abstracting the form control out into PHP classes etc. etc.
If you don't understand why html forms are broken, I suggest you start playing with Xforms. Once you grok it you won't look back. When I first came across Xforms, I thought "great, loads of complexity for no good reason" too.