102

sparkline

Wednesday, October 16th, 2024

Docks and home screens

Back in June I documented a bug on macOS in how Spaces (or whatever they call they’re desktop management thingy now) works with websites added to the dock.

I’m happy to report that after upgrading to Sequoia, the latest version of macOS, the bug has been fixed! Excellent!

Not only that, but there’s another really great little improvement…

Let’s say you’ve installed a website like The Session by adding it to the dock. Now let’s say you get an email in Apple Mail that includes a link to something on The Session. It used to be that clicking on that link would open it in your default web browser. But now clicking on that link opens it in the installed web app!

It’s a lovely little enhancement that makes the installed website truly feel like a native app.

Websites in the dock also support the badging API, which is really nice!

Like I said at the time:

I wonder if there’s much point using wrappers like Electron any more? I feel like they were mostly aiming to get that parity with native apps in having a standalone application launched from the dock.

Now all you need is a website.

The biggest issue remains discovery. Unless you already know that it’s possible to add a website to the dock, you’re unlikely to find out about it. That’s why I’ve got a page with installation instructions on The Session.

Still, the discovery possibilities on Apples’s desktop devices are waaaaay better than on Apple’s mobile devices.

Apple are doing such great work on their desktop operating system to make websites first-class citizens. Meanwhile, they’re doing less than nothing on their mobile operating system. For a while there, they literally planned to break all websites added to the homescreen. Fortunately they were forced to back down.

But it’s still so sad to see how Apple are doing everything in their power to prevent people from finding out that you can add websites to your homescreen—despite (or perhaps because of) the fact that push notifications on iOS only work if the website has been added to the home screen!

So while I’m really happy to see the great work being done on installing websites for desktop computers, I’m remain disgusted by what’s happening on mobile:

At this point I’ve pretty much given up on Apple ever doing anything about this pathetic situation.

Monday, September 30th, 2024

The secret power of a blog – Tracy Durnell’s Mind Garden

If you only write when you’re sure you’ll produce brilliance, you’ll never write.

Thursday, September 26th, 2024

Coming home | A Working Library

While one of the reasons oft declared for using POSSE is the ability to own your content, I’m less interested in ownership than I am in context. Writing on my own site has very different affordances: I’m not typing into a little box, but writing in a text file. I’m not surrounded by other people’s thinking, but located within my own body of work. As I played with setting this up, I could immediately feel how that would change the kinds of things I would say, and it felt good. Really good. Like putting on a favorite t-shirt, or coming home to my solid, quiet house after a long time away.

Mandy’s writing positively soars and sings in this beautiful piece!

Saturday, June 15th, 2024

Wednesday, June 12th, 2024

Web App install API

My bug report on Apple’s websites-in-the-dock feature on desktop has me thinking about how starkly different it is on mobile.

On iOS if you want to add a website to your home screen, good luck. The option is buried within the “share” menu.

First off, it makes no sense that adding something to your homescreen counts as sharing. Secondly, how is anybody supposed to know that unless they’re explicitly told.

It’s a similar situation on Android. In theory you can prompt the user to install a progressive web app using the botched BeforeInstallPromptEvent. In practice it’s a mess. What it actually does is defer the installation prompt so you can offer it a more suitable time. But it only works if the browser was going to offer an installation prompt anyway.

When does Chrome on Android decide to offer the installation prompt? It’s a mix of required criteria—a web app manifest, some icons—and an algorithmic spell determined by the user’s engagement.

Other browser makers don’t agree with this arbitrary set of criteria. They quite rightly say that a user should be able to add any website to their home screen if they want to.

What we really need is an installation API: a way to programmatically invoke the add-to-homescreen flow.

Now, I know what you’re going to say. The security and UX implications would be dire. But this should obviously be like geolocation or notifications, only available in secure contexts and gated by user interaction.

Think of it like adding something to the clipboard: it’s something the user can do manually, but the API offers a way to do it programmatically without opening it up to abuse.

(I’d really love it if this API also had a declarative equivalent, much like I want button type="share" for the Web Share API. How about button type="install"?)

People expect this to already exist.

