Jeremy Keith

Jeremy Keith

Making websites. Writing books. Hosting a podcast. Speaking at events. Living in Brighton. Working at Clearleft. Playing music. Taking photos. Answering email.

Journal 3269 sparkline Links 10883 sparkline Articles 87 sparkline Notes 8238 sparkline

Saturday, September 19th, 2026

Friday, September 18th, 2026

Thursday, September 17th, 2026

Wednesday, September 16th, 2026

Tuesday, September 15th, 2026

Even a stopped watch is right twice a day.

Related: this week Don Trump said he’d like a united Ireland, and that all this talk of humanity-ending AI is bollocks.

What We Can Know by Ian McEwan

This is Ian McEwan’s second foray into science fiction after his alternative history novel, Machines Like Me. I enjoyed that book but it was far too eager to show off its worldbuilding—at one point a character practically looks at the camera like Tim in The Office.

There’s a bit of that in What We Can Know with its expository passages explaining what’s been happening in the 21st and 22nd centuries, but it mostly works.

As with all McEwan’s work, it’s extremely English. He just has to have some clashing of the classes in there.

The book has an unusual structure, switching between the present day and a climate-ravaged future one hundred years from now. A future scholar is obsessed with a poem from our time period that was never published. At times the book feels like a whodunnit, complete with all the suspects assembled together in a country house.

If the structure is unusual, the tonal swings are really something. We go from high-brow pondering of the utility of art in the face of catastrophe to downright schlocky soap-opera shenanigans. My eyebrows may have gotten whiplash.

But I guess it all worked somehow because I found myself turning the pages, eager to reach the final revelations.

Still, there was one thing that really bothered me. In order for the plot to work, our future scholar needs to have access to emails, chats, and other digital artificats from today. We get an explanation of how the cryptography has been cracked by quantum computers, but it’s simply taken as given that the files themselves would be available, having survived in “The Cloud”.

I can’t really blame Ian McEwan here; here’s just repeating the oft-retold advice that you should be careful what you put online because it’ll be there forever. But that warning simply isn’t true. The Cloud dissolves very, very quickly. Just ask the folks at the Internet Archive.

But if your credulity can stretch to accept the naïvely optimistic depiction of digital preservation in What We Can Know, it’s an enjoyable romp.

Buy this book

Movie mashups

I’ve mentioned the ritual that concludes the week at Clearleft:

At the end of every Thursday afternoon at Clearleft, we wrap up the working week with an all-hands (video) meeting. Yes, I know that the week finishes on Friday, but Fridays have been declared the no-meetings day at Clearleft: a chance to concentrate on heads-down work without interruption. Besides, some of us don’t work on Fridays. So Thursday really is the new Friday.

That gathering usually finishes with a little quiz (like the “fonts or food?” quiz) . I was in charge of putting the quiz together last week. I came up with a movie mashup:

  • Take two film titles.
  • The end of one title is the beginning of the other title.
  • Create one single title from both.

For each combined title, I smushed together the synopses from the Internet Movie Database.

For example, if you got this synposis:

Six unemployed steel workers form a male striptease act and King Arthur and his knights embark on a quest encountering many, very silly obstacles.

The answer would be:

The Full Monty Python And The Holy Grail

Got it?

Let’s see how you fare with these ten movie mashups I presented to the Clearleft crew (tap to reveal each answer)…

A group of unlikely heroes band together on a mission to steal the plans to the Death Star and a rebellious convict is sent to a psychiatric hospital where he encourages his docile companions to take more control of their lives and defy the tyrannical head nurse. Rogue One Flew Over The Cuckoo’s Nest

Prince Simba and his father are targeted by his bitter uncle, who wants to ascend the throne himself and Rupert is an aspiring stand-up comedian who is willing to go the extra mile in his attempt to appear in the late night show hosted by his idol. The Lion King Of Comedy

Five friends travel to a cabin in the woods, where they unknowingly release flesh-possessing demons and a maverick teacher at a prestigious New England boys’ boarding school uses poetry to embolden his pupils to new heights of self-expression. The Evil Dead Poet’s Society

