XForms: an introduction (original) (raw)
XForms is a declarative language for applications, on the web and elsewhere.
Who uses it
It is a W3C standard, and in worldwide use, for instance by:
- KNMI, The Dutch Weather Service
- Many Dutch (e.g. Onderwijs, Kadaster) and UK government (eg legislation.gov.uk) websites
- BBC
- The British National Health Service
- The British Insurance industry
- Some 30 US Government departments for Strategy management.
- FDA, the US Food and Drugs Administration
- A US State Department of Motor Vehicles
- The US Navy (in submarines)
- NASA (Jet Propulsion Laboratories)
- Verifone - a payment company, for configuring petrol pumps
- Xerox
- Yahoo
- Remia
- EMC
and many others.
Experience
Experience has shown that it greatly simplifies making applications.
Example: A company that makes big machines.
The user interface is very demanding — traditionally needed 5 years, and 30 people. With XForms this became: 1 year, 10 people. Do the sums. Assume one person costs 100k a year: then this has gone from a 15M cost to a 1M cost. They have saved 14 million! (And 4 years)
Example: Insurance Industry
Manager: I want you to come back to me in 2 days with estimates of how long it will take your teams to make the application.
(Two days later)
Programming person: I'll need 30 days to work out how long it will take to program it.
XForms person: I've already programmed it!
Example: NHS
The British National Health Service started a project for a distributed health records system.
- It involved 70 people.
- It cost billions.
- The hardware costs alone were £5 per patient.
- It failed.
One person in three years then created a system using XForms.
- Hardware costs are 1p per patient
- It runs on Raspberry Pi's
- It is now running in a number of NHS hospitals, and being rolled out in Ukraine
Learning it
If you want to start learning XForms, here are some steps:
- Introductory Hands-On Tutorial: takes you step-by-step through the language with exercises.
- Advanced Hands-On Tutorial: techniques and examples
- Advanced Hands-On Tutorial: a generic application
- XForms Tutorial: not hands on, but leads you through the language.
- Examples: There is an ongoing series of articles being published at XML.com:
- An Introduction: An overview and a simple example.
- Viewing Data: Displaying and searching data.
- A Calendar: Dynamic data.
- A Clock: XForms plus SVG.
- A Game: Interaction.
- A News Carousel: Displaying alternating information.
- A Conference Website: Managing and updating live information.
Some other examples: - Minesweeper in XForms: Another example game.
- Maps in XForms: A Google-maps-style application. You can also watch it as a video.
- XForms Quick Reference
Implementations
(Some) Implementations:
- CM Pro (Netherlands)
- Enketo* (USA)
- Inventive Designers (Belgium)
- Jadu (UK)
- Orbeon* (USA)
- Seneca Smartsite (Netherlands)
- XSLTForms* (France)
XForms is also part of OpenOffice* and LibreOffice*
*=open source
If you know of more, or want to be added to this list, let me know.
Future
XForms version 2.0 is in preparation. If you want to get involved, join the group!