S—ML
Draft 0.2 · open standard · this page is Sparse-conformant

Responsive design made pages fit the screen.
S—ML makes them fit the situation.

A delivery-profile standard for the open web: one URL serves the same content in three weights — Sparse, Medium, Luxe — negotiated by network, device, and reader, including AI agents. Ordinary HTML and HTTP. No new protocol. No separate internet.

Read the spec Read the paper

Same URL. Three weights.

Sparse is not a preview — it is the whole message at the lowest cost: title, summary, state, and every critical action, readable without JavaScript. A page can travel Sparse and hydrate toward Luxe when conditions allow. If the link drops, the reader still has everything.

The profiles

s — SparseSurvives satellite links, roaming plans, low battery, e-ink browsers. Instant everywhere else. The profile the web is missing.
m — MediumThe disciplined mobile web: optimized media, moderate interactivity, progressive enhancement.
l — LuxeThe full expression: rich media, animation, immersion. An enhancement — never the only representation.

The name reads three ways: Sparse–Medium–Luxe · S—ML, what machine learning reads · sml — "small," vowels compressed out.

The protocol

One header in, one promise out. A server serves the requested weight — or lighter, never silently heavier.

GET /article/123 HTTP/1.1
Accept-Profile: s

HTTP/1.1 200 OK
Content-Profile: s
Available-Profiles: s, m, l

Budgets make it a contract, not a vibe: Sparse means ≤ 50 KB, no required JavaScript, no third-party scripts — auditable, pass or fail. Full rules in the spec.

Built for

Satellite & NTN — web delivery worthy of the link
Aviation — cache Sparse, enhance to Luxe onboard
Travelers — pin Sparse while roaming or rationing data
AI agents — the semantic core, without the interface
Vibe coders — tooling that emits pages born conforming
Minimal devices — e-ink and mono phones, full citizens
Battery savers — lighter pages, longer days
The planet — byte budgets double as carbon budgets

Downloads

These files are snapshots; the living source — spec, auditor, skills, and this site — is at github.com/smlweb-org. Pilot reports and budget disagreements welcome in the spec repo's discussions.

The premise anyone can act on today: the critical path should work in Sparse mode.