A doctor in 1968 Prague struggles with monogamy and a puppeteer discovers a portal that leads literally into the head of a movie star. The Unbearable Lightness Of Being John Malkovich

A hard-drinking country music star falls in love with a singer whose career quickly takes off, and Ron Kovic, paralyzed in the Vietnam war, becomes a political activist after feeling betrayed by the country for which he fought. A Star Is Born On The Fourth Of July

Two sloppy actors spend a weekend holiday at an uncle’s country cottage and a group of friends are terrorised by a mysterious killer who knows about a gruesome incident from their past. Withnail And I Know What You Did Last Summer

On an tropical island, love blooms between a young nurse and a secretive Frenchman and as a war between humankind and monstrous sea creatures wages on, a former pilot and a trainee are paired up to save the world from the apocalypse. South Pacific Rim

A man gets a chance to meet up with his dream girl from high school, and a magical nanny employs music and adventure to help two neglected children become closer to their father. There’s Something About Mary Poppins

The husband of a missing woman becomes the main suspect in her disappearance and a young peasant maid working in the house of painter Johannes Vermeer becomes his talented assistant and the model for one of his most famous works. Gone Girl With A Pearl Earring

An up-and-coming gangster is tested by the insurgence of an unknown threat and a group of teenage camp counselors attempt to re-open an abandoned summer camp with a tragic past, but they are stalked by a mysterious, relentless killer. The Long Good Friday The Thirteenth

How’d you do?

I had fun putting this little quiz together but some potential movie mashups were left on the cutting-room floor. If there were a director’s cut of this quiz, maybe these would’ve stayed in the picture:

  • Mad Max: Fury Road To Perdition
  • Remains Of The Day Of The Dead
  • For Your Eyes Only God Forgives
  • The Land Before Time Bandits
  • The Taking Of Pelham One Two Three Billboards Outside Ebbing, Missouri
  • City Of Lost Children Of A Lesser God
  • Run, Lola, Run Silent, Run Deep
  • Carlito’s Way Of The Dragon
  • The Man Who Would Be King Kong
  • Man Of Steel Magnolias
  • The Big Short Circuit
  • A Matter Of Life And Death In Venice
  • The Hills Have Eyes Wide Shut
  • The Spy Who Loved Me And Earl And The Dying Girl

Monday, September 14th, 2026

Stalling installing

I’m an invited expert at the World Wide Web Consortium.

That sounds impressive, but it isn’t. Anyone can become an invited expert. The fact that I am now one proves it. You apply to be an invited expert and once that application is approved, you’re in. So you too could and probably should be an invited expert to a working group at the W3C.

I was strongly encouraged to become an invited expert in the web applications working group after weighing in on the matter of installable web apps (or progressive web apps or whatever).

Last week I had my first call but it wasn’t with the web apps working group, it was with the technical architecture group, a meta-group that helps the other groups if there’s a big-picture sticking point.

There’s a big-picture sticking point with installing web apps.

While most of the participants (read: browser makers) would like to spend their time deciding the details of what API to implement in order to support installable web apps, Webkit is rejecting the very premise of that work.

On last week’s call, Webkit outlined their position: there shouldn’t be a way for developers to allow users to install the current website. Leave it to the browser, they say. Also, is this even something that users want? Looking at the stats, it certainly doesn’t seem like it.

That would be a reasonable position if there were already a usable way to install web apps. But there isn’t. It’s technically possible to add a website to your iPhone’s home screen. In practical terms, it’s a convoluted usability nightmare.

(It’s hard to avoid veering into conspiracy theory territory and seeing this as some kind of malicious compliance. Especially when you compare it to how native apps are shoved in your face thanks to “smart app banners” better known as dickovers.)

So Webkit’s stance would make total sense if there were a reasonable way for users of Mobile Safari to install web apps already. But there isn’t.

Last week’s call was quite illuminating. It showed some incredible cognitive dissonance in the Webkit position. Let me explain…