The beforeinstallprompt flow is an absolute mess. Users deserve better.

Wednesday, June 5th, 2024

Home-Cooked Software and Barefoot Developers

A very thought-provoking presentation from Maggie on how software development might be democratised.

Monday, April 8th, 2024

Sunday, March 3rd, 2024

Apple backs off killing web apps, but the fight continues - Open Web Advocacy

Hallelujah! Apple have backed down on their petulant plan to sabatoge homescreen apps.

I’m very grateful to the Open Web Advocacy group for standing up to this bullying.

Wednesday, February 28th, 2024

Small dents in the IndieWeb · Paul Robert Lloyd

Paul has been doing so much fantastic work with the indie web community, not least of which is co-organising Indie Web Camp Brighton—just ten days away now!

Tuesday, February 27th, 2024

Home Screen Advantage - Infrequently Noted

This is exactly what it looks like: a single-fingered salute to the web and web developers.

Read Alex’s thorough explanation of the current situation and then sign this open letter.

Cupertino’s not just trying to vandalise PWAs and critical re-engagement features for Safari; it’s working to prevent any browser from ever offering them on iOS. If Apple succeeds in the next two weeks, it will cement a future in which the mobile web will never be permitted to grow beyond marketing pages for native apps.

Also, remember this and don’t fall for it:

Apple apparently hopes it can convince users to blame regulators for its own choices.

Saturday, February 17th, 2024

Manton Reece - Apple is twisting the truth

When it benefits Apple, they take the DMA requirements much further than intended. When it doesn’t benefit them, they lean back on the “integrity” of iOS and barely comply at all.

Rotten Apple

The European Union’s Digital Markets Act is being enforced and Apple aren’t happy about it.

Most of the discussion around this topic has centred on the requirement for Apple to provision alternative app stores. I don’t really care about that because I don’t really care about native apps. With one exception: I care about web browsers.

That’s the other part of the DMA that’s being enforced: Apple finally have to allow alternative browsing engines. Hallelujah!

Instead of graciously acknowledging that this is what’s best for users, Apple are throwing a tantrum.

First of all, they’re going to ringfence any compliance to users in the European Union. Expect some very interesting edge cases to emerge in a world where people don’t spent their entire lives in one country.

Secondly, Apple keep insisting that this will be very, very bad for security. You can read Apple’s announcement on being forced to comply but as you do you so, I’d like you to remember one thing: every nightmare scenario they describe for the security of users in the EU is exactly what currently happens on Macs everywhere in the world.

This includes risks from installing software from unknown developers that are not subject to the Apple Developer Program requirements, installing software that compromises system integrity with malware or other malicious code, the distribution of pirated software, exposure to illicit, objectionable, and harmful content due to lower content and moderation standards, and increased risks of scams, fraud, and abuse.

Users of macOS everywhere are currently exposed to all the risks that will supposedly overwhelm iOS users in the European Union. Weirdly, the sky hasn’t fallen.

It’s the same with web browsers. I just got a new Mac. It came with one browser pre-installed: Safari. It’s a good browser. But I also have the option of installing another browser, like Firefox (which I’ve done). A lot of people just use Safari. That’s good. That’s choice. Everyone wins.

Now Apple need to provide parity on iOS, at least for users in the EU. Again, Apple are decribing this coming scenario as an absolute security nightmare. But again, the conditions they’re describing are what already exist on macOS.

All Apple is being asked to do is offer than the same level of choice on mobile that everyone already enjoys on their computers. Rather than comply reasonably, Apple have found a way to throw their toys out of the pram.

As of the next update to iOS, users in the EU will no longer have homescreen apps. Those web apps will now launch in a browser window. Presumably they’ll also lose the ability to send push notifications: being a homescreen app was a prerequisite for that functionality.

This is a huge regression that only serves to harm and confuse users.

I have a website about traditional Irish music. Guess where a significant amount of the audience is based? That’s right: Ireland. In the European Union.

There is no native app for The Session, but you can install it on your phone nonetheless. Lots of people have done that. After a while they forget that they didn’t install it from an app store: it behaves just like any other app on their homescreen.

