Fennec 2.0: What’s Coming

We haven’t even released the final Firefox for Maemo 1.1 yet, but we have been very busy working on features and changes for the next major release. Check out the Fennec 2.0 project planning page.

The biggest changes are related to out-of-process web content (Project Electrolysis) and accelerated rendering (Project Layers). Significant amounts of platform work have been done on both projects. Fennec 2.0 will integrate both Electrolysis and Layers.

Electrolysis will be the first of the two making an appearance in Fennec. Benjamin Smedberg’s kickoff post for Electrolysis summarizes the project goals:

  • Increased stability: if a plugin or webpage tries to use all the processor, memory, or even crashes, a process can isolate that bad behavior from the rest of the browser.
  • Performance: By splitting work up among multiple processes, the browser can make use of multiple processor cores available on modern desktop computers and the next generation of mobile processors. The user interface can also be more responsive because it doesn’t need to block on long-running web page activities.
  • Security: If the operating system can run a process with lower privileges, the browser can isolate web pages from the rest of the computer, making it harder for attackers to infect a computer.

In fact, Electrolysis has already been used in Firefox 3.6.4 to protect against plugin crashes. Fennec will extend this beyond plugins to the entire web content. All web content will execute in a separate process from the main application. This does create some interesting code changes for both the application and add-ons.

We started a transition document and I’ll cover more details on those changes soon. Look for multi-process web content to appear in Fennec 2.0 Alpha 1 – coming soon.

Work to integrate Layers into Fennec will start shortly after the release of Alpha 1. In addition to the potential of hardware accelerated rendering on mobile devices, Layers also allows Fennec to remove the custom built canvas-tile-cache rendering solution used to achieve decent panning performance and responsiveness. Layers supports a “retained mode” rendering system, which means the application can drop the canvas-tile-cache system and use traditional XUL elements for the browsing surface.

There is a lot of work to do, but progress is happening at a surprisingly fast pace. Fennec 1.1 adds a lot of solid UX features and although we’ll continue to improve the UX for Fennec 2.0, the primary reasons for many of the platform changes are: Speed, Responsiveness and Stability!

25 Replies to “Fennec 2.0: What’s Coming”

  1. I can’t wait to test that !
    I think those technologies will bring to firefox mobile the responsiveness it lacks actually.

  2. The lastest update was quite impressed. In terms of speed, the browser has definitely improved. The user interface and set up of the browser is good BUT the major disappointment was not being able to watch flash content. The youtube plugin did not help much on the youtube site either.

    Its a good job so far. Cant wait for the final release and i hope developers will work on the flash issue. 🙂

  3. Funny, how I had to disable your Project Electrolysis in FireFox 3.6.4 today. Apparently, it not only protects from evil plugins, but also consumes 95%+ CPU and causes the overall FireFox UI to block for seconds at a time.

    On the other hand though, Fennec 1.x for Maemo5 manages to block the whole devices for 10-20 seconds at a time (screen lock button included), so adding another few seconds probably will not make a difference…

  4. Ummm, nice’n’all but you really need to sort out the basic performance first. Compare both the start-to-first-screen and first-screen-to-usable times to either Opera or the built in MicroB on the N900 and it does not reflect well.

  5. exactly. there’s no need for fennec on N900 if it is unusable. I have only had bad experiences with it. even the built in stuff like veawe didn’t work even when I’ve already managed to get them work on a PC.

    you are wasting time if the overall speed wont get at least twice or more as fast as now. The UI idea is great though, too bad that it cant be used with MicroB since it is pointless on Fennec.

    improve it or drop it…

  6. @Tom Chiverton – Startup time is something we care a lot about. One trick we have not used yet, but are planning to use for 2.0, is a background daemo process. It would keep much of the browser loaded, but not visible. When the user wants to open the browser, much less work is needed and the browser “appears” to open faster. This is exactly the technique Opera and MicroB use.

  7. @habeed – The Layers project I describe will be the key to getting Flash, and other plugins, the work better in Fennec. Although, I have seen that Flash itself is a dog on many mobile devices.

  8. I love Fennec on my N810!!! I’ve been using the nightlies (which I think are weeklies now). Can’t wait to see the final release… and hopefully a better implementation of cut+paste. By the way, kudos on adding the “print to PDF” feature!

Comments are closed.