Are PWAs Just Adding to our Pop Up Problem?

Xavi Beumala
Marfeel Labs
Published in
5 min readJun 8, 2018

Dear browsers,

Can we please find a better way to manage all these pop ups I have to close before I can read a word from the page I’m trying to load?

I mean, I get it. Some of them are designed to give me a better browsing experience with “nice” things like the option to translate the page or opting in for push notifications, but even though I haven’t performed an official poll, I think it’s safe to say it’s starting to piss the average user off. This issue isn’t even isolated to specific browsers and operating systems; it affects all of them.

Let’s take a closer look at all the different pop ups the average reader can now expect to see when they land on page:

  1. If their OS is configured in English and they visit any non-English site, there’s a pop up offering to translate the page.
  2. In the European Union, you used to get the mandatory cookie policy. Since GDPR came in with a bang last month, now you get a consent pop up for all traffic in the European Economic Area. That means even if you’re in the US and visit the Guardian for example, you’ll see a consent dialogue.
  3. Then an interstitial comes up to block rendering and forces me to close another pop up.
  4. There’s also stickies, which aren’t exactly pop ups but they might as well be.
  5. Everyone now has a native app so you can expect to see the native app install banner at the top of the screen.
  6. An opt in for push notifications on the web.
  7. Then the option to add the site to my home screen.
  8. And lastly, if navigating on desktop, throw in the Save to Desktop feature for good measure.

This, all as you land. Before you’ve had a chance to read a word or genuinely interact with the page and register an event that doesn’t involve the close button. By this point, you’ve either forgotten why you first navigated there or maybe even just abandoned the session altogether.

Just an example. App install banner + interstitial + sticky on landing

How did the browser vendors let this happen? And why aren’t they doing more to regulate it?

Some of these pop ups are a consequence of legal requirements like GDPR compliance. Others are APIs that browsers are pushing for like service workers.

The problem here stems from each browser vendor having different strategies for different APIs. There’s zero cohesion and a complete lack of a shared throttled or metered strategy to promote a clean and organic UX. And that’s how we’ve gotten to the current state we find ourselves in: pop up, after pop up, after pop up.

This isn’t an original thought. The dev community has also been making a lot of noise around this. Just last week at JSConf EU in Berlin, new capabilities adding to the myriad of noise (like push notification opt ins) was in the spotlight.

What needs to be done

While there is little reasoning to why the browsers aren’t managing this cascade of pop ups better, there’s a lot more they could, and should be doing.

Metered APIs based on priority and engagement

The APIs that control these popups need to be throttled by the browser so they are exposed to users based on priority and user fidelity. The dialogues that are required by law should obviously take precedence, followed by a regulated order for the opt-ins for personalized engagement features like push notifications, translation, and adding the site to the home screen or desktop.

For any traffic in the EU, GDPR compliant consent mechanisms must be shown by law to first-time visitors. All browser vendors should prioritize this pop up and delay the others to relax the reader.

They should then work together to define a controlled strategy for triggering the other APIs based on a shared threshold of engagement metrics like the number of visits before displaying specific pop ups, time between visits, etc.

Should the option to download the native app be shown on the first page view right before an interstitial? Probably not.

Yes, several of these APIs add value to the users that are loyal to a specific brand, but they’re being implemented irresponsibly without any help or direction from browser vendors. For example, Phil Nash makes an excellent point in his blog piece Permissions on the Web Suck. Nash advocates for more context to nurture push notifications into the ecosystem, but is quick to point out that developers don’t have the opportunity to add this critical context in the PushManager API.

If not better managed, instead of contributing to the organic evolution of a better user experience, these capabilities that are supposed to add value will simply continue to diminish the elegant UX so many of us are constantly working towards.

How developers can help clean up the mess

While browser vendors need to provide the appropriate direction so we can be responsible developers, the web dev community needs to uphold and apply best practices when implementing these features that require dialogues.

Sticking with push notifications on the web for the moment, this has been sadly overlooked.

In the absence of a logical strategy that respects the reader, we’ve gotten greedy and implemented aggressive tactics that has left users feeling resentful to push notifications and globally disabling them.

Matt Gaunt offers solid patterns and principles to follow for push opt ins, covering all things from offering this feature when it makes sense (like, for example, not on the first page view of the first visit) and the use of a clear settings function for opt outs.

The browsers clearly have to do their part, but we as developers also have a responsibility to, you know, not make the internet suck.

--

--

Xavi Beumala
Marfeel Labs

Founder @Marfeel. Enthusiastic, passionate and enterpreneur. Principal architect html5, javascript, node, java