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.
  • Posts

    • Could you come up with a slightly less depressing background for Tux instead of that gray gradient? Doesn't have to be cheerful, just less of a downer...
    • Linux 7.2's first release candidate gets off to a good start by Paul Hill Credit: Larry Ewing It has been a few weeks since the release of Linux 7.1, and in that time, the Linux 7.2 merge window has been open, where developers can submit their features and patches ready for the upcoming release. That window is now shut, and the release candidate phase has begun so that new features can be tested and further fixes applied. According to the founder of Linux, Linus Torvalds, this week’s release candidate looks “reasonably normal”. Although we are super early in the release candidates, this is a good sign as it makes it more likely that an eighth release candidate will not be needed. Torvalds even mentioned that the update’s stats are only larger than they really are because there was another AMD header drop with a third of the patch just being AMD GPU register definitions, which aren’t big changes but make the code contributed look larger overall. In addition to this, he noted that just over half the patch is drivers, even when excluding the AMD register dump. The rest of the changes are spread out over architecture updates, tooling, documentation, and core kernel updates. In the next week, Torvalds says that he will be chilling out, taking the week “mostly off”. Despite this, he will be reading emails and keeping up with things, so if he is slow responding, now you know why. He said he is hoping for a calm week, but we will just have to see if the second release candidate is actually like that. We should expect seven or eight release candidates before Linux 7.2 is released, so expect it around the end of August. If you missed it a few weeks ago, be sure to check out our coverage of Linux 7.1's release.
    • Ridiculous claim that the labor cost difference of $6000 annually would increase cost per phone by $200. The employees produce 3 phones per month or what?
    • Sparkle 2.20.1 by Razvan Serea Sparkle is a free, open-source Windows optimization tool designed to make your PC faster, cleaner, and more private. With Sparkle, you can easily debloat Windows by removing unnecessary apps and services, disable Microsoft tracking to enhance privacy, and apply performance tweaks to boost speed. Its cleaner removes junk and temporary files, while every change is safe and fully reversible. Sparkle also features a modern, user-friendly interface with automatic updates, making system maintenance simple. Explore over 39 tweaks, from disabling telemetry and hibernation to optimizing network and game settings, all aimed at customizing and enhancing your Windows experience. Sparkle supports Windows 10 and 11. Sparkle 2.20.1 changelog: You can now change the Animation Direction from Up, Left, or Off. Added configurable animation direction (Up, Left, Off) for improved accessibility Added TTL caching to the system info backend Refactored tweak application flow to await NvidiaProfileInspector Improved IPC listener cleanup to correctly remove specific listeners Fixed online status not updating after successful network requests Updated system info tests to support backend caching Removed electron-toolkit utils dependency in favor of internal is.dev helper Fixed unwanted files and folders being included in application bundles Download: Sparkle 2.20.1 | Portable | ~100.0 MB (Open Source) Links: Sparkle Website | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Never used the G7 Pro, but I've never had a good experience with that style of d-pad and fighting games.
  • Recent Achievements

    • One Month Later
      JKR earned a badge
      One Month Later
    • Dedicated
      Asgardi earned a badge
      Dedicated
    • Conversation Starter
      jessse3334 earned a badge
      Conversation Starter
    • Reacting Well
      JuvenileDelinquent earned a badge
      Reacting Well
    • One Month Later
      Excellence2025 earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      496
    2. 2
      +Edouard
      247
    3. 3
      PsYcHoKiLLa
      154
    4. 4
      Steven P.
      86
    5. 5
      macoman
      65
  • Tell a friend

    Love Neowin? Tell a friend!