Igalia and Decentralization
bkardell.com
The "other" centralization...
Many thousands of organizations are built on foundational Web Standards - a commons
Hundreds of orgs participate in standards bodies that make them
Browser vendors each have...
- Departments
- Budgets
- Managers
- People with special skills
- A backlog
Different priorities, skillsets, budgets
It's only a standard if everyone makes it through
Things are backed up
So vendors are hesitant to take new things up. Especially to be the first to invest, or solve hard problems like decentralizing the web itself.
So everyone waits... and hopes they do it.
This is a feedback loop.
Even small things can linger without a final implementation, costing us all...
Millions of developers
Thousands of organizations with a vested interest in the Web
Hundreds of W3C Member Orgs
A few very browser vendors
Billions of users
All of us.
Imagine if we could fix this problem?
We can!
Open gives us all the ability to have a more equal voice!
2004
Mosaic
Netscape
IE
Opera
KHTML
Webkit
Chromium
Mozilla 1
From Proprietary to Open
All of the standards implementations are now open
Why this matters...
Think about this...
2017: CSS Grid
remember that?
Origins back to 1996
Several failed attempts
How?
Open.
The Web Platform is a commons.
We love the commons,
and we can help.
A lot isn't stuck over politics or things we imagine...
Many things are stuck for far more practical reasons:
They can't get prioritized
We can help.
- V8, JavaScriptCore, SpiderMonkey
- Chromium, Gecko/Servo, Webkit
We are trusted committers everywhere
WebKit contributions
Chromium contributions
ResizeObserver
Responsive image preloading
gaps
aspect ratio
We love hard problems.
MathML!
We helped move container queries
.canI:has() { ... }
This is a Really Good Thing™
Because we all move forward together.
We believe in creating a healthier web ecosystem
Including expanding investment and prioritization beyond browser vendors
Lots of organizations have reasons to help, even ones you might not imagine...
This is happening in WebKit...
Because... cooking machines.
Why do we even have the model we do?
but, ok... decentralizing the web itself...
- Browser inconsistencies
- Spec language
- Security questions
- Difficulty testing
- Architectural hurdles
- ... each subject to priotization filters, budget constraints, etc.
Its a big challenge.
.registerProtocolHander
The HTML5 specification neither matched implementations nor allowed for a usefully workable definition of some things.
✅
Things like URLs
Internal fixes!
- ServiceWorkers
- URL encoding/parsing
- etc..
Secure Contexts / Potentially Trustworthy
needs better definition
Chrome internally had at least 6 interpretations
... in Chrome
✅
Improvements in Chrome
+ local loopbacks in Firefox and experiments in GTK/WPE, support in libsoup / discussions with Apple
Extension-specific features
✅
-
https://github.com/whatwg/html/issues/5787
-
https://chromium-review.googlesource.com/c/chromium/src/+/2332675
-
https://bugs.chromium.org/p/chromium/issues/detail?id=1153336
-
https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/2fNfT6DEWJo/m/khJPt4CpAAAJ
-
https://chromium-review.googlesource.com/c/chromium/src/+/2563683
-
https://chromium-review.googlesource.com/c/chromium/src/+/2580067
-
https://chromium-review.googlesource.com/c/chromium/src/+/2570568
-
https://chromium-review.googlesource.com/c/chromium/src/+/2577688
-
https://chromium-review.googlesource.com/c/chromium/src/+/2563883
-
https://bugzilla.mozilla.org/show_bug.cgi?id=1220810
-
https://bugs.webkit.org/show_bug.cgi?id=140625
-
https://bugs.chromium.org/p/chromium/issues/detail?id=1079333
There's a lot!
-
https://bugs.chromium.org/p/chromium/issues/detail?id=64100#c49
-
https://chromium-review.googlesource.com/c/chromium/src/+/2560305
-
https://bugs.webkit.org/show_bug.cgi?id=73177
-
https://lists.webkit.org/pipermail/webkit-dev/2020-April/031179.html
-
https://github.com/whatwg/html/pull/5482
-
https://bugzilla.mozilla.org/show_bug.cgi?id=1631446
-
https://github.com/web-platform-tests/wpt/issues/26819
-
https://bugs.chromium.org/p/chromium/issues/detail?id=1153336
-
https://chromium-review.googlesource.com/c/chromium/src/+/2563683
-
https://chromium-review.googlesource.com/c/chromium/src/+/2580067
-
https://chromium-review.googlesource.com/c/chromium/src/+/2570568
-
https://chromium-review.googlesource.com/c/chromium/src/+/2577688
-
https://chromium-review.googlesource.com/c/chromium/src/+/2563883
-
https://bugzilla.mozilla.org/show_bug.cgi?id=122081
-
https://bugs.webkit.org/show_bug.cgi?id=140625
-
https://bugzilla.mozilla.org/show_bug.cgi?id=1474543
-
https://bugs.chromium.org/p/chromium/issues/detail?id=522370
-
https://bugzilla.mozilla.org/show_bug.cgi?id=1660555
....
Each step gets us closer...
- Web Platform Tests
- Build deeper concensus
- Continue to close the gap
// TODO...
Chromium Architecture
//chrome vs //content
UX / Permissions issues
Problematic for downstream variation!
We would like to move this and allow the shipping of default handlers at both levels...
Thanks!
Igalia and Decentralization
By Brian Kardell
Igalia and Decentralization
- 465