S.O.N.A.I.S.

Get notified of new strips through push notifications (BETA)

This Browser's Subscription Status busy indicator

About

In these days of short attention spans and people expecting machines to do all the work for them, I reckon it would make sense to provide web push notifications when a new S.O.N.A.I.S. webcomic strip is published. It has almost costed me my sanity to implement this, but here it is.
The BETA label means this is likely to contain bugs and not behave according to my quality standards. Given the current state of how web push notifications are handled across different platforms, I'm afraid I will not be able to remove the BETA label in the foreseeable future, if ever.

Instructions

In a nutshell: open this page on the device where you want to receive the notifications. On mobile devices, it is mandatory (in iOS), or at least recommended, to install this as an ‘app’ on your home screen (a so-called PWA, more info below). On desktops/laptops, I recommend not to deploy the PWA.
If you need/want the PWA, open it and then press the Subscribe button inside it. Otherwise, just press the Subscribe button in your regular browser.

Unfortunately the current state of push notifications is still shrouded in black magic and arcane rituals—not only for developers, but also for users. However, I expect anyone who reads this comic to be geeky enough to figure it out. If you are unfamiliar with push notifications, I'm sorry to say that you will have to read through the entire pile of text below, to have any chance of the notifications working and not breaking after a while. Welcome to the Internet anno 2024.

Remarks

Troubleshooting

Why is this so complicated?

If this all seems terribly complicated and confusing, that's because it is. The web push ‘standard’ is an organically grown atrocity of which every device/browser vendor has a different interpretation. And, you don't even want to know what it took to get all this working from a developer point-of-view. When I started working on this, I thought it would be relatively straightforward to implement, but oh boy, was that a naïve idea. A guide on StackOverflow summarises it well:

One Does Not Simply Implement Push Notifications

I almost lost my sanity on this, but now I do have something that should work… usually. Someday, I might write a guide that tries to summarise all the wisdom I have gathered, because the only things I have found so far were piecewise bits of info. Nobody gives a good overview of all the pitfalls when implementing something like this in a way that goes beyond doing the typical thing of cluelessly deploying an overly complicated framework and then sprinkling it with some magic JSON copied from a YouTube video or ChatGPT.

There seem to be proposals to make web push messaging less of a pain to implement and use, but for the time being, this is how it is.

Back to the comic