Shaping forms for an XML-based future

Micah Dubinko

Crediting one person for the work of a group is always fraught with peril. But in the case of the XForms specification, Micah Dubinko's name comes to the fore.

Perhaps it's because he volunteered to edit the requirements document back in 2000. As a member of the W3C's XForms working group, he's helping to steer the evolution of Web-based forms from rigid, presentation-oriented structures into tools that flexibly adapt to a wide variety of devices.

When Cardiff Software, with which he's commonly identified, became part of Verity in March, Dubinko's role didn't change. Officially, his title is senior software engineer, but he's recognized as the chief XML architect.

Anyone who has tried to create a form in standard HTML knows just how closely the presentation of the form and its purpose are tied together. Likewise, it doesn't take much imagination to see how difficult it is to adapt a traditional HTML form to a new device with different presentation characteristics -- headaches include network connectivity, display size and capabilities, and user input requirements.

XForms attempts to simplify form design in the same way CSS style sheets simplified page design. "One thing that you can do is take out procedural script that's the program … basically you have to be a programmer to write it and replace it with declarative markup," Dubinko says.

The XForms model was developed to work with both proprietary and standards-based user interfaces. To put it simply, the UI -- through XHTML, WML (wireless markup language), or a proprietary code base -- consumes an XML form definition and renders the data in the format appropriate for the device. "It was kind of a radical concept at the time," Dubinko says. This allows for the use of XForms in a wide variety of devices and in a wide variety of business, consumer, and device-control scenarios.

XForms offers an opportunity to open up data presentation to those whose aesthetic judgment might be more developed than their coding skills. "One way to look at it is to say who is actually creating these forms," Dubinko observes. "If you need to hire someone to do that, would you hire a programmer, or would you hire a graphics person? It shifts the balance a lot, shifts it down from the programmer to the midlevel person, someone who knows XML but probably didn't go to college for computer science."