Developer Conference – Tokyo

The schedule for the Tokyo developer conference is really coming together. I’ll be giving separate presentations on FUEL and XUL Runner with some moderated Q&A. There seems to be a lot of sessions on various aspects of extension development. From tutorials and development environments to AMO submission and reviewing. There will also be several lightning talks from various extension authors. I am interested to see how the “extension dissection” session turns out. The session will be devoted to discussions of how various extension “do” what they “do”.

Oh yeah, Shaver will be giving the keynote.

[Mark is really on vacation]

Firefox 3 – Bookmarks and Extensions

Currently, I am adding bookmark wrappers to FUEL 0.2 using the new Places API. As I do, I am just struck by how much functionality is exposed by the new API. Accessing bookmarks is a common request for extension developers. The old bookmark service isn’t as easy to use (IMO), mainly due to the amount of RDF that is seeping out of it. The new bookmarks and annotation services are very straight forward and clear. Here are some of my highlights so far:

  • Updating bookmark properties is really easy.
  • Using bookmark observers to notify you whenever a bookmark is added, changed, visited, moved or removed.
  • Creating annotations to attach data to pages and bookmarks.
  • Navigating the hierarchy of bookmarks is really easy.

No RDF in sight.

XUL Explorer – New and Notable


Cesar and I have been working on stuff from the feature plan. The XUL Explorer trunk has support for DOM Inpsector and Venkman (JavaScript debugger). Future releases will bundle those extensions with XUL Explorer. Cesar has a patch for adding extension testing support. I have the basics of an extension generation wizard in place. Both of those features will be in the next release too.

It was pretty nice to be able to use Venkman to debug some of the extension wizard code.

Paul Medlock has been sending in some patches too. He sent in a XUL formatter to keep the source code pretty in the editor. He also sent in some intellisense-like features for XUL. We are running into some of the limitations of the Mozilla editor in the process.


Contributing to XUL Explorer just got easier. A bugzilla component for XUL Explorer was added recently. You can now use bugzilla to file bugs or submit patches. Here are some useful links for contributing:

Feedback, bugs and patches welcome.

Firefox 3 – Bookmarks on Places Lands

Big news for those of you following Firefox 3 development. Places, the new backend implementation for bookmarks and page history, landed last night and will be ready for Firefox 3a5. Here’s an overview from the Places developers page:

Places is a re-write of Firefox’s bookmarks and history system. It aims to have significantly more flexibility and the ability to have complex querying. It also includes some new features such as favicon storage, and the ability to annotate pages with arbitrary information. It also includes a lot of new UI.

In addtion to the new features and UI this will allow in Firefox 3, it also gives extension developers a more powerful API for use in extensions. Places uses sqlite and the mozStorage to store bookmark and history data. Besides history and bookmark APIs, annonations, favicon and livemark service APIs are also available.

Dan Mill’s Mozillazine post has information about the upgrade and is a place where users can provide feedback.

So long mork. Mook and Mano corrected Mark about Mork.

Inner Beauty

Ryan Stewart, new Adobe evangelist (sweet), is looking for sexy AJAX applications. You know, the ones that look like Flash:

So where are other sexy Ajax applications? I’m not talking about Gmail or even Google Calendar, I’m talking about applications you could mistake for Flash, the kinds of applications even *I* can’t help but admire (even if they could be built faster with Flash and Flex 😉 ).

What’s the point? Ryan, we all know that beauty is on the inside. The only time Flash impresses me is when someone uses it in an invisible way. sIFR, Google Finance & dojo Storage come to mind.

If we want to point to successful AJAX applications, why exclude GMail, Google Calendar, Zimbra, and Highrise?

Confucius says – Everything has its beauty, but not everyone sees it.

Much Ado about XULRunner

Yes, there has been a lot of talk about the Mozilla platform lately. This is to be expected considering the hype generated around Sliverlight and Apollo platforms. Most of the discussion is coming from well meaning developers, using (or trying to use) the Mozilla platform to build products. Developers who want to see the open Mozilla platform flourish in the face of closed competitors. I have a special interest in the platform too, its how I ended up working at Mozilla, so I also want to see it succeed.

