However, not too much later I found many instances of mom, pop, buddy and sis having no troubles downloading and installing apps like iTunes and, ironically, web browsers; regardless of their operating system. Also, these installed apps phoned home to keep themselves up to date.
Fast forward 10-15 years later and there's a significant increase in internet traffic but the increase is do to thick clients on mobile devices and now it's the same issues as before; how to package and deploy on multiple platforms and maintain a single code base. But the thing to not is users don't seem to mind installing and uninstalling apps if the interface they're using makes it easy.
And that brings us to present day where mobile development has pretty much ditched web apps but desktop development is still holding on to web apps. And it's rather hilarious to watch the schizophrenic evolution of web app technology over time regarding who much of the code to put on the client vs the server.
All that to say, I agree; technologies exist to build multi-platform client applications that reach back to servers for data if they need to. And I wish the whole application in a browser thing would just die and browser would return to what they were designed for, displaying hypertext.
What's more is apps exist in their walled gardens far more than websites, even if the web has been getting worse in that regard
This company also uses that control granted to it to:
- Force a cut of all payments through them
- Promote their own services and software above all else
- Ban protocols they don't approve of (The decentralised web never would have been made if Apple had their current dominance with their current strategies)
- Censor political views they don't agree with https://en.wikipedia.org/wiki/Censorship_by_Apple
For this corporate dominance the user cannot remove or modify anything they don't like about the app they're using (remove annoyances, make highly calculated addicting software less so, improve accessibility).
You should check out Webflow and Figma.
On a higher level, as web developers, I think it is worth remembering that we don't have to build these half broken app experiences. We can still build web sites. We can still open a simple index.html file, put in some markup, and voila, it renders on the browser. We can choose not to implement all the trackers, invasive ads, broken "personalisation" algorithms etc. The fact that these things are implemented on all websites nevertheless is not because of some technical failure of the web platform. I believe it's a human problem of organisational politics, where the business users want these features, and overrule any objections that the developers might have regarding privacy or performance. Additionally, Android and iOS apps also implement these tracking features, with numerous SDK's available to create these marketing funnels that you mentioned. They may not be visible as an ugly badge icon in the top right corner showing how many were blocked, but they are definitely there. At the end of the day, the business/client that we are working for is asking for these things, and we can either try to educate them against these features, cave in and implement these functionalities, or move to a different organization/team/project more in line with our view points. But we cannot solve this with a technical solution like changing platforms.
Finally, regarding the perception that the web is a free and open democratiser, isn't it still one? I can still spin up a web server not hosted on one of the cloud platforms to host and serve my content. Yes, discoverability, scaling etc., are problems, but that's true for practically everything from social media, to e-commerce. Again, from a technical perspective, nothing is stopping us from developing websites or even web apps which are not beholden to commercial and centralised interests. Again, we don't do it, because of "IRL" reasons which don't really have any good technical solutions. In fact, going into the highly controlled and regulated environments of Apple's iOS, and to lesser extent Google's Android, sounds like the exact opposite of free and open.
That being said, if you find that you like working on iOS or Android apps, or you want to build apps which leverage the strengths of those platforms, then go ahead and I hope enjoy it!
This was partly triggered by the recent news that Google is taking aim at ad-blockers in Chrome. I doubt I would have ever wanted to go into web development if I knew what the web of 2019 would look like without ad-blockers.
A couple things drew me to the web.
1. You could write a site once, and it would work (pretty much) in any browser.
2. The dev experience of being able to instantly see changes was great.
3. It was easier than app development.
After dipping into some recent WWDC videos, I was impressed to see how far app development had come.
1. With SwiftUI, you can learn once, and build apps for pretty much any Apple device.
2. The dev experience is great with instant live previews (in the beta version of Mac OS Catalina).
3. SwiftUI is very easy to reason about, particularly when coming from a component-based architecture framework such as React or Angular.
At this point, waiting for an "app-like" experience for web apps feels a bit like waiting for the year of the linux desktop.
Progressive Web Apps have come far, but they still have a long way to go, particularly in "feeling" like a native app experience. When interruptible animations are introduced, I'll give them another look.
For a long time, the web had the perception of a free and open democratiser, but it's become completely commercialised. It's a petri dish for privacy violations. Why has my ad-blocker stopped 18,000 trackers in the two months since I've had it running?
I want to make tools, not marketing funnels. Apps that follow Apple's suit will encrypt user data so that not even the app maker can view user data. When was the last time you saw that on the web?