The web on mobile

Here’s a post outlining all the great things you can do in mobile web browsers today: Your App Should Have Been A Website (And Probably Your Game Too):

Today’s browsers are powerhouses. Notifications? Check. Offline mode? Check. Secure payments? Yep, they’ve got that too. And with technologies like WebAssembly and WebGPU, web games are catching up to native-level performance. In some cases, they’re already there.

This is all true. But this post from John Gruber is equally true: One Bit of Anecdata That the Web Is Languishing Vis-à-Vis Native Mobile Apps:

I won’t hold up this one experience as a sign that the web is dying, but it sure seems to be languishing, especially for mobile devices.

As John points out, the problems aren’t technical:

There’s absolutely no reason the mobile web experience shouldn’t be fast, reliable, well-designed, and keep you logged in. If one of the two should suck, it should be the app that sucks and the website that works well. You shouldn’t be expected to carry around a bundle of software from your utility company in your pocket. But it’s the other way around.

He’s right. It makes no sense, but this is the reality.

Ten or fifteen years ago, the gap between the web and native apps on mobile was entirely technical. There were certain things that you just couldn’t do in web browsers. That’s no longer the case now. The web caught up quite a while back.

But the experience of using websites on a mobile device is awful. Never mind the terrible performance penalties incurred by unnecessary frameworks and libraries like React and its ilk, there’s the constant game of whack-a-mole with banners and overlays. What’s just about bearable in a large desktop viewport becomes intolerable on a small screen.

This is not a technical problem. This doesn’t get solved by web standards. This is a cultural problem.

First of all, there’s the business culture. If your business model depends on tracking people or pushing newsletter sign-ups, then it’s inevitable that your website will be shite on mobile.

Mind you, if your business model depends on tracking people, you’re more likely to try push people to download your native app. Like Cory Doctorow says:

50% of web users are running ad-blockers. 0% of app users are running ad-blockers, because adding a blocker to an app requires that you first remove its encryption, and that’s a felony (Jay Freeman calls this ‘felony contempt of business-model’).

Matt May brings up the same point in his guide, How to grey-rock Meta:

Remove Meta apps from your devices and use only the mobile web versions. Mobile apps have greater access to your personal data, provided the app requests those privileges, and Facebook and Instagram in particular (more so than WhatsApp, another Meta property) request the vast majority of those privileges. This includes precise GPS data on where you are, whether or not you are using the app.

Ironically, it’s the strength of the web—and web browsers—that has led to such shitty mobile web experiences. The pretty decent security model on the web means that sites have to pester you.

Part of the reason why you don’t see the same egregious over-use of pop-ups and overlays in native apps is that they aren’t needed. If you’ve installed the app, you’re already being tracked.

But when I describe the dreadful UX of most websites on mobile as a cultural problem, I don’t just mean business culture.

Us, the people who make websites, designers and developers, we’re responsible for this too.

For all our talk of mobile-first design for the last fifteen years, we never really meant it, did we? Sure, we use media queries and other responsive techniques, but all we’ve really done is make sure that a terrible experience fits on the screen.

As developers, I’m sure we can tell ourselves all sorts of fairy tales about why it’s perfectly justified to make users on mobile networks download React, Tailwind, and megabytes more of third-party code.

As designers, I’m sure we can tell ourselves all sorts of fairy tales about why intrusive pop-ups and overlays are the responsibility of some other department (as though users make any sort of distinction).

Worst of all, we’ve spent the last fifteen years teaching users that if they want a good experience on their mobile device, they should look in an app store, not on the web.

Ask anyone about their experience of using websites on their mobile device. They’ll tell you plenty of stories of how badly it sucks.

It doesn’t matter that the web is the perfect medium for just-in-time delivery of information. It doesn’t matter that web browsers can now do just about everything that native apps can do.

In many ways, I wish this were a technical problem. At least then we could lobby for some technical advancement that would fix this situation.

But this is not a technical problem. This is a people problem. Specifically, the people who make websites.

We fucked up. Badly. And I don’t see any signs that things are going to change anytime soon.

But hey, websites on desktop are just great!

Have you published a response to this? :

Responses

Hidde

