Progressing the web

Frances has written up some of the history behind her minting of the term “progressive web app”. She points out that accuracy is secondary to marketing:

I keep seeing folks (developers) getting all smart-ass saying they should have been PW “Sites” not “Apps” but I just want to put on the record that it doesn’t matter. The name isn’t for you and worrying about it is distraction from just building things that work better for everyone. The name is for your boss, for your investor, for your marketeer.

Personally, I think “progressive web app” is a pretty good phrase—two out of three words in it are spot on. I really like the word “progressive”, with its echoes of progressive enhancement. I really, really like the word “web”. But, yeah, I’m one of those smart-asses who points out that the “app” part isn’t great.

That’s not just me being a pedant (or, it’s not only me being a pedant). I’ve seen people who were genuinely put off investigating the technologies behind progressive web apps because of the naming.

Here’s an article with the spot-on title Progressive Web Apps — The Next Step In Responsive Web Design:

Late last week, Smashing Magazine, one of the largest and most influential online publications for web design, posted on Facebook that their website was “now running as a Progressive Web App.”

Honestly, I didn’t think much of it. Progressive Web Apps are for the hardcore web application developers creating the next online cloud-based Photoshop (complicated stuff), right? I scrolled on and went about my day.

And here’s someone feeling the cognitive dissonance of turning a website into a progressive web app, even though that’s exactly the right thing to do:

My personal website is a collection of static HTML files and is also a progressive web app. Transforming it into a progressive web app felt a bit weird in the beginning because it’s not an actual application but I wanted to be one of the cool kids, and PWAs still offer a lot of additional improvements.

Still, it could well be that these are the exceptions and that most people are not being discouraged by the “app” phrasing. I certainly hope that there aren’t more people out there thinking “well, progressive web apps aren’t for me because I’m building a content site.”

In short, the name might not be perfect but it’s pretty damn good.

What I find more troubling is the grouping of unrelated technologies under the “progressive web app” banner. If Google devrel events were anything to go by, you’d be forgiven for thinking that progressive web apps have something to do with AMP or Polymer (they don’t). One of the great things about progressive web apps is that they are agnostic to tech stacks. Still, I totally get why Googlers would want to use the opportunity to point to their other projects.

Far more troubling is the entanglement of the term “progressive web app” with the architectural choice of “single page app”. I’m not the only one who’s worried about this.

Here’s the most egregious example: an article on Hacker Noon called Before You Build a PWA You Need a SPA.

No! Not true! Literally any website can be a progressive web app:

That last step can be tricky if you’re new to service workers, but it’s not unsurmountable. It’s certainly a lot easier than completely rearchitecting your existing website to be a JavaScript-driven single page app.

Alas, I think that many of the initial poster-children for progressive web apps gave the impression that you had to make a completely separate app/site at a different URL. It was like a return to the bad old days of m. sites for mobile. The Washington Post’s progressive web app (currently offline) went so far as to turn away traffic from the “wrong” browsers. This is despite the fact that the very first item in the list of criteria for a progressive web app is:

Responsive: to fit any form factor

Now, I absolutely understand that the immediate priority is to demonstrate that a progressive web app can compete with a native mobile app in terms of features (and trounce it in terms of installation friction). But I’m worried that in our rush to match what native apps can do, we may end up ditching the very features that make the web a universally-accessible medium. Killing URLs simply because native apps don’t have URLs is a classic example of throwing the baby out with the bath water:

Up until now I’ve been a big fan of Progressive Web Apps. I understood them to be combining the best of the web (responsiveness, linkability) with the best of native (installable, connectivity independent). Now I see that balance shifting towards the native end of the scale at the expense of the web’s best features. I’d love to see that balance restored with a little less emphasis on the “Apps” and a little more emphasis on the “Web.” Now that would be progressive.

If the goal of the web is just to compete with native, then we’ve set the bar way too low.

So if you’ve been wary of investing the technologies behind progressive web apps because you’re “just” building a website, please try to see past the name. As Frances says:

It’s marketing, just like HTML5 had very little to do with actual HTML. PWAs are just a bunch of technologies with a zingy-new brandname.

Literally any website can—and should—be a progressive web app. Don’t let anyone tell you otherwise.

I was at an event last year where I heard Chris Heilmann say that you shouldn’t make your blog into a progressive web app. I couldn’t believe what I was hearing. He repeats that message in this video chat:

When somebody, for example, turns their blog into a PWA, I don’t see the point. I don’t want to have that icon on my homepage. This doesn’t make any sense to me.

Excuse me!? Just because you don’t want to have someone’s icon on your home screen, that person shouldn’t be using state-of-the-art technologies!? Excuse my French, but Fuck. That. Shit!

Our imaginations have become so limited by what native mobile apps currently do that we can’t see past merely imitating the status quo like a sad cargo cult.

I don’t want the web to equal native; I want the web to surpass it. I, for one, would prefer a reality where my home screen isn’t filled with the icons of startups and companies that have fulfilled the criteria of the gatekeepers. But a home screen filled with the faces of people who didn’t have to ask anyone’s permission to publish? That’s what I want!

Like Frances says:

Remember, this is for everyone.

Have you published a response to this? :

Responses

Hidde

“Literally any website can be a progressive web app: switch to HTTPS, add a manifest file, and add a service worker” adactio.com/journal/12461

# Posted by Hidde on Wednesday, June 28th, 2017 at 9:02am

Simon R Jones

“I don’t want the web to equal native; I want the web to surpass it.”

Aaron Gustafson

The other day, Frances Berriman—who coined the term “Progressive Web App”—wrote a bit about how she came up with that name. In it she clearly points out that the name has become a little problematic in dev circles:

I keep seeing folks (developers) getting all smart-ass saying they should have been PW “Sites” not “Apps” but I just want to put on the record that it doesn’t matter. The name isn’t for you and worrying about it is distraction from just building things that work better for everyone. The name is for your boss, for your investor, for your marketeer. It’s a way for you to keep making things on the open web, even those things that look really “app-y” and your company wants to actually make as a native app, 3 times over. They don’t want you to make websites anymore, but you still can if you’re sneaky, if you tell them it’s what they think they want.

As someone who is at once a practitioner, an educator, and a consultant on web projects, this can be tough to wrestle with. But like DHTML, Ajax, and HTML5 before, when viewed as a catch-all term for an approach to building stuff for the web it really shouldn’t matter that the word “app” is in there. Sure, it could have been “site” or “thang”, but when we—and I’m talking to the practitioners here—hear someone talking about PWAs, we need to take the broad view.

Jeremy Keith made a really solid case for the broad usefulness of PWAs:

Literally any website can be a progressive web app:

  • switch over to HTTPS,
  • add [a JSON manifest file](https://www.w3.org/TR/appmanifest/) with your [metacrap](https://www.well.com/~doctorow/metacrap.htm), and
  • add a service worker.

PWAs don’t require you use a particular JavaScript framework or any JavaScript framework at all. You don’t need to be building a Single Page App either. In fact, it will probably be easier if you’re not.

If you work on a website, there’s a really good chance your site could benefit from the technologies and approaches aggregated under the PWA umbrella:

  • Works on any device (a.k.a. progressive enhancement and responsive design)? Check.
  • Secure by default? Check.
  • Links to any core functionality or content? Check.
  • Easily shared and discovered? Check and check.
  • Better network resilience and faster page loads? Check and mate.

Depending on what you’re building, your site might even benefit from features like

  • push notifications,
  • syncing data in the background (when your site’s not open), and
  • install-ability.

Every project is different, but there’s a good chance yours should be a PWA or at least have some of the features of one. To quote Christian Heilmann:

Nothing necessary to turn your current web product into a PWA is a waste. All steps are beneficial to the health and quality of your product.

What are you waiting for?

mxb.at

# Wednesday, July 19th, 2017 at 10:09pm

18 Shares

# Shared by Jeremy Keith on Tuesday, June 27th, 2017 at 3:07pm

# Shared by Alberto Medina on Tuesday, June 27th, 2017 at 3:09pm

# Shared by Hubert 😎 SABLONNIÈRE on Tuesday, June 27th, 2017 at 3:13pm

# Shared by Lee Gunn on Tuesday, June 27th, 2017 at 3:18pm

# Shared by ge ricci on Tuesday, June 27th, 2017 at 3:18pm

# Shared by Rich Clark on Tuesday, June 27th, 2017 at 3:19pm

# Shared by Andrés Villanueva 🔥 on Tuesday, June 27th, 2017 at 3:36pm

# Shared by Baldur Bjarnason on Tuesday, June 27th, 2017 at 3:38pm

# Shared by Frances Berriman on Tuesday, June 27th, 2017 at 5:20pm

# Shared by Bradley Holt on Tuesday, June 27th, 2017 at 5:28pm

# Shared by Ian Clark on Tuesday, June 27th, 2017 at 6:27pm

# Shared by Saulius Kerusauskas on Tuesday, June 27th, 2017 at 7:37pm

# Shared by Niklas Ranås on Tuesday, June 27th, 2017 at 9:42pm

# Shared by Martin Auswöger on Wednesday, June 28th, 2017 at 10:14am

# Shared by tams sokari on Wednesday, June 28th, 2017 at 12:21pm

# Shared by A Book Apart on Wednesday, June 28th, 2017 at 5:51pm

# Shared by John Larsen on Wednesday, June 28th, 2017 at 6:00pm

# Shared by Jhonatan Jacinto on Wednesday, June 28th, 2017 at 6:02pm

35 Likes

# Liked by Ivan Wilson on Tuesday, June 27th, 2017 at 1:21pm

# Liked by Joschi Kuphal 吉 on Tuesday, June 27th, 2017 at 5:37pm

# Liked by just_sam on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Baldur Bjarnason on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Malte Ubl on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Andy Baio on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Cheney Tsai on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Lasha Krikheli on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Michael LaRoy on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Jeremy Wynn on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Simon McManus on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Frances Berriman on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Abdulaziz on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Vladimir Starkov on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Jay Greasley on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Marc Drummond on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Alberto Medina on Tuesday, June 27th, 2017 at 5:37pm

# Liked by Ian Clark on Tuesday, June 27th, 2017 at 6:39pm

# Liked by Saulius Kerusauskas on Tuesday, June 27th, 2017 at 8:03pm

# Liked by A Book Apart on Tuesday, June 27th, 2017 at 9:11pm

# Liked by Charles Stanhope on Tuesday, June 27th, 2017 at 9:39pm

# Liked by Danyel Becker on Tuesday, June 27th, 2017 at 11:25pm

# Liked by Julian Gaviria on Wednesday, June 28th, 2017 at 3:42am

# Liked by vollepeer on Wednesday, June 28th, 2017 at 9:02am

# Liked by James Milner on Wednesday, June 28th, 2017 at 10:29am

# Liked by Mizan :) on Wednesday, June 28th, 2017 at 2:12pm

# Liked by Jhonatan Jacinto on Wednesday, June 28th, 2017 at 6:22pm

# Liked by John Larsen on Wednesday, June 28th, 2017 at 6:23pm

# Liked by mumoss on Wednesday, June 28th, 2017 at 6:24pm

# Liked by Simon R Jones on Wednesday, June 28th, 2017 at 7:26pm

# Liked by Adrian D. Alvarez on Thursday, June 29th, 2017 at 1:43am

# Liked by Kelvin on Thursday, June 29th, 2017 at 2:34am

# Liked by Alex Russell on Thursday, June 29th, 2017 at 4:49pm

# Liked by Jay Robinson on Thursday, June 29th, 2017 at 10:23pm

# Liked by Gabor Lenard on Friday, June 30th, 2017 at 9:46pm