I want to write an addon which enhances an existing addon (e.g., adding an options dialog). I do not want to modify the original addon's code directly. The original addon I wish is written using XUL. Does this mean I have to write my addon using XUL as well? Or can I use the newer Addon SDK?
Thanks!
Yes, it is possible to extend other add-ons. There are actually quite a few add-ons that either extend or interact with other add-ons, for example Element Hiding Helper extending Adblock Plus and lots of Firebug add-ons.
How to do it depends on the implementation of actual add-on you're trying to extend. Hence, I can only give you some general pointers/notes:
browser.xul
or other core code.window/utils
or similar means to get to the XUL windows and can use DOM APIs from there.