On the one hand, installing web apps is kind of like bookmarking, they say. That’s true. We don’t have an API for bookmarking so why should we have an API for installing web apps?

That would be a fair point if the user interface for bookmarking and installing were in any way comparable. But bookmarking is literally front and centre of the user’s experience of a browser, backed up by decades of convention. Meanwhile the option to install a web app is buried five levels deep behind a “share” icon.

Also: we’re not talking about an API for installing web apps. We’re talking about an API for initialising the flow for installing web apps—the very same flow that’s triggered from that buried menu item. And that flow begins with a prominent option to cancel. So let’s not have any scaremongering about users somehow being tricked into adding web apps to their home screen.

Which brings me to the other point…

Webkit are concerned about allowing installed web apps getting access to more powerful APIs. They’re quite right not to want that! A web app launched from the home screen shouldn’t have any special privileges. If it wants access to say, geolocation, the user needs to grant permision just the same as if the page were in the browser.

Why, oh, why then did Apple limit push notifications to installed web apps?

It’s not like other browsers haven’t managed to implement permission-based APIs like push notifications. But apparently limiting notifications to installed web apps was the only way that Apple could think of implementing this API safely.

You see the contradiction, right?

On the one hand, Webkit is saying that installing web apps is like bookmarking. No big deal.

On the other hand, Webkit is saying that installing web apps grants special privileges. A huge deal!

Which is it?

It’s almost as if Webkit aren’t actually participating in good faith but rather have already made up their mind to drag their heels when it comes to any kind of progress on this topic.

Anyway…

On last week’s call, I was supposedly representing the interests of developers. No pressure!

I can’t make any claim to represent all developers, but I like to think I’m fairly representative of a typical developer who’s quite fond of the World Wide Web. So in my allotted ten minutes of speaking time, I said:

  • Developers would love a way to initiate the installation flow. The alternative is to provide browser-specific instructions—always a bad sign.
  • If browsers provided a prominent usable way to initiate the installation flow, this wouldn’t be such an urgent need.
  • Users should have the option to install web apps just like they have the option to install native apps. Technically both options are available, but practically the scales are tipped very, very heavily towards native apps.
  • Native apps don’t have the same security model as web apps, allowing them much greater access to user data. If security and privacy are values that the W3C thinks are important for users, they should do everything in their collective power to help tip the scales back in the direction of web apps.

Saturday, September 12th, 2026

Thursday, September 10th, 2026

Today I’ll mostly be listening to The Bothy Band, in memory of Paddy Keenan—what a piper!

Ar dheis Dé go raibh a anam.

Wednesday, September 9th, 2026

Native HTML and CSS Features That Replaced JavaScript · Ronalds Vilciņš

Modern HTML and CSS have gained a surprising number of features that cover interactions and layout problems we used to solve with custom scripts or libraries. JavaScript obviously isn’t going anywhere, and there are plenty of things that still require it, but in 2026 I find myself needing it less often for ordinary website interfaces.

Tuesday, September 8th, 2026

On artificial intelligence • Buttondown

I hope you’ll read and understand that for many of us, this isn’t a knee-jerk reaction or a culty, cosmic doomer rant. It’s about money, power, and quality of life for me and the people I share a planet with.

Matt’s position very much mirrors my own.

As long as I have a choice, and the economic means to keep a roof over my head and a set of reasonably firm values, I am opting out of first-person interaction with AI. And if any of my situation changes for the worse, before I accept AI as my lord and master, I will go down swinging.

Sunday, September 6th, 2026

Friday, September 4th, 2026

Thursday, September 3rd, 2026

Humans did not invent art. It was the other way around | Aeon Essays

The question of when humans invented art leads us to imagine early humans much like ourselves, deciding one day to express themselves through symbols and figures. The assumption hidden in the question is that they already had minds like ours and simply chose, out of all the things they might have done on a frigid day in the Ice Age, to pick up ochre and make animal pictures. But the evidence, it seems to me, points the other way: it was the practice of making images, repeated over hundreds of generations, that occasioned the emergence of those minds we take for granted.

Older »