Chronicle of the Xul Revolution
Thanks to everybody for casting your vote. Now on to the award ceremony and the winner is...
|What User Interface Toolkit Do You Use Most? |
|91 votes total|
In the new Xul Titan Interview series I will interview the movers and shakers of the Xul world. To kick off the series let's all welcome Ovi Comes (of Zulu fame).
Q: Can you tell us a little bit about yourself (short bio)?
Ovi Comes: I was born in Romania. I came to Toronto in the late 90s. I have a background in computer science and I work as a J2EE consultant.
Q: How did you stumble onto XUL?
Ovi Comes: It was so long time ago when I heard about Mozilla's XUL project, I don't even remember where or how I discovered it. Although it looked like a nice approach to define user interfaces, I didn't pay too much attention. I've played a bit with it trying to create a customized Netscape browser and that was it. At that time I didn't see it outside of Mozilla context.
Q: How did you get started on Zulu?
Ovi Comes: Back in 2002 I was working on a P2P application that I wanted to have a nice skinnable user interface. I was already flirting with the idea of a Flash based user interface for some time but I wasn't into Actionscript at all. Furthermore I wanted that P2P application to be accessible not only from the desktop but to have a web interface as well. So my first thought was to apply an XSL transformation on the XML stream provided by the presentation controller to produce HTML for the web interface. Then, while searching for ways to improve the interaction with the desktop / flash interface, instead of hardcoding the look of the interface in a Flash movie template I decided to allow the user to define it's own look of the application. How? Using XML. Then I remembered about XUL. The task of writing a Flash interpreter and renderer for XUL was pretty complex by itself so I ended up starting a new project: Zulu.
Q: Can you tell us some challenges you faced building a XUL player using Flash and ActionScript?
Ovi Comes: Well, I guess the most challenging and frustrating part was to understand the various concepts of Flash programming. I have a C++ background and in the last seven years I didn't work on too many things outside of the J2EE world. Coming back to client side programming, catching up with Flash concepts,learning a new language and the associated techniques, I think these were my biggest challenges.
Q: Can you tell us how popular Zulu is? (e.g. How many downloads? How many applications use Zulu? etc.)
Ovi Comes: It's pretty hard for me to measure Zulu's popularity at this time. I really hoped that Richmond Post's "What is Your XUL Motor of the Year 2003" poll would help me have a better understanding of the market. It gave me an idea,but while I'm very happy with the results, the participation was sparse so I can't say how popular Zulu is. There are a bit over 1000 downloads. I'm not aware of any applications built on Zulu and seriously I don't expect anybody to build an application based on the version 0.2 of a product.
Q: Who else is behind Zulu? Do you work on your own? How much time do you spend on Zulu development?
Ovi Comes: Currently I'm the only developer of Zulu. I'm working towards involving other people in plug-in development. At this time, Zulu is still an experiment so the time allocated to it is accordingly.
Q: What do you think about Macromedia's Flex MXML XUL dialect? How does it differ from Zulu?
Ovi Comes: MXML is just another dialect for describing user interfaces. Anybody can come up with a set of tags for describing how a window, a menu or button should look like. Macromedia invented theirs simply because they have the luxury to develop proprietary standards and have their pool of users stuck into their products. For small companies like Netspedition, I think the best alternative is to stick with the standards. The main difference between Flex and Zulu is not the XML dialect but the approach in delivering rich interfaces to the client. Macromedia's Flex requires a server component that compiles the MXML source and sends it to the client in the form of a Flash movie. Zulu has already been loaded by the client at the beginning of the session. It then renders on the fly XUL documents from any location, be it a local file, a file sent over HTTP from any server (not even necessarily the one hosting Zulu) or a stream coming over a TCP/IP socket.
Q: What do you think about Mozilla XUL? How does it differ from Zulu?
Ovi Comes: XUL played an important role for me in the early phases of Zulu development. I think the guys at Mozilla have a done a great job here by trying to create a standard XML dialect for describing user interfaces. I really hope they will continue to improve it and maybe even submit it to W3C. My goal for Zulu is to implement most of the XUL specification and to support this way Mozilla's effort of standardizing XUL. Although at the core Zulu is XUL based, there will be proprietary extensions made possible by the rich set of multimedia features offered by Flash.
Q: What's next for Zulu? Any plans for a Drag-and-Drop-Style Designer for Zulu?
Ovi Comes: Short-term: implement as much as possible from XUL specification, add support for various types of plug-ins, third party pluggable components and complex user definable behaviour. Add support for pluggable user defined validators and skins. Long-term: the Developer and Enterprise editions. Future plans also include an Eclipse based editor with real-time preview.
Ed Burnette (of Eclipse in Action book fame) reports in his blog titled "Eclipse Powered" live from the world's first EclipseCon developer conference from Anaheim, Californa that IBM unveiled - hold your breath - XUL for the new Eclipse Powered Lotus Notes Client.
Lots of good talks Wednesday, for example the Lotus Workplace Client technology merges portal technology with rich clients using "RCPML", a rich client markup language.
PS: If you have any links or more info about IBM's new XUL dialect, that is, RCPML, please let us know.
|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|