A good number of XForms engines are already available. The list gets longer every month, so we only list the most popular ones here.
Four major categories of XForms engines can be distinguished (although this is a bit arbitrary), each having their advantages and disadvantages. These categories are:
The most popular standalone XForms browser is surely X-Smiles, developed by the the University of Helsinky.
X-Smiles is a Java-based browser, with full support for XForms and for Smil. X-Smiles works as well on PCs, as on PDAs as on (modern) mobile phones.
It is generally known that Microsoft is not planning to support the W3C XForms standard. Instead, Microsoft has developed its own version of electronic forms (InfoPath). Although InfoPath has some advantages, it is only usable in a Microsoft-only environment. Developing forms for InfoPath can unfortunately not be automated: each form needs to be designed and developed using a special designer. Also each end-user (the person that fills the form) needs to hava an InfoPath license (200$ per seat) as InfoPath is not integrated in Internet Explorer.
Therefore, a number of vendors have developed plugins for Internet Explorer so that the latter can work with W3C XForms. The advantage of these plugins is that the user can work with IE and at the same time have all the functionality and advantages of XForms.
The most popular of these plugins is FormsPlayer from X-Port. The plugin is very easy to install,
and very intuitive to work with: when one jumps from one field in the form to another, the previous field is evaluated immediately, and if applicable,
a message is shown explaining why the data in the previous field is invalid. As such, the form is very idiot-proof. Special widgets are already available for dates (i.e. Calendar widget),
and in the 2.0 version (currently in beta), developers are even enabled to develop their own special widgets for their own data types.
In our own demo application (automatic generation of eCRFs from CDISC ODM Study definitions), it is possible to use the generated forms with IE where the FormsPlayer plugin is installed, add the data, submit them, and then see the data as they are transformed in CDISC ODM format (Clinical Data).
If you do already have the FormsPlayer plugin installed, you can try out some of our examples.
A relative new browser on the market is Mozilla Firefox. In its first year, it succeeded in taking over 10% of the market share for browsers.
Its current market share (April 2007) is at 32%.
An XForms plugin for as well Firefox 1.5 as for Firefox 2.0 is available from the Mozilla XForms website.
We tried it out and were stunned by the performance and by the examples.
Furthermore, IBM (not the smallest company) seems to be investing a lot in XForms using the Firefox implementation. As a result of this all, we recently extended our demo application (automatic creation of eCRFs from CDISC ODM files) to include the generation of XForms for display in FireFox. Essentially, we will not need to change anything in our application itself, but we still needed to develop a CSS stylesheet for the presentation in the browser.
Another interesting plugin (for IE) is MozzIE.
MozzIE allows to use the use exactly the same forms as used in FireFox to run in Internet Explorer. No wonder, as it is based on Mozilla technology.
I tried out MozzIE and was very satified with the results. As an important update (v.1.8.0) has been announced for the end of July 2007, I am awaiting that one, and then will publish some examples on the samples page.
As IE and FireFox are the leading browsers, this would mean that one can finally design one form, and deploy it on both browsers, which covers over 95% off all browser usage worldwide.
Also Novell developed an IE plugin for XForms. The last release I looked at (beta, September 2005),
was not fully XForms compliant yet, but I was told that their Copenhagen Lab was working hard on it to get there.
The current status (April 2007) is not very clear to me, but the fact that the main developer (David Landwehr) is currently working for PicoForms (see the PDA section) suggests that the development has stopped.
Anther Internet Explorer plugin for XForms has been available from IBM. I presume its development has been stopped in favor of Firefox with XForms plugin.
send to the browser. So at the client (browser) side, no software has to be installed at all. Part of (or all of) the data validation (and actions) on the client is
In case the HTML forms are not scripted (older technology), upon submission of the form, its contents are validated
by the server and if some of the data is not valid, the form is resend to the client browser with some extra information explaining why the submitted data is invalid.
The most popular of these application servers is probably Chiba 2.0, from ChibaCon. It is open source, very stable, and very easy to install on the server: just deploy the .war file on your favorite application server (Tomcat, JBoss, Orion, Resin, Oracle, WebLogic, WebSphere ...), and you are ready. We use it (as an alternative to FormsPlayer, for those that do not wish to install an IE plugin) in our demonstration application where CDISC ODM Study files are automatically converted into eCRFs.
Very interesting is their Chiba-web implementation, which uses Ajax-technology.
So the user experience is that of an XForms standalone browser (meaning: very fast and dynamic), whereas no special software needs to be installed on the client.
The disadvantage however is that on first loading, it takes somewhat more time, especially for large and complicated forms.
The idea behind FormFaces is at the same time simple and exciting: when loading the HTML page from the server,
I recently (July 2007) tried out the Open-Source version, and all worked well, except for date validation. Also, no widget for data picking is provided (nor other widgets), which I think is a major drawback. So my conclusion is that FormFaces is currently great for developers that want to add their own functionality and widgets (e.g. dojo), but it is currently surely not a ready-to-go solution. The great advantage however: browser-independency.
Deng uses a hybrid approach: it transforms an XForms into a MacroMedia Flash page which is send to the
browser. As most browsers do already have a FlashPlayer installed, only a very small plugin needs to be installed on the client side. The Flash page does
all the validation itself, so the user does not get the feeling that there is a server at work.
Due to its ease of use and deployment, Deng has also become very popular.
Orbeon Presentation Server is similar to Chiba, but also a bit different.
Orbeon is essentially an application server similar to Cocoon (very often used in combination with document management systems), but using XForms as standard techonology for its forms.
It also uses a number of other XML-technologies like XSLT2 and XPath2.
Orbeon recently went Open Source, so the application can now be downloaded from SourceForge. There is now also an Eclipse plugin available, allowing to more easily develop Orbeon applications.
First of all, there is DataMovil, a spanish company that has developed a full system (including server and database) for deploying electronic forms
on PDAs and mobile phones and treatment of the submitted data. It is one of the PDA implementations that we have tested and were very enthusiastic about. DataMovil works on top of PersonalJava or
Java Personal Profile, so that it can be deployed on each PDA that has Java, be it using WindowsCE, PocketPC Windows Mobile, Symbian or Linux as operating system.
An interesting development could have been XForms for Minimo, the mobile version of the Mozilla FireFox browser,
if it were not that the formal development of the XForms plugin has completely been stopped. Although there are some messages that one can still implement the XForms plugin into minimo,
it needs to be done by a full rebuild (including recompilation) of the software. I don't think this is the right message for the Mozilla user community, isn't it ?
Just let me remark that Minimo is available for Windows CE and Mobile, and for Linux.
PicoForms is the product of a Danish company. There are two versions of the software: "Micro Edition" (MIDP compatible, for use with J2ME)
and "Personal Edition" (for mobile phones with the older Personal Profile Java installed). They have a nice demo emulator
(only use the phone buttons with your mouse - needs a little bit of adaption), and a WebStart demo of the Personal Edition, demonstrating the use of XForms for a number of mobile applications.
Much more information is not available from their website, but they have two representatives in the W3C XForms Working Group, so I presume they are pretty heavily involved.
As already mentioned, X-Smiles can also run on mobile devices. Like for DataMovil, it requires Java Personal Profile. At the moment, you still need to compile the source code yourself againts Personal Profile, as there are still daily changes in the code.
Also Oracle has its own XForms implementation for wireless devices. As the name (Oracle Application Server Wireless 10g) says, it is tightly integrated with their own Application Server.
Also check out Micah Dubinko's well known article "Top 10 XForms Engines" (2005) and its older (2003) version