At an offsite retreat, Firefox developers and the community discussed what it would take to completely revamp the technology behind the browser.
In a mailing list, Firefox Director of Engineering Dave Camp summarized the takeaways from the gathering, saying "We intend to move Firefox away from XUL and XBL".
Firefox is made of two primary components: the rendering engine (Gecko) and the UI. These discussions center around the UI which is made using two technologies, XML User Interface Language (XUL) and XML Binding Language(XBL). Camp continued:
Because XUL and XBL aren’t web technologies, they don’t get the same platform attention that HTML does. 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.
While the direction for this change is set, there are no concrete steps for moving forward. One of the biggest questions is how this affects add-on developers. Without XUL, any add-on built with XUL would need a rewrite to work in the new browser UI.
Josh Aas, Senior Technology Strategist at Mozilla described the benefits of such a move:
- Eliminate the need to support XUL and XBL in Gecko.
- Contributing to Firefox gets easier because there is no need to learn what are essentially Mozilla-specific languages.
- Mozilla learns more about what it takes to build complex applications like Firefox itself using Web technologies.
The gut reaction is to rebuild the UI using modern HTML and CSS, but that's not set in stone. Given the company's experience with Firefox for Android, which uses the native UI, its likely we'll see more discussion on replicating that strategy on other platforms. However, such a move would come with a different set of challenges.
It's much too early in the process to predict what will happen, Camp told InfoQ. At the retreat, the team "started to discuss what it will take to move away from XUL. The discussion was mostly exploratory and focused on identifying avenues we could experiment with in the near future. No decisions were made on the exact plan or timeframe for this work," he said.