A First Look at Firefox 3.0


Recommended Posts

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.

acidtrip.gif

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-in-firefox.png

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. Scheduled for official release in May, Firefox 3.0 is still in the early stages of development. 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. Supported by a growing community of users and developers, the Firefox web browser has steadily increased in popularity. Firefox market share seems to have hit a plateau at between 11 and 13 percent and it will take creativity and innovation to move Firefox adoption to the next level.

source.pngArs Technica

Link to comment
https://www.neowin.net/forum/topic/521025-a-first-look-at-firefox-30/
Share on other sites

oooh very nice but why jump to like a 3.0 alpha? they should make like 2.5 atleast. I think they might start playing with numbers to catch up to IE7

Because 3.0 is going to be a huge jump and warrants the new numbering. If you ask me, 3.0 is what 2.0 should have been.

oooh very nice but why jump to like a 3.0 alpha? they should make like 2.5 atleast. I think they might start playing with numbers to catch up to IE7

It's because FF2 and FF3 are on different versions of Gecko (1.8 and 1.9 respectively). Of course, most people will think a 0.1 difference in Gecko versions in insignificant, but in this case, it's not. Switching to cairo for rendering is HUGE. On Linux, it means use of the RENDER extension, or glitz (OpenGL) for hardware-accelerated rendering. On OSX, it means using Quartz instead of Quickdraw (so pages won't look like crap when you up the DPI, and hardware acceleration using Quartz 2D Exterme). On Windows, I'm sure there's something. And you could render pages to PDF, PS, SVG, PNG. All this, practically for free.

Why? The test has no real bearing on real world browsing. Some how, over time, people managed to put too much emphasis on it.

anyone care to explain what "Acid 2 test" is?

Great combination of replies :rofl:
...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.

http://en.wikipedia.org/wiki/Acid_2

Acid2 is a test case designed by the Web Standards Project to identify web page rendering flaws in browsers and authoring tools. It is an updated edition of the original Acid test of 1997.[1]

Acid2 employs certain features of HTML and, more prominently, CSS. The purpose of employing such features is to highlight the problems with browsers that do not display it correctly. The Acid2 test should render correctly on any browser that follows the W3C HTML and CSS 2.0 specifications.

Google (or Wikipedia in this case) work wonders...

As Chris said, Acid 2 is so over hyped at this point that it's almost funny.

I never really noticed many changes in 2.0.

Trust me (or don't), but it will be. Most of the features haven't been rolled into these builds yet. Keep in mind, this is VERY early on in development. This isn't planned for release until mid/late 2007.

A quick explanation for any of you who might be curious why passing Acid 2 is essentially useless right now:

This is a very cool thing for web developers in that it means Firefox v3 is on track to support all kinds of wonderful web standards and features, but it?s not completely rosy.

Ok great, so Firefox v3 will support these very cool standards/features, but, and it?s a Hbuttike> but, this doesn?t mean anything important for the rest of the world. Sure, we can use these cool things, and anyone using Firefox v3 will be able to see and use them, but lets not forget who still holds roughly 90% of the browser market. Oh right, Internet Explorer 7, and it doesn?t even vaguely come close to passing Acid 2, and therefore doesn?t even remotely support any of these wonderful features we could use.

So, it?s a great step in the right direction, but it is virtually useless if the big time players don?t step up and move towards support all of the web standards.

-- Source: My blog entry about this

Is it just me or will Firefox go the Apple route and come up with a "NEW!!!!" update every few months from now on. These things take time... please don't ruin a great browser by making updates that are not required.

:laugh: Cute. You brought Apple into a thread that has nothing to do with them, and made an improper analogy about their OS releases. I applaud you.

Glad it renders Acid 2 properly. Despite what you all think, forcing the browser to render Acid 2 correctly means forcing the browser to render the W3C CSS 2.0 spec correctly. This keeps browsers from straying off for their own "standards." Yea, it has no effect on daily browsing and you can't really take advantage of it because of the ****** that is Internet Explorer, but it still helps in the long run.

Umbrello, it's not just a pixelated smiley. :laugh: It uses tons of CSS 2.0 techniques to render that.

Is it just me or will Firefox go the Apple route and come up with a "NEW!!!!" update every few months from now on. These things take time... please don't ruin a great browser by making updates that are not required.

This is a Alpha, the start of many builds to come. The Final build won't be until around the end of 2007. Don't worry! :)

How hard is it to display a pixelated smiley in a browser such as Firefox? :blink:

If you look at the CSS specifically you'll see how complicated/advanced this code is. It's not nearly as simple as it appears. It's all a matter of spacing, positioning, following certain selectors and rules ...it's quite complicated stuff.

If you look at the CSS specifically you'll see how complicated/advanced this code is. It's not nearly as simple as it appears. It's all a matter of spacing, positioning, following certain selectors and rules ...it's quite complicated stuff.

Ah, understand. But I don't see any difference between the FF 2 and 3 icons. (Except that FF2 is a bit brighter.)

Ah, understand. But I don't see any difference between the FF 2 and 3 icons. (Except that FF2 is a bit brighter.)

It's all about the underlying code. The rendering engine is brand new. The bookmarks/history backend will eventually be all new.

Yes :-D good to see it finally passed.

Now if only IE passed the test so we wouldn't have to pull our hair out anymore when designing sites. Honestly, a lot of ppl should have been fired. In school, you are given a project description and you have to meet the specifications or you fail. In the real world developers are allowed to say screw it to the rules/guidelines?...and not fix the bugs and holes in your code even after YEARS of updating? god such bull****

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.