Skip to content

Commit 0b750e1

Browse files
authored
Merge pull request #231 from atbrakhi/OH-event-Rotterdam
Add slides for OpenHarmony event
2 parents 61e8959 + f325153 commit 0b750e1

File tree

6 files changed

+316
-0
lines changed

6 files changed

+316
-0
lines changed

assets/img/bencher-dev-servo.png

479 KB
Loading

assets/img/browser-ui-servo.png

1.13 MB
Loading

assets/img/commits-03-2024.png

80.8 KB
Loading
791 KB
Loading

assets/img/servo-wpt-03-2025.png

222 KB
Loading

slides/2025-03-31-open-harmony.md

Lines changed: 316 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,316 @@
1+
---
2+
layout: slides-new.html
3+
title: Servo @ Open Harmony Summit 2025 Rotterdam
4+
---
5+
<!-- .slide: class="cover" -->
6+
7+
<img src="/img/servo-color-negative-no-container-600.png" style="margin: 2em;" alt="Servo logo" />
8+
9+
<h4 style="line-height: 1.4">
10+
The
11+
<span style="color: #4fc066;">embeddable</span>,
12+
<span style="color: #209e9b;">independent</span>,
13+
<span style="color: #f03278;">memory-safe</span>,
14+
<span style="color: #f68243;">modular</span>,
15+
<span style="color: #faae30;">parallel</span>
16+
web rendering engine
17+
<br>
18+
</h4>
19+
<div style="font-size: 60%; margin-top: 4em;">
20+
21+
Rakhi Sharma (She/her) <[email protected]>
22+
23+
</div>
24+
-----
25+
<!-- .slide: style="text-align: left;" -->
26+
## About me
27+
28+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
29+
30+
* **Open Source Engineer** working on Servo
31+
32+
* **Igalia** Web Platform Team
33+
34+
* **Servo** Technical Steering Committee (TSC) member
35+
36+
* **atbrakhi** on internet
37+
38+
<div style="float: left; width: 30%; margin-inline: 3%;">
39+
40+
-----
41+
<!-- .slide: style="text-align: left;" -->
42+
## Web engine for the future 🔮
43+
44+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
45+
46+
* written in <span style="color: #4fc066;">**Rust**</span>,
47+
* with <span style="color: #209e9b;">**WebGL**</span> and <span style="color: #209e9b;">**WebGPU**</span> support,
48+
* and adaptable to <span style="color: #f03278;">**desktop**</span>, <span style="color: #f03278;">**mobile**, **Rpi**</span>
49+
* and <span style="color: #faae30;">**embedded**</span> applications.
50+
51+
<div style="float: left; width: 30%; margin-inline: 3%;">
52+
53+
-----
54+
<!-- .slide: style="text-align: left;" -->
55+
56+
## Journey so far 📈
57+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
58+
59+
* 2012: Started at Mozilla
60+
* 2020: Servo Team was laid off. Servo joins LF
61+
* 2023: Servo restarted at Igalia
62+
* 2024: Layout, Embedding, Android, Benchmarking
63+
* 2025: Embedding, Incremental Layout, Devtools, Open Harmony
64+
65+
<div style="font-size: 80%; margin-inline: -3.5em; margin-top: 1.5em;">
66+
-----
67+
<!-- .slide: style="text-align: left;" -->
68+
## Servo 💚 Rust
69+
70+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
71+
72+
Rust and Servo Team at Mozilla Research
73+
74+
75+
<iframe src="https://giphy.com/embed/ru7IH0oTmfIK6tRTId" width="480" height="398" style="display: block; margin: auto;" frameBorder="0" class="giphy-embed" allowFullScreen></iframe>
76+
77+
<div style="float: left; width: 30%; margin-inline: 3%;">
78+
-----
79+
80+
<!-- .slide: style="text-align: left;" -->
81+
82+
## Contributions over time
83+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
84+
85+
<img src="/img/commits-03-2024.png" alt="Contributors graph from https://github.com/servo/servo/graphs/contributors showing a very slow period from mid-2020 to end of 2023, and a bigger activity in 2023, 2024 & 2025" />
86+
87+
<div style="font-size: 80%; margin-inline: -3.5em; margin-top: 1.5em;">
88+
89+
-----
90+
<!-- .slide: style="text-align: left;" -->
91+
92+
## What are we up to?
93+
94+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
95+
96+
* Embedding API
97+
* Open Harmony Support
98+
* Servo Devtools
99+
* Incremental Layout
100+
101+
<div style="float: left; width: 30%; margin-inline: 3%;">
102+
103+
-----
104+
<!-- .slide: style="text-align: left;" -->
105+
106+
### Embedding 🔗
107+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
108+
109+
* Embed Servo in applications
110+
* Applications can use Servo to render web content
111+
* Provide good API for embedders
112+
* Servo on embedded devices (e.g. Raspberry Pi, OpenHarmony)
113+
114+
<div style="float: left; width: 30%; margin-inline: 3%;">
115+
-----
116+
117+
<!-- .slide: style="text-align: left;" -->
118+
119+
## Verso: browser using Servo as a web engine!
120+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
121+
122+
123+
<a href="https://github.com/versotile-org/verso/">
124+
<img src="/img/servo-verso-example.gif" alt="Example of Verso browser based on Servo" />
125+
</a>
126+
</div>
127+
128+
-----
129+
<!-- .slide: style="text-align: left;" -->
130+
131+
## KDAB QT
132+
133+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
134+
135+
<div style="float: left; width: 40%;">
136+
137+
* Servo inside Qt, using KDAB's CXX-Qt library as bridge
138+
* CXX-Qt is a safe interop between Rust and Qt
139+
140+
</div>
141+
<div style="float: right; width: 55%; margin-top: 3%;">
142+
<img src="/img/2024-04-16-OSS-NA-KDAB.png" alt="image showing Servo running using KDAB QT" />
143+
</div>
144+
145+
<div style="float: left; width: 30%; margin-inline: 3%;">
146+
147+
-----
148+
<!-- .slide: style="text-align: left;" -->
149+
150+
## Minibrowser
151+
152+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
153+
154+
<img src="/img/2024-02-fosdem-minibrowser.png" alt="image showing Servo minibrowser" />
155+
156+
<div style="float: left; width: 30%; margin-inline: 3%;">
157+
158+
-----
159+
160+
## Projects built with Servo
161+
162+
<!-- <div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div> -->
163+
164+
<img src="/img/browser-ui-servo.png" alt="image showing projects that are built with Servo components" />
165+
166+
<div style="float: left; width: 30%; margin-inline: 3%;">
167+
168+
-----
169+
170+
## With Servo Component
171+
<!-- <div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div> -->
172+
173+
<img src="/img/made-with-servo-component.png" alt="image showing projects that are built with Servo components" />
174+
175+
<div style="float: left; width: 30%; margin-inline: 3%;">
176+
177+
-----
178+
179+
## Web Platform tests
180+
<!-- <div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div> -->
181+
182+
<img src="/img/servo-wpt-03-2025.png" alt="image showing wpt test results for servo" />
183+
184+
There are more than 2 million subtests
185+
<div style="float: left; width: 30%; margin-inline: 3%;">
186+
187+
-----
188+
189+
<!-- .slide: style="text-align: left;" -->
190+
191+
## Benchmarking
192+
193+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
194+
195+
* Support for tracing and perfetto
196+
* Support for Speedometer
197+
* Track binary size with each commit
198+
199+
<div style="float: left; width: 30%; margin-inline: 3%;">
200+
-----
201+
202+
<!-- .slide: style="text-align: left;" -->
203+
204+
## Benchmarking
205+
206+
<!-- <div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div> -->
207+
208+
<img src="/img/bencher-dev-servo.png" alt="image showing servo on bencher dev" />
209+
210+
<div style="float: left; width: 30%; margin-inline: 3%;">
211+
-----
212+
213+
<!-- .slide: style="text-align: left;" -->
214+
215+
### Open Harmony 📱
216+
217+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
218+
219+
<div class="ffragment" style="float: left; width: 65%; margin-top: 80px;">
220+
221+
* Servo already running on OH
222+
* Build Support & documentation for OH
223+
* Open Harmony on Servo CI
224+
* Improved new webview API
225+
226+
</div>
227+
228+
<div class="ffragment" style="float: right; width: 30%;">
229+
230+
<img style="margin-block: 0; height: 14em;" src="/img/servo-openharmony-2024-09.jpg" alt="Screenshot of Servo running on OpenHarmony opening Servo's wikipedia page" />
231+
232+
</div>
233+
234+
-----
235+
236+
<!-- .slide: style="text-align: left;" -->
237+
238+
### Open Harmony <> Mini-apps <> Goals
239+
240+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
241+
242+
* A browser requires support for all web standards for all websites a user might visit.
243+
* Mini-apps on the other hand have a reduced subset of CSS and html features that need to be supported, and could opt-in on a per-miniapp basis to use servo
244+
* Servo aims for performance similar to or even better than Chromium
245+
246+
<div style="float: left; width: 30%; margin-inline: 3%;"></div>
247+
248+
-----
249+
<!-- .slide: style="text-align: left;" -->
250+
251+
### Future: Open Harmony and Mini-apps
252+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
253+
254+
* Improving the Embedding API: Exposing a C-API for servo with OpenHarmony webview as the first major consumer
255+
* Implement support for Mini-apps: Adding support for Web APIs that are required to support the mini-apps (e.g. Service Workers)
256+
257+
</div>
258+
<div style="float: left; width: 30%;">
259+
260+
-----
261+
262+
<!-- .slide: style="text-align: left;" -->
263+
264+
### Future: Layout and Performance
265+
266+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
267+
268+
* Incremental layout: improve performance by reducing unnecessary computations and rendering by caching fragment tree layout and incrementally updating the box and fragment tree
269+
* Parallelism: increase energy efficiency by utilizing multiple smaller cores instead of one big core on smartphones for better performance
270+
271+
</div>
272+
<div style="float: left; width: 30%;">
273+
274+
-----
275+
<!-- .slide: style="text-align: left;" -->
276+
277+
### Future: Debugging, HTML, CSS
278+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
279+
280+
* Servo Devtool Support: Inspecting, Networking, Performance Recording, Javascript debugging
281+
* Continue development of missing CSS & HTML Feature
282+
283+
</div>
284+
<div style="float: left; width: 30%;">
285+
286+
-----
287+
<!-- .slide: style="text-align: left;" -->
288+
## Join the project 🤝
289+
<div style="width: 50px; height: 10px; background: #488bd1; margin-bottom: 20px;"></div>
290+
291+
* GitHub: <a href="https://github.com/servo"><code>github.com/servo</code></a>
292+
* Chat: <a href="https://servo.zulipchat.com/"><code>servo.zulipchat.com</code></a>
293+
* Email: <a href="mailto:[email protected]"><code>[email protected]</code></a>
294+
* Sponsor: [GitHub](https://github.com/sponsors/servo) & [Open Collective](https://opencollective.com/servo)
295+
296+
<br>
297+
<br>
298+
299+
> Looking into **growing the community around the project**
300+
301+
-----
302+
303+
<!-- .slide: class="last" style="text-align: left;" -->
304+
305+
<div style="float: left; font-size: 80%; margin-bottom: 5em;">
306+
307+
<a href="https://servo.org" style="color: #4fc066;"><code>https://</code><code style="font-weight: 700;">servo.org</code></a>
308+
309+
<a href="https://floss.social/@servo" style="color: #4fc066;"><code>https://floss.social/</code><code style="font-weight: 700;">@servo</code></a>
310+
311+
<a href="https://bsky.app/profile/servo.org" style="color: #4fc066;"><code>https://bsky.app/</code><code style="font-weight: 700;">servo.org</code></a>
312+
313+
</div>
314+
315+
<img src="/img/servo-qr.png" style="width: 20%; margin-left: 3em;" alt="QR code with Servo logo pointing to servo.org website" />
316+

0 commit comments

Comments
 (0)