was delighted to see the Rotterdam International Filmfestival announce they had ditched their app this year in favour of their website. Fine UX too

# Posted by Hidde on Wednesday, February 19th, 2025 at 3:57pm

Ondřej Pokorný

@adactio I did see a glimmer of hope that the “things are going to change” with the regulators in the EU and elsewhere going after big tech preferencing their proprietary app platforms, but it seems the monopolists will rather turn their own country into dictatorship before allowing anyone anywhere near their bonuses.

16 Shares

# Shared by Roel Groeneveld on Wednesday, February 19th, 2025 at 3:40pm

# Shared by Evil Jim O’Donnell on Wednesday, February 19th, 2025 at 4:14pm

# Shared by Paul Hebert on Wednesday, February 19th, 2025 at 4:14pm

# Shared by Nick Smith on Wednesday, February 19th, 2025 at 4:35pm

# Shared by Antoine Caron on Wednesday, February 19th, 2025 at 5:10pm

# Shared by Ian Ovenden on Wednesday, February 19th, 2025 at 6:07pm

# Shared by Joris on Wednesday, February 19th, 2025 at 6:52pm

# Shared by Jordi Sánchez on Wednesday, February 19th, 2025 at 8:08pm

# Shared by Drew Mochak on Wednesday, February 19th, 2025 at 10:26pm

# Shared by Nolan Lawson on Wednesday, February 19th, 2025 at 10:27pm

# Shared by westbrook on Wednesday, February 19th, 2025 at 10:51pm

# Shared by Christian Niklas on Wednesday, February 19th, 2025 at 11:47pm

# Shared by Kelson on Thursday, February 20th, 2025 at 1:44am

# Shared by 𝕮 on Thursday, February 20th, 2025 at 2:36am

# Shared by mrtnvh on Thursday, February 20th, 2025 at 5:49am

# Shared by Michael König on Thursday, February 20th, 2025 at 4:13pm

34 Likes

# Liked by Molly B on Wednesday, February 19th, 2025 at 3:40pm

# Liked by Cassidy on Wednesday, February 19th, 2025 at 4:03pm

# Liked by Nate Flick on Wednesday, February 19th, 2025 at 4:03pm

# Liked by Jacob Bloom on Wednesday, February 19th, 2025 at 4:03pm

# Liked by Mirthe Valentijn on Wednesday, February 19th, 2025 at 4:14pm

# Liked by naz on Wednesday, February 19th, 2025 at 4:14pm

# Liked by Paul Hebert on Wednesday, February 19th, 2025 at 4:14pm

# Liked by Decarola on Wednesday, February 19th, 2025 at 4:35pm

# Liked by Ben Evans on Wednesday, February 19th, 2025 at 4:35pm

# Liked by mitten on Wednesday, February 19th, 2025 at 4:41pm

# Liked by Luke Dorny on Wednesday, February 19th, 2025 at 4:41pm

# Liked by Antoine Caron on Wednesday, February 19th, 2025 at 5:10pm

# Liked by Lisa on Wednesday, February 19th, 2025 at 5:10pm

# Liked by Charles Bauer on Wednesday, February 19th, 2025 at 5:48pm

# Liked by Ian Ovenden on Wednesday, February 19th, 2025 at 6:07pm

# Liked by Simon Foster on Wednesday, February 19th, 2025 at 6:52pm

# Liked by patrislav ♾️ #RIPNatenom on Wednesday, February 19th, 2025 at 7:27pm

# Liked by Jordi Sánchez on Wednesday, February 19th, 2025 at 8:08pm

# Liked by Bram Meehan on Wednesday, February 19th, 2025 at 8:55pm

# Liked by tired blip on Wednesday, February 19th, 2025 at 10:26pm

# Liked by 205TF on Wednesday, February 19th, 2025 at 10:31pm

# Liked by Víctor on Wednesday, February 19th, 2025 at 10:51pm

# Liked by Eric Jonathan Martin on Thursday, February 20th, 2025 at 12:40am

# Liked by Kelson on Thursday, February 20th, 2025 at 1:44am

# Liked by 𝕮 on Thursday, February 20th, 2025 at 2:36am

# Liked by Daniel Burka on Thursday, February 20th, 2025 at 4:42am

