Archive: 2016



The many formats of Resilient Web Design


Deep linking with fragmentions

An explanation and a request for assistance.

Print styles

Making an online book dead-tree friendly.

Design principles

What makes ‘em good?

The typography of a web book

The font choices for Resilient Web Design.

Introducing Resilient Web Design

I wrote a web book.

Certbot renewals with Apache

Tweaking the way .conf files are structured.

Fractal ways

24 ways, 1 component library.

Starting out

Resources for learning to make websites from scratch.



Between the braces

The two faces of CSS.

Less JavaScript

The Google developer relations team are dishing out some inconvenient truths.

Resilience retires

Top. Men.

We must love one another or die

We must love one another and die

The road to Indie Web Camp LA

California hacking.


Evolution, not revolution.

A decade on Twitter

The first ten years of microblogging.


Mobile hardware isn’t all that it seems.

Research on evaluating technology

A link list for a new talk.


Progressive enhancement: it’s not just for web sites, y’know.

The Rational Optimist

Not rational, not optimistic.


I should’ve baked a cake, at least.


Changing defaults in browsers …someday.

Indie Web Camp Brighton 2016

A jolly weekend of talking and making.

European tour

Three events in three cities.

The imitation game

The only way to win is not to play.

Marking up help text in forms

Two accessibility alternatives.

Why do pull quotes exist on the web?

Won’t somebody think of the readers?

Exploring web technologies

From the very basics to the cutting edge.

Extensible web components

Web components are supposed to extend the web, not replace it.


A few examples of animation on the web.

Class teacher

When abstraction becomes obfuscation.

Save the dates for Indie Web Camp Brighton 2016

September 24th and 25th. Be there and be square.

Backdoor Service Workers

The tragedy of the iframe commons.

Unlabelled search fields

A look at some of the accessibility options.

Talking about hypertext

Preparing and publishing a presentation on one single HTML element.

On the side

My Clearleft colleagues are an inspiration.


You can help my friend.

Sticky headers

A few things to remember if you’re going to using position:fixed.

The Progressive Web App Dev Summit

A field report from Amsterdam.

Amsterdam Brighton Amsterdam

Bouncing between the beach and the canal.

Thank you, jQuery

The JavaScript library that led the way.

Progressive web app store

I’ve got a business proposition for you.

A wager on the web

What’s the worst that could happen?

Taking an online book offline

It’s a book. It’s a progressive web app. It’s HTML5 For Web Designers.

Regression toward being mean

I need to get better at balance.

A little progress

Some code to show a progress bar for file uploads.

Switching to HTTPS on Apache 2.4.7 on Ubuntu 14.04 on Digital Ocean

The super-sexy title is because this stuff tends to be super-specific to the server setup.

Regressive Web Apps

Killing the web to save it.

Owning my words

My website, my words.

A web for everyone

The reality of unevenly-distributed browser features isn’t a bug, it’s a feature.

Content Buddy

Making myself available for proof-reading, editing, and general content wrangling.

Indie Web Camp Düsseldorf

Two years in a row at the excellent Sipgate offices in Düsseldorf.

Conversational interfaces

A history.

Machine supplying

Book recommendations.


Pimping my home page at Indie Web Camp Nuremberg.

Accessible progressive disclosure revisited

From buttons to links.

Mistakes on a plane

In which Comic Book Guy critiques in-flight entertainment.

A brief history of the World Wide Web by web developers

The web is a tiny pony.

The web on my phone

How do you solve a problem like Safari?

Making things happen

Crazy schemes that just might work.


They’re just restin’.

Accessible progressive disclosure

Using ARIA attributes to power JavaScript functionality.

The voice of MOL

Chipmunks in space.

Moderating EnhanceConf 2016

I had the honour being Master of Ceremonies at the world’s first conference dedicated to progressive enhancement.

Design sprinting

Packing a whole lotta learning into just five days.


Trying not to compromise the sign-up flow on Huffduffer.

Independently published

I want to thank these people for sharing.

Enhance! Conf!

The first conference dedicated to progressive enhancement.

New edition

The second edition of HTML5 of Web Designers

Handling redirects with a Service Worker

A bugfix for Chrome’s errant behaviour.


A little pattern of enhancement.

Service Worker notes

Jotting down some observations.

Huffduffing for podcasters

Making your audio discoverable.

Words of welcome

Writing is interface design.


The power of art.

Hamburger, hamburger, hamburger

Rigidly defined areas of doubt and uncertainty.


Well, that escalated quickly.


Screen reading.

One day in London

To the capital and back.

Separated at death

Farewell, doppelgänger.

Homebrew header hardening

Step-by-step instructions for more secure response headers on Apache.

Without delay

I’m wrong again …fortunately.

Small lessons, loosely learned

Softly softly, grokky JavaScript.

The Force Awakens

The inevitable opinion piece on *that* movie.

Year’s end

Marking the start of 2016.