Views and Feelings

My Photo
Name: Steven Pemberton
Location: Amsterdam, Netherlands

Tuesday, 27 October 2009

A taste of who uses XForms

Molly Holzschlag asks who uses XForms, so I thought I would just drop a taste here for the record.

As you would expect with a new technology, adopters of XForms are within companies and vertical industries that have control over the software environment used. This is just a selection:

  • the US Navy (in submarines),
  • the British Insurance industry,
  • NASA (Jet Propulsion Laboratories),
  • UK Government (Planning Inspectorate),
  • many UK local government sites
  • US Government (eg recovery.gov, archives.gov)
  • Verifone - a payment company, for configuring petrol pumps,
  • Xerox, for an Enterprise Content Management system, to implement dynamic forms and to do XML binding to editing and adding for Wikis, Blogs, and content management, and another use in active development.
  • Yahoo for several internal applications, and now part of their mobile platform
  • NACS - the Association for Convenience & Petroleum Retailing for configuring and accessing data from a range of devices,
  • Vancity - A Canadian Credit Union, with public XForms-driven pages,
  • Daiwa - a Japanese Bank, for a transaction system,
  • German Shipbuilders, for configuring ships,
  • Fraunhofer (known for MP3) for configuring websites,
  • Bristol-Myers-Squibb (pharmaceutical),
  • Remia - a major Dutch food manufacturer,
  • KDDI: embedded in a Japanese mobile phone,
  • US Center for Disease Control: for disease control after hurricane Katrina

And don't forget that it is an integral part of OpenOffice's ODF, as well as central to a number of content management systems, such as the one from EMC.

Labels:

Wednesday, 8 July 2009

XHTML2: not dead

Late last week, just before the US holiday weekend, W3C management announced that they had decided to no longer supply resources for XHTML2 after its current charter runs out at the end of this year. However, this doesn't mean that work on XHTML2 will stop, or that XHTML2 is dead, just that the work will carry on elsewhere.

The fact that W3C no longer has the resources to support XHTML2 does not mean that the need for it goes away, nor that the companies working on it want to stop. To this end we are now working on where to take the work in order to complete it.

What this does mean is that we no longer have to adhere to the membership rules of W3C to do the work, so if you want to get involved in the future work on XHTML2, please get in touch, at xhtml2 at future-web dot org.

The background

Although a couple of members within W3C have actively campaigned to close the group, many have supported the work. Last spring, the W3C advisory committee in fact voted to continue resources to the XHTML2 WG. And no surprise, because the XHTML2 WG has done a lot of good work.

W3C working groups work within charters. When the group is first created, it gets a charter that outlines and defines its areas of work. The working group normally may not stray outside the bounds of the charter. The original XHTML charter stated the purpose as "To develop the next generation of HTML as a suite of XML tag sets with a clean migration path from HTML 4.0", and that is exactly what the group did.

Modularization

The underlying technology that the group developed to serve this purpose was XHTML Modularization. This is actually just a methodology: a standard definition of how to define and plug tag sets (modules) together. There are versions of this methodology at least for DTDs, XML Schema and RelaxNG.

The nice part of this approach is that you can define a new module, and immediately plug it into an existing (modularized) language. That was how the XHTML+RDFa language was produced so quickly: we just produced the module, plugged it in, and hey presto! you have the complete new language. Similarly, any other language defined with modularisation can also add the new module with little work. And another nice part is that if a module gets changed or updated, or the host language gets modified or changed, it is little work to update the languages.

Modularization in itself is of course only of interest to people and groups who produce languages, not to users of those languages. But still, apart from the XHTML group among others Jabber has used it, as has Epub, the Open Book Format used on the iphone, the Sony book reader, and others.

Based on modularization, the group then produced modules that independently could get implemented, tried out and adopted. The term "XHTML2" then covers the final packaging of all those modules together.

The Design

The group went about its work by evaluating current web practices and guidelines, and talking to representative communities, trying to identify areas that were considered problematic. We ended up with a list that included amongst others Ease of authoring, Forms, Internationalization, Usability, Device independence, Accessibility, Extensibility, and User-defined semantics.

Some of these (such as forms) have produced a module of their own, while others (such as device independence) are distributed over the whole language. Many of the XHTML2 modules have been around, implemented and adopted for a long time now. Most are finished. For instance:

  • XForms: this module was so demanding of the time of the people producing it that it got spun off as a separate working group; that notwithstanding, it is still a central part of XHTML2. XForms is in use in the US government, many UK local government sites are powered using Xforms, XForms is a central part of ODF, the Open Document Format used in OpenOffice, XForms is being used for configuring hardware, building ships, tracking diseases, is embedded in hardware, and in hundreds of other applications. We have convincing evidence that using XForms has reduced the effort needed to produce an application by an order of magnitude.
  • RDFa: this is the most-recently finished module. Again it is being used by the US and UK governments, and supported by amongst many others by Yahoo and Google.
  • Role: While outwardly a very simple module, for a range of uses, its initial aim was to support accessibility, and WAI-ARIA have adopted this for their work.
  • XML Events: this is an improved way of catching events, replacing the onclick style in HTML. As the name suggests, it is applicable to any XML language. and has for instance been adopted by SVG.
  • Access: This is a generalisation of accesskey, and allows you to assign navigation events to parts of the page. Although accesskey was designed for accessibility, it is also widely used for mobile applications.

So there remains little more to be done. There are a couple more modules that need to be finished before XHTML2 can be signed off on, principally the hypertext and embedding modules. Ian Hickson sings the praise of those modules elsewhere.

What about browsers?

The essence of XHTML2 is that you author a page, and the user gets the user experience defined by that page. There are many ways to achieve that experience, and native implementation in the browsers is not a pre-requisite. Many successful Web technologies are not implemented in the browser: for instance PHP and Dojo to name but two. Techniques such as server-side transformation and unobtrusive Javascript are widely used for delivering alternate content to browsers.

Labels: , , ,

Thursday, 5 March 2009

US Government Website uses XForms, XHTML, and RDFa

Quoting this post:

"This followed another talk there by George Thomas, from the U.S. government website recovery.gov, on how the site will put information on the government's economic stimulus spending into the semantic web and the Linked Open Data world via Atom, XHTML, and RDFa. (Very cool.)"
The slides add XForms to this mix.


Update: shortly after this, the man who was responsible for the site, Vivek Kundra, got appointed as the first-ever Federal CIO in the USA.

Labels: , ,

Tuesday, 27 May 2008

Another datapoint of the power of declarative thinking

From: XRX: Simple, Elegant, Disruptive

(XForms on the client
REST interfaces
XQuery on the server)

"I was working on a project with real-estate transactions that had many associated complex real-estate forms. Traditional methods required approximately 40 inserts into separate tables within a relational database. The use of XForms and eXist resulted in one line of XQuery code:

store(collection, file, data)

That was it. Simple. Elegant.

I was hooked. After spending over 20 years building applications with a variety of procedural languages I found my preferred architecture. I have seen the power of XForms and eXist and can't conceive of returning to my procedural programming ways."

Labels: