Neil & Buzz
A delightful dialogue …on the moon!
A delightful dialogue …on the moon!
On the first day of Indie Web Camp Berlin, I led a session on going offline with service workers. This covered all the usual use-cases: pre-caching; custom offline pages; saving pages for offline reading.
But on the second day, Sebastiaan spent a fair bit of time investigating a more complex use of service workers with the Push API.
The Push API is what makes push notifications possible on the web. There are a lot of moving parts—browser, server, service worker—and, frankly, it’s way over my head. But I’m familiar with the general gist of how it works. Here’s a typical flow:
Here’s what Sebastiaan wanted to investigate: what if that last step weren’t so intrusive? Here’s the alternate flow he wanted to test:
It worked.
I think this could be a real game-changer. I don’t know about you, but I’m very, very wary of granting websites the ability to send me push notifications. In fact, I don’t think I’ve ever given a website permission to interrupt me with push notifications.
You’ve seen the annoying permission dialogues, right?
In Firefox, it looks like this:
Will you allow name-of-website to send notifications?
[Not Now] [Allow Notifications]
In Chrome, it’s:
name-of-website wants to
Show notifications
[Block] [Allow]
But in actual fact, these dialogues are asking for permission to do two things:
There’s no way to ask for permission just to do the first part. That’s a shame. While I’m very unwilling to grant permission to be interrupted by intrusive notifications, I’d be more than willing to grant permission to allow a website to silently cache timely content in the background. It would be a more calm technology.
Think of the use cases:
Then when I’m on a plane, or in the subway, or in any other situation without a network connection, I could still visit these websites and get content that’s fresh to me. It’s kind of like background sync in reverse.
There’s plenty of opportunity for abuse—the cache could get filled with content. But websites can already do that, and they don’t need to be granted any permissions to do so; just by visiting a website, it can add multiple files to a cache.
So it seems that the reason for the permissions dialogue is all about displaying notifications …not so much about receiving push messages from the server.
I wish there were a way to implement this background-caching pattern without requiring the user to grant permission to a dialogue that contains the word “notification.”
I wonder if the act of adding a site to the home screen could implicitly grant permission to allow use of the Push API without notifications?
In the meantime, the proposal for periodic synchronisation (using background sync) could achieve similar results, but in a less elegant way; periodically polling for new content instead of receiving a push message when new content is published. Also, it requires permission. But at least in this case, the permission dialogue should be more specific, and wouldn’t include the word “notification” anywhere.
I know I’m biased because I work with Jerlyn, but I think this in-depth piece by her is really something! She suveys the design system landscape and proposes some lo-fi governance ideas based around good old-fashioned dialogue.
Developing a design system takes collaboration between the makers of the design systems and the different users of the system. It’s a continual process that doesn’t have to require a huge investment in new departments or massive restructuring.
It can start small.
We use too many damn modals.
Amen! This site offers some alternatives, or—if you really must use a modal dialogue—some dos and dont’s.
And remember to always ask, kids: “Why does this have to be a modal?”
This is easily the most relatable 100 Days project I’ve seen:
I began posting a daily dialogue with the little voice in my head who tells me I’m no good.
Now you can back already-funded the Kickstarter project to get the book …and a plush demon.
This whole “supercut” thing …you still don’t get it, do you?
Acceptable variations include “Get the hell out of there!” and “Get him/her/them out of there!”
A "barnacle app" that pulls out all the overheard quotes from Twitter.
Best. Dialogue box. Ever.
Check out the beautiful use of Rockwell in this typographical interpretation of a scene from Pulp Fiction.