That’s all about to change. I’m going to get a lot of emails from confused users wondering why their app is broken, now opening in a regular browser window. And I won’t be able to do anything about it, other than to tell them to take it up with Apple.

Presumably Apple is hoping that users will direct their anger at the EU commission instead. They’re doing their best to claim that they’re being forced to make this change. That’s completely untrue. A lie:

This is emphatically not required by the EU’s Digital Markets Act (DMA). It’s a circumvention of both the spirit and the letter of the Act, and if the EU allows it, then the DMA will have failed in its aim to allow fair and effective browser and web app competition.

Throughout all their communications on this topic, Apple are sticking to their abuser logic:

Look what you made me do!

This is going to hurt me more than it hurts you.

Apple’s petulant policy of malicious compliance is extremely maddening. What they’re about to do to users in the EU is just nasty.

This is a very dark time for the web.

I feel bad for the Safari team. They’ve been working really hard recently to make Safari a very competitive browser with great standards support with a quicker release cycle than we’ve seen before. Then it all gets completely torpedoed at the level of the operating system.

I really hope that Apple won’t get away with their plan to burn down web apps on iOS in the EU. But hope isn’t enough. We need to tell the EU commission how much damage this will do.

If you’ve ever built a web app, then your users will suffer. Remember, it’s a world wide web, including the European Union.

Create a PDF with the following information:

  • Your company’s name.
  • Your name.
  • That your company operates or services the EU.
  • How many users your service has in the EU (approximately).
  • The level of impact this will have on your business.
  • The problems this will cause your business.
  • Whether or not the submission is confidential.

The submission can be as short or long as you want. Send it to [email protected], ideally before Monday, February 19th.

I know that’s a lot to ask of you on your weekend, but this really matters for the future of the web.

At the very least, I encourage to get involved with the great work being done by the Open Web Advocacy group. They’re also on Discord.

Please don’t let Apple bully an entire continent of users.

Thursday, February 15th, 2024

Apple on course to break all Web Apps in EU within 20 days - Open Web Advocacy

I don’t like to assume the worst and assign vindictitive motives to people, but what Apple is doing here is hard to read as anything other than petulant and nasty …and really, really bad for users.

If you’ve ever made a progressive web app, please fill in this survey.

Tuesday, January 30th, 2024

Web Push on iOS - 1 year anniversary - Webventures

Web Push on iOS is nearing its one year anniversary. It’s still mostly useless.

Sad, but true. And here’s why:

On iOS, for a website to be able to ask the user to grant the push notification permission, it needs to be installed to the home screen.

No other browser on any of the other platforms requires you to install a website for it to be able to send push notifications.

Apple is within their rights to withhold Web Push to installed apps. One could argue it’s not even an unreasonable policy - if Apple made installing a web app at least moderately straightforward. As it is, they have buried it and hidden important functionality behind it.

I really, really hope that the Safari team are reading this.

Tuesday, December 26th, 2023

Books I read in 2023

I read 25 books in 2023. That’s exactly the same amount that I read in 2022.

15 of the 25 books were written by women—a bit of a dip from last year.

I read a lot more fiction than non-fiction this year. I’m okay with that.

There was plenty of sci-fi as usual, but 2023 was also the year I went down a rabbit hole of reading retellings of the Homeric epics. I’ve had a copy of The Odyssey on my coffee table while I’ve been diving into the works of Madeline Miller, Natalie Haynes, Pat Barker, and more. I’m really enjoying this deep dive and I don’t intend to stop anytime soon.

It’s funny; reading different takes on the same characters and interweaving storylines is kind of like dipping into the Marvel Cinematic Universe, just a few millennia older. In some ways, it feels like reading fantasy, but as Ursula Le Guin points out, things aren’t so black and white:

The Trojan war is not and you cannot make it be the War of Good vs. Evil. It’s just a war, a wasteful, useless, needless, stupid, protracted, cruel mess full of individual acts of courage, cowardice, nobility, betrayal, limb-hacking-off, and disembowelment. Homer was a Greek and might have been partial to the Greek side, but he had a sense of justice or balance that seems characteristically Greek—maybe his people learned a good deal of it from him? His impartiality is far from dispassionate; the story is a torrent of passionate actions, generous, despicable, magnificent, trivial. But it is unprejudiced. It isn’t Satan vs. Angels. It isn’t Holy Warriors vs. Infidels. It isn’t hobbits vs. orcs. It’s just people vs. people.

