> You mean like all of the developers who aren’t creating native apps on Android and are creating PWAs?
I'm not sure I understand your wording right... Are you saying that devs creating PWAs are "free?" Because it's well-known that PWAs has been stunted by Apple and Google. The technology is well behind its potential. PWAs could do significantly more if they had better access to system APIs.
> Because it's well-known that PWAs has been stunted by Apple and Google.
It is not well-known. It is well-believed.
I don't believe Apple has intentionally crippled Safari just to prop up their native platform. Google are the ones who invented the PWA buzzword and spend all their devrel effort on pushing. It's hard to believe they would also try and hamper that.
I have occasionally needed to advise mobile users how to use a simple web app showing phone's location on a map. Sample size is at least tens of people, selection bias to somewhat young and active people. Based on this "research",for a median iPhone user a location-aware web app is simply broken. Without external help, they are unable to change the (default/dark pattern, I do not know?) setting of not letting browser access to location data. You are welcome to come up with reasons why Apple has made it so difficult. I have difficulties to think other than intentionally crippling web apps.
Not every website I visit needs to know my location.
Not every website with a map needs access to my location.
Only websites I specifically allow to access my location should have access.
On the iPhone and specifically safari I've never had an issue or a steep learning curve to showing someone how to long press the reader view (AA) in the url then select _allow location_ or whatever.
I wonder if you sample all had something in common. Did they not regularly use this web app? Was this an event specific web app? If so it would be nice if the web app detected mobile browser by user agent and displayed instructions for activating location. Might help reduce confusion.
There must be a higher bar (making it harder to blindly click 'yes') for user consent on the web because there's so much less intentionality behind what arbitary code your device will execute. Visiting any popular news website will run untrusted JS delivered through 10 different intermediaries in advertisements.
I think any complaint directed towards Apple's development on Safari can also be directed towards their actual native platform. Terrible/non-existent documentation, frequently breaking APIs, and a completely hostile app store and bug reporting/feedback process.
> So now there is a great conspiracy by both Apple and Google?
What conspiracy?
They have huge economic disincentives to further PWAs - there is no need for any conspiracy.
In the first presentation of the iPhone, Steve Jobs laid out a vision where the smartphone would run web apps, using fundamental web technologies (HTML, CSS, JS). He quickly backtracked when he realised Apple could impose a 30% tax on transactions in the platform.
> Maybe web technologies just aren’t as good as native?
No one said they are, but that's no excuse to drag your feet in implementing simple things like push notifications.
> In the history of computing there has never been a cross platform general purpose GUI framework that didn’t suck.
What GUI framework? I barely even know what we are talking about anymore. You don't need one with PWA - again, you're using fundamental web technologies, and enabling them to make system calls.
> Not to mention most Android devices in the wild are low end and don’t handle complex web pages well
So that's another excuse to not further PWAs, huh?
> What GUI framework? I barely even know what we are talking about anymore. You don't need one with PWA - again, you're using fundamental web technologies, and enabling them to make system calls.
Let me ask you this then. Name one cross platform framework that wasn’t meant to build command line tools that hasn’t sucked?
QT? Java Spring? React Native? Electron?
> In the first presentation of the iPhone, Steve Jobs laid out a vision where the smartphone would run web apps, using fundamental web technologies (HTML, CSS, JS). He quickly backtracked when he realised Apple could impose a 30% tax on transactions in the platform.
He “backtracked” because his “sweet solution” wasn’t good and everyone wanted native apps and web apps were called “a shit sandwich” by developers.
Do you know the history of creating “applications” using “web technologies”? They failed for RIM, Microsoft, and Palm. Web apps suck not to mention the clusterfuck of the front end ecosystem.
Every single platform that went down the “we can do great web apps” backtracked. They have never been good enough.
> So that's another excuse to not further PWAs, huh?
You mean making an app that’s actually performant on the majority of phones out there?
> He “backtracked” because his “sweet solution” wasn’t good and everyone wanted native apps and web apps were called “a shit sandwich” by developers.
Sure, the 30% cut of all sales was just a sweet coincidence.
> You mean making an app that’s actually performant on the majority of phones out there?
Twitter and Uber have PWAs for countries where low-end devices are the majority of phones.
> They have never been good enough.
Complete bollocks, there are plenty of excellent web apps out there, and it's one of the most important mechanisms for software delivery nowadays, in both the enterprise and consumer spaces. You are a fundamentalist and there is no point discussing anything here anymore
Were you around back then when developers were clamoring for native apps? It came out in the Epic trial that 80% of all app revenue came from games with in app purchases.
Besides that, most of the biggest players like Netflix and Spotify don’t even allow in app purchases.
Where are all of the great web apps for mobile? Have you tried using any of these web apps on Firefox for Android or is Firefox also involved in the conspiracy?
No one is clamoring for cross platform web apps accept web developers who want to foster a shitty Electron like experience on mobile.
And look at all of the server side work that Uber had to do.
And this wasn’t done to avoid the “30% tax” since Uber doesn’t use in app purchases. You do have Apple Pay as an option. But that’s a standard credit card transaction.
> PWAs could do significantly more if they had better access to system APIs.
Isn't the whole point of PWAs that they're easy because they're just web apps? If you start using system/OS specific APIs you lose all of the benefits except for the instant install time.
The problem with Electron is that it's bloated by including a full browser engine and Node.
A couple of years ago I worked on an app that ran on 5 platforms (iOS, Android, Windows, macOS, ChromeOS). Initially we used Phonegap and Electron but then we created our own native wrapper that used the OS webview.
Our macOS app went from 100MB to 5MB of download size and the memory usage also went down considerably. IIRC correctly it consumed like 15MB of memory.
It certainly didn't look native but for our use case (education) that was not an issue. We were able to target 5 platforms with a very small team and the GUI was a single codebase made with InfernoJS and MobX.
People prefer Electron because it gives them a consistent environment across operating systems, OS versions/update patch numbers, browser versions etc.
If you write your app to work in all possible combinations of the above - like you'd write a web page - you can use OS web view.
But not everybody wants to do that because it's not as straight forward as just writing your app and being able to fully rely on your environment. Perhaps you actually need features that aren't universally available in the OS web view yet, and performance degradation because of polyfills is not acceptable.
Also, OS web view is usually locked down more than Electron. It's basically a browser without the UI around it. Then you need to hack your own native bridge instead of just using whatever Electron made. I guarantee your version is going to be worse, you simply don't have the combined resources of the Electron open source project.
> People prefer Electron because it gives them a consistent environment across operating systems
People don’t prefer an application that takes up more memory, drains battery life and that’s not consistent with their other apps. Developers may prefer it.
How many users are switching back and forth between Windows and Macs?
The same applies in the other direction. When I was a Windows user, I hated the iTunes interface because it felt like a bad Mac port. I was a former Mac (and current) Mac user so I could tell.
Even before that, the Windows QuickTime Player felt like a bad port.
If the users don't want an Electron app, they won't use it and the developers will feel the need to change their ways.
Software development is not just about the users. Many Electron apps are single dev ventures. It's not easy to maintain multiple different platform specific apps even for a large enterprise. The larger the app the more difficult it becomes.
Does it? My feeling is that users use whatever you give them. And then they buy a new device because theirs is "becoming slow". They don't say "wait, Slack is just a glorified IRC, it should work on my iPhone from 2008, I will just refuse to use it" because they need it.
There are no alternatives to the Slack ElectronJS Desktop app. That's the whole point: they don't want to maintain native apps. And they don't open their API to let others do it, I guess because that may hurt their lock-in benefits.
Everyone loves to complain about how bloated Electron is. No one offers a solution that performs as well in supporting all of modern webs technologies.
So some of the richest companies in the world chose to invest in the more powerful platforms, does that mean if you don't already have billions in the bank, you aren't allowed to create applications for users on multiple platforms? It is an enormous amount of work to learn the intricacies of multiple programming languages and frameworks and then to get feature parity accross all your native applications will literally take you like 3x more effort to implement them. Moreover, the reason these companies chose native is because it provides more features and the reason web technologies can't provide these features isn't technical, it's political.
A smaller company’s ability to compete is not my problem. But why would I want to give any random web page that I browse to the same access to my computer or phone that I give an app that I choose to download that is much better sandboxed?
And most apps that would be suitable for PWAs are in fact free. How would Apple or Google benefit financially?
Besides most of the App Stores’s revenue comes from games
What happens when either Apple or Google introduce a new feature to their native platform?
Nope, the product managers in the tech industry do. It's all about cost (or perceived cost). Web tech is more successful because it seems cheaper. Not because the resulting apps are better.
revenue-per-employee has been at record highs in the industry for years now. Maybe companies could hire a couple more devs to make decent user experiences and native apps, instead of cheapening out and treating development like a cost center and using Electron apps as a way to just hire fewer devs (at the expense of a worse user experience).
I'm not sure I understand your wording right... Are you saying that devs creating PWAs are "free?" Because it's well-known that PWAs has been stunted by Apple and Google. The technology is well behind its potential. PWAs could do significantly more if they had better access to system APIs.