Page 1 of 1

Firefox 3 Preview

Posted: Wed Dec 13, 2006 9:09 am
by Andrew

Mozilla has officially released the first public alpha build of Firefox 3.0. Codenamed Gran Paradiso, Firefox 3 includes the new Gecko 1.9 rendering engine which leverages the open-source Cairo rendering framework and features heavily refactored reflow algorithms that improve Firefox layout functionality and resolve some long-standing CSS bugs.

The reflow improvements in Gecko 1.9 (included in the latest Gran Paradiso nightly build, but not the alpha release) finally enable Firefox to pass the Acid 2 test, a CSS test case developed by the Web Standards Project to illuminate flaws in HTML/CSS rendering engines. To pass the Acid 2 test, browsers must comply with W3C standards and provide support for a wide variety of features that are considered relevant by Web designers. The Acid 2 test has been passed by several other browsers, including Safari, Konqueror, and Opera, but not Internet Explorer. Passing Acid 2 is considered to be a significant milestone in Firefox development.

Left to right: Acid 2 under Firefox 2.0, Firefox 3.0 Alpha 1, and Firefox 3.0 Alpha Minefield (nightly)

Gecko 1.9 also includes a new threading model, support for Cocoa widgets on OS X, and some unit fixes (still under development) that could eventually facilitate a full-page zoom feature like the one found in Opera.

Firefox's transition to Cairo is significant. Written in the C programming language, the versatile Cairo graphics library is a vector-based drawing API that supports a wide variety of backends. Cairo can take advantage of hardware acceleration where available and simplifies cross-platform graphics application development by providing an internally consistent and cohesive framework that emphasizes platform-independence. Similar in function to Microsoft's Windows Presentation Foundation (formerly called Avalon) and Apple's Quartz 2D, Cairo has been widely adopted within the open source community and is currently used in numerous open source applications and frameworks including the GTK toolkit and GNOME desktop environment.

Firefox uses Thebes, a C++ wrapper for Cairo. It is hoped that incorporating Cairo into Firefox will decrease the amount of graphics code that needs to be maintained by the Firefox developers, simplifying the Firefox code base and making it easier to further improve Gecko rendering. Cairo opens the door for hardware-accelerated rendering in Firefox using Glitz, Quartz, or an accelerated X server like Xgl. Cairo will also eliminate some awkward rendering bugs, provide new drawing functionality, increase the general quality of anti-aliasing, and improve native SVG support.

SVG improvements in Gran Paradiso are already evident. In a recent message posted on the Tango artists' mailing list, Tango contributor and Mozilla Visual Identity team member Steven Garrity provides a nice comparison to show how the SVG improvements in Firefox 3 affect the rendering of SVG Tango icons.

SVG icon comparison courtesy of Steven Garrity

Although Cairo has a lot to offer, the library itself still has some deficiencies. It is under heavy active development and has improved considerably, but there are still relatively significant performance issues that have to be resolved. Recent benchmarks conducted by Zack Rusin reveal that Cairo is quite a bit slower than Qt 4 in some contexts. A new Bently-Ottman tessellator being developed by Carl Worth and others on the Cairo team could potentially resolve a number of Cairo's performance problems.

There are some new bugs in Gecko 1.9, some of which have been introduced into Gecko as a result of the move to Cairo. An assortment of minor font rendering issues have been documented in Gran Paradiso on all three major platforms and compatibility issues have been reported by Linux users who aren't running at least Xorg 7.

Gran Paradiso alpha builds for Windows, OS X, and Linux are available for download from the Firefox FTP as well as the source, but it is important to note that these early alphas are experimental and not intended for regular use. Web developers can use the Gran Paradiso alpha to help ensure that their sites will render properly in Firefox 3, and members of the Mozilla community can use the alpha to help test and debug Firefox. The compressed BZ2 archive containing the Gran Paradiso Alpha 1 binaries and associated files for Linux is about 8 MB, but it expands to about 25 MB after decompression. Before testing Gran Paradiso, you will probably want to back up your Firefox settings directory (~/.mozilla on Linux) so that your configuration data isn't damaged. Those of you that want to test the new reflow improvements can try the latest nightly build, available for download from the Mozilla FTP server. The nightly build, referred to as Minefield, is extremely experimental.

If you want to run two versions of Firefox side-by-side to compare rendering differences, you will have to set the MOZ_NO_REMOTE value to 1 and create a separate Firefox profile. Instructions on how to do that for Windows and Linux can be found here.

Aside from the Gecko rendering changes, there are few noticeable differences between Firefox 2.x and the early 3.0 builds. It is not presently clear which features will be developed and included in the official Firefox 3 release, but preliminary plans provide some insight into possible changes.

The Places system, a history and bookmark overhaul that was controversially dropped from Firefox 2 and delayed, is planned for inclusion in Firefox 3. Also planned is a new download manager that could potentially make it possible to resume paused downloads across sessions. Multi-session resume would definitely be a welcome addition. I often use wget for large downloads specifically because Firefox can't resume downloads after a crash. Firefox developers have also discussed possibly integrating support for download acceleration and including a download queue manager that can control the number of simultaneous downloads.

Keybinding configuration has also been a topic of discussion. Since many Firefox extensions use conflicting shortcuts, the need for a centralized shortcut management system has steadily increased. The password manager could also see some improvement, with plans to integrate support for OS X's Keychain and provide better password persistence with the SQLite-based MozStorage engine.