I’ve been reading some Ursula Le Guin this year too, and that’s something else I intend to keep on doing. Like the retellings of Troy, her work just keeps on giving.

Anyway, in my usual manner, here’s my end-of-year summary of what I’ve read, along with a pointless rating out of five.

To recap, here’s my scoring system:

  • One star means a book is meh.
  • Two stars means a book is perfectly fine.
  • Three stars means a book is a good—consider it recommended.
  • Four stars means a book is exceptional.
  • Five stars is pretty much unheard of.

The Star Of The Sea by Joseph O’Connor

A nautical tale of The Great Hunger. It’s a tricky subject but this book mostly tackles it well. It’s fairly dripping in atmosphere.

★★★☆☆

Who Fears Death by Nnedi Okorafor

Another rivetting tale from Nnedi Okorafor, this one set in a world that seems quite different from ours, where magic is a powerful force.

★★★☆☆

The Rosewater Insurrection by Tade Thompson

The second book in the trilogy—this time it’s war. Once again, the setting and the vibe are unlike any other alien invasion story. I’m looking forward to reading the final installment.

★★★☆☆

Understanding Privacy by Heather Burns

On the one hand, this book feels like homework because it really is required reading for any web designer or developer. On the other hand, Heather does an excellent job in making what could be a very dry topic as interesting as possible. The contrasts between the US and Europe are particulary eye-opening.

★★★☆☆

Children Of Time by Adrian Tschaikovsky

Absolutely top-notch hard sci-fi! It feels like two of the biggest characters in the book are time and evolution. For a tale that’s told over thousands of years, the pace never lets up. Now I get why this book won so many awards. It’s quite a feat of story-telling. I loved it!

★★★★☆

The Hacker Crackdown: Law and Disorder on the Electronic Frontier by Bruce Sterling

A fairly by-the-numbers retelling of the early days of computer hackers. To be honest, I found the pre-computer part (detailing telephone hacks) to be the most interesting bit.

★★☆☆☆

Circe by Madeline Miller

Everyone was going on about how great this book was so my expectations were high. They were exceeded. This book is just wonderful. When I finished it, I found myself craving more. That set me on the path of reading other retellings of Homeric characters, but none of them could quite match the brilliance of Circe.

★★★★☆

Make Something Wonderful: Steve Jobs in his own words by The Steve Jobs Archive

An assembly of speeches, memos, and emails. It’s refreshingly un-hagiographic, given the publisher. And of course it’s beautifully typeset.

★★★☆☆

The Song Of Achilles by Madeline Miller

After reading and loving Circe, I went back to Madeline Miller’s previous story of the Trojan War. The Song Of Achilles didn’t quite match Circe for me, but it came very close. Once again, everything is described vividly and once again, it stayed with me long after I finished reading it.

★★★★☆

A Thousand Ships by Natalie Haynes

Another retelling of the Trojan war. This is an episodic book that weaves its threads together nicely. Sometimes it’s a little on-the-nose about its intentions but it mostly works very well.

★★★☆☆

Rocannon’s World by Ursula K. Le Guin

Le Guin’s first novel is far from her best work but it’s still better than most sci-fi. A good planetary romance.

★★★☆☆

The Intelligence Illusion by Baldur Bjarnason

Refreshingly level-headed and practical. If you work somewhere that’s considering using generative tools built on large language models, read this before doing anything.

★★★☆☆

Planet Of Exile by Ursula K. Le Guin

The second of Le Guin’s Hainish books. Another planetary romance that’s perfectly fine but not in the same league as her later work.

★★★☆☆

City Of Illusions by Ursula K. Le Guin

The third of the Hainish novels, this one gets pretty trippy. I enjoyed the sensation of not knowing what was going on (much like the protaganist).

★★★☆☆

Babel by R.F. Kuang

