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