Yes, Mozilla made an official announcement (Mitchell’s pre-announcement, Shaver’s preemptive-response) about the plan for XULRunner, a physical manifestation of the Mozilla platform. The announcement contains a lot of information and covers many aspects of the Mozilla platform. Mitchell discusses how the platform will be used internally, to how Mozilla will respond to the platform runtimes from Microsoft and Adobe, and everything in-between. The plan specifically covers:

  1. XUL as Language
  2. XULRunner to Support Firefox and Browsing
  3. XULRunner to Support Other Applications
  4. Stand-Alone XULRunner

Yes, there have been a few “sky is falling” responses to the official announcement. It’s my opinion that the responses have been focused too much on one item in the announcement:

The Mozilla Foundation does not plan to invest in a pre-packaged or stand-alone XULRunner at this time. We plan to re-evaluate this as we approach the release of Mozilla 2.

This quote is part of the Stand-Alone XULRunner plan (#4). The news that Mozilla will not be packaging a system-level version of XULRunner is disappointing to some people. I, too, would like to see such a product, but I think people are severely underestimating the amount of work required to make it happen. A shared, system-level component is not an easy thing to do. When multiple applications share a runtime, versioning and upgrading needs to work almost magically, or some applications will break.

Personally, I am far more interested in the first 3 points. There is some really positive information in the other points:

  • Mozilla will continue to invest in XUL. Just look at the XUL section on the Firefox 3 for Developers page. Development focus is primarily on the needs of Firefox, but should also address broader needs (“Specific examples of how this works in practice have been the inclusion of thread-safety patches and graphics patches beyond Firefox requirements …”)
  • Mozilla will continue to develop XULRunner as a platform for delivering Firefox. Anyone tracking the Mozilla 2 development knows that Firefox and XULRunner will be the primary projects. Just because Firefox will not be delivered with a shared, system-level XULRunner does not mean Firefox will not be built on XULRunner.
  • Mozilla will work with XUL application developers to help move the XULRunner platform forward. This includes working on features and bugs that no only add value to Firefox (and Mozilla projects) but also external projects. Downloadable builds of XULRunner will still be available.

XULRunner is not dead. Do not believe words to the contrary. Its time the XULRunner community begins to focus its efforts to move the platform forward and provide less negative, stop energy.

You Are Mozilla – Yes, You!

From Mike Shaver (back after a *cough* hiatus):

…if you’re on the web, and you care about the web, and you’re afraid that we might yet again have a monoculture of stagnation on the Internet, you’re “Mozilla” — even if you don’t know it yet.

He had me at “ever-declining respect for personal hygiene.”

Tokyo and Paris Mozilla Developer Conferences

Mozilla Japan is putting together a big Mozilla developer conference on June 16th in Tokyo. The wiki page has some details and a draft schedule. This conference will be bigger than the recent developer days in Mountain View and Boston. Japan seems to have a large Firefox extension development community and I am looking forward to working with them.

Mozilla Europe’s Paris developer day on June 23rd is shaping up to be fairly big too. Europe has a large community of Mozilla developers (including XULRunner developers). They have been fairly vocal recently about their thoughts on the roadmap of the Mozilla platform. There should be a lot of great discussion.

Both events are likely to be more than one day, due to the amount of material. Sadly, due to the proximity of the events, I’ll only be going to the Tokyo event. Hopefully, I’ll make the next European developer day (yes, there is already talk of one).

Because Choices Are Good, Right?

From Dare Obasanjo:

It looks like Web developers are getting spoiled for choice this summer; Sun vs. Microsoft vs. Adobe vs. Web Standards.

Good times, good times.

Oh, if only tech hype could counteract the effects of global warming…

XUL Explorer Status

Its been a while since XUL Explorer has been updated. However, I have been using it more than ever and I have been keeping a list of things that I’d like to see added. The good news is XUL Explorer is now hosted in Mozilla’s SVN repository. More good news is we created a wiki page to help track and guide development. Even more good news is that Cesar Oliviera has joined Developer Relations as a summer intern to help work on developer tools.

We are currently working on adding Venkman (JavaScript debugger) and DOM Inspector to the XUL Explorer bundle. Cesar also created a Linux tar bundle, so installing on Linux will be easier.

Feel free to use the wiki Talk page to discuss XUL Explorer features and roadmap.