Electricmonk

Ferry Boender

Programmer, DevOpper, Open Source enthusiast.

Blog

Taking Firefox 1.1 (Deer Park) for a test-drive.

Thursday, July 21st, 2005

NOTICE: Please substitute all occurences of the text ‘1.1’ in this article with ‘1.5’. The reason? They’re skipping v1.1 and going straight to v1.5. Too bad I didn’t find out about this Roadmap earlier.

About Deer Park

Deer Park, the development codename for the upcoming Firefox v1.1 release, hit the Alpha 2 stage last Sunday. Being curious about the new Firefox release, I decided to take it for a test-drive. My findings I will discuss here.

Please keep in mind that Deer Park is still in an Alpha stage, meaning that many glitches still need to be sorted out. Some of the problems I experienced during my usage of it may (or may not) be addressed in the versions between Alpha 2 and the final release of v1.1

Where are they?

So, what exactly is the status of v1.1? Where along the road are they? Unfortunately, I found that there have been no announced release dates for the various beta and Release Candidate (RC) versions. Perhaps disclosing dates at this time will put too much pressure on the project, who knows? Update: A new roadmap for Firefox v1.5/v2.0 has finally been posted.

May 31 saw the release of the first Alpha release; Alpha 1. The Alpha releases are a way of setting milestones for the finishing and polishing of new features (See the product planning and release management page for Firefox v1.1 on the Mozilla wiki). Alpha 1 saw the landing of the following features:

  • Extension manager
    The extension manager is mostly useful for extension developers. The internals of the extension managing code has been updated to make it easier for developers and third-party applications to register extensions. All nice and well, but not really interesting to us end-users.
  • In-line SVG
    Now here’s a major new feature that is extremely promising. SVG, an acronymitocity (*cough*) for Scalable Vector Graphics, is a ‘new’ (it’s actually been around for quite some time now) technology for displaying graphics made up out of commands. For instance: <ellipse cx="200" cy="190" rx="85" ry="55" />, which draws an ellipse. Vector graphics are often used by diagram drawing tools and, for instance, Adobe Illustrator. (More info on SVG)

    Firefox v1.0 already had SVG-displaying capabilities, but only for separate SVG files. Deer Park, A.K.A Firefox 1.1 will have support for displaying SVG that’s in-line in the HTML, meaning other parts of the page, like Javascript or CSS, can interact with it. SVG support will be discussed more in-depth below.

Alpha 2, released last Sunday and the one I’ve taken for a little previewing, also had its share of newly completed features. The most prominent for end-users are:

  • Software update improvements
    The final version of Firefox v1.1 will include a fix for something a lot of users have complained about: Binary patches. Right now you’ll have to download the whole +/- 8 MB large installation package each time a small update is released for Firefox v1.x. All this will change with binary patches, requiring only a very small download for each patch.

    The new software update code also supports cryptographic signing of new releases and (presumably) patches. This will allow end-users to verify software as truly originating from the Mozilla foundation and not some malicious man-in-the-middle.

  • Improved pop-up blocking
    Advertisers, curse their little money-grubbing hands, have already found ways around Firefox’s excellent pop-up blocking feature. Many users complained and here is the Mozilla foundation’s answer to your prayers: improved pop-up blocking. I haven’t actually tried this out, since I’ve never seen any pop-ups with Firefox anyway.
  • Fast back
    I’m not really sure what this feature is all about, but I think it has something to do with making it faster to go back in the page history (when you press the ‘back’ button). I’m assuming this works by keeping an already rendered copy of the pages in the history in memory so they’ll display faster.
  • Reorderable tabs
  • Tab reordering
    Finally it will become possible to reorder tabs in Firefox.

The Beta release will be the first feature-complete testing version of Deer Park. There’s no release date yet for this release, but when it’s released be sure to grab a copy and do some browsing with it. Finding bugs and improving stability are the main focus of this release.

Next will come the Release Candidate (RC) stage during which a number of RCs will be released for public scrutiny. No word out yet on any dates or even how many RCs will be released. Everything depends on how the project fares up until this point.

And finally will come the v1.1 release.

The test-drive

Finally, on to what you’ve all been waiting for! My findings during the Deer Park Alpha 2 test-drive! The jury has returned and the verdict is out: It’s… okay.

Don’t get me wrong, I’m enthusiastic about this release, I really am. It addresses many of the problems I’ve had with the v1.0 release. But it’s not that much different from v1.0. And I guess I’m actually glad about that. Remember that this is just a minor release and, even though it’s seeing some cool new features, the main point is addressing problems in the first version.

Installation

The installation was quite uneventful, which is a very good thing. I simply did a full download of the Alpha 2, unpacked it and ran it (after making a backup of my profile directory). Except for breaking some extensions, which was to be expected, Deer Park flawlessly assumed previous settings. I don’t expect a lot of problems with this when the final v1.1 goes live.

I had no trouble switching between the old Firefox and Deer Park, which makes testing Deer Park pretty easy. The only annoyances were that each time I switched between v1.0 and v1.1 A2, it would complain about the plugins again and re-show the Mozilla page as my default homepage. Then again, I really shouldn’t be running two different versions on the same profile.

Yet Another New Configuration Dialog

The first thing that struck my eye was the fact that they, once again, changed the configuration dialog. I must say I’m getting a little sick about this. Each time I’m finally comfortable with the new configuration panel, they change the layout again. On the up side, not a lot of options have been added or removed. Mostly the placement of the main options (the buttons) has been changed from being on the left to going to the top.

One problem that did occur was with the sizing of the elements. As I have experienced before with Mozilla applications under Linux, there’s sometimes not enough space in the elements to draw all the sub-elements like text and buttons, giving everything a rather pressed-together and messy look. Resizing the dialog usually cures the problem. Also, after having fiddled with the Gnome fonts, I suddenly noticed things where back to normal again. I’m not sure what I did to improve things, but they are, and that’s what counts.

Config with annoying link-border

Something that did annoy me was the small stippled border around clicked tabs (see screenshot). Let’s hope they remove it in the final release; it looks ugly. (I’m probably being too uptight about this, aren’t I?)

Some of the things that changed in the preference dialog are the way Tab settings are displayed. In the old 1.0 version they were simply a bunch of toggle buttons in a big scrollable list. These have been sub-categorized under tabs, a small but nice improvement. There’s also a ‘Sanitize’ option added, substituting the old ‘Clear all [saved information]’ button. It includes an option to clear everything upon exiting Deer Park. I read something about it also having a keyboard shortcut to erase this information, but I couldn’t find it.

User friendly errors

User-friendly errors

User-friendly errors instead of those annoying warning pop-up dialogs have been turned on by default. It takes a little while getting used to, but it’s definitely better than error dialogs popping up unexpectedly.

My gimped User-friendly error

They could use a little attention by a skilled artist though; these look kinda crappy. Maybe throw in some nice Mozilla Lizard. Something like the one on the right… okay, okay, I just felt like Gimping a little. :-)

Fullscreen mode

One of the things that annoyed me, and unfortunately still does, is the fact that there doesn’t seem to be a way of escaping from Fullscreen mode without using the keyboard. The only way of exiting it is pressing F11, which users may not have noticed in the menu when they selected ‘Fullscreen’ in the ‘View’ menu. They’ll be stuck in fullscreen without knowing the way out. A little pop-up saying ‘Escape from fullscreen mode by pressing F11’ would already help a lot. Also, tabs aren’t hidden, making fullscreen mode look like a bit hackish. It’s not too much of an annoyance though, since I hardly ever use the mode.

Worst bug ever finally fixed!

The best thing, the sole reason I’ve been waiting with much anticipation for Firefox v1.1, is the fix of the infamous and severely annoying bug #97283 A.K.A the Div overflow=auto scrollwheel bug. We use overflowing div’s a lot in web-applications at my job, and not having the ability to scroll with the mousewheel is very frustrating indeed. The bug’s been open for almost four years and it is, in my opinion, the only failure of the Mozilla development team. This bug remains open though.

SVG Inline

Earlier in this write-up, I talked about in-line SVG support in the new Firefox version. I’ll elaborate on it here, and I’ll do so via an example: Take this HTML page:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>XTech SVG Demo</title>
  <style>
  stop.begin { stop-color:yellow; }
  stop.end { stop-color:green; }
  </style>
</head>
<body style="position: absolute; z-index: 1; margin: 0px;">
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100"
    preserveAspectRatio="xMidYMid slice" style="width: 100%; height: 100%; 
	position: absolute; top: 0pt; left: 0pt; z-index: -1;">
    <linearGradient id="gradient">
      <stop class="begin" offset="0"/>
      <stop class="end" offset="1"/>
    </linearGradient>
    <rect x="0" y="0" width="100" height="100" style="fill: url(#gradient);"/>
    <circle cx="50" cy="50" r="30" style="fill: url(#gradient);"/>
  </svg>
</body>
</html>
Inline rendered SVG

Notice the <svg> tag and its namespace. It’s in-line SVG. Inside this tag appear drawing instructions which Firefox’s SVG render will interpret and display in the browser. The result can be seen in the screenshot on the right. Now, look at the CSS piece in the HEAD element. It controls the colors of the gradients in the drawn elements. Changing the CSS, be it by hand or with Javascript, will change the gradient colors in the rendered SVG! Is that awesome or what?

This new feature has enormous multimedia potential. It could, theoretically, be capable of replacing Flash on the World Wide Web. I say theoretically because of two reasons. First, Flash is already a pretty established ‘standard’. Second, Internet Explorer, nor any other browser that I’m aware of, supports in-line SVG and probably won’t for a very long time. This, I believe, will severely hinder the adoption of SVG as a viable drawing technique in web pages. Thankfully I’m not in the business of making vague predictions, so maybe it will take off.

Another problem I’m seeing with in-line SVG is the fact that it’s dog slow. I mean, even on my fairly brand-new 1.7Ghz Laptop it’s noticeably slow when, for instance, moving or resizing the window. On the other hand, an online demo showing dynamically rotated parrots (or whatever they were, I’m no ornithologist) seemed to perform reasonable.
A nice SVG tutorial can be found on the Mozilla Developer site.

Stability

Deer Park was still a bit lacking in the stability department. Naturally, this is still an alpha release and things may still improve in the releases before the final v1.1. All in all I experienced about three crashes during the test-run, which lasted about 3 days. Perhaps I should have started with a new empty profile.

Conclusion

Deer Park is coming along nicely. There aren’t a lot of new features, but the ones that are there are pretty awesome (SVG yay!). I didn’t notice any real speed-increases or any other real improvements bar the things discussed above. Not that that’s a bad thing of course; I mention again the fact that this is only a minor version increase.
It’s clear that Deer Park Alpha 2 isn’t ready for production use yet, but that’s to be expected of an Alpha release. I’ll stay on top of new releases though, and I’m already adopting Alpha 2 as my new main browser (mostly for the #97283 bug fix).

If you yourself want to stay up-to-date on the latest developments surrounding Deer Park, check out the developement news. There’s also a special Deer Park Roadmap weblog.

Update: Most of the sites that are linked to from this article appear to be dead. It seems http://developer.mozilla.org is currently down, at least for me. Sorry.

The text of all posts on this blog, unless specificly mentioned otherwise, are licensed under this license.