Hello,

  Welcome back to the XUL Titan Interview series.
Today let's welcome KaXul/Uxul mastermind George
Staikos.

Q: Can you tell us a little bit about youself?

George Staikos: I'm a professional and hobbyist
software developer in Toronto, Canada. I have been
involved with Linux and open source software for over
10 years now, and have contributed to many different
projects, most prominently KDE. I also do consulting
and develop software commercially, especially Linux
and Qt/KDE related (http://www.staikos.net).

Q: How did you stumble onto Mozilla's XUL? How did you
get started on KaXul/Uxul?

George Staikos: It's hard not to run into XUL. :-)
Actually I have done plenty of work on Konqueror, the
KDE browser. Some of my areas of focus include the SSL
layer and Netscape plugin support. With Mozilla, we
have a new component model and plugin model and this
has caused some problems for Konqueror. We don't fully
support the new model in Mozilla (XPCOM and associated
technologies). One thing that was relatively
straightforward to implement in Konqueror was support
for the sidebar modules that Mozilla has. I
implemented support for HTML sidebar entries, but soon
discovered that many of the sidebar plugins are
written in XUL. I picked one (the Google plugin
actually), and had a look to see how hard it would be
to make it work. What I saw made me think of exactly
something I already had available to me - Qt Designer
files. Designer is a GUI tool for building user
interfaces. The files are stored as XML and converted
to C++ at compile time, or interpreted at runtime.
This was a perfect match. So, I started to write a
tool to convert the XUL XML files to Qt Designer
files. It only took a few hours and I already had much
of the UI displaying, which was very encouraging. The
next step was interaction - the Javascript bindings.
This was very convenient because Rich Moore had
already written runtime Javascript bindings for Qt,
called KJSEmbed. It took another 20 minutes to hook
this in, and a bit of hacking to get the bindings to
look like XUL's, and I had a functional demo, which I
called Uxul ("usual" - meaning "it's usually this easy
to make powerful KDE applications"). I split off the
engine into a library and called it KaXul. ("casual",
or, what I really meant "KDE's Advanced XUL").

Q: Can you tell us some challenges you faced building
KaXul/Uxul?

George Staikos: The amazing thing about what has been
done so far is that there was no challenge. It was all
trivial! The real challenges were tackled in writing
Qt Designer, KJS, KJSEmbed, and KHTML. I just glued
everything together. There is much more glue to go,
unfortunately, and there are some challenges ahead. I
have not integrated CSS or RDF, not all the widgets
are implemented, and there is still work to do on the
script bindings. We already have an RDF and CSS
implementation so that should be fairly easy to
integrate, but some of the widgets may be quite
complex. With KaXul, native Qt widgets are used, as
opposed to the rendering that Mozilla does. This poses
a bit of a problem since Mozilla can do all kinds of
painting tricks that may not be supported in Qt yet.
The benefit, however, is that KaXul is -fast-.

Q: Can you tell us what KaXul/Uxul can do today? What
works and what needs to be done?

George Staikos: I have shown some demos of various
working applets, and actually most of the important
widgets are implemented. A simple form based applet
should mostly work, but most of the styling and more
complicated widgets and data manipulation may still
not work.

Q: Can you use KaXul/Uxul as a Konqueror browser
plugin?

George Staikos: Shortly after I split the code into
the library/application design, Zack Rusin wrote a
KPart which loads and executes XUL inline. KParts are
effectively Konqueror plugins, so yes, it's quite
possible. However KaXul is far from complete, so it is
not particularly useful as a plugin yet, in my
opinion. One real benefit we have seen is that there
is now support in KDevelop for writing XUL apps, and
KaXul, via the KPart, is used as a preview/thumbnail
tool.


Thanks George Staikos. Check back next week for the
second part of the XUL Titan interview with George
Staikos discussing the state-of-scripting,
SuperKaramba, XML for UIs in the KDE world, the future
of KaXul/Uxul and much much more.   

Full interview and links @
http://xul.sourceforge.net/post/2004/06/xul_titan_interview_george_staikos_of_xul_for_qtkde_fame_part_i.html

  - Gerald

-------------------
Gerald Bauer

Mozilla XUL Developers Group |
http://groups.yahoo.com/group/mozilla-xul
PHP XUL Developers Group     |
http://groups.yahoo.com/group/php-xul
Perl XUL Developers Group    | http://groups.yahoo.com/group/perl-xul


-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
xul-announce mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xul-announce

Reply via email to