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

    • Wow, Microsoft IS cooking lately... This only shows that they COULD improve, they just chose not to for whatever reasons. That obsession with AI was destroying them from the inside out.
    • BATorrent 4.1.0 by Razvan Serea BATorrent is a lightweight, open-source BitTorrent client built with modern C++ and Qt 6, offering a clean, fast, and privacy-focused alternative to traditional torrent apps. It supports magnet links, .torrent files, resume data, sequential downloading, per-file priorities, and even imports from qBittorrent. Power users benefit from integrated RSS auto-download with regex filtering, duplicate detection, and automatic tracker lists from Stremio. Streaming is seamless thanks to auto-detected players like VLC and IINA. BATorrent includes robust VPN tools—interface binding, auto-detection for WireGuard-based services like Mullvad and NordLynx, kill switch, proxy support, and IP filtering. A full WebUI enables remote control, while integrations with Plex, Jellyfin, and Emby automate library updates. With themes, speed scheduling, system-tray alerts, and cross-platform support for Windows, Linux, and macOS, BATorrent delivers a polished, high-performance torrenting experience. BATorrent features: Core .torrent file and magnet link support Resume data — picks up where you left off after restart Import torrents from qBittorrent Create .torrent files from any file or folder Sequential download mode Per-file priority control (skip, low, normal, high) Seed ratio limits with auto-pause DHT, PEX, UPnP, NAT-PMP RSS Auto-Download Subscribe to RSS feeds — automatically download new torrents as they appear Regex filters — match only what you want (e.g. 1080p|720p, S01E\d+) Per-feed settings — custom save path, check interval (5–1440 min), enable/disable Auto-download — matched items are downloaded automatically in the background Supports magnet links, .torrent URLs, and tags Tray notifications when items are auto-downloaded Duplicate detection — never downloads the same item twice Stremio Stremio Addon System pre-installed — works out of the box Auto tracker list from ngosang/trackerslist Streaming Play while downloading — stream video files before the download is complete Supports mp4, mkv, avi, mov, wmv, flv, webm, m4v, ts Auto-detects installed players (VLC, IINA, system default) VPN & Privacy Interface binding — lock torrent traffic to a specific network interface (e.g. tun0) Auto VPN detection — identifies VPN interfaces (tun, tap, WireGuard, Mullvad, NordLynx, ProtonVPN) Kill switch — automatically pauses all torrents if the VPN interface drops Auto-resume — resumes only the torrents paused by the kill switch when VPN reconnects Proxy support — SOCKS5 and HTTP proxy with optional authentication IP filtering — load P2P blocklists to block unwanted IP ranges Protocol encryption (enabled / forced / disabled) WebUI Remote management — control torrents from any browser at http://localhost:8080 REST API with JSON responses Add torrents via magnet link or .torrent upload Pause, resume, remove torrents remotely View peers and files per torrent Dark theme matching the desktop app HTTP Basic Auth with SHA-256 password hashing Configurable port and remote access (localhost vs 0.0.0.0) Interface 3 themes: Dark, Light, Midnight (bat/vampire aesthetic) Real-time speed graph Detailed panel with tabs: General, Peers, Files, Trackers Filter bar: search by name, filter by state (Active, Downloading, Seeding, Paused, Finished) Drag & drop .torrent files and magnet links Drag & drop reorder in torrent list System tray with notifications (download complete, kill switch events, RSS auto-downloads) Splash screen with bat animation Bilingual: English and Portuguese (BR), auto-detected from system locale Bandwidth Scheduler Alternative speed limits — set different download/upload limits on a schedule Time range — configure active hours (e.g. 01:00 to 07:00), supports overnight ranges Per-day control — choose which days of the week the schedule applies Automatically switches between normal and alternative speeds Media Server Integration Plex — automatically trigger library scan when a download completes Jellyfin / Emby — same automatic library refresh via API Configure server URL and authentication token/key in Settings System Cross-platform: Windows, Linux, macOS Auto-shutdown — automatically shut down PC when all downloads complete (60s cancellable countdown) Auto-update system (AppImage on Linux, installer on Windows, DMG on macOS) CLI arguments: pass .torrent files or magnet: URIs directly Keyboard shortcuts: Space to toggle pause, Ctrl+A to select all, Ctrl+O to open BATorrent 4.1.0 release notes: A community-driven release: everything here came straight from your reports and requests. It closes the remaining gaps with qBittorrent and fixes the Windows settings/tray/splash issues several of you hit. Fixed Settings now actually save. A whole class of preferences — speed limits (and the alternative limits), max active downloads, seed ratio, listen port, max connections, DHT/uTP/encryption, VPN interface, kill switch and proxy — weren't being persisted and reset to defaults on every launch. They now round-trip correctly. (Thanks to everyone who reported "the upload limit always goes back to 0".) Splash and tray toggles stick on Windows. Turning off the startup animation (or "close to tray") no longer reverts — the Windows registry stored these booleans as integers and the UI was misreading them. Close-to-tray hint. The first time the window hides to the tray you get a one-time notification, so the app doesn't look like it vanished (Windows 11 tucks new tray icons into the overflow). macOS Dock icon size. The icon filled its canvas edge-to-edge and rendered larger than neighbouring apps; it now uses the standard safe-area padding. Native file picker language. The "Torrent file / All files" filter in the open dialog follows the app language instead of being hard-coded. Added — qBittorrent parity Alternative speed limits toggle — a turtle button in the toolbar flips your throttled limits on/off instantly, independent of the scheduler. Follow system theme — switch light/dark automatically with the OS (Settings → Appearance). Pre-allocate disk space — reserve the full file size up front to reduce fragmentation (Settings → Downloads). Recheck data on add — optionally force a hash check when adding a torrent, so existing or partial files on disk are detected. Port status indicator — a 🔴 dot in the status bar shows whether your listen port looks reachable (UPnP/NAT-PMP + listen state; fully local, no external check). Add torrent from URL — File → Add torrent from URL (Ctrl+U) fetches a remote .torrent and routes it through the normal add dialog. Export .torrent — right-click a torrent → Export .torrent to save its metadata file. Already there (in case you missed it) Watch folder — auto-add .torrent files dropped into a monitored directory (Settings → Files). This release just surfaces it. Incomplete files already carry a .!bt suffix until they finish. Under the hood Regression tests for the settings-persistence and Windows boolean bugs. A new Qt Quick Test harness covering the startup splash and the design-system widgets. Download: BATorrent 4.1.0 | 37.5 MB (Open Source) Download: BATorrent Portable | 51.7 MB Links: BATorrent Website | Screenshot | Changelog Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Disabling open on hover, great! That was so stupid! They need to do a fix, where if a network share is disconnected, it doesn't hang when opening "This PC" for 20 seconds.
  • Recent Achievements

    • Very Popular
      AndrewSteel earned a badge
      Very Popular
    • Veteran
      Taliseian went up a rank
      Veteran
    • One Month Later
      Clizby earned a badge
      One Month Later
    • One Month Later
      Timaximus earned a badge
      One Month Later
    • Week One Done
      Timaximus earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      517
    2. 2
      +Edouard
      163
    3. 3
      PsYcHoKiLLa
      162
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      78
  • Tell a friend

    Love Neowin? Tell a friend!