# Liked by Ell 🏳️‍⚧️ on Thursday, February 20th, 2025 at 6:20am

# Liked by Fatih Altinok on Thursday, February 20th, 2025 at 7:44am

# Liked by Arby on Thursday, February 20th, 2025 at 12:07pm

# Liked by h_m_m on Thursday, February 20th, 2025 at 1:50pm

# Liked by Troels Thomsen on Thursday, February 20th, 2025 at 5:32pm

# Liked by John Loughlin on Thursday, February 20th, 2025 at 8:39pm

# Liked by Jack Rusher on Thursday, February 20th, 2025 at 8:49pm

# Liked by Maxi 10x 💉 on Friday, February 21st, 2025 at 6:13am

Related posts

Progressively enhancing maps

How I switched to high-resolution maps on The Session without degrading performance.

Going Offline is online …for free

Read the book I wrote about service workers. It’s all yours.

Docks and home screens

Apple is doing fantastic work with websites on their desktop computers …and awful with websites on their mobile devices.

Fidinpamp

A small-scale conspiracy theory from the innards of Google.

Rotten Apple

Apple are planning to kill mobile web apps. This is not an exaggeration. We must stop them.

Related links

Website Speed Test

Here’s a handy free tool from Calibre that’ll give your website a performance assessment.

Tagged with

An Abridged History of Safari Showstoppers - Webventures

In an earlier era, startups could build on the web and, if one browser didn’t provide the features they needed, they could just recommend that their users try a better one. But that’s not possible on iOS.

I’m extremly concerned about the newest bug in iOS 18:

On-screen keyboard does not show up for installed web apps (PWAs) when focusing a text input of any kind

Whaa? That’s just shockingly dreadful!

Tagged with

Introducing TODS – a typographic and OpenType default stylesheet | Clagnut by Richard Rutter

This is a very handy piece of work by Rich:

The idea is to set sensible typographic defaults for use on prose (a column of text), making particular use of the font features provided by OpenType. The main principle is that it can be used as starting point for all projects, so doesn’t include design-specific aspects such as font choice, type scale or layout (including how you might like to set the line-length).

Tagged with

Untapped – Using Simple Tools as a Radical Act of Independence

It would be much harder for a 15-year-old today to View Source and understand the code structure that built the website they’re on. Every site is layered with analytics, code snippets, javascript plugins, CMS data, and more.

This is why the simplicity of HTML and CSS now feels like a radical act. To build a website with just these tools is a small protest against platform capitalism: a way to assert sustainability, independence, longevity.

Tagged with

Standing still - a performance tinker | Trys Mudford

What Trys describes here mirrors my experience too—it really is worth occasionally taking a little time to catch the low-hanging fruit of your site’s web performance (and accessibility):

I’ve shaved nearly half a megabyte off the page size and improved the accessibility along the way. Not bad for an evening of tinkering.

Tagged with

Previously on this day

1 year ago I wrote Speedier tunes

Improving performance with containment.

2 years ago I wrote These were my jams

Reminiscing about This Is My Jam.

4 years ago I wrote Design engineer

It’s snappier than front-of-the-front-end developer.

6 years ago I wrote Interaction 19

Making the best of a so-so conference.

9 years ago I wrote Enhance! Conf!

The first conference dedicated to progressive enhancement.

9 years ago I wrote New edition

The second edition of HTML5 of Web Designers

15 years ago I wrote Music::Business

Three ages of lunacy.

16 years ago I wrote Rambling

Speaking and travelling.

17 years ago I wrote Fanning the flames

Version targeting again. And again. And again.

21 years ago I wrote iLove the iLife I iLive

On Monday, I placed an order at the Apple Store online. The delivery time was estimated at three to seven working days. My order showed up within 48 hours.

22 years ago I wrote Planes, trains and broadband

This live, literally on-air, description of Lufthansa’s experimental flights with broadband access mirrors my own frustrations with the ludicrous idea of using a pop-up window as a control mechanism:

23 years ago I wrote Ch-ch-ch-changes

I think it’s high time we had a new CSS theme here to brighten the place up a little.

23 years ago I wrote Mac voyeurs

ZDNet has created a monster.