I’ve been finding the whole package structure for XUL applications to be feeling a bit heavyweight over the last few days. So, I clicked on over to a XUL tutorial earlier this evening to get some perspective.
Soon, I found myself rushing forward through pages and pages of familiar configuration information. I’m very happy to see this is here, as it should be very useful to me soon. Yet, I already know how to put together simple firefox extensions — the easy way! So far, I have generally been starting with sample code related to whatever functionality I am interested in. Its not hard from there to quickly prototype and sketch broadly some of the code paths I can’t wait to see evolve or need for experimental and research purposes at work. I remain loathe to jump back into the details of “minimal extensions” and the exact meaning of the pieces of XUL applications just right now. For over a year my browser cheerfully displayed “hi dan!” in the lower right corner after I ran through a simple tutorial and first learned those details. Many a XUL file and many an extension ran along side my simple extension and widened my perspective and enriched my experiences during that time. But, “hi dan!”, remained just that.
In recent weeks and months, I have followed the “hack some functionality” approach with a great deal of success to learn the capabilities of javascript and java embedded within firefox and/or exposed to the interface through XUL and the wonderful XUL application/Firefox add-on functionality. At times, I’ve also shuddered to think about the consequences and possibilities in terms of overloading the computational capability, muddying the interface or defanging the wonderful security features of the vanilla firefox that I have so much enjoyed using for over 5 years now.
And I kept peeking occasionally at XUL files themselves. A few days ago, I finally began to read again about the specifics of their capabilities. There is much to read and much to try. Furthermore, the full realization and impact of the fact that firefox itself is written in XUL has finally begun to dawn on me.
Though I expect to program rather (apparently to the UI surfacte) lightweight XUL applications for some time in the foreseeable future, if not forever, the possibilities in terms of understanding the browser itself and its tendrils of connection that reach in such a neighborly manner to the outside world every day on every one of the millions and millions of firefox browsers everywhere.. well, I think those possibilities will begin to inform my actions and my lines of codes and inspire me to a new kind of programming. It appears that XUL is now part of my destiny.
So, I must apologize to XUL for a shameful neglect over the last c years, where c is some number greater than 2…:
XUL, I never knew ye! I hereby pledge that it shall not be so from hereon in.