|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?
The initial design of Firefox was something of a revolutionary idea - but it turned out to be a revolution no one turned up for.
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.
Revisiting how we build Firefox
Chrome Makes More Gains Firefox Continues To Decline
Firefox Losing Share As Desktop Browser
Firefox 36.0 Released Firefox 37.0 In Beta Channel
Firefox Developer Edition - Not So Much A Birthday Present ...
Windows Chrome 64-bit - Faster, Better More Stable
Chrome 64-Bit For Windows In Beta
Firefox Features From Experimental To Released
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: email@example.com
|Last Updated ( Tuesday, 07 July 2015 )|