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 Comments

  1. Logan Koester said,

    June 20, 2008 @ 3:50 pm

    I like this plan – thanks for all your hard work!

  2. Ted Mielczarek said,

    June 20, 2008 @ 4:42 pm

    Thanks, finally I can be free from the burden of maintenance!

  3. Collin said,

    June 20, 2008 @ 6:30 pm

    Awesome! I’m glad to see Mozilla taking an active interest in developers who make their platform better.

  4. David said,

    June 21, 2008 @ 12:06 am

    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.

  5. pd said,

    June 21, 2008 @ 2:52 am

    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.

  6. Shawn Wilsher said,

    June 22, 2008 @ 11:44 am

    Why not hg?

  7. Mark Finkle said,

    June 22, 2008 @ 1:26 pm

    @Shawn – Mozilla webdev still uses SVN.

  8. Mark Finkle said,

    June 22, 2008 @ 1:28 pm

    @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?

  9. Mark Finkle said,

    June 22, 2008 @ 1:29 pm

    @David – I’m trying to keep this simple (and not need to learn new frameworks to get something moving).

  10. David said,

    June 22, 2008 @ 3:56 pm

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

    David

  11. Ionut Gabriel Stan said,

    June 23, 2008 @ 6:03 am

    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.

  12. Mark Finkle said,

    June 23, 2008 @ 1:03 pm

    @Ionut – I think an option to output a Komodo-compatible project sounds like a good idea. I use Komodo Edit myself.

  13. .jon said,

    June 27, 2008 @ 7:06 am

    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).

  14. .jon said,

    June 27, 2008 @ 7:11 am

    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 ;-)

  15. Mark Finkle said,

    June 27, 2008 @ 9:28 am

    @.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).

  16. .jon said,

    June 27, 2008 @ 2:58 pm

    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.

RSS feed for comments on this post