Progressive Web Apps1 seem to be the hottest topic in web development circles right now, and rightly so; It's a technique that offers to bridge the gap between web pages and native applications.2 That this technology (or at least promotion of it) is so popular, suggests that there's a significant group who want to do as much as possible on the web.
And why not? We already do most of our human communication on the web (Facebook, Gmail, Twitter, etc.). We buy, sell and trade on the web (Amazon, Ebay, Etsy). We configure our routers using web technology, we publish books using web technology3 and a very small group of people might even be brewing coffee using the web.4
More and more of our computing task are solved on the web or using web technology. Where does this thread end? PWAs allow us to pin a website to our homescreen or desktop and interact with it as if it was a native app. And combined with WebAssembly and related efforts to reduce the overhead of running things in a browser, why should we even keep the old applications around? They're slow to install, cumbersome to update, and not easy to play around with for tinkerers, makers and programmers.
And if every app we use is inside some browser-shell, why even keep the traditional desktop-metaphor around? We could just start directy into the browser and do everything from there. And yes, there's been some effort on this area too; Google made ChromeOS for their ChromeBooks, and Mozilla tried to build a FirefoxOS designed to run on phones and tablets. But neither comes close to the ubiquity of Windows, Android, iOS and OS X.
Imagine a world where any app could be installed on any device, regardless of screensize, computational power or input methods of choice. Where every app was securely sandboxed, and unable to make unexpected changes to the system without asking for granular permission. Where the most visited and/or last visited Wikipedia pages was automatically cached on your device for later rereading; where making a playlist of online video didn't depend on having stable internet throughout the viewing; or where music could be queued from a number of competing services and played offline on-demand.
Such an utopia would depend on many improvements we've yet to make on the internet. And some challenges need to be solved politically or otherwise off-the-web. But using technology like PWAs and pushing forward with responsive design, accessability, and evolving web standards will take us some of the way there.
It's hard to aim for utopia and continously avoiding dystopia. Allow me to quote Wikipedia:5
Dystopias are often characterized by dehumanization, totalitarian governments, environmental disaster, or other characteristics associated with a cataclysmic decline in society.
We need to be careful not to blindly push this kind of technology in front of us without seeing where we're going. Dehumanization is already a huge problem on the web, e.g. harassment on Twitter, where many seem to not consider their targets human. Similarly the tracking by the internet giants and the advertising industry are moving closer and closer to totalitarian surveillance. And actual governments are known to gladly siphon this data and use it behind closed doors.
All of this is a disturbing trend, and as citizens, and especially those of us that create the technology, we have a duty to build infrastructure that enables a better world. We need to be concious of the effects our choices have, and above all we must do our best to design ethical software.6