Redesign set to make Firefox more responsive
Mozilla's Electrolysis project, which divides Firefox into multiple processes, is designed to help make the browser feel faster. Also coming: 64-bit support and better memory use.
Mozilla has begun turning the Firefox crank faster with a rapid-release development cycle. So what's in store now that we can expect a new version every six weeks?
A lot, including 64-bit support on Windows and a plan to reduce the open-source browser's memory usage. But the most far-reaching change probably is a project called Electrolysis that splits Firefox into multiple somewhat-independent processes.
Electrolysis holds the potential to improve responsiveness, smooth graphics performance, take better advantage of multicore processors, and tighten security. Mozilla already added one Electrolysis element to Firefox 3.6--the separation of plug-ins to their own patch of memory--but now programmers are spinning up the project again to tackle more.
It took a little while, but there's no doubt now that the Firefox team has woken up to the newly competitive browser market. Firefox, once the obvious alternative to pokey Internet Explorer, now must reckon with Chrome's fast rise, Safari leading the mobile-browsing charge, and IE's restored focus. Mozilla has responded with the that produces a new Firefox every six weeks.
One goal of the faster cycle is to bring new features to market sooner. Rather than waiting more than a year for a major upgrade, new ideas can arrive as soon as they've made it through the testing levels of nightly builds, the rough Aurora version, and the more polished beta.
Collect the garbage
Chris Blizzard, Mozilla's director of Web platform, didn't detail a schedule for new Electrolysis features in a blog post today about the technology. But he did say work is back on the front burner.
A key improvement from the work will be separating the user-interface process from the part of Firefox that handles the contents of browser tabs. The expectation is a snappier browser, Blizzard said:
What we're really talking about with multi-process performance is responsiveness:
How long does it take for a mouse click to be recognized?
When you resize the window does it feel smooth?
Does the browser mysteriously pause from time to time?
Are animations smooth, without pauses?
Some of this should get better because Firefox will better handle a process called garbage collection in which areas of memory that had previously been used are reclaimed for use again. Garbage collection can cause a program to pause, especially a large Web app such as Facebook or Gmail, Blizzard said.
Another benefit of Electrolysis is that separate memory processes can cut down on security problems because it's harder for a malicious process to tamper with memory. And it's naturally better-suited to the multicore processors that dominate the PC market today and that have begun arriving on mobile phones and tablets, too.
Splitting up processes into separate domains, though, isn't without its downsides, too. One big one: memory usage can increase. And it complicates some matters. For example, if each tab has its own patch of memory, it can be harder to share cached graphics.
In the nearer term, Firefox should be cutting back its memory consumption through a project called MemShrink. Some fruits of this project should arrive with Firefox 7, set for release in September.
, Mozilla hopes. But it's not easy.
Some big changes this week had to be undone because of crashes and other problems, said Nicholas Nethercote, who writes about the MemShrink project.
Another change in the works for Firefox is better 64-bit support. The automated build system, a collection of machines that runs tests on new versions of the browser, is being adapted for 64-bit versions of the browser.
Release engineer Armen Zambrano Gasparnian, who tooklast year, is on the case again.
"We now have a small set of Windows 2008 64-bit slaves ready to be put in our production systems that can generate the 64-bit version of Mozilla Firefox," he said in a blog post this week. He's been filing bug reports as a result.
"This is all preparatory work to fully support Windows 64-bit as a tier-one platform," Gasparnian said. Tier-one systems are the high priorities for Mozilla; Android is the newest example.
The 64-bit transition began years ago with processors; Mac OS X has already made the jump, and it's very common in the Windows world now, too. The chief advantage is support for much more memory, though there are some performance improvements as well.
One of the big obstacles to a 64-bit browser was that plug-ins such as Adobe Systems' widely used Flash Player also must be 64-bit in order to work. That'll be the case in coming months, though: Adobe has just released a beta version of Flash 11 with 64-bit support.