Luxor XUL Titan Interview: R. Dale Asberry (of Installer DeLux fame)

Gerald Bauer <[email protected]> Fri, 4 Jun 2004 08:56:37 -0700 (PDT)
Newsgroups gmane.comp.java.luxor-xul.user
Message-ID <[email protected]>
Hello,

  In the new Luxor Titan Interview series I will
interview the movers and shakers of the Luxor world.
To kick off the series let's all welcome R. Dale
Asberry.

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

  R. Dale Asberry: I started programming in 1979 and
began doing it professionally in 1989. Languages I've
programmed in include C++, SQLWindows(Centura),
Delphi, Visual Basic, and, of course, Java. I attended
my first JavaOne in 2000 where I saw the "Implementing
JiniTM Connection Technology Within the U.S. Army's
21st Century Battlefield" and was absolutely amazed.
The coolest Jini system I've built was a MMPOG
platform capable of adapting to varying performance
loads and dynamically recovering from failure.

  Q: How did you stumble onto the Luxor XUL toolkit?
Have you tried out any alternative XML UI language
alternatives before settling on Luxor?

  R. Dale Asberry: After having used tools like
SQLWindows, Delphi, and VB, writing Java GUI apps just
felt "wrong". I kept my eye out for toolkits that
might eliminate the clunky, brittle Java code. I
eventually stumbled across Mozilla XUL but felt
uncomfortable requiring users to have Mozilla
installed. I think I Googled something like "XML user
interface" and found Luxor. I followed the links on
the Luxor site to the other toolkits but felt that the
other projects didn't provide me with enough details
to get a "Hello World" app going in 15 minutes. The
Luxor project was well documented and seemed to have
the most features implemented.

  Q: How did you get started on Installer DeLux?

  R. Dale Asberry: One of my personal principles is
"It just Works". My first non-employer work was the
Judy project at Jini.org. One of the difficulties with
Jini is that it's difficult to get up and running
Out-of-the-Box. I decided that including an installer
for Judy would greatly enhance the "It just Works"
idea. As for why I created Installer DeLux (I'm
working on a blog entry for this), I wasn't happy with
the open source or freely available installers.

  Q: Can you tell us some challenges you faced
building Installer DeLux using Luxor?

  R. Dale Asberry: Some of the typical open source
project difficulties: manual configuration (instead of
automatic installation), rich but non-exhaustive
featue set, minor documentation bugs, that sort of
thing. One thing about the tool itself is that OOTB,
it requires a Java programmer to do a bit of wiring in
his own program to connect the various Luxor bits.
I've encapsulated those things using reflection,
properties, aspects, and a very lightweight framework
so that an installer writer doesn't need to do any
manual wiring unless she is intentionally extending
the functionality.

  Q: How did you stumble onto AspectJ?

  R. Dale Asberry: I think it was an article on IBM
developerWorks or some other such site. I thought the
concepts would allow it to elegantly address the most
annoying OO deficiency - cross-cutting dependencies. I
started playing around with a pre-1.0 release and
decided that it was too early to use it. I felt the
1.1 release was ready for prime time and I started
learning it in-depth.

  Q: Can you tell us what aspects and cross-cutting
concerns you can see in Luxor?

  R. Dale Asberry: I classify aspects into two types:
functional and connective. Functional aspects capture
intra-class crosscutting concerns while connective
aspects capture inter-class concerns. I've only
started to look at the Luxor codebase in detail so I
haven't seen any "big picture" types of concerns yet.

  Q: You're a well-known Jini master. Can you tell us
what role XUL may play in the Jini world?

  R. Dale Asberry: One of the first Jini standards to
be accepted was the ServiceUI spec. It allows a remote
client to query the service's available GUI interfaces
to match the client's needs. However, a client doesn't
get an instantiated GUI from the service, it gets a
service factory. This very flexible mechanism lets any
client use any type of Java-based GUI. I think that
Luxor would be an excellent fit for any kind of
downloaded user interface.

  Q: Do you have a favorite scripting language for the
Java runtime? Do you want to see scripting pushed more
in Luxor?

  R. Dale Asberry: My favorite scripting language is
BeanShell. Groovy is starting look interesting, but
I'm not ready to accept it as my own scripting
language yet. I've not yet used scripting with Luxor
so I'm not sure how the two things fit together.

  Q: What do you think is still missing badly in
Luxor?

  R. Dale Asberry: Acceptance - using Java programming
is a plain bad approach for manipulating user
interfaces. As for the tool itself, it would be nice
to have the loose ends I mentioned earlier cleaned up.

  Q: What's next for Installer DeLux?

  R. Dale Asberry: It's still very incomplete. I need
to finish the core functionality, as well as, improve
the project documentation. Long term, I plan on
developing a commercial graphical installer builder on
top of the base installer.

  Q: What are your future plans for Luxor?

  R. Dale Asberry: I've just started a Luxor
sub-project to refactor Luxor using aspects. I'm
hoping that this will make Luxor more maintainable
over the long run. I'm also looking to contribute a
more GUI controller that eliminates the "wiring" code,
however, the code I currently have is too specific to
Installer DeLux.

  That's it. Thanks R. Dale Asberry. 

  Full interview and links @
http://xul.sourceforge.net/post/2004/05/luxor_xul_titan_interview_r_dale_asberry.html

   - Gerald

PS: If you want to get featured in a future Luxor XUL
Titan interview episode to highlight your project or
initiative and offer behind-the-scene insider stories
please let me know.


-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the one
installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504