This was such a frustrating read! On the one hand, the world-building as absolutely superb. The idea of magic being driven translation is brilliant. So is the depiction of a British empire that exploits and colonises foreign languages. But then the characters in this world are not well realised. The more the book went on, the less believable they seemed.

There’s also a really strange disconnect in the moods of the book; one minute it’s gritty revolutionary fare, the next it’s like Harry Potter goes to Oxford.

It didn’t work for me. And I know that my opinion can be easily dismissed as that of a mediocre middle-aged white man, but I really wanted to like this. I was totally on board with the politics of the book, but the way it hammered me over the head constantly didn’t do it any favours.

A message like “racism is bad” or “colonialism is bad” might work as subtext, but here, where it’s very much the text-text, it doesn’t succeed.

★★☆☆☆

That Old Country Music by Kevin Barry

A collection of short stories set in the west of Ireland. Good stuff.

★★★☆☆

The Silence Of The Girls by Pat Barker

Back to the Trojan war in the first of a series by Pat Barker. She takes a naturalistic tone with the dialogue, modernising it. It works quite well. By this time, having read Madeline Miller’s The Song Of Achilles and Natalie Hayne’s A Thousand Ships, I really felt like I was looking at the same series of events from different angles.

★★★☆☆

An Immense World by Ed Yong

Another great accessible science book from Ed Yong, this time about senses in the animal world. It sometimes feels a bit like a series of articles rather than a single book, but when the articles are this good, that’s absolutely fine.

★★★☆☆

The Water Knife by Paolo Bacigalupi

Okay, this might get a bit ranty…

The plot and the writing style in this book are perfectly fine, gripping even. It’s got that Gibsonesque structure of having two or three different characters in very different settings being propelled towards an inevitable meeting point (it happens pretty much exactly at the half-way point in this book).

But this is a cli-fi book that fails. It will not encourage anyone to take action other than turn into a doomer. Instead of asking what the future might actually be like, it instead asks “what’s the absolute worst that could happen?” Frankly, it’s a cop-out.

The book takes a similar tack with its characters. It assumes everyone’s terrible and will do terrible things. It’s lazy.

So you’ve got an unrelenting series of people behaving terribly in a horrific setting. It gets boring.

I was trying to cut the book some slack, but when there was a rare scene of actual consensual sex, it quickly turned into an adolescent male fantasy.

Reading this was like reading the opposite of Kim Stanley Robinson. Avoid.

★★☆☆☆

The Women Of Troy by Pat Barker

Back to Troy we go for the second in Pat Barker’s series. More good stuff.

★★★☆☆

How to Make the World Add Up: Ten Rules for Thinking Differently About Numbers by Tim Harford

A recommendation from Chris. He thought I’d enjoy this and he was not wrong. Tim Harford strikes just the right tone as he relays stories of statistics gone wrong as well as statistics done right.

★★★☆☆

Translation State by Ann Leckie

I’ll read anything by Ann Leckie. I loved her Imperial Radch series and this book is set in the same universe. There’s a strange juxtaposition of body horror in places with a Becky Chambers style cosiness. It’s partly a courtroom drama, but one where the courtroom gets very dramatic indeed. And there are lots of questions around identity and belonging. I liked it.

★★★☆☆

Trespasses by Louise Kennedy

Full disclosure: the author is a cousin of a friend of mine. She told me how much of this book was based on actual family history. It’s set in Belfast in the 70s and it is very vivid in a very kitchen-sink kind of way. It feels all-too real. Recommended.

★★★☆☆

Children Of Ruin by Adrian Tchaikovsky

The sequel to Children Of Time doesn’t quite hit the same high bar, but it’s still an excellent rip-roaring space adventure that continues the themes of evolution and time. Thoroughly enjoyable.

★★★☆☆

Clytemnestra by Costanza Casati

My final foray to ancient Greece for the year. This is a debut novel that’s absolutely on par with the other Homeric writers I’ve been reading. Even though you know where things are headed, you can’t turn away. In other words, it’s a classic Greek tragedy.

★★★☆☆

Extra(ordinary) People by Joanna Russ

