Rich Internet for Everyone (RICHIE) Network: United XAML - XUL Alliance - XUL News - XUL Forum - The Richmond Post - RichCon 2005
The Richmond Post Logo
Chronicle of the Xul Revolution
« XUL Titan Interview: Mathew McBride (of Jazilla fame) - Part I | Main | Thinlet XUL Titan Interview (Andrzej Bialecki of Luke fame) - Part II »
XUI Titan Interview: Luan O'Carroll (of XUI Fame) - Part II
posted by Gerald Bauer on July 13, 2004

Welcome back to episode two of the XUI Titan Interview with XUI and Carousel mastermind Luan O'Carroll.

Q: Can you point out how the XUI styling differs from classic CSS styling?

Luan O'Carroll: One of our objectives in building XUI was to keep things simple. We use Java and XML and that's pretty much it. We chose to use an XML syntax for styles for reasons of consistency.

Q: Do you have a favourite scripting language for the Java runtime? Any plans for adding support for scripting to XUI?

Luan O'Carroll: From the small exposure I have had to Jazzy I would say it is very impressive and has lots of nice features so that will probably be the choice.

There are no immediate plans for adding scripting to XUI and we don't see any great need for one. Having said that, we realize many people like to use scripting so even if I'm not a fan we will probably provide the option of using scripting at some stage, it's just not at the top of the to-do list yet. Of course if somebody would like to help we'd welcome contributions.

Q: Do you have any plans of adding web-style form submission tags to XUI? What's your recommended approach for data-binding for XUI?

Luan O'Carroll: Definitely, we are actively working on ways of making it even easier to do 'simple' business processing. We want to end up with a situation where the non-programmer can grab something like a schema and visually build and deploy working forms. I expect that the toolkit needed to enable such an approach will include standard web style actions like form submission.

XUI includes extensive data binding features and there are commercial extensions to the data binding for specific application areas (e.g. Forms, Surveys, Catalogues). Data bindings can be declared along with the UI or they can be configured dynamically. How the bindings are used is really quite application specific. In general though I would recommend keeping the UI and the data declarations as separate as possible as it makes it easier to do things like changing defaults/initial values, reuse of forms and localization.

Carousel, a commercial add-on from Xoetrope extends the data bindings to allow transfer of data from client to server in such a way that the application developer can pretty much ignore the location of the data. Once some routing information has been specified the toolkit will take care of everything else.

Q: XUI already supports two UI toolkits, that is, AWT and Swing. Can you tell us if and how the mark-up differs when you either choose AWT or Swing?

Luan O'Carroll: There is a core set of components where the mark-up is identical. The core is based on AWT and JDK 1.1.x (so as to support the MS, Jeode and Creme VMs). Switching toolkits is simply a matter of changing the start-up class, and normally no changes are needed to accommodate a switch to Swing.

There are a few attributes that will be ignored when switching from Swing to AWT but generally they have little or no impact. You can switch from AWT to Swing without problem but things get more complicated if you switch from Swing to AWT and specific Swing features not available in AWT are employed.

Q: Any plans of supporting even more UI toolkits such as SWT, wx4j or Gnome-Java, for example? Or do you plan to stick to the AWT and Swing duo?

Luan O'Carroll: The current priority is to make it easier to program Swing and AWT, but we may add support for the LCDUI. A number of users are looking at adding support for additional toolkits and devices but nothing is firm yet.

Q: Can you tell us how popular XUI is? Can you highlight some applications using XUI?

Luan O'Carroll: Since the final release of XUI 1.0.3 we have seen a significant increase in the number of downloads. In the last month we have been in the top 5% on SourceForge.

We have built several commercial applications using XUI in several areas, including:

Q: Can you tell us how XUI differs from alternative XML UI toolkits for Java such as Luxor, Thinlet, Vexi or SwiXml, for example?

Luan O'Carroll: XUI differs in a number of ways. Most obviously it relies on Java instead of JavaScript for programming purposes. XUI also differs in its scope as it provides extensive dynamic data binding support and XUI provides support for applications throughout their lifecycle instead of just during instantiation.

Q: What do you think about W3C XForms? How does it differ from XUI?

Luan O'Carroll: I think there are some nice features but overall its too complicated and doesn't go far enough in separating programming concerns. XUI doesn't have to deal with the legacy that XForms addresses so we have perhaps had more flexibility in terms of design.

Q: What's next for XUI?

Luan O'Carroll: Ease of use is the big thing on the agenda, both for the Java developer and the XML user. The objective is to make it possible to build applications with the minimum of coding.

Thanks Luan O'Carroll.

Links:

SourceForge Logo Please send comments on our web pages to our public xul-talk mailinglist or to a member of our web team. Copyright © 2003, 2004, 2005 Open XUL Alliance