Painting heaven and hell
Tags: os
1608
Saturday, December 27th, 2025
Monday, December 22nd, 2025
Arizona
Wednesday, December 17th, 2025
Tunes and typefaces
In an Irish session, tunes are almost never played in isolation. They’re played in sets.
A set of tunes might be as few as two. More usually, it’s three or more.
It’s unusual to change from one tune type into another. You tend to get a set of jigs, or a set of reels, or a set of hornpipes. But it’s very common to change key within a set. In fact, that’s often where a good set really stands out. There can be a real joy at that moment of switching. You might get a “Hup!” from someone listening to the session at that changeover.
So how do you decide what tunes to play in a set?
There are no real rules to this. Some people make up the set on the fly. Or you might try playing a set that you’ve heard other people play, maybe on a recording you like.
On the one hand, you’re looking for contrast. You probably don’t want to play three tunes all in the same key. On the other hand, it’s nice when there’s some kind of connection between the tunes—something about the phrasing or emphasis perhaps.
Pairing tunes for sets always reminds me of pairing typefaces. You don’t want the body copy and the headlines to be too similar, but you do want them to share some quality.
In his classic book, On Web Typography, Jason says:
When it comes to choosing and pairing typefaces, I keep two things in mind: distinction and harmony. To keep the system you’ve created for visual communication properly balanced, you need to choose typefaces that don’t compete too much with each other, but aren’t so similar as to be indistinguishable.
The same could be said for pairing tunes in sets!
Jason also says:
As another approach, opt for typefaces that share the same maker.
That can work for sets of tunes too. While most tunes are traditional, with no known composer, the really good composed tunes have entered the canon.
I’ve taken Jason’s advice for typefaces and applied to sets by playing a set of tunes by Junior Crehan or a set of tunes by Vincent Broderick.
Mostly though, there’s no real system to it. Or at least, not one that can be easily articulated. Like Jason says:
And we’re back to that old chestnut about rules: there are many right answers, and no answers are really wrong; there are just different degrees of good.
Thursday, December 11th, 2025
Skip intro
There’s the old adage “nobody gets fired for buying IBM”. Or to put it more broadly, “everyone else is doing it.”
It’s dispiriting how often this explanation is given as justification for a dubious design decision, from home-page carousels to cookie banners.
Nic Chan has written a great post about designing a contact form and how the process was derailed by the client pointing to other people’s contact forms …even when they’ve got very, very different user needs.
It’s especially depressing when “everyone else is doing it” is used a substitute for any kind of accountability.
Building an email service that’s going to track when people click on links in an email? That sounds dodgy. On the other hand, everyone else is doing it.
Building a straightforward website, but making it a single-page app with client-side React that will be barely work on some devices and networks? That seems over-engineered. On the other hand, everyone else is doing it.
Sometimes the “everyone else is doing it” phenomenon leads to a chain reaction where nobody even knows why anyone ever did it in the first place.
Remember Flash? Remember when almost every website had a Flash intro? Everyone knew they were annoying and uneccessary, but everyone else was doing it.
Instead of getting rid of the intros, we got “skip intro” links instead. This link was guaranteed to have a 100% clickthrough rate.
I’ve noticed something similar with conference talks. So many of them begin with a little spiel about the speaker, their background, and their work experience.
This might be interesting information, but this isn’t the right time or place for it. It’s already on the conference website, in the conference programme, and has probably just been reiterated by the conference host who just introduced the speaker.
When I’ve asked why people do this, the responses generally come down to “everyone else is doing it.” It’s become an expected part of the conference talk, just like a Flash intro used to be an expected part of a website.
When I’m curating a conference, I like to send speakers some information to help them prepare their talk. Some of this is practical stuff, like the tech set-up. Some of it is guidance for the slides, like ensuring sufficient colour contrast. And then there’s this:
Please don’t begin your talk with an introduction about yourself and your work history. You’ll be introduced on stage so it would be a shame to just repeat all that again. Also, it just gets in the way of the actual content of your talk. No need to provide your bona-fides.
Personally, I just find it super cringe. That’s why I don’t do it if I’m giving a talk myself.
As a host however, it’s a big part of my job. It’s way less cringe to have someone else big you up before the talk then doing it yourself.
Tuesday, December 2nd, 2025
Tuesday session
Friday, November 28th, 2025
Belfast TradFest back in July.
Thursday, November 13th, 2025
Hanging out with Coco.
Wednesday, September 24th, 2025
Had cocido for lunch in Madrid yesterday and I’m still full today.
Monday, September 22nd, 2025
Adios, Cáceres!
Thursday, September 11th, 2025
Sitting out on the porch feasting on peel’n’eat shrimp, corn on the cob, and tomato salad.
Thursday, August 28th, 2025
Accessibility, performance, privacy, security, sustainability …some of the things I value more than “developer experience” when I’m working on thesession.org
Thursday, August 7th, 2025
Progressive web apps
There was a time when you needed to make a native app in order to take advantage of specific technologies. That time has passed.
Now you can do all of these things on the web:
- push notifications,
- offline storage,
- camera access,
- and more.
Take a look at the home screen on your phone. Looking at the apps you’ve downloaded from an app store, ask yourself how many of them could’ve been web apps.
Social media apps, airline apps, shopping apps …none of them are using technologies that aren’t widely available on the web.
“But”, you might be thinking, “it feels different having a nice icon on my homescreen that launches a standalone app compared to navigating to a bookmark in my web browser.”
I agree! And you can do that with a web app. All it takes the addition of one manifest file that lists which icons and colours to use.
If that file exists for a website, then once the user adds the website to their homescreen it will behave just like native app.
Try it for yourself. Go to instagram.com in your mobile browser and it to your homescreen (on the iPhone, you get to the “add to home screen” option from the sharing icon—scroll down the list of options to find it).
See how it’s now an icon on your home screen just like all your other apps? Tap that icon to see how it launches just like a native app with no browser chrome around it.
This doesn’t just work on mobile. Desktop browsers like Chrome, Edge, and Safari also allow you to install web apps straight from the browser and into your dock.
About half of the icons in my dock are actually web apps and I honestly can’t tell which is which. Mastodon, Instagram, Google Calendar, Google Docs …I’m sure most of those services are available as downloadable desktop apps, but why would I bother doing that when I get exactly the same experience by adding the sites to my dock?
From a business perspective, it makes so much sense to build a web app (or simply turn your existing website into a web app with the addition of a manifest file). No need for separate iOS or Android developer teams. No need to play the waiting game with updates to your app in the app store—on the web, updates are instant.
You can even use an impressive-sounding marketing term for this approach: progressive web apps:
A Progressive Web App (PWA) is a web app that uses progressive enhancement to provide users with a more reliable experience, uses new capabilities to provide a more integrated experience, and can be installed. And, because it’s a web app, it can reach anyone, anywhere, on any device, all with a single codebase. Once installed, a PWA looks like any other app, specifically:
- It has an icon on the home screen, app launcher, launchpad, or start menu.
- It appears when you search for apps on the device.
- It opens in a standalone window, wholly separated from a browser’s user interface.
- It has access to higher levels of integration with the OS, for example, URL handling or title bar customization.
- It works offline.
But there’s still one thing that native apps do better than the web. If you want to be able to monitor and track users to an invasive degree, the web can’t compete with the capabilities of native apps. That’s why you’ll see so many websites on your mobile device that implore to install their app from the app store.
If that’s not a priority for you, then you can differentiate yourself from your competitors by offering your users a progressive web app. Instead of having links to Apple and Google’s app stores, you can link to a page on your own site with installation instructions.
I can guarantee you that users won’t be able to tell the difference between a native app they installed from an app store and a web app they’ve added to their home screen.
Monday, August 4th, 2025
Monday session
You Should Probably Leave Substack | How to Leave Substack.
Substack willingly platforms and allows bad actors to monetize, hate speech and misinformation.
Says who?
Here are some well-reasoned pieces on the subject for you to educate yourself and decide.
Thursday, July 31st, 2025
Feeling a little verklemt at Belfast Trad Fest …thank you to everyone from thesession.org who made this possible!
Tuesday, July 22nd, 2025
Butlerian Jihad
This page collects my blog posts on the topic of fighting off spam bots, search engine spiders and other non-humans wasting the precious resources we have on Earth.
Friday, July 18th, 2025
Frame of preference – Aresluna
Marcin has outdone himself this time. Not only has he created an exhaustive history of the settings controls in Apple interfaces, he’s gone and made them all interactive!
While it’s easy to be blown away by the detail of the interactive elements here, it’s also worth taking a moment to appreciate just how good the writing is too.
Bravo!
Friday, July 11th, 2025
Friday morning session in Miltown
Wednesday, July 9th, 2025
Wednesday afternoon sessions at the Blondes
Tuesday, July 1st, 2025
Another lovely day in Donegal!