Asynchronous Storage API hg mq Repository

I figured it’d be a good idea to get more playtime, as it were, with hg, as well as host my asynchronous storage api stuff for other folks to use to provide feedback. I’ve created a repository based on our lovely documentation, and it is hosted here. Happy testing/playing!

I don’t actually know the best way to use this though, so you are sadly on your own there! (maybe one of our hg experts will come along and comment to help us all out!)


Asynchronous Storage API

As I’ve previously discussed before, I’m working on a new API for statement execution in our storage module for Firefox 3.1/Gecko 1.9.1 over in Bug 429986. While I got some good initial feedback, I haven’t heard much of anything. I’m getting much closer to being in a fully reviewable state (and I already have sections that I’ve broken off that are up for review), and would really appreciate some more eyeballs looking this over. Feel free to look over the wiki and provide feedback in the newsgroups ( about it!

Firefox Personal

A New Download Manager in Firefox 3 Brings a New UI

[I use a Mac, so all the images in this post are of the Mac user interface. The UI for other platforms will differ slightly. Click on pictures to view other sizes.]

Firefox 3 brings a brand new download manager to the scene. There were lots of issues that existed with the old download manager both in terms of the UI and in the code that made it work. So for Firefox 3, we redid the whole thing to provide a better experience all around. It’s one of my favorite features in Firefox 3, but then I’m a bit biased. This post discusses the new features of the UI.

Old Meets New – a UI Comparison


The Firefox 2 download manager (above) would display the download’s icon (but not on Linux), its name, its status, and two text links to open and remove the download. In contrast, the Firefox 3 download manager (below) displays the download’s icon (even on Linux now), it’s name, the time of the download, the download size, and where it was downloaded from. For an active download, the size of the download changes to the amount downloaded so far. The main goal was to provide more useful information to the user.


You might notice, however, that there is now primary UI to open or remove the download. The idea here was to provide a less cluttered UI. However, just like before with Firefox 2, you can open your download by selecting it and pressing enter, double clicking it, or selecting open from the context menu. In fact, the context menu has grown a lot too!


The middle two options provide functionality that was once available from the old properties dialog. That dialog was removed because it was out of place. One of the new features of the new download manager is the ability to select more than one download (as hinted to by the “Select All” entry in the context menu). You can select multiple downloads (below) to perform an action on them such as remove, pause, or resume.



The new download manager also adds the ability to search through your download history. Let’s say that you recently downloaded a bunch of pdf documentation from and want to open it. The folder where all your downloads go is hopelessly cluttered, so you open up the download manager, and search for “pdf threading”. In a matter of moments, you are presented with the documents you wanted so you can now open them, or if they were deleted, you can re-download them.


Status Bar Indication

Perhaps the most useful feature that has been added in Firefox 3 is a little status indicator that can be found at the bottom right of your browser window:


Firefox will now let you know how much time is left for your active downloads. When you click on the indicator, it will open up so you can see more detailed information about your active downloads.

That wraps up the changes to the UI. Stay tuned for a post about what new features have been added to the download manager in Firefox 3!


mozStorage Async API

Over in Bug 429986, I’m working on an asynchronous API for storage statements. In an effort to get more feedback on this proposal (and more ideas and brains thinking about it), I’m posting this to Planet Mozilla. So please, take a look at the proposed API with code samples, and then provide some feedback in