My professional work has been centered around web standards, e.g., the creation of new web APIs. These essays are about the standards process and some of my API design work.
-
Reading from Sockets
Designing JavaScript streams APIs for network sockets, on top of non-blocking syscalls, leads us to the concept of push vs. pull sources.
-
Reading from Files
Designing JavaScript streams APIs for file I/O leads us to consider bring-your-own-buffer APIs and how to avoid race conditions.
-
Byte Sources: Introduction
The intro to a short series of posts explaining some design decisions behind the web streams APIs, and how they abstract over underlying I/O interfaces.
-
The Revealing Constructor Pattern
A new-at-the-time JavaScript design pattern, used by several web APIs, to preserve encapsulation while keeping a functional constructor.
-
Continual Progress in the W3C TAG
My "campaign speech" asking for W3C members to vote me onto the W3C Technical Architecture Group.
-
The Extensible Web
A view from 2013 of how the web platform has been evolving recently, and how it can evolve better going forward by using the extensible web principles.
-
Explaining Away the Web's Magic
An introduction to the extensible web manifesto, a web API design philosophy that espouses exposing primitives and letting developers build high-level abstractions that are competitive with those shipped with the browser.