Tuesday night session in Belfast
Tags: os
1646
Tuesday, July 28th, 2026
Sunday, July 26th, 2026
Today was a good day for sessions in Belfast!
Sunday, July 19th, 2026
Walking from glen to glen.
Wednesday, July 15th, 2026
Image to text
At The Web You Want event in Amsterdam last month, Léonie gave an absolutely fantastic talk. You can now read the whole thing: Accessibility is resistance!
She makes the very good point that generative tools are a necessary accessibility recourse when humans have failed to do their job properly.
Images without alt text? Somebody messed up. But this is damage that can be routed around with large language models.
So if you—like me—don’t like the idea of people using extractive generative tools made by the worst kind of people, pay heed:
If you want to resist AI, make accessibility part of everything you do, every decision you make, every product you design and build. Remove the need for people to use AI to compensate, and remember, accessibility is resistance.
Also last month, I wrote about enhancing images from a carousel to masonry using CSS Grid Lanes. Here’s the context:
Over on The Session, I added a little enhancement to the events and sessions listings recently. I make a call to the Google Places API to see if I can find a match for the venue, and if I do, pull in some photos.
Sidenote: right now there’s a major issue with this. None of the photos come with text descriptions. This is something I need to fix, and I’ve got some ideas on how to do that.
I was one of those people with a website that doesn’t have alt text for images. I was one of those people not doing their job.
The first fix I put in place was very much in keeping with the ethos of The Session. I added a form so that any member of the site can edit the alt text of the images in the carousel/masonry layout.
The Session is quite WikiPedia-like. Anyone can edit the track listings in the discography. Anyone can edit the details of any tune. Anyone can edit the details of any session or event. So it made sense to add one more thing that anyone can edit.
With that functionality in place, I put out the call:
If everyone were to take just one or two sessions or events and add alt text to the photos, it would really, really help make the site more accessible.
The community went to work and did a pretty good job.
But there are a lot images. I’d like to have a least some kind of alt text for all of them, even if it’s just a placeholder until someone gets around to adding something better.
I was going to have to use generative “AI”, wasn’t I?
Holding my nose, I investigated some alt-text-as-a-service APIs out there. I signed up for some trials and kicked the tyres. They were rubbish. I suspect most of them were vibe-coded.
The more I thought about it, the more I realised that I probably didn’t need the latest and greatest energy-guzzling large langauge models. Some good old-fashioned machine learning could do the trick here. I’m aiming to do a relatively straightforward transformation—image to text.
Check out the COCO project: Common Objects in Context. It’s a few years old now, but it’s basically a dataset that’s been trained on images.
Ah, but where did the training data come from?
All images in COCO were sourced from Flickr, a photo-sharing platform where users upload images under various Creative Commons licenses.
Works for me!
I found a model on Hugging Face that was created by Microsoft from the COCO data. Confusingly the model is called GIT. It’s nothing to do with version control. It stands for GenerativeImage2Text.
I downloaded the model and set to work creating a script to trawl through all those images and generate alt text if the image doesn’t already have one.
I should mention: the way that I store the alt text is not in a database, but in the file system. Every image has its own folder. Inside that folder there can also be a file called alt.txt.
So the script needed to loop through lots and lots of folders, generate alt text where needed, and save it into a text file in the same folder.
Python is the go-to language for working with models like GIT. But Python is not my strong suit, to put it mildly. And this was going to be a throwaway script that I was only going to use once. So I held my nose again and turned on Copilot in VSCode (I usually keep it switched off).
With the right instructions I was able to get a script that—crucially—I could read and understand. Then I switched off Copilot and had a shower to try to wash the shame away.
Long story short, the script worked.
The results are mostly fine. The alt text is functional. Sometimes it’s wrong, but not disastrously so. A human-generated image description will always be preferable, so any member of The Session can over-ride the placeholder alt text.
It took a few hours to loop through all those folders and generate all those text files. My laptop got hot. But doing it locally sure beats paying for tokens from the baddies.
While the utility is there, the current landscape of these frontier corporate models comes with massive ethical and environmental baggage. This is not a long term solution!
That’s exactly why my hope is that ethically trained open-weight models will eventually catch up and that in the next couple of years, we’ll have something with this level of capability that can run locally. That feels like a much better place to be with this technology.
Friday, July 10th, 2026
Memories Can’t Wait—or, How I Learned to Keep Worrying About the Web - Jeffrey Zeldman Presents
Digital memory is fragile not because bits decay (though they do), but because someone else owns the shelf.
Wednesday, July 8th, 2026
Speak at UX London 2027
Exactly one year from now, UX London 2027 will be wrapping up.
Mark your calendar: July 6th, 7th, and 8th, 2027. If you really want to be ahead of the curve, you can grab a very limited super early-bird ticket now before the price goes up.
I’m about to start putting the 2027 line-up together. The real reason why I’m mentioning an event that’s still a year away is that I’d like you to consider speaking at it. Yes, you.
Here’s the form you can fill out with your proposal. It can be a 30 minute talk or a 2.5 hour workshop.
Remember that UX London is a three-day event with each day having a specific theme:
- Tuesday, July 6 is discovery day with an emphasis on research and related topics.
- Wednesday, July 7 is design day, all about the nitty gritty aspects of actually making something; interface design, information architecture, accessibility.
- Thursday, July 8 is delivery day focusing on continuous improvement, whether that’s through design systems, cross-team collaboration, or any other strategies.
So if you’ve got a topic that you think is particularly relevant to one of those days, be sure to mention that in your proposal.
It should go without saying that if your proposal is accepted, you will be paid to speak. Alas, I have to say it because there are some events out there that don’t even manage to reach that very low bar.
I’ll be honest and say I’m not that interested in hearing from people like me, a middle-aged white dude. We have more than enough opportunities to spout our opinions. I’d much rather hear from people from different backgrounds with different experiences.
Have a look at the most recent line-up to get an idea of the kind of folks you’re likely to see on the UX London roster. Feel free to contact any of the previous speakers to ask them how they found the experience. You can also peruse some pictures to get an idea of the vibe.
Oh, and if you want to give an entire talk about “AI”, there are plenty of other conferences for that. That doesn’t mean you can’t talk about large language models or other generative tools, just don’t make it the focus of the talk. UX London isn’t about specific tools. So you won’t see a talk about AI for the same reason you won’t see a talk about Figma. It’s what you accomplish with the tools that counts. Make that the focus of your proposal.
I’d love to hear from you so please, submit your proposal. Submissions close in December, but the sooner you submit your proposal, the better.
Gaeilge sa Ghréig
“Radharc álainn” I said. Beautiful view.
“Nach ea!” he replied. Isn’t it?
He sounded surprised to be addressed in Irish. We were, after all, very far from Erin’s shores. The beautiful view in question was of the bay of Loggos on the Greek island of Paxos. But I knew that this person was a fluent Irish speaker. That’s why I figured he wouldn’t mind a chat as Gaeilge while we were both strolling along.
I was talking with Liam Ó Maonlaí. We were both on Paxos for the same reason; the annual Irish Wings festival, a small gathering of Irish and Greek musicians. Liam was there to play. Myself and Jessica were there to listen.
Of course we were also there to soak up the sun, swim in the crystal clear water, eat Greek food, and savour the very relaxed pace of life.
We had a lovely chat with Liam and his partner Marion. I didn’t tell him that I went to see Hothouse Flowers on multiple occasions in Cork city in the 1980s. I’m sure he gets plenty of that. But I probably should’ve mentioned how much I really enjoy his programme Cuan an Cheoil. There’s nothing I like better on a Sunday afternoon than to relax with one of the black and white videos on YouTube, listening to music and conversation in Irish.
The island of Paxos is small and the village of Loggos is really small, so it wasn’t all that surprising that we’d bump into the Irish musicians there for the festival. We met Muireann Nic Amhlaoibh on the beach and again, she seemed really pleased that we spoke Irish with her. And it was also lovely to see our friend Dónal O’Connor who we’ll be seeing again very soon at his excellent Belfast Tradfest.
It was really nice to have the opportunity to speak Irish with three excellent musicians, all from different Irish-speaking regions; Liam from Dublin, Muireann from the Aran Islands and West Kerry, and Donal from the Oriel region of county Louth.
We also saw Neil Finn. I didn’t say anything to him. I don’t know if he speaks any Irish.
Sunday, July 5th, 2026
My tuna brings all the cats to the yard 🐟🐈
Saturday, July 4th, 2026
On Paxos
Friday, June 26th, 2026
Mandolinists assemble!
Sunday, June 21st, 2026
It’s a beautiful day in Cobh.
Friday, June 19th, 2026
Slán, Baile Átha Cliath!
Friday, June 12th, 2026
The Field Guide to CSS Grid Lanes
This is a very handy playground for exploring the brand new masonry grid lanes layout.
Friday, June 5th, 2026
I had a thoroughly enjoyable three days of hosting UX London this week and met such lovely people at the event—thank you to everyone who came!
Saturday, May 23rd, 2026
Londoning
Friday, May 22nd, 2026
At the Royal College of Music Museum, where the new exhibit features thesession.org!
Monday, May 11th, 2026
WebKit Features for Safari 26.5 | WebKit
Fixed an issue on iOS and iPadOS where
datalistsuggestions were presented directly over the associated input, obscuring it.
Wednesday, April 29th, 2026
Two Paradigms for Enhancing HTML Tags | That HTML Blog
This really gets to the heart of one of the biggest benefits of HTML web components: composability. You can nest your regular markup inside multiple custom elements; something that is can’t do.
The other exciting approach doesn’t exist yet: custom attributes. Again, they’d be a great way of using composability to turbo-charge your existing HTML in all sorts of ways.
Thursday, April 23rd, 2026
HTML Video Poster Image: Enable Responsive Images and ALT Text for Poster by allowing a child IMG Element (with an optional Picture Element wrapper) to Control the Video Poster Image · Issue #10378 · whatwg/html
This is such a brilliant idea! Why not allow an img element inside video element in order to provide a responsive, accessible poster image?
Sunday, April 19th, 2026
Sunday session