The previous decade has seen a great decrease in the diversity of web engines
and the consolidation of the browser industry into a small number of vendors.
The consensus that the web platform is built on open standards and open-source
software allows the participation of third parties, within limits. Meanwhile,
the importance of the web platform has grown and it has become an essential
building block in an increasing amount of technology stacks. Those who embed
web engines or would like to give their users a full-featured web browser seek
a path through these contradictions. Servo is an experimental web engine under
the umbrella of the Linux Foundation. Harnessing the "fearless concurrency" and
memory safety of Rust and the simpler code base of a greenfield implementation,
it offers the possibility of a nimbler and more distributed evolution of the
web platform.
(c) GOSIM Conference 2023
Sept 26, 2023
Shanghai, China
https://conference2023.gosim.org/
https://www.youtube.com/watch?v=lx70W83Bxtc
2. About Me
● Partner at Igalia and member of the Web Platform team
● Long-time contributor to WebKit, Chrome, Firefox and
other browsers
● Now working on Servo
3. ● Give historical context for the
browser market
● Make the case for a new browser
engine
4. The First Browsers
● WorldWideWeb (1990): For NeXT computers
● LineModeBrowser (1991): Cross-platform text-based
● NCSA Mosaic (1993): Graphical cross-platform, images
● Microsoft Internet Explorer (1994)
● Netscape Navigator (1994)
7. ● Two major browser emerged between 1995 and 2001
○ Netscape Navigator
○ Microsoft Internet Explorer
● Features
○ JavaScript (Netscape) & JScript (IE)
○ <marquee> and <blink>
○ Cascading Style Sheets
Browser Wars I
9. ● Netscape Navigator market peak around 80% in 1995-1996
● Internet Explorer market peak around 90% in 2000
● Microsoft has almost complete control of browser market for years
● Web Platform stagnates and innovation happens via plugins:
○ Flash: Animation / interactive content
○ RealPlayer: Streamed video
Result: Microsoft Wins
10. ● AOL purchases Netscape
○ Mozilla branches off
○ Upstart project within Mozilla: Firefox (2004)
● Opera becomes freeware
● Apple forks KHTML to create WebKit / Safari
Market Changes
11. ● Period of intensified competition (2004-2017)
● Open source plays a much larger role in the second browser war:
○ Third parties can fix bugs and implement features
○ Hiring pipeline for companies that can harness it properly
● Separation between browser engine and browser itself
● Standards bodies cemented as arbiter of Web Platform evolution
Browser Wars II
12. ● Tabs
● HTML5
● CSS
○ CSS 2D & 3D Transforms
○ CSS Transition and Animations
○ CSS 2.1 (2011)
● Canvas and WebGL
● Audio and Video
Web Platform Evolves
13. ● Chrome is created based on WebKit in 2009 and gains 65% of market
share today
● No other browser has over 20% share
● iOS serves as a limiting factor of browser market share
● Consolidation of browser engines
○ Presto (ended 2013)
○ Trident (ended 2015)
○ Edge HTML (ended 2020)
Result: Google Wins
14. ● Engines are open-source, most browser are closed-source
○ Browser vendors also online service providers
● Browser engines are written in C++, despite many security issues
● The engine is legacy software and large architectural changes are
difficult
○ Innovation expensive and difficult environment for new engines
● Engines are interoperable and follow standards
○ Engine producers can be gatekeepers for standards
Web Platform Today
16. How do we return to
a browser share like 2012?
17. ● More competition equals more innovation
● Prevent control of standards bodies by a few vendors
● Offer a place to innovate
○ New platforms
○ New web technology
Build a new browser engine!
20. Independent
● History
○ 2012 - 2020: Mozilla Research
○ 2020 - 2023: Linux Foundation
○ 2023 - Today: Linux Foundation Europe
● Community run
○ Decisions made by Technical Steering Committee
○ No one company decides project direction
21. Memory-safe
● Written in the Rust programming language
● Memory safety insured with borrow checker and
ownership system
● Built-in concurrent data structures
● Avoid use-after-free and data races
23. Modular
● Servo composed of reusable Rust components
● Parts of Servo already used in Firefox
● Components can be rewritten and replaced
● Newer codebase means it is much easier to make larger
architectural changes
24. Parallel
● Devices have multiple CPU cores, yet layout typically
only runs on one core
● Servo uses parallelism to provide faster and more
energy-efficient rendering
● Rust unlocks parallelism through fearless concurrency
● Unique to Servo
26. Status
● Servo is an experimental engine
● Not yet suitable as a general web rendering engine
● Can be made useful for targeted applications
● Work ongoing on basic CSS support as well as advanced web
APIs.
33. Project Roadmap
● Reduce friction for new contributors
○ Better documentation
○ Work on code health and simplicity
● Improve Web Platform compatibility
● Provide a useful interface for embedders
34. We want to create an independent and
advanced that disrupts the browser
engine market.
35. We want to grow a vibrant, active, and
curious community of web engine
developers.