MozillaZine

Mozilla Firefox 3 Released

Mozilla Firefox 3, which was released today, has over 15,000 improvements according to Mozilla.

A new feature known as Places stores bookmarks, browsing history and other user information in an SQLite database. This enables new functionality such as the improved Location bar autocomplete functionality (dubbed the "awesomebar" by its fans). While the old autocomplete listed previously-visited URLs beginning with text entered in the Location bar, the new feature searches anywhere in the URL and also looks for matching page titles in your history and bookmarks. Results are returned based on the frequency and recentness of visits, with the ordering further tweaked by your behavior (for example, if you enter moz and choose MozillaZine from the list, it will be ranked higher the next time you enter moz).

As always, bookmarks can be placed in folders (though the new one-click star bookmarking icon will no longer put new bookmarks into your Bookmarks menu by default in an attempt to reduce clutter) but they can now also have arbitrary tags (searchable from the Location bar) applied too. A new Library window shows all your bookmarks and history in one place and allows them to be searched with the option to save the search as a dynamic Smart Bookmark Folder (Firefox 3 includes a Most Visited folder by default, though unfortunately the Library user interface does not currently allow users to make Smart Bookmark Folders based on such sophisticated criteria like number of visits themselves).

Firefox 3 features an updated default theme on each of the three major platforms (Windows, Mac OS X and Linux), designed to integrate better with the look-and-feel of the host operating system. The Windows theme now differentiates between between XP and Vista, using a different set of icons and colors on the latter (both sets of icons were created by the Iconfactory, who have done Windows design work for Microsoft in the past). The Mac theme has received perhaps the most radical visual makeover with changes intended to bring its appearance in to line with the style introduced by Apple for OS X 10.5 Leopard (it has some differences when run on 10.4 Tiger). Together with changes such as Aqua-style form widgets in webpages, Firefox 3 should feel much more like a native Mac application. On Linux, Firefox now automatically uses some icons from the user's chosen GTK theme and includes other icons designed by the Tango Desktop Project, which aims to provide a consistent user experience for free and open source software. To provide consistent branding, the Back and Forward toolbar buttons have a distinctive 'keyhole' style on both Windows and OS X.

The site icon to the left of the Location bar is now the Site Identification button. While previous versions of Firefox concentrated on informing users whether their connection to a website was encrypted or not, Firefox 3 tries to focus more on who runs the site. When visiting a secure site, the Location bar no longer turns yellow and shows a padlock icon (though this is still present in the Status Bar). Instead, the Site Identity button turns blue (yellow was judged to no longer be a good color as Internet Explorer 7 uses it to mean a suspected phishing website) and clicking it will reveal the domain name of the site and who supplied the security certificate.