I had’t read any Joanna Russ before, which was something I’ve been meaning to rectify. I picked up a second-hand copy of this slim volume of short stories that was published by The Women’s Press back in the 80s but which is now out of print. Stories are vaguely connected and they all explore identity, gender, disguises and passing. But it’s the opening award-winning story Souls that’s the real stand-out. Well worth reading.

★★★☆☆

So that was my reading year. There were some disappointments in the sci-fi category, with both Babel and The Water Knife, but generally the quality was high.

I didn’t really read enough non-fiction to choose a best one of the year.

When it came to fiction, there was a clear winner: Circe by Madeline Miller.

If you fancy reading any of the books I’ve reviewed here, there’s a list of them on bookshop.org. Or go to your local library.

If you’re interested in my round-ups from previous years, here they are:

Thursday, December 7th, 2023

The personality of a personal website – Manu

Personal sites—and, more broadly, our digital lives—are a mirror of who we are. Some of us will try to neatly organize everything under one hyper-curated digital roof while others will scatter things around on 12 different domains and 24 services. Some will design a site for themselves and not touch it again for a decade while others will feel the need to redesign every 6 months. Those are all right answers to a question that doesn’t have wrong answers.

Monday, April 24th, 2023

Remote

Before The Situation, I used to work in the Clearleft studio quite a bit. Maybe I’d do a bit of work at home for an hour or two before heading in, but I’d spend most of my working day with my colleagues.

That all changed three years ago:

Clearleft is a remote-working company right now. I mean, that’s hardly surprising—just about everyone I know is working from home.

Clearleft has remained remote-first. We’ve still got our studio space, though we’ve cut back to just having one floor. But most of the time people are working from home. I still occasionally pop into the studio—I’m actually writing this in the studio right now—but mostly I work out of my own house.

It’s funny how the old ways of thinking have been flipped. If I want to get work done, I stay home. If I want to socialise, I go into the studio.

For a lot of the work I do—writing, podcasting, some video calls, maybe some coding—my home environment works better than the studio. In the Before Times I’d have to put on headphones to block out the distractions of a humming workplace. Of course I miss the serendipitous chats with my co-workers but that’s why it’s nice to still have the option of popping into the studio.

Jessica has always worked from home. Our flat isn’t very big but we’ve got our own separate spaces so we don’t disturb one another too much.

For a while now we’ve been thinking that we could just as easily work from another country. I was inspired by a (video) chat I had with Luke when he casually mentioned that he was in Cypress. Why not? As long as the internet connection is good, the location doesn’t make any difference to the work.

So Jessica and I spent the last week working in Ortygia, Sicily.

It was pretty much the perfect choice. It’s not a huge bustling city. In fact it was really quiet. But there was still plenty to explore—winding alleyways, beautiful old buildings, and of course plenty of amazing food.

The time difference was just one hour. We used the extra hour in the morning to go to the market to get some of the magnificent local fruits and vegetables to make some excellent lunches.

We made sure that we found an AirBnB place with a good internet connection and separate workspaces. All in all, it worked out great. And because we were there for a week, we didn’t feel the pressure to run around to try to see everything.

We spent the days working and the evenings having a nice sundowner appertivo followed by some pasta or seafood.

It was simultaneously productive and relaxing.

Thursday, February 23rd, 2023

People do use Add to Home Screen – Firefox UX

Oh no! My claim has been refuted by a rigourous scientific study of …checks notes… ten people.

Be right back: just need to chat with eleven people.

Sunday, February 19th, 2023

A pretty sweet push notification solution for mobile Safari

An entire generation of apps-that-should-have-been web pages has sprung up, often shoehorned into supposedly cross-platform frameworks that create a subpar user experience sludge. Nowhere is this more true than for media — how many apps from newspapers or magazines have you installed, solely for a very specific purpose like receiving breaking news alerts? How many of those apps are just wrappers around web views? How many of those apps should have been web pages?

Web Push on iOS requires installing the web app - Webventures

Instead of doing what the competing browsers are doing (and learning from years of experience of handling Web Push), Apple decided to reinvent a wheel here. What they’ve turned up with looks a lot more like a square.