Mozilla Plans Firefox Rebuild
Written by Ian Elliot   
Tuesday, 07 July 2015

Firefox has been slipping in the popularity stakes. The once popular browser is now down to a 12% share of the market. Can a complete redesign of its internals be a way to bring it back to its former glory?

firefoxlogo13

 

The initial design of Firefox was something of a revolutionary idea - but it turned out to be a revolution no one turned up for. 

The idea was to build the "chrome" i.e. the UI around the web page being displayed using a superset of HTML - XUL pronounced Zool and a binding language called XBL. The functional part of the interface is provided by JavaScript. In this sense you might consider Firefox and the other "classic" Mozilla products - Thunderbird and SeaMonkey. Other programmers made use of the approach and Mozilla provided a container for XUL applications called XULrunner. 

This was all very advanced at the time and an interesting architecture but it was poorly documented and very difficult to get into. It was and is also non-standard. Mozilla invented it, developed it and implemented it and its only advantage to outsiders was that if you didn't look too carefully it sort of looked like HTML. 

There are lots of other things wrong with the fundamental design of Firefox. Its rendering engine is single threaded, for example, although there is work underway to make it one thread per tab.

As time has ticked on the use of XUL has looked increasingly like a problem for Firefox. Now it seems it is time for the project to move on. A post on the Mozilla message board by Dave Camp, suggests that replacing XUL, which is based on web technologies, to pure standard web technologies would be an advantage. The idea is that HTML and other standards have now evolved to the point where a non-standard derivative isn't necessary to create a rich UI. 

The advantages would be the the Gecko rendering engine could drop XUL support and concentrate on rendering HTML fast. To quote:

"Because XUL and XBL aren’t web technologies, they don’t get the same platform attention that HTML does (for good reason!). Performance problems go unfixed and it creates a lot of unnecessary complexity within Gecko. It’s harder for even experienced web developers to get up to speed. It’s further from the web, and that doesn’t help anybody."

At the moment there is no clear plan how to make the change and there is a call for suggestions and contributions. The potential upheaval is likely going to be great and it is going to take time. Original Firefox extensions ("legacy" extensions) used XUL directly; later extensions use the extension API. How many things will be affected that haven't been thought of is a big question. 

There is also the potential for Mozilla to move to a new rendering engine altogether. The experimental Servo engine, written in Rust, is a potential candidate but it isn't very developed at the moment. Abandoning Gecko would probably be a bigger risk than modifying it. 

As well as rebuilding the UI technology, another blog post announces a quality control program (called "Great or Dead") to bring Firefox up to a standard users like by removing code that isn't good enough and letting third party add-ons solve the problem. To this end Mozilla is going to improve the add-on API. It seems Mozilla is remembering its original approach to browser design - just provide the core and let add-ons do the extras. This is something it seems to have forgotten recently, e.g. building in Pocket rather than supplying it as an add-on. 

Finally the plan is to increase the speed of online updates to the point where perhaps every tiny bug is fixed within a few minutes of the code being complete. This sounds good, but it also runs the risk of not discovering less-than-obvious bugs until the code is in use by real users. 

It is difficult to know whether these changes are going to have an effect, or even happen, but it is good that Mozilla gives some needed attention to Firefox. 

firefoxlogo13

Banner


JetBrains Makes WebStorm and Rider Free for Non-Commercial Use
24/10/2024

JetBrains has launched a non-commercial license for its JavaScript and TypeScript IDE, WebStorm, and for Rider, its cross-platform .NET and game development IDE.



DuckDB And Hydra Partner To Get DuckDB Into PostgreSQL
11/11/2024

The offspring of that partnership is pg_duckdb, an extension that embeds the DuckDB engine into the PostgreSQL database, allowing it to handle analytical workloads.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

 

 

Last Updated ( Tuesday, 07 July 2015 )