added Yoni Rabkin's slides
[lp23-speaker-slides.git] / Adrian_Cochrane / diy-browsers.html
CommitLineData
0c5fb027
AE
1<!DOCTYPE html>
2<html>
3<head>
4 <title>DIY Browsers</title>
5 <style>
6 body {
7 font-family: Ubuntu;
8 text-align: center;
9 font-size: x-large;
10 }
11 h1, h2, h3, h4, h5, h6, dt {font-family: serif;}
12 cite {color: blue; text-decoration: underline;}
13 dl {text-align: left} dt {font-weight: bold;}
14 pre {color: green; font-weight: bold; text-align: left;}
15 hr {page-break-before: always;}
16 </style>
17</head>
18<body>
19 <h1>DIY Browsers</h1>
20 <p>By Adrian Cochrane</p>
21
22 <hr />
23
24 <h2>W3C web "recommendations"</h2>
25 <p>Are longer than:</p>
26 <ul>
27 <li>C11</li>
28 <li>C++17</li>
29 <li>UEFI</li>
30 <li>USB3.2</li>
31 <li>POSIX</li>
32 <li>Intel x86</li>
33 <li>IETF RFCs</li>
34 <li>Longest novels listed by Wikipedia</li>
35 </ul>
36 <p><cite>https://drewdevault.com/2020/03/18/Reckless-limitless-scope.html</cite></p>
37
38 <hr />
39
40 <ol start="0">
41 <li>Freedom to use</li>
42 <li>Freedom to modify</li>
43 <li>Freedom to share</li>
44 <li>Freedom to share modifications</li>
45 </ol>
46
47 <hr />
48
49 <h2>WebKit Linecounts</h2>
50 <dl>
51 <dt>WebKit</dt>
52 <dd>18m</dd>
53 <dd><dl>
54 <dt>Tests</dt>
55 <dd>10m</dd>
56 <dt>Source</dt>
57 <dd>7.3m</dd>
58 <dd><dl>
59 <dt>JavascriptCore</dt>
60 <dd>0.6m</dd>
61 <dt>3rd Party</dt>
62 <dd>4m</dd>
63 <dd><dl>
64 <dt>libwebrtc</dt>
65 <dd>2.7m</dd>
66 </dl></dd>
67 <dt>WebCore</dt>
68 <dd>1.6m</dd>
69 <dt>WebDriver</dt>
70 <dd>6.8k</dd>
71 <dt>WebGPU</dt>
72 <dd>29k</dd>
73 <dt>WebInspectorUI</dt>
74 <dd>0.25m</dd>
75 <dt>WebKit</dt>
76 <dd>0.5m</dd>
77 <dt>WebKit Legacy</dt>
78 <dd>0.13m</dd>
79 </dl></dd>
80 </dl></dd>
81 </dl>
82
83 <hr />
84
85 <dl>
86 <dt>WebCore</dt>
87 <dd>1.6m</dd>
88 <dd><dl>
89 <dt>bridge + platform + PAL</dt>
90 <dd>0.67m</dd>
91 <dt>dom + domjit + html + mathml + svg + xml + editting + history + page</dt>
92 <dd>0.30m</dd>
93 <dt>css + cssjit + animation + display + layout + rendering + style</dt>
94 <dd>0.26m</dd>
95 <dt>bindings + crypto + fileapi + storage + workers + worklets</dt>
96 <dd>0.12m</dd>
97 <dt>loader + contentextensions</dt>
98 <dd>41k</dd>
99 </dl></dd>
100 </dl>
101
102 <hr />
103
104 <pre>
105gemini.circumlunar.space:1965
106> gemini://gemini.circumlunar.space/
107< 20 text/gemini
108< # Project Gemini
109< # Overview
110< Gemini is a new internet protocol which:
111< * Is heavier than gopher
112< * Is lighter than the web
113< * Will not replace either
114< * Strives for maximum power to weight ratio
115< * Takes user privacy very seriously
116< # Resources
117< => news/ Official Project Gemini news
118 </pre>
119
120 <hr />
121 <h2>Hypertext is universal</h2>
122 <hr />
123 <dl>
124 <dt>Rhapsode</dt>
125 <dd>Voice browser</dd>
126 <dt>Amphiarao</dt>
127 <dd>Webpage debugger</dd>
128 <dt>Haphaestus</dt>
129 <dd>TV browser</dd>
130 </dl>
131
132 <p>The <em>Argonaut Stack</em>!</p>
133
134 <hr />
135
136 <h2>Source code simplicity is important<br />Inclusivity is vital!</h2>
137
138 <hr />
139
140 <h2>Mechanism</h2>
141 <ol>
142 <li><strong>HURL</strong></li>
143 <li>http-client-tls</li>
144 <li>html-conduit</li>
145 <li><strong>html-conduit-stylist</strong></li>
146 <li><strong>Haskell Stylist</strong></li>
147 <li><strong>CatTrap</strong> + <strong>Balkon</strong></li>
148 <li><strong>Mondrian</strong> + <strong>Typograffiti</strong></li>
149 </ol>
150 <hr />
151 <ul>
152 <li>Harfbuzz</li>
153 <li>LibICU</li>
154 <li>Fontconfig</li>
155 <li>FreeType</li>
156 </ul>
157
158 <hr />
159
160 <h2>Live Demo</h2>
161
162 <hr />
163
164 <ul>
165 <li>Contribute code</li>
166 <li>Build your own!</li>
167 <li>Use latest HTML & CSS</li>
168 <li>Progressively enhance, especially regarding JavaScript use</li>
169 <li>Proxy silos (e.g. Invidious, Nitter, Scribe)</li>
170 <li>Build native (GTK? Qt?) standards-based apps</li>
171 <li>Keep making the web great!</li>
172 </ul>
173
174 <hr />
175
176 <ul>
177 <li><cite>https://haphaestus.org/</cite></li>
178 <li><cite>https://rhapsode-web.org/</cite> 9.4kLoC</li>
179 <li><cite>https://argonaut-constellation.org/</cite></li>
180 <li>NLnet-funded</li>
181 </ul>
182
183 <p>Questions?</p>
184</body>
185</html>