Friday, February 19th, 2021
Wednesday, June 3rd, 2020
Personal website owners – what do you think about collecting all of the feeds you are producing in one way or the other on a
Sounds like a good idea! I’ll get on that.
Tuesday, July 16th, 2019
An interesting look at the mortality causes for Internet Explorer 6 and Internet Explorer 8, and what they can tell us for the hoped-for death of Internet Explorer 11.
Sunday, March 10th, 2019
Jason contemplates his two decades of blog posts, some of which he now feels very differently about:
Tim Berners-Lee’s idea that cool URIs don’t change is almost part of my DNA at this point, so deleting them seems wrong. Approximately no one ever reads any post on this site that’s more than a few years old, but is that an argument for or against deleting them? (If a tree falls in the woods, etc…) Should I delete but leave a note they were deleted? Should I leave the original posts but append updates citing my current displeasure?
Friday, February 1st, 2019
It’s interesting to compare the release notes for each browser and see the different priorities reflected in them (this is another reason why browser diversity is A Good Thing).
A lot of the Firefox changes are updates to dev tools; they just keep getting better and better. In fact, I’m not sure “dev tools” is the right word for them. With their focus on layout, typography, and accessibility, “design tools” might be a better term.
Oh, and Firefox is shipping support for some CSS properties that really help with print style sheets, so I’m disproportionately pleased about that.
In Safari’s changes, I’m pleased to see that the
datalist element is finally getting implemented. I’ve been a fan of that element for many years now. (Am I a dork for having favourite HTML elements? Or am I a dork for even having to ask that question?)
And, of course, it wouldn’t be a Safari release without a new made up
meta tag. From the people who brought you such hits as
apple-mobile-web-app-capable, comes …
supported-color-schemes (Apple likes to make up
meta tags almost as much as Google likes to make up
There’ll be a whole bunch of improvements in how progressive web apps will behave once they’ve been added to the home screen. We’ll finally get some state persistence if you navigate away from the window!
Updated the behavior of websites saved to the home screen on iOS to pause in the background instead of relaunching each time.
Maximiliano Firtman has a detailed list of the good, the bad, and the “not sure yet if good” for progressive web apps on iOS 12.2 beta. Thomas Steiner has also written up the progress of progressive web apps in iOS 12.2 beta. Both are published on Ev’s blog.
Chrome 72 for Android shipped the long-awaited Trusted Web Activity feature, which means we can now distribute PWAs in the Google Play Store!
Very interesting indeed! I’m not sure if I’m ready to face the Kafkaesque process of trying to add something to the Google Play Store just yet, but it’s great to know that I can. Combined with the improvements coming in iOS 12.2, these are exciting times for progressive web apps!
Saturday, December 15th, 2018
A terrific explanation of the
aria-live attribute from Ire. If you’re doing anything with Ajax, this is vital knowledge.
Friday, May 18th, 2018
This is a good walkthrough of the flow you’d need to implement if you want to notify users of an updated service worker.
Tuesday, May 1st, 2018
What’s new in Microsoft Edge in the Windows 10 April 2018 Update - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog
Service workers, push notifications, and variable fonts are now shipping in Edge.
Thursday, January 25th, 2018
Squee! The next time there’s an update for OS X and iOS, Safari will magically have service worker support! Not only that, but Safari on iOS will start using the information in web app manifests for adding to home screen.
That’s an impressive turnaround.
Tuesday, December 19th, 2017
I’m syndicating my notes to micro.blog now.
Tuesday, October 17th, 2017
Dave has redesigned his site. Now it’s extra Dave-y.
Thursday, September 21st, 2017
Ooh, this is a tricky scenario. If you decide to redirect all URLs (from, say, a
www subdomain to no subdomain) and you have a service worker running, you’re going to have a bad time. But there’s a solution here to get the service worker to remove itself.
The server-side specifics are for NGINX but this is also doable with Apache.
Saturday, February 28th, 2015
Interstellar travel time dilation and status updates: a clever narrative combo.
Wednesday, October 1st, 2014
Incredibly, you have to manually download and run this patch for Shellshock on OS X: it’s not being pushed as a security update.
But the new U2 album? That’s being pushed to everyone.
Tuesday, June 26th, 2012
A grab-bag of public updates on Facebook.
Monday, January 16th, 2012
It’s called One Web, Many Devices and I’m pretty happy with how it turned out. It’s a short talk—just under 17 minutes—but I think I made my point well, without any um-ing and ah-ing. At the time I described the talk like this:
I went in to the lion’s den to encourage the assembled creative minds to forego the walled garden of Apple’s app store in favour of the open web.
It certainly got people talking. Addy Osmani wrote an op-ed piece in .net magazine after seeing the talk.
The somewhat contentious talk was followed by an even more contentious panel, which Amber described as Jeremy Keith vs. Everyone Else. The video of that panel has been published too. My favourite bit is around the five-minute mark where I nailed my colours to the mast.
Me: I’m not going to create something specifically for Windows Phone 7. I’m not going to create a specific Windows Phone 7 app. I’m not going to create a specific iPhone app or a specific Android app because I have as much interest in doing that as I do in creating a CD-ROM or a Laserdisc…
Aral: I don’t think that’s a valid analogy.
Me: Give it time.
But I am creating stuff that can be accessed on all those devices because an iPhone and Windows Phone 7 and Android—they all come with web browsers.
I was of course taking a deliberately extreme stance and, as I said at the time, the truthful answer to most of the questions raised during the panel discussion is “it depends” …but that would’ve made for a very dull panel.
Unfortunately the audio of the talks and panels from Update hasn’t been published—just videos. I’ve managed to extract an mp3 file of my talk which involved going to some dodgy warez sitez.
I wish conference organisers would export the audio of any talks that they’re publishing as video. Creating the sound file at that point is a simple one-click step. But once the videos are up online—be it on YouTube or Vimeo—it’s a lot, lot harder to get just the audio.
Not everyone wants to watch video. In fact, I bet there are plenty of people who listen to conference talks by opening the video in a separate tab so they can listen to it while they do something else. That’s one of the advantages of publishing conference audio: it allows people to catch up on talks without having to devote all their senses. I’ve written about this before:
Not that I have anything against the moving image; it’s just that television, film and video demand more from your senses. Lend me your ears! and your eyes. With your ears and eyes engaged, it’s pretty hard to do much else. So the default position for enjoying television is sitting down.
A purely audio channel demands only aural attention. That means that radio—and be extension, podcasts—can be enjoyed at the same time as other actions; walking around, working out at the gym. Perhaps it’s this symbiotic, rather than parasitic, arrangement that I find engaging.
When I was chatting with Jesse from SFF Audio he told me how he often puts video podcasts (vodcasts?) on to his iPod/iPhone but then listens to them with the device in his pocket. That’s quite a waste of bandwidth but if no separate audio is made available, the would-be listener is left with no choice.
So conference organisers: please, please take a second or two to export an audio file if you’re publishing a video. Thanks.
Sunday, January 15th, 2012
Does anybody know where this is? Shout it out if you know where this is?
Ghent! Yes, correct! Well done. Are you from Belgium, sir? Welcome. Welcome to Brighton. You’re from Ghent? Fantastic! You have a beautiful, beautiful town in Ghent.
I was there earlier this year and had a lovely time. I was speaking at an event there about the web, about digital preservation, and I really, really liked the place. And I met some lovely people.
This is Benny and Joke from Ghent. They were looking after me, making sure I had a good time. They drove me back to Brussels as well when it was time for me to get my Eurostar back here.
On the drive back, I was chatting with Joke about various things and we got to chatting about music. I play in a band and it turns out that Joke plays in a band as well. She played in a hardcore punk band.
We started talking about the whole hardcore scene and stuff, and all these different bands like the Subhumanz and Citizen Fish—going to see them play at all these different venues—and how inspiring that whole scene is, how egalitarian it is.
Joke said something to me that really resonated. Why she felt inspired to start making music herself—this kind of music—why she felt inspired to create a band, she said the great thing was that with this kind of music, you don’t need to ask for permission. You could just do it. You could form a band.
And as we talked about it some more we realised that’s exactly the same reason why we like doing stuff on the web. Because on the web you don’t need to ask for permission either, thanks to this guy: Sir Tim Berners-Lee. He could’ve made a lot of money from the web. But no, he decided it would be completely open and that you didn’t need to ask for permission.
Here we are, twenty years later. The web is twenty years old this year, which is pretty fantastic, going stronger than ever.
Coming up to the twentieth anniversary of the web, Sir Tim wrote an essay reiterating the design principles underlying the web. He said that the primary design principle underlying the web’s usefulness and growth is universality. That means that the web should be accessible to people with disabilities. It also means it should work with any kind of information, whether it’s a document or a point of data; whether it’s a silly tweet or a scholarly document. And he also reiterated the fact that it should be accessible from any kind of device: small screen or large, stationary or mobile.
The result is this huge tangled mess of a web. It’s chaotic, it’s unplanned, and it’s gorgeous …because none of these nodes on this web needed to ask for permission. That’s what makes it so beautiful.
Every single resource out there has a name, and that’s its URL. And once you know the name, once you know the URL, you can link to it. And you don’t need to ask for permission to link to that resource.
Every other kind of hypertext system that was proposed before then pretty much had some kind of idea of two-way linking. Sir Tim said “No, one-way linking: let’s see how it works out.” Sure, we’ve got problems, we’ve got linkrot, we’ve got all sorts of issues, but look at the result. Look at this amazing web we have.
So the web, I consider to be: resources (mostly HTML) delivered over HTTP, addressable at URLs. HTML, HTTP, URLs. That’s the web.
That means you could take two disparate, completely unconnected resources from over here and over here, and you could write a third resource that links the two of them together, creating something completely new, and you can publish that—and you didn’t need to ask for permission from either of those resources to create that. It’s pretty wonderful: you don’t need to ask for permission.
In the early days of the web, it had some competition from other types of media; CD-ROMS, for example. Does anyone remember Microsoft Encarta? It was pretty cool, it was pretty amazing: you had an encyclopedia on this small disk where previously you had all these books. It was great …but it didn’t scale. Eventually you’re going to need another CD-ROM, and another CD-ROM, and yet another CD-ROM, and you can’t link between them. I can’t link from one point in one CD-ROM to another point in another CD-ROM. These things aren’t addressable. I can’t just link them up (and I need permission).
Well it was CD-ROMs back then. Today it’s iPad apps, iPhone apps, other kinds of native apps: great little things, but they sit in isolation. I can’t link from one to another. I can’t join them up. Thousands—millions—of islands that are unconnected, unlike the web, this messy, tangle of interconnected nodes. It might not be as perfect as those native apps but in aggregate it’s absolutely gorgeous.
People often compare a great native app and say “Oh yeah, try and do that with a web app.” But I think a more fair comparison is to take any native app and compare it with the whole web.
The web is the killer app.
Ask yourself: what would you rather be contributing to—Encarta or Wikipedia?
Something that the internet is good at—not just the web, but the whole internet—is real-time communication. Before we had the web there was email. The web came along and there was a lot of talk about the real-time web. Now we have apps that are connected to the internet making it possible for people to communicate. And that’s great. I’m very excited about real-time communication. Because what the internet has done is collapsed geography so that we can instantaneously communicate from one side of the globe to the other. And that’s fantastic.
But there’s another kind of time, not just the real time, there’s the long time. How long does something stick around? How long will a resource remain?
Well, when something has a name—like a URL—if you take care of it, you can ensure that you are contributing to the long time as well as the real time; that something that’s valuable today should remain valuable next week, and next month, next year, five years from now, ten years from now.
I think that’s possible on the web. I think it’s a lot harder to do if what you’re creating is tied to a specific technology …requires a specific device. When that device goes, your creation goes with it.
Robin Sloan talks about these two kinds of time. He calls them flow and stock. He says:
Flow is the feed. It’s the stream of daily and sub-daily updates that remind people that you exits. Stock is the durable stuff. It’s what people discover via search. It’s what spreads slowly but surely. Flow is in the ascendent today but we neglect stock at our peril.
Steve Jobs once said:
You don’t need permission to be awesome.
And that’s absolutely true …on the web. In the app store? …you need permission to be awesome.
Has anyone here contributed an app to the app store? I’m sure you guys could tell me some stories about what it’s like to have to ask permission to be awesome.
I don’t just mean the app store. I mean any kind of walled-garden ecosystem—it was Facebook apps, it was Adobe Air for a while there—something that’s tied to a specific technology or a specific kind of device. You are now in debt to the company maintaining that.
I see a lot of Flash developers (or ex-Flash developers) moving to making iPhone apps and iPad apps, and I think I understand why it appeals. Because the whole time they were making these Flash creations, these Flash movies, pieces of art, products, services …they were putting them out there on the web but they were never really of the web. They required that plug-in. They were always enslaved to Macromedia (and then Adobe) and they simply saw the web as a distribution mechanism—and that’s fine. They were never contributing to the web so much as using the web to get their creations out there.
So when the iPhone and the iPad came along with its app store, it was simply another ecosystem that they could use as a distribution channel. All they were really doing was swapping one form of lock-in for another form of lock-in. So I understand the appeal there.
Here’s the thing… you might hear me talking about y’know, “Ah, the web the way it was twenty years ago was best and all these new fangled app stores and ecosystems and things …grrr! Get off my lawn, kids!” Right? That I’m being a curmudgeon, that I’m standing in the way of progress, that I’m standing in the way of the evolution of the internet.
I don’t think that’s true. Quite the opposite, actually…
So, the world before the web was a world of atoms rather than a world of bits. The thing with a world of atoms is there’s only so many atoms to go around. There’s limited shelf space in the real world. That means we need systems, we need companies, we need entities do decide what goes on those shelves.
Entire industries have sprung up built around deciding what books are going to get published, what films are going to get made, what music is going to get recorded. Effectively you’ve got companies—corporations—deciding what films you’re allowed see, what books you’re allowed read, what music you’re allowed listen to.
The web came along and smashed all that. Now everything—no matter how big or how small—everything is one link away. I can link to anything; something hugely world-famous or something incredibly obscure. That’s powerful and that threatens the existing ecosystem of control.
So we had publishers and consumers in the old world. We had the controllers and the controlled. Then the web came along and threatened all that.
There are obvious entities that are threatened by this new system. A totalitarian regime—to them, the web is definitely a threat. But it’s not just totalitarian governments that are threatened by the web. Other industries too.
There’s the music publishing industry. The film industry. We hear a lot about newspapers and magazines. All of these entities threatened by the web …these are all the same companies that are really, really excited about app stores.
Why are the excited? Because they see there is a way to turn back the clock, to turn back progress, to bring back scarcity and control, to return to a world of limited shelf space.
Magazine publishers are creaming their pants about the iPad. It’s going to “save” publishing. They think they can put the genie back in the bottle.
So when I rail against these closed ecosystems, I’m not railing against progress. Quite the opposite. I want more progress. I want more disruption. More chaos. More disorder. I want to see things fall apart a little bit more.
That’s why I publish on the web. I put something out there at a URL (it has a name) and it can be accessed from any device, large screen or small, stationary or mobile, colour or monochrome. And it will remain accessible.
I’ve been publishing on my site for ten years now. I fully expect to be publishing in another ten. I’m contributing to the stock, not just the flow. For ten years I’ve been linking to things without asking for permission and for ten years, if you wanted to link to me you didn’t need to ask me for permission, you could just do that. And the different devices, they’ve come and they’ve gone over those years and new devices will come and go but the formats I’m publishing in are open, are standards. Publishing HTML over HTTP at a URL.
So when you’re creating something, when you’re putting something out there, putting your creativity and your talent to work …ask yourself “Why?” What’s your motive? What’s your purpose? See if the medium and the format that you’re publishing in fits that purpose.
The first purpose—I guess there’s kind of hierarchy of purpose—the first purpose is simply to do it for the fun of it. And that’s fantastic. I think we need to do that, to just create stuff for the heck of it, for the joy of creating, of making, of figuring something out. Seb is someone who’s great at doing this. He just makes all sorts of stuff. Brendan Dawes does something new every week just for the fun of it. We need to keep doing that. That’s great.
Then I guess the next level is when you’re doing that as a profession. You’re getting paid for it. Now you’re not doing it for yourself, you’re doing it for your boss or your client. And, y’know, that doesn’t always work out so well. Because if the only reason you’re building something is to please your boss or please your client because they’re paying the bills …well you’re no better than a prostitute really.
The next step up is to do it for the end user. That’s what you’ve been hearing about today, to empathise with the people who will be using your creation, to think about their needs. I think our industry in general has got to that stage where we are thinking about the user, thinking about the people, thinking about their needs. We’re making these things to make their experiences better. User experience is definitely in the ascendent. That’s great. We’ve got a great point.
But there is another level …where you’re not just thinking about the user right now today and their flow, but where you start to think about all people. Start to think about our species and ask yourself if your creation is going to contribute to the betterment of our species.
I think publishing on the web, there’s a net gain for our species, there’s a net gain for our planet because we’re contributing to the stock as well as the flow. It’s not just for today. It’s for future generations as well.
That’s why I don’t want to tie my creations to specific technologies, specific devices. I don’t want to be locked in. I want this stuff to survive over time and contribute to our collective good.
I began by talking about music—specifically hardcore punk music—and I’m going to finish with another musician: John Lennon. Because when I see really talented makers, really talented creative people, pouring their talent and their creativity into these silos, into these walled gardens, where they’re just contributing to what one company wants—they think they’re being creative when actually they’re creating something that’s going to bloom and die—it saddens me. It saddens me and it makes me kind of angry as well. That creativity could be contributed to the greater good.
And I think John Lennon summed it up pretty well in his song Working Class Hero. He said:
You think you’re so clever and classless and free
…but you’re still fucking peasants as far as I can see.
This presentation is licenced under a Creative Commons attribution licence. You are free to:
- Copy, distribute and transmit this presentation.
- Adapt the presentation.
Under the following conditions:
- You must attribute the presentation to Jeremy Keith.
Sunday, January 1st, 2012
My short talk from Aral’s Update conference in Brighton last September. I’m pretty happy with how it turned out. If I only I had a handheld mic—then I could’ve done a microphone drop at the end.
Monday, September 12th, 2011
I’m loving Amber’s detailed write-up of the Update conference, especially her description of the panel discussion as me versus everyone else.
Friday, September 9th, 2011
Update was a labour of love from Aral who worked hard to put together an eclectic, slick event. It was mostly aimed at iOS developers but there was a lot of other stuff in there too, including a range of musical performances. Some speakers, like Matt Gemmell and Sarah, talked specifically about iOS design and development while others, like Cennydd, spoke of broader issues.
In my opinion the most important talk of the day was delivered by Anna who laid bare the state of Britain’s education system—and by extension, Britain’s future. She relentlessly hammered home her points, leaving me feeling shocked and angered at the paedophobic culture of our schools. But there was also hope: as long as there are young people of Anna’s calibre, the network—as wielded by digital natives—will interpret technological clampdowns as damage and route around them (see also Ben Hammersley’s amazing speech to the IACC).
I also spoke at Update. I went in to the lion’s den to encourage the assembled creative minds to forego the walled garden of Apple’s app store in favour of the open web. The prelude to delivering the talk was somewhat nerve-wracking…
The night before the conference, Aral arranged a lavish banquet at the Royal Pavilion. It was amazing. I’m ashamed to say that after a decade of living in Brighton it was my first time inside the building. But I wasn’t able to relax fully, knowing that I had this 18 minute potentially contentious talk to deliver the next morning.
When I got home, I decided I should do a run-through. I always feel like an idiot if I practice a talk by speaking to the wall but in this case I wanted to make sure that I crammed in all the points I wanted to make. I started up Keynote, opened my mouth and …bleaurgh! That’s a pretty good approximation of how legible I sounded. I realised that, although I knew in my mind what I wanted to say, when it came time to say it out loud, I just couldn’t articulate it. I tried for about an hour, with little success. I began to panic, envisioning my appearance at Update consisting of me repeating “Um, know what I mean? Right?”
The day of the event arrived. I was the second speaker. Aral introduced me. I walked on stage and opened my mouth…
And I didn’t screw it up. I made my case without any uhm-ing and ah-ing. I actually had a lot of fun.
I thoroughly enjoyed addressing a roomful of Mac-heads by quoting Steve Jobs. “You don’t need permission to be awesome” he once said. That’s true on the web, not so much on the app store.
Naturally, there were some people who took umbrage with the message I was sending. The most common rebuttal was that I was being unrealistic, not considering the constraints of day-to-day work and budgets. To them, I would quote Steve Jobs once more:
Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo.
In fact I finished up my talk with a slide of one of the Think Different posters; the one with John Lennon. I ended with a quote from Working Class Hero that I thought was a fitting summation of my feelings when I see talented creative people pouring their energy into unlinkable walled gardens:
You think you’re so clever and classless and free but you’re still fucking peasants as far as I can see.
(had I been writing my talk on an iOS device, I would no doubt have finished by saying “you’re still ducking peasants as far as I can see”.)
My talk was soon followed by a panel discussion about iOS vs. Android vs. Windows Phone 7 vs. the web vs. whatever else people are currently throwing their time and energy into. In fairly short order it turned into me vs. everyone else.
Now here’s the thing when it comes to any discussion about mobile or the web or anything else of any complexity: an honest discussion would result in every single question being answered with “it depends”. A more entertaining discussion, on the other hand, would consist of deliberately polarised opinions. We went for the more entertaining discussion.
The truth is that the whole “web vs. native” thing doesn’t interest me that much. I’m as interested in native iOS development as I am in native Windows development or native CD-ROM development. On a timescale measured in years, they are all fleeting, transient things. The web abides.
Get me going on universally-accessible websites vs. websites optimised for a single device or browser …then I will genuinely have extremely strong opinions that I will defend to the death.
Still, the debate at Update was good fun. The whole event was good fun. Nice work, Aral.