However, if the has a newer Extended Validation certificate (see https://www.paypal.com/ for an example), the Site Identity button will turn green and display the name of the organization that runs the website. Clicking on the button will display not only the domain name of the site and certificate issuer but also the name and location of the who runs the site. Internet Explorer 7 and Opera 9.5 already support Extended Validation certificates.

Firefox 3 is also more strict about denying access to secure sites when the site's configuration is not quite right (for example, if the certificate presented does not match the domain name). To improve usability, all secure site errors are now displayed in the content area (like connection errors) rather than popping up modal dialogs.

File downloading has also been enhanced in Firefox 3. The redesigned Downloads window allows users to pause a download and resume it in a new Firefox session (previous versions would only allow downloads to be paused and resumed within the same session). The Downloads window now also remembers where files were downloaded from and includes a search box to filter the downloads list. In addition, the status of in-progress and paused downloads is now shown on the Status Bar. Finally, Firefox 3 will ask installed anti-virus software to scan downloads and will block downloads if told to by Windows Vista Parental Controls.

Firefox 2 introduced phishing protection, alerting users to websites reported to be forgeries. Firefox 3 builds on this by blocking access to known malware sites. Like phishing protection, the new feature works by checking every page visited against a periodically-updated blacklist provided by Google (the real-time phishing check offered by Firefox 2 has been removed). The block can be bypassed by users if desired.

Changes to the way add-ons work are also present in Firefox 3. Extensions now have to updated using a secure connection, preventing a rogue network configuration from delivering malicious software masquerading as an extension upgrade. For the first time, browser plugins can now be viewed and disabled from the Add-ons window and Mozilla now has the ability to remotely disable plugins with known security or stability problems (previous versions already allowed extensions to be blocked in a similar fashion; see http://www.mozilla.com/blocklist/ for the current blocklist). The Add-ons window also allows users to browse and install for extensions and themes without having to visit the Mozilla Add-ons site.

Most Firefox code has always been cross-platform but until recently there was separate graphics code for each platform. Not any more: Firefox 3 now uses the cross-platform cairo library. This reduces the amount of graphics code the Mozilla developers have to maintain (though some Mozilla developers have become major contributors to cairo) and moves Firefox to more modern and future-proof graphics technology (such as switching from the deprecated QuickDraw to the modern Quartz on OS X) by virtue of the different output backends that cairo supports.

When cairo was integrated, the entire text rendering system was reworked, improving support for kerning, ligatures and font hinting. Text is now rendered for maximum legibility in the Firefox user interface and in HTML text fields and textareas. On webpages, larger text is rendered for legibility and smaller text for speed, though Web developers have some control over this using the text-rendering CSS property. The main exception is on OS X, where high-quality text rendering is always used.

Firefox 3 includes a feature called the Effective TLD Service, which examines host names to figure out the effective top-level domain, or the part under which domain names can be registered by the public (examples include .com, .co.uk and .pvt.k12.wy.us). This allows for cookies to be better secured (by, for example, preventing a site from setting a cookie under .co.uk, which could then be read by any .co.uk site) and can also allow for better sorting of history by site. There's no algorithm for determining the effective TLD, so a list has been compiled and made available at publicsuffix.org.

Firefox 3 also introduces support for Web protocol handlers, allowing protocols such as mailto (used in email address links) to be handled by a website rather than an installed application. Websites have to register before users can set them up as protocol handlers but Firefox 3 supports some popular services (such as Yahoo! Mail for mailto and 30 Boxes for webcal) out of the box.

Other improvements include a zoom feature that zooms all elements on the page (including images) as well as text (though the option to zoom just the text is still there). The modal dialog prompting to save an entered password has been replaced by an information bar, which can easily be ignored and allows you to defer the decision until after you can tell whether the login was successful. The feed preview feature now shows enclosures (such as media files) and also allows users to associate audio and video podcasts with different applications to regular feeds. Firefox now prompts users to save their open tabs and windows when quitting, rather than only restoring them after a crash.

Performance is also improved in Firefox 3. By some measures, Firefox 3 has the fastest JavaScript performance of any release-quality browser and users should see dramatic improvements on JavaScript-heavy sites like Gmail. Much work has also been done on reducing Firefox's memory usage.

There are also lots of changes for developers in Firefox 3. The new release uses version 1.9 of the Gecko rendering engine, which contains substantial improvements over the Gecko 1.8.1 used in Firefox 2 in the areas of performance, correctness and features. Notably, this is the first release of Firefox to correctly render the Acid2 test (it scores around 71 out of 100 on the newer Acid3 test).

Web developers will find much to play with in Gecko 1.9. Support for JavaScript 1.8 is now included and there are many CSS improvements. There's also support for some of the new technologies specified in the HTML 5 draft being worked on by the WHATWG and the W3C HTML Working Group, including online/offline events and caching resources for offline use. Other Web technologies haven't been forgotten: Firefox 3 supports many more SVG features, enhances XSLT with support for some of the EXSLT extensions and introduces support for animated PNG images.

Extension developers get a new JavaScript library called FUEL to make creating add-ons easier. There's also new XUL elements, template improvements, an API for working with microformats and features to making localizing plurals easier. A guide to updating extensions for Firefox 3 is available.

Got a response? TalkBack!