Mozilla Platform, Wizards and FizzyPop

Building things with the Mozilla Platform usually involves dealing with some boilerplate. Extensions have install and chrome manifests and overlays. XULRunner applications have application and chrome manifests and default preferences. XPCOM, even the simpler JavaScript XPCOM, has modules, factories and categories. It’s more than enough to slow developers down, especially new-to-Mozilla developers.

That’s why I have always been thankful to Ted Mielczarek for his Extension Wizard and JS XPCOM Wizard. Those tools have been helpful to me and countless other Mozilla developers.

Because of their great utility, I started to think that Mozilla should host, develop and extend the tools. Turns out, this pleases Ted :) – Therefore, I’ve put together a plan for FizzyPop, a simple project to develop/extend tools that assist Mozilla developers.

I had done a similar project with XUL Explorer, template-driven wizards to create extensions and xul applications. Turns out the Web has a wider reach than a desktop tool, especially for these types of scaffolding projects. In any case, I am taking the templates I use in XUL Explorer and converting them for use in a PHP web application.

I plan to get an SVN repo, bugzilla support and a Mozilla hosted for the project. We want to turn this into a contributor-base project. I’ll let you know when the prototype is ready to start hacking.

16 thoughts on “Mozilla Platform, Wizards and FizzyPop

  1. Love the idea, perhaps you might consider Python and Django for the web app? It is so much more elegant and powerful for this kind of toolkit.

  2. There seems to be a new upsurge in momentum for helping developers with Mozilla. It’s a shame this upsurge seems to be disjointed again but maybe this is the way it will always be. I suppose some of us can still dream of a Visual Mozilla though.

  3. @pd – Don’t wait for Mozilla to build an IDE. There are many IDEs out there now. Instead, why not make a Mozilla plugin to you favorite IDE?

  4. Django and Python would take you about 2 hours to learn. Be happy to help you get it bootstrapped, and perhaps contribute.


  5. Komodo Edit has a very helpful project wizard/template for Mozilla extensions. It doesn’t offer all the customizations Ted Mielczarek solution offers but it helped me, and the Python build script is very nice. Double click and you’ve built your extension. You also get XUL/XBL autocompletion hints in the editor. Anyway, there are lots of things to improve. Actually, I’m working on a little Komodo extension right now.

    The other thing I liked is that I can quickly try some Mozilla specific javascript snippets with a little macro.

  6. Why do you think more people are using the web than their desktops? XULRunner is interoperable.

    Please, if you really need to do this as a remote service, would you mind using server-side Javascript instead of PHP? There *is* people who dislike web-applications (being forced to put the plug in, being dependant on the internet/a service provider) and installing Apache+PHP is just too overdoze for me. I do not want to have Apache running on my WinXPpro. However, there is POW, a web-server, that runs in Firefox, Thunderbird or, stand-alone, as XULRunner application and which can be scripted.

    If I’d be you, I would add POW to XULExplorer (very nice program, btw. Gets things done!). There is server-side javascript backends for Apache and other web-servers. Not sure how IIS handles it but it should do with a little bit of boilerplate (ActiveX).

  7. Oh, and do you know about the XULBooster plugin for Eclipse. It is pretty nice already and paired with other Eclipse plugins (ATF, WTP) it could (needs some work done, though) make use of the complete implementation of Mozilla as Eclipse plugin (along with Javascript console, Firebug like CSS editing, DOM Explorer and integration into the Eclipse debugger). Along with the powerful XML and SQL tools available for Eclipse this would be my personally preferred choice. But that is just personal. Heck, with the Aptana/Jaxter plugin Eclipse has even a web-server, that offers client-side Javascript. Which would hint at my previous post 😉

  8. @.jon – I intend to use the same templating system for the web application and the desktop tools, so the templates can be shared between the two apps.

    I am also updating the XUL Explorer code to use the newer templates. I expect to create a simple commandline driven generator as well, so editors and IDEs could spawn out to the tool to make new projects (on the desktop).

  9. Great! Thanks for reply (and helping us poor undersupported XUL developers!)

    What was especially bad, when I started XULrunner development, was, that different tutorials on how to start such a project and how to lay out the paths was showing a different directory-structure. So, a little command-line utility, that “just works”, will be very nice to get going.

Comments are closed.