Inclusion of the Cairo-based Gecko 1.9 rendering engine and the new Places system will make Firefox 3 a significant release. Now that Firefox conforms to W3C standards well enough to pass the Acid 2 test, it's time for Firefox developers to focus on stability and resource efficiency. In order to remain competitive, Firefox must be made more reliable and less memory intensive.

Update: The Firefox 3 schedule at the Mozilla wiki has been changed and no longer includes an estimated release date. At the time this article was written, the schedule listed May 2007 as the tentative release date.

Release Notes
Download Nightly Builds (Alpha, Mozilla suggest sticking with FF2)
Cut and Paste Source: Ars Technia

Update: Ars Technia is going up and down all the time, I've uploaded the images to imageshack, if the source doesn't show its because it's not up.

Posted: Wed Dec 13, 2006 10:09 am
by Luckie
the FF3 will be amazing

IE go home

Posted: Wed Dec 13, 2006 12:12 pm
by ___
sounds awesome. But with all these tests they do, isn't it like only a tiny percentage of websites actually use a lot of the features?

Posted: Thu Dec 14, 2006 10:27 am
by AnDrEwP182
I was doing Minefield, better upgrade my beta...

Posted: Fri Dec 15, 2006 5:20 am
by ppc_digger
Luckie wrote:the FF3 will be amazing

IE go home
I don't think so, since Firefox 3 will barely have any UI enhancements, only rendering ones, and since the average user only cares about UI, it won't change anything outside the elite computer society.
___ wrote:sounds awesome. But with all these tests they do, isn't it like only a tiny percentage of websites actually use a lot of the features?
That's only because of IE, which doesn't support all these new features. Seriously, it doesn't support any web technology that came out after 2001 (not even IE7 - it had close to zero rendering enhancements).

Posted: Fri Dec 15, 2006 9:22 am
by Luckie
the new rendering engine is amazing, a sql-db for bookmarks this is cool

Posted: Fri Dec 15, 2006 8:17 pm
by ___
might have to download a build

Posted: Fri Dec 15, 2006 11:25 pm
by Vista Ultimate R2
___ wrote:might have to download a build
I'm still on FF 1.5

Posted: Fri Dec 15, 2006 11:53 pm
by Andy
Vista Ultimate R2 wrote:
___ wrote:might have to download a build
I'm still on FF 1.5
So am I, don't worry. Lol.

Posted: Sat Dec 16, 2006 6:28 am
by merty
It's starting to look really cool. It still is very buggy so if you do choose to install it. Minefield may crash on some sites.

Posted: Sat Dec 16, 2006 8:19 am
by Battler
merty wrote:It's starting to look really cool. It still is very buggy so if you do choose to install it. Minefield may crash on some sites.
On some sites? Here, it crashes, like on almost every site I go on.

Posted: Sat Dec 16, 2006 2:17 pm
by merty
It only crashed when i was on demonoid maybe i haven't been on many websites which cause it to crash but i'm back on firefox 2.0.

Posted: Sat Dec 16, 2006 8:03 pm
by ___
might stay on 2 for a while first

Posted: Sun Dec 17, 2006 1:20 am
by AnDrEwP182
You think you have it bad, I am still on Codename Firebird 0.7 for everyday browsing.

Posted: Wed Dec 27, 2006 4:47 am
by pawel4325
Firefox 3 is better than 2

Posted: Wed Dec 27, 2006 4:56 am
by jedrekk
Firefox 3 is better than 2. You read first post?

Posted: Sat Jan 06, 2007 2:52 am
by ekim168
gotta love firefox, its all i use now

Posted: Sat Jan 06, 2007 3:29 am
by prx984
I use a combination of Firefox, Opera and Internet Explorer. I prefer Firefox all the way, I just wish they would be fix the massive memory leak it has. On my 128MB laptop, Firefox runs really well, but it just kills my resources after a while. So I just restart it every once in a while.

That method works good for me, so I will stay with Firefox.

Posted: Sat Jan 06, 2007 3:37 am
by Vista Ultimate R2
prx984 wrote:On my 128MB laptop, Firefox runs really well, but it just kills my resources after a while. So I just restart it every once in a while.
You might want to apply the tweak where you disable the feature where it keeps the last 10 pages in memory so as to speed up the back button - this is reported to reduce Firefox's memory usage (instead of having to restart it to clear this).

Posted: Sat Jan 06, 2007 5:06 am
by prx984
Where can this tweak be found?

Posted: Sat Jan 06, 2007 5:16 am
by Vista Ultimate R2
Go to about:config and set browser.sessionhistory.max_total_viewers to 0. Probably best to only do this one on low-memory systems, as the advantage of the faster back button will usually outweigh the extra memory usage on a high-spec system.

You can also right-click on the about:config page, do New > Boolean, then make a value called config.trim_on_minimize and set it to True - this releases memory when you minimise Firefox, which might be better than restarting Firefox and losing open your pages (unless you have that extension that reloads the pages that were open when you last closed the browser).

Posted: Sat Jan 06, 2007 5:28 am
by prx984
Wow, that is incredible, it really helped reduce the load here. I can minimize Firefox and it will go from 30+ MB down to 1mb or so. Now if only they could do that when it was restored

Edit: Does anyone else wonder what it will look like when its finished? Or do you guys think they may keep the same look as Firefox 2.0?