Mozilla is progressing with development on its new browser engine called Servo that is built in the company's new Rust programming language and embraces parallelism to take advantage of modern multi-core processors. Developers will get their first chance to try out the engine in June with the release of a tech demo.
Servo is being developed as a replacement for Gecko, the browsing engine that underpins Mozilla's current Firefox web browser, with the project's roadmap indicating that Servo will slowly replace parts of Gecko over time.
Servo is not being built by Mozilla in-house, instead the project's source code can be found online at the Github source code repository, where Scores of programmers contribute to the engine monthly, and a bleeding edge nightly build is available for brave users. The engine runs on Windows, OS X and Linux, with Samsung pitching in to port the project over to all Android-based devices.
In June, Mozilla will offer developers a tech demo version of the Servo engine and a browser. A proof-of-concept version of the browser was released mid-March, which was intended to showcase the new engine's capabilities. This browser is written mainly in HTML, sports a snappy UI front end, and is intended as an experimental introduction to the Servo engine.
What sets Servo apart from other engines, such as Google's Blink or Microsoft's EdgeHtml, is its use of parallelism, which sees tasks distributed across multiple processor cores. Large calculations are divided into multiple smaller ones, which are all solved simultaneously before the results are combined.
"The thing that Servo is trying to do is parallelize as much as possible," said Servo research team member Tim Kuehn. "One of the things that is seen as very important is parallelizing the script task and the layout."
This means that complex page scripts could be run while the user performs tasks like re-sizing their browser window, at no performance cost. This approach is also aimed at solving modern day browser memory issues, such as lag when browsing across too many tabs or loading memory-intensive webpages, and enable faster browsing speeds.
It's pretty clear at this point that Servo is still very much a work in progress. Installing the browser on Windows requires a long list of accompanying programs, such as Python and Git, and the engine still struggles to load many pages completely – when I tried to load the Gizmag homepage, the articles appeared only briefly before vanishing. Simpler pages, such as Google, loaded fine, and the team has worked to ensure that pages like Github render properly in their experimental browser.
Users of Firefox can expect to see aspects of Servo slowly integrated into the browser. One of the team's current projects is WebRender, a "next generation graphics subsystem" that should provide speedier webpage loading for users. Development on caching is underway as well, making webpages you've already visited appear more quickly.
Mozilla states that it would like Servo to be capable of properly rendering sites like duckduckgo, reddit and github before the release of its developer preview in June.