Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Browsers are the most likely disruptor of the mobile duopoly (infrequently.org)
300 points by cdme on Jan 2, 2024 | hide | past | favorite | 359 comments


Not if Apple has its way. They've consistently regressed, failed to implement standards, implemented them brokenly, delayed/delayed/delayed, stated that a feature was bad for privacy|security|performance, etc. Just an endless stream of roadblocks.

For example: photo and file uploads (yes, really! remember "iOS doesn't have a filesystem, so no uploads" which really damaged craigslist because Browse didn't work on iPhone for many years), webrtc, PWA add-to-home, sticky/fixed positioning, scrolling through notch (it worked, and then it didn't), service workers, push notifications, and so much more than I can't even remember (maybe someone else can list their favorites).

Even when eventually we got the features, they were often broken in order to keep pushing people into the App Store.

Does the author REALLY believe that Apple won't instantly drop support for any feature that could seriously disrupt the App Store? Not on your life.


My wife has had to listen to me complain for the last week about what a pain it is to get the absolute orientation of an iPhone from the browser.

On Android you can use AbsoluteOrientationSensor or deviceorientationabsolute event. These will provide a quaternion or Euler angles describing how to rotate the device from the default orientation (flat on the ground, screen up, with the top pointing north) to its current orientation.

The situation on the iPhone has almost reduced me to tears. As far as I can tell, it only provides Euler angles relative to some implementation defined reference frame, along with the actual compass heading. In practice, the Euler angles given are absolute with respect to gravity, but always treat north as the direction the phone was pointed when the first sensor reading took place. To deal with this, you can use the actual compass heading to rotate the relative orientation to the absolute orientation. But this will have problems near the poles, as the Euler angles and heading will give conflicting values. Beyond this the compass heading field is really weird. If you want to experience its behavior for yourself, take the iPhone compass app and starting from flat, rotate the phone 360 degrees through the pitch axis. Notice at what points the heading flips between its start heading and start heading+180. I bet it will surprise you!


To me it sounds like the solution is "We have detected you're using an unsupported browser, iOS does not allow websites to properly access device orientation and therefore this app cannot function"


I wish I had come to that conclusion a week ago, but I'm in too deep now. It's for a little side project, and it seems like the majority of people I want to show it to have iPhones.


Or even just not caring about users at the poles? How many users are you expecting to have in Greenland or Antarctica?


I should have said zenith, not poles. The issues occur when the device is pointed up at the sky or down at the ground. Edit: Though I would imagine it won't work too well at the poles either!


Are you saying you have to fight gimbal lock just to find which way to rotate the screen on iPhone? That was a problem on the 1960s lunar missions, no idea it'd happen in such a mundane application


This is why orientation should always be reported as a unit quaternion (or if you strongly care about using only 3 vs. 4 numbers, using "modified Rodrigues parameters", the stereographic projection of a unit quaternion).


Pretty much. The iPhone browser api only exposes compass data in one dimension, around the z-axis. So there is indeed gimbal lock-like behavior near the axis. Which is crazy since the magnetometer is 3 dimensional.


Can you use media queries and guess orientation from screen width?


For my use case, I want to know the exact way the phone is pointed in all three axis. Which requires more information than determining the screen orientation (and which I believe can be done as you say). Unfortunately, the term "orientation" seems to be overloaded and used to describe both concepts.


Makes sense. Then it's 100% because Apple wants to force developers to implement an app.


Same thing I thought.


Just out of curiosity because you might know: does the deviceorientation event (without absolute) work on iOS? Because I've just used it for a toy website of mine and have no iPhone to test.


I have used in this app: https://mhealth.jmir.org/2020/1/e13756 it's OK for relative orientation, but not for absolute values


Agreed, the deviceorientation does work fine for relative orientation. I've been able to hack it for absolute orientation. What I am doing is: 1) taking the relative orientation euler angles from the event and converting them to a quaternion for easier manipulation. 2) taking the webkitCompassHeading from same deviceorientation event. 3) Calculating the "relative heading", eg how far the relative orientation is from its fake north. 4) calculating the difference between the relative and actual heading. 5) building a quaternion to describe the bearing difference, eg how far the relative orientation need to be corrected by spinning around the z-axis. 6) Multiply the two quaternions to get the final absolute orientation quaternion. This does work, though has the issues I mentioned previously, and relies on the undocumented fact the the relative orientation is actually absolute with respect to the down/gravity vector.


I haven't tested it on iPhone, but on Android my browser code for Euler angles works just fine. You can find the demonstration at the end of this blog post https://dandanua.github.io/posts/the-spin-of-a-human-body/


You're overlooking the important point of the post: He's suggesting that Apple should allow non-Safari browsers (with different engines) to make the browser space more competitive, and media should push the narrative in that direction. That's exactly because Safari not being competitive enough.

I'm not surprised if Microsoft (the author's employer) is quietly preparing Edge for iOS with a non-Safari engine (ex. Chromium.)


Safari's iOS exclusivity and resulting ~18% market share is probably the only reason Chromium based browsers don't have 95+% of the market. Some stick to whatever default they get but I think most would just immediately jump to Chrome(ium), with a very, very small minority like me going for Firefox. The mobile segment doesn't concentrate techy users like the desktop does so Firefox would see even lower (that the current ~3%) figures there.

A world absolutely dominated by Google's control over the browser scares me more than Apple's control over the AppStore.


The solution is better anti-trust, not giving Apple a real monopoly because of Google's potential monopoly. Good anti-trust will handle both.


If you are correct, let's ensure the browser duopoly is broken up first, rather than forcing Apple to open the market for Google to corner it. Then it will truly be a monopoly and all consumers lose.


Apple's monopoly is currently harming competition/consumers. Why should a potential monopoly that doesn't exist (yet) and doesn't hurt competition or consumers be a higher priority?


As an Apple user and web dev, I like some of their restrictions because I prefer incentive to build native apps for things I do all the time. They’re usually showing a lot more polish and integration.

Every time Twitter or Instagram bring up their custom share sheets I get super annoyed it’s not the default. PWA’s can probably get a lot of that, but a ton of web UX is arbitrary, unique, and more likely to feel janky in ways.

Even for well done web apps, like Notion, it stands out like a sore thumb when parts of the editor don’t work like normal Mac input controls.

I think PWA’s will have a lot of uses, but I don’t want them to take over either or Google get a browser monopoly. It’s bad enough how many devs don’t use anything but Chrome when testing. The web is what it is because it is not beholden to one company like the IE6 days


Why would the Chrome engine being dominant be all that problematic? And as a user, I'd like to make that choice for myself.

Also, Safari wouldn't vanish just because you'd be able to use a different browser engine. I strongly disagree with your "scary" (not scary) scenario: Only a small percentage of users is ever going to change defaults.


https://en.wikipedia.org/wiki/Browser_wars#Second_browser_wa...

The growing number of device/browser combinations in use, legally-mandated web accessibility, as well as the expansion of expected web functionality to essentially require DOM and scripting abilities, including AJAX, made web standards of increasing importance during this era. Instead of advertising their proprietary extensions, browser developers began to market their software based on how closely it adhered to standards.

As soon as one browser dominates, one company gets to dominate how the web works. If you, as a user, want to be able to choose your own browser you should oppose one engine becoming dominant.


> The solution is better anti-trust

....how? Just saying "better anti-trust" isn't a usable solution.

Chromium is an open source project. What's the government to do, split the codebase in half/thirds? Chromium got to where it was because of the downstream decisions of developers not wanting to waste months/years of their lives reimplementing something that was already implemented.

"Someone else had already done the laborious legwork with Chromium, let's just use that."

----

If you want to actually solve this problem:

- Purge and ban software patents & copyrights. No entity should have total control as to how to implement efficient H.264 playback in the browser, nor native GPGPU support.

- Rewire human behaviour to inherently fear any market share of > 60%. Humans will continue to want to concentrate around a few choices as a result of network effects.

- STOP WITH WANTING NEW FEATURES. Every new shiny object that you desire will inevitably be replaced by the next shiny object, with only 10% of them sticking around in relatively popular use for any notable period of time. Browser devs, meanwhile, can't have the luxury of dropping support for <rarely used feature X>, and have to keep maintaining each one for some niche case.

----

I've already said my response to this: STOP wanting more features. The number of features that a browser dev has to support right out of the box is the major contributor for there being so few browser engines to choose from.

(Copied from a previous comment I made before: https://news.ycombinator.com/item?id=37733053)

> There's an argument to be made that the extreme breadth of scope that modern web browsers are obliged to support (in order to gain/retain market share) heavily contributes to there being no worthy contenders against Chromium's web monopoly.

> https://drewdevault.com/2020/03/18/Reckless-limitless-scope....

> When you're the leader, you can further widen your lead by bolting on additional functions & features that require at least X amount of effort to implement. Any new contender will have to put in SUM(X effort for each feature) to match feature parity with the existing leader, and existing competitors will have to put in at least X effort to catch up. Existing OSS work can help bridge the gap, but only for what's already been done.


Hmm I would hope that the richest company in the world could build a better browser than anyone else and market it like no one else.

Except they didn't. Apple relied on their browser ban on iOS, on users not being able to set a default browser for 14 freakin' years.

Sorry, this is their own fault. Safari could be competitive, but if it turns out it isn't, it's on Apple and no one else.


"most would immediately jump" and why is that? because Safari is a subpar experience.

You can try to justify it all you want because "Google Bad" (and not that I disagree at least in spirit) but at the end of the day? Apple is giving users a worse experience as a method to lock them into the App Store and get their 30% cut.


> and why is that? because Safari is a subpar experience.

I think that's an oversimplification and mostly wrong. People don't uniformly use one reason for things. Some are too lazy to change a default, are used to one browser, genuinely like it, use it reluctantly because the big company developer is doing its best to hobble the competition (hey, here's a challenge, guess which one I'm talking about), or simply think Google (Chrome) is the internet. Based on usage alone compared to Google Chrome every other browser offers a subpar experience right? I don't agree with that. To take the most obvious example, the fact that Firefox allows me full control over the adblocking experience is the single biggest quality of life improvement over Chrome in using the internet.

> You can try to justify it all you want

I didn't "justify" anything. What works for me doesn't have to work for you. Two things can be true at once. My personal data and privacy are a priority for me so Google cheating me out of them trumps any fuzzy argument that doesn't hold water even over a two line comment. Because...

> Apple is giving users a worse experience

Wait, let me try your argument for size. Apple is close to being the biggest phone manufacturer on the planet, as voted by people with their wallets, despite making the most expensive phones. And why is that? Because everyone else offers a subpar experience, right? I voted for Firefox and I'd rather use Safari than Chrome because we have different priorities and definitions of what makes for a good experience.

Sibling comment had the right idea. The only fix for this is one that globally addresses via regulation the issues any company's dominant positions poses.


"mostly wrong" except it's not. Safari is under developed, restrictive and... bad.

"Based on usage" Chrome is doing something right but that doesn't mean better options don't exist. JS exists and is massively popular but that doesn't make it the "best". Most popular also doesn't mean it's not horrible in its own right - like Safari (and JS, etc).

"firefox" You use firefox because it's better... better than what? Safari for one.

"let me try your argument for size" Just because people pay doesn't mean it's better and because it's popular doesn't mean it's better. People buy ripped up clothes at a massive markup because it's "better". You keep saying Firefox is better even though it's not "in" or cool.

Nothing in your response addresses the fact that SAFARI is subpar amoungst its peers because Apple uses that to push people to the App store. Likewise, they "pair bond" stuff to phones so 2ndary markets can't fix their stuff. Not because safari is better... not because their parts are better... because they get 30% on the store and they get the fees for fixing stuff "properly". Same for their custom connectors (which are on the way out)

Your focused on Safari vs Firefox. You're ignoring the forest for the tree.

Apple as a whole can be a better product (arguably, the complete package is "better" because it's more consistent and "secure" and all that than say Android) while also having parts that are worse. Safari is a part that's worse (and as incentive, the 30% cut on app store $$$).

"different priorities" I'm all for better regulation and some places are headed in the right direction (IE: USBC requirements, sideloading requirements, banning google from monopoly practices on their store, etc)... but that doesn't change the fact that safari is the IE of today - forced on customers, ignored by its creator and clearly worse as you admit in your stalwart defense of Firefox.


Cool story ad-tech bro. Apple not supporting “features” designed to track/steal data isn’t a subpar experience. No one is forced to buy an iPhone, just like no one is forced to buy an Xbox which also takes a 30% cut via its locked down online store.

Don’t worry, the M$ CEO will bring back windows phone soon because he now realizes how it can be ad/spyware filled junk like windows 10/11/12 and Solitaire…


Safari, without hesitation doubt or debate, is subpar compared to the alternatives. You can claim "privacy" all you want but at the end of the day Safari is lackluster and neutered to "nudge" people into the Apple Store so Apple can get a 30% cut.

Privacy? Riiiiiight. Apple isn't using it's market place to stifle competition and limit choice out of the kindness of their hearts.

"M$ CEO" yeah... good thing you have IE 2024 installed on phones without the alternatives available that existed on Windows. Nope... you're stuck like a good slave who's $mart enough to not use M$ and instead you get the joy of being a good donator to Apples bottom line instead of Googles.

At the end of the day... nothing in your response changes the fact that Apple limits choices and holds the industry back with Safari which is a shit option that couldn't compete against real options.

"XBox" xbox is a gaming console not a phone. It's tied to a TV and not the center of your life. It also has competition in PS, Nintendo and gaming alternatives like Android and iPhone.

XBox doesn't have shitty safari on it as a core app to force people into the XBox store. You can also load CDs/DVDs into it purchased outside of it. Can you resell iPhone games? No? didn't think so. tons of reasons why "derp xbox" is a bad comparison.

I'm personally okay extending forcing alternative app stores onto XBox... but the scope is different and you know it - no matter that you try to deflect from how shitty Safari is. Your hate of "M$" doesn't make Apple any better.


> Does the author REALLY believe that Apple won't instantly drop support for any feature that could seriously disrupt the App Store?

I'm fairly sure that he doesn't have particularly much faith in Apple, no: https://infrequently.org/2022/06/apple-is-not-defending-brow...

But they're not counting on Apple's good heart; they're counting on regulators. From the article:

> Apple will, of course, attempt to delay the entry of competing browsers through as-yet-unknown strategies, but the clock is ticking.


If the problem is just Apple, then why do modt companies make iOS apps, Android apps and web apps instead of telling Android users to just use the web apps?

It came out in the Epic trial that 90% of App Store revenue came from in app purchases of play to win games. Those apps aren’t going to the web because it’s much easier to convince whales to buy coins and loot boxes using in app purchase than put a credit card on a website.


It's more annoying really. Most companies refuse to let you see their website from android or iOS phones because they want you to download the app. The app... that is just a wrapper for their fucking website anyway.


Not true! Apps enable so much more, notification spam, access to contacts and wifi networks, data collection and privacy invasion.. SO much easier when it's an app!

Also all those banks - if they just had a website they wouldn't be able to enforce that you cannot access your banking from your rooted Android phone. Thanks to the additional power of apps, they can.


All of this is under the user control and you have to explicitly give apps permission


>If the problem is just Apple, then why do modt companies make iOS apps, Android apps and web apps instead of telling Android users to just use the web apps? Because they're forced to in order to do business since Apple controls their platform?

Hell, there was (and still is I think) even all the ridiculous rules around "can't link to a website payment outside of your app" and "definitely can't tell the user it's cheaper not to buy it thru the app where Apple takes a 30% cut"

I distrust Microsoft and Google as much as I distrust Apple, but damn do people give Apple so many passes "yeah well they use that 30% cut to pay for all the security and services they offer!111" you really believe that? How come so many 0-days & other exploits are found by GOOGLE'S project zero? Does Apple not pay enough for their own research into that stuff?


Can you name one retailer that is going to allow you to advertise that you can get something cheaper somewhere else?

Also, really complaining about Apple’s security compared to Android? Seeing that most Apple has been publishing security patches for 10 year old phones and Google abandons its own hardware.


Apple is more than the retailer. Apple owns the whole mall, the fire department, the police, the chamber of commerce, and basically the whole town where most of your family and friends live.

Don't like it? Just move to the only other town there is, and write them letters and visit occasionally. If you don't like it there too, well they say there are other places if you take a long boat ride.

As to Google, despite all their many faults at least they haven't gas lit me claiming I'm holding it wrong.


Now we are bringing something up from 2010? Yet it proved to be another *Gate. Apple sold the same phone - the GSM iPhone 4 for three years.


Apple isn't just "a retailer", and regulators seem to agree. Also, Google provides seven years of updates for their current Pixel devices.


Congratulations? Apple released a security update for the iPhone 5s released in 2013 early last year.

What about all of the other devices it sold in the last decade.

And Google only sells a tiny fraction of Android devices. What about the other literally 97%

Microsoft hasn’t had a problem keeping PCs updated that it doesn’t sell for a decade. Heck I got Windows updates for my pre-Bootcamp x86 2006 Mac Mini for years after Apple abandoned it


> play to win games

pay to win games, I can never find a game that has fixed cost and doesn't push advertising or self advertising, you know, an app safe for kids; they all have full screen ads with tricky close buttons

BTW, why is App Store such a shit show? It's 99% crap. Where is the concept of pay to own.


I understand you're referring to the Apple store but in case other non-apple users find this. On the Google Play store at least these are relatively easy to find. Pick your category, games, then scroll the tabs at the top to "Premium".


Apple Arcade?


No-Bullshit Games [1] is a good resource for finding quality fixed-cost / premium games.

[1] https://nobsgames.stavros.io/


A great resource - It is VERY out of date though.


Any good pick since then? I also hate IAP


not really, sorry.


To add to this... it's not just that they've failed to implement standards: They have actively denied the ability to install alternatives.

It's one thing if Chrome was Chromium and was simply blocked from low level stuff because "reasons"... but that's not where we are.

Chrome, for example, is at its core on the Apple Store a reskinned Safari because alternatives simply aren't allowed.

This isn't a regression and failure to implement standards... this is active activity to lock people into a lesser experience while actively blocking better.

This is worse than IE on Windows as at least with IE on Windows you could install alternatives.


maybe at a certain point subjects will stop spending money to enrich the king and will pick something where they at least can install whatever they want


The overwhelming majority of users couldn't care less about this stuff as long as their phones play the content that they and their peers are into right now. If the alternative works well, is easy to switch to and is affordable then maybe they can be persuaded by their more tech savvy friends but if any of those three are compromised then you won't get much adoption.


SharedWorkers too


> Browse didn't work on iPhone for many years

The web API always allowed you to choose photos from your camera roll.


No, it did not, not until iOS 6 (!!)

And Steve Jobs ensured that Flash uploaders popular at the time could never work on the iPhone, either.

Example: https://apple.stackexchange.com/questions/4104/is-it-possibl...

Ironically, Microsoft had tried to kill the web off with Internet Explorer just a few years before, but no one noticed what Apple was doing, because they did it so well... they got 400,000 and then a million apps in their app store, completely bypassing the web altogether.

And as evidenced by your comment on this very technical forum, even now, people still might not have noticed what Apple was doing.


This is literally something from 10+ years ago.


Yes. One person said "feature X always existed" and the reply was "not until iOS 6", which is corroborated by their link.

Based on what people are saying in that link, iOS existed for something like 6 years before it got working web page picture uploads. Meaning the person saying the feature has always existed was incorrect.


And iOS 3 introduced the App Store? And iOS 2 introduced copy paste? This doesn’t seem like much of a delay.


In the grand scheme of things. In a world billions of years old? 3 years isn't much of a delay. And those features, with the small "delay", still weren't "always" available - which was the claim ("the api always had those features").


IME WebSockets work fine on Firefox but not on Safari, at least not naively


>Microsoft had tried to kill the web off with Internet Explorer

Why would they need that?


They wanted their own proprietary network they controlled (MSN). They also wanted people to develop Windows apps with their technologies, not things that worked everywhere.


You’re really complaining about something that was fixed over a decade ago?

What next, complaining about 8.3 character filenames on Windows 3.1?


The point is that it was broken on purpose until they finally had to cave to pressure because it was such a pain in the butt. Being able to choose a picture to upload from a phone wasn’t new or hi-tech, and could be done just fine on feature phones where the number pad was 3x the size of the screen and WAP meant wireless application protocol instead of the new thing.


Yes and we all know how Apple “caves in to pressure” and knew they were going to lose sells to Android if they didn’t allow photo uploads from the browser


my beef with 8.3 was that THEY WERE ALL UPPERCASE

when ASCII went from 6 bits to 7, they should have redefined 0x41-0x5A to lowercase. the 70s and 80s would have been so much nicer.


> This, in turn, will enable competitors to replace app stores with directories of Progressive Web Apps.

The time for PWAs was in about 1998, when WAP was a thing.

Much as I would love a universal bytecode that would allow mobile phones to achieve this, PWAs are not the route to get there. They are a mess of custom, poorly documented and ever changing layers of web bits.

Yes, web assembly exists, yes its about 75% the speed of native. and its not as easy to develop for. I also don't see why phone makers will want to make it that easy. Unless they are forced to provide parity for their APIS, it'll always be second best to native.

But, for the end users, they will look at PWAs and think: "fuck, this has got slow, and its eating my battery" you can spot the react native apps when you use them(yes, yes I know its not entirely the same)

We have been lucky on desktop/laptop that we have added 5 zeros to the available compute, memory, network and GPU capacity. This allows a browser to run slack at the same speed as MIRC, from 2002. You don't have that luxury on mobile. You are limited by battery capacity, unless we suddenly find a way to 100x battery density, it'll be like that for a while.

That being said, the work on breaking the app store dominance is welcome. 25% tax on development is taking the piss. Obviously the "point" of the walled garden was to provide security to the end user, however google fucked that right up, so now its obviously just a cash cow.

But, I want a way to side load apps, I want a second market place. I don't want fucking PWAs on my phone.


Or what about plain ordinary web sites? I’d say that most of the time a brand has no business making an app when they just want to get a message out to people. For instance McDonald’s has an app to order food but why don’t they just make a web site you can order food from? Can it really be easier for end users to use an app that requires an extra installation step? I mean AMZN and Ebay had sites you could order all kinds of things in 1999 and they didn’t even need React.


> Can it really be easier for end users to use an app that requires an extra installation step?

It's not, but by making it an App, it forces a user to remember to install it (good mindshare), it takes up space on the homepage (good, free advertising), it gets to track your device id and track you (or, partially track you on iOS), it gets to spam your notification bar with more free advertisements, it gets to hook into your Google Pay / Apple Pay cards automatically, and it forever gets to poll your exact GPS position, while also having easier access to various bluetooth stack stuff (tracking beacons, onboarding devices, etc)

Yes, ~80% of that can be done on the web too, but the app gives you effectively permanent-cookies and permanent-permissions, and people have more practice doing it there.

I don't like it at all, but I get why lots of companies write a webapp, and then shove it into a native app wrapper (whether via React Native, Cordova, Turbo Native, or equivilant). The benefits of the app wrapper and app store, outweigh the drawbacks, for many businesses.


Related to this, if I already know the name of the company, I tend to trust the first result on the App Store far more than the first result on Google.


All of the „benefits“ you listed are why I hate native apps with a passion and avoid installing them whenever possible. I don’t want your mindshare, notifications, spam and all the other bullshit no thanks


I wonder (or maybe just hope) that this might swing back if consumers develop a preference for those businesses that intentionally avoid these and other dark patterns.


No, activism and legislation are the only things that can even potentially hold back these kinds of unethical business practices. There's no way you're going to educate enough of the general public and make them care enough about something like "installing apps in not necessary".


> Can it really be easier for end users to use an app that requires an extra installation step?

Yes it can, because you install it once and it's right there on your home screen, very easy to get to. The friction of typing the website name or dealing with the inherent clunkiness of a mobile site vs the app cannot be understated and it is part of why brands create apps.

Plus, don't forget the notifications they can send, for deals and promotions. That is also why I have several apps for brands installed, because I know I already want to use their products, so the free discount works in my favor. I have the willpower to resist impulsive purchases, personally speaking, but many don't. When a notification pops up announcing "50% off on this sandwich," it's tempting for people who hadn't planned to spend at all that day. They might think they're saving money by spending less than full price, not realizing that spending anything at all is more than they intended. Brands understand this psychology and optimize their strategies accordingly, targeting those who are likely to be swayed into spending when they receive a compelling offer. It is no different than offering flash sales and deals, which work extremely well in the world of marketing.


The web has apis to add icons to your home screen and to send push notifications. Both work fine on android.


And yet companies still prefer to create an Android app…


Because they want to track you.


Exactly how is it easier to “track you” using an application thst is sandbox that you have to explicitly give it permission to have access to your location or other data than it is on to track you on a website where there are literally dozens of ways to track you across different websites?


Ha, go look at all the permissions on Android that you cannot deny. Example, Starbucks app...

Other

Advertising ID Permission run foreground service control vibration run at startup have full network access use biometric hardware view network connections change network connectivity prevent phone from sleeping Play Install Referrer API view Wi-Fi connections use fingerprint hardware show notifications receive data from Internet


There is also a vibration api for web browsers.

https://developer.mozilla.org/en-US/docs/Web/API/Vibration_A...

Isn’t using the biometric API still controlled by a secure place on the device where all it gives you back is - did you pass the biometric check?

Advertising tracking is still easier on the web.

The rest of the permissions says a lot about Android and even so.

If PWAs were good enough on Android and it was just mean old Apple holding them back they should be pervasive for the 80% of the population that uses Android


On the other hand I have notifications turned on for basically nothing. Giving up coupons and deals seems a reasonable trade off. But then I basically don’t really frequent places like fast food where coupons are probably most prevalent.


They don't because an app allows them to gather much more data on the user.

They even block you from using their app if you didn't get it from the play store. I don't know any other app that even checks for that.

Clearly it's just a vehicle for data collection and nothing else


Occam’s Razor says the reason McDonalds doesn’t is because the app /makes them more money/.


Does not mean "better for the consumer". Capitalism 101.


actually, capitalism 101 teaches that "making more money" and "better for the consumer" are synonymous so long as markets are competitive and operate at the market clearing price, that point which is also best for the producer.


In theory communism also works.


i don't have time to write a treatise, but if we consider capitalism vs socialism/communism to be equivalent to quantum theory vs general relativity, that part of communism (allocation of resources) does not in theory work.


Anecdotal, Dominos has a website I can order food from and it’s insanely good experience to use it in basically all aspects I can think of. I love ordering food from them just because the experience is so good. The food is a different story, but man their UX is something everyone else could learn from.


Dominos has a fairly strong history of having actually usable tech. The few times I’ve had to order from them I’ve always been impressed.


Love-hate relationship with them as a tech firm.

Yes, their UX is beyond good. Webapps, CLI, order from some vehicle dashboards, Uber-like delivery meet point GPS capture,

but it's pretty important to note that they filed paperwork and patented a pizza tracking progress bar, keeping other pizzerias and apps from utilizing what's essentially the "Slide to Unlock" of any Internet-based food ordering.

It made perfect business sense, even if just to keep someone else from locking them out of the feature...but..had to mention how broken things are, that other pizza chains or stores couldn't/can't/won't offer proper modern order life cycle tracking due to this.


Timhortons up in Canada also has solid website that looks parity with the app.


Web Apps don't require an extra installation step, they merely allow the user to "install" the app -- to pin it to the homescreen and have it open without the browser UI.


I’ve never understood that.

To me mobile icons all look the same and it is highly stressful to scroll through pages of them. Even Apple is terrible if you just stop and think. Photos are just a meaningless pinwheel, the Settings are hidden behind a movie poster for The Golden Compass, if I had a Hacker News app it would get confused with all the other apps that have an H or N or Y for their icon or that are colored orange. As it is I can type “n” on my iPad and… it is auto suggested. I type “1” and it suggests my web based RSS reader - why are brands shooting themselves in the foot by getting lost in a maze of twisty icons that all look alike?

What I don’t understand is that I can frequently ‘grok’ icons on my desktop although I hardly ever use them (so much easier to hit the windows button and type 2 or 3 letters and hit enter). Steam will install icons for games I download an instantly I know that’s Atelier Sophie. I use Microsoft’s RDP client for iPad all the time and think it is great but the icon is completely meaningless, it is just some burnt umber wedges that look like the logo of a multimodal shipping company from the 1970s.


Scrolling through the app list stresses me out too, I avoid it and just pin apps I regularly use to the home screens.

Authenticator apps are a great example, I don't use them often enough to pin to home and all are identically named and have generic icons.

Another pain point is the overuse of material design with similar color schemes (it's not just google apps that use this). Half the app list become lost in a sea of red, blue, green and yellow fragments.


I mostly agree with you and that’s why I use a single page with the eight or so apps that I actually use daily. All the rest are in the App Library and I launch them with search. For me, it’s much faster than scrolling and looking for the icon. Typically I only have to type one or two characters to find the app I need.


I did not know you could do that. I think I show how lazy/non-power-user-ish some people can be. On my iphone I rely on "Frequently Visited" web links because I just don't seem to like "Favorites". I don't know why. I don't use bookmarks on my web browser either. So now I moved some web pages onto my homescreen, inside a folder. (It took a long time to figure out how to make a folder.) I will do this with other web pages too. I don't like installing apps unless it is something I wil really use. I stil have far too many. I should probably delete/move to folders several of those.

(And for what it is worth, the (email) inbox on my iphone shows 129,523 message unread)


> but why don’t they just make a web site you can order food from?

How will they sniff which smart devices are on their customers' networks, so they can make the next round of unnecessarily frictionless apps, for the next round of devices?


75% is a stretch. The last time I tested it, it was ~50% of my native program despite my best efforts, with AOT. Which is still good btw, just not as constantly advertised.


My colleague has been doing some stonking work with it, he claims its about 70% as fast, I was rounding up for safety!


That's pretty good if you ask me! I was using an image encoder that had a WebAssembly SIMD CMake option, which is nice, but it only had half of native performance. I suppose it will continue to improve over time.


Depending on the browser and also when this was WASM SIMD could have been a pessimization. It added first with compatibility in mind and took/is taking awhile to reach full performance potential


This is not a typical app.


Encoding images is a pretty typical thing to do though?


> But, for the end users, they will look at PWAs and think: "fuck, this has got slow, and its eating my battery"

It's not PWA's fault as a set of Web APIs. This is due to abusing these Web APIs by lazy/ignorant web devs, who create monsters like Slack instead of e.g. Let's Chat (https://browsingthenet.blogspot.com/2015/05/slack-is-so-slow...).

As for example Slack, I'm using Wee-Slack + Glowing Bear (https://glowing-bear.org) and it's very snappy. I don't need a closed-source binary blob on my tablet.


> you can spot the react native apps when you use them

Bullshit. React native uses native components, that is why its called react native. You are likely confusing react native with those other tech stacks that use a webview, like phonegap/cordova, etc, in which you can use react DOM (not native).


Bullshit to your bullshit. React native is mostly interpreted Javascript-based additional layer on top of a platform native components.


And you can spot that when you use them? How, exactly?

I can understand the phonegap/cordova confusion, as they will only ever be styled imitations of the real components so may not look or behave exactly the same - but react native is using native components, so what difference is there to "spot"?


>We have been lucky on desktop/laptop that we have added 5 zeros to the available compute, memory, network and GPU capacity. This allows a browser to run slack at the same speed as MIRC, from 2002.

I war running mIRC in 2002. Slack is worse.


Even today, mIRC is still faster than Slack.

Yes! It's still a functioning application on Windows! I use it from time to time.


You missed the point. Of course it is still faster. Its like a hundred times smaller doing the same stuff.


I don't think I missed the point at all.


When I got Internet I was basically in mIRC and Mosaic and it wasn't clear to me at all that the web will be the big thing and IRC a niche one day. Similarly its a bit funny that mIRC survives to this day but the browser of the day died long ago.


Eh, I think those posts really fail to highlight the amount of features more slack has and this comes from am a long-lived IRC user that started on quakenet 25 years ago and still uses IRC today (through IRCCloud), mostly for libera (former freenode).

A very tiny and incomplete list: - well working secure file transfer - always on chat history that doesn't rely on you being online or running/buying an irc-bot - voice and video calls - threads - avatars - added layers of security and authentication (critical for business) - plugins/addons (everything on IRC had to be implemented with a chatbot and it was quite limited) - text formatting - support for longer text messages

It's really an apple to oranges comparison to be honest. Yes, they are both fruits, as in they are both used to communicate, but this is where the comparison ends.


The question is why all those things need to be in the same application.

All those were solved problems 25 years ago, they just needed a basic level of tech literacy to achieve.



I hope this article is true, because in that case, web apps like [1] and friends can start being treated like I'm used to treating programs, as binary files or otherwise fungible functions that you can call and get outputs, and if you don't like what one version of the function/binary/program/application does, you can substitute your own or a previous version.

Being able to sideload (back in my day it was called installing) applications on mobile devices pushes the power towards the user more, and anything that fights for the users like that is something I can get behind

[1] https://webxdc.org/ because i must shill for deltachat and simplex chat and other applications i love the idea of that i know will very scarcely break through the network lock in effects


> [installing] applications on mobile devices pushes the power towards the user more

On the other hand, on a website I can relatively easily block trackers and suspicious network requests, or ensure that links open in my preferred browser, rather than an app-specific browser that tracks everything I do.

I get the attraction of being able to keep and use old versions. But websites give me way more control over what they actually do on my device.

(And in practice, in many cases I don't expect the code that runs locally to be the barrier to longevity. As soon as server-side APIs change, having access to an older version of the client code doesn't bring you much.)


webxdc looks very good, but I see that delta-chat doesn't really work with the biggest cloud mail providers without technical knowledge (all of them in the PREPARE state) :(


> This, in turn, will enable competitors to replace app stores with directories of Progressive Web Apps.

> Work is also underway to give competing browsers a chance to facilitate PWAs that can install other PWAs. Web App Stores would then become a real possibility through browsers that support them, and we should expect that regulatory and legislative interventions will facilitate this in the near future. Removed from the need to police security (browsers have that covered) and handle distribution (websites update themselves), PWA app stores like store.app can become honest-to-goodness app management surfaces that can safely facilitate discovery and sync.

It's ironic that this article criticises tech media for sleeping on web apps and focusing on app store competition only to envision Web App Stores.

There's no need for app stores on the web. We already have discovery (Hacker News) and search (Google). I could imagine a subreddit specifically for web apps, but is even that necessary?


I don't think that's fair, the concept of a "store" with user reviews, changelogs, detailed app information (e.g. permissions) is great. It only becomes a problem when a platform decides to act as a gatekeeper for the entire platform with insane rules & fees.

Furthermore, social media is a really poor way to discover anything unless it happens to go viral. A general-purpose search engine such as Google is entirely suboptimal, as it can only match on keywords on the page. It doesn't address reviews or provide convenient (but optional) payment processing either.

You shouldn't be forced to use one specific store, but their role is nonetheless valuable. Whether it's for apps, books, appliances, or food.


> changelogs

I haven’t used a platform with these for a while, but my recollection of the Google Play Store was that the changelog was completely useless for almost all apps I ever used.

> detailed app information (e.g. permissions)

… which has historically been “it takes all these permissions and there’s nothing you can do about it”, though I gather this has been changing on at least Android, whereas on the web almost none of the equivalents are enabled by default (“connect to the internet” being the most obvious counterexample) and all beyond that must be granted explicitly at time of use.

> It only becomes a problem when a platform decides to act as a gatekeeper for the entire platform with insane rules & fees.

… which happens approximately every single time.


> I haven’t used a platform with these for a while, but my recollection of the Google Play Store was that the changelog was completely useless for almost all apps I ever used.

That is correct, and exactly the same on iOS. The average changelog says "bug fixes and improvements". Might as well be a giant middle finger.

> … which has historically been “it takes all these permissions and there’s nothing you can do about it”, though I gather this has been changing on at least Android

IME iOS does not have this issue because it never shoved all the permissions in a "permissions" tab granting all of them to the application at install. Instead permissions are usually opt-in when requested by the application. So applications have always been incentivised to limit their requirements (you can reject any request, and you can toggle them off afterwards through the setting, all the application can tell you is "I can't work without that dave"). Apple has also increased the number / scope of opt-in permissions over time, increasing the scope of that effect.


What's your point, exactly? All I'm saying is that places which aggregate and curate stuff can be a valuable, depending on the features and experience they provide.

I mentioned a few features I would personally find valuable, you might be interested in a store that only offers content suitable for kids, or some other niche. That's the beauty of open ecosystems.

> … which happens approximately every single time.

You seem confused. I think you need to read this thread again. The discussion was about alternatives to this exact problem. tldr; This can't happen on the web because a PWA store is just another website, much like HN or Reddit.


I read (and still read) that part of your comment as saying “app stores can be fine”, and am responding with “maybe in theory, but they never are”.


I dunno, try looking for “qr code reader” on the play store and you will find the same spammy product listings that AMZN is choked with,


Android's app store may suck, but at least it's possible to start a competing store which sucks less.


It's technically possible, but will force your users to go through additional configuration steps, decreasing your audience ten-fold.


You have something like user reviews with comments on HN or reddit.

Changelogs and permissions are more difficult as they require the app store to control hosting. I don't think any developer would accept that unless there's no other choice, and on the web there is.

Google doesn't have reviews (why not?) but it can crawl every website that links to a web app, like an HN comment page, and use that to figure out what the web app is about.


Okay, so you don't like stores, but I don't understand why you're ridiculing the author for suggesting what is an obviously valuable idea to many, if not most people?

You can distribute EXEs for Windows, but virtually all game developers use stores such as Steam for their value-add features. Customers don't only prefer this option, they often demand it.

You can distribute binaries for Linux, yet millions of people and servers use Debian, Ubuntu, Arch, Fedora, etc. repositories.

It's a bit like making the infamous Dropbox comment, except doing it in 2024 with benefit of hindsight, the idea itself has already been validated by billions of users.


A web app could provide an RSS feed of updates for scraping by app aggregators. This sounds like a great candidate for addition to the web app manifest format.


But such a store doesn't need to be a dedicated app on the device. It can be a third-party website—indeed; that is how it would make the most sense.

If this were something people were clamoring for, it is likely it would already exist, because the barrier to creating a website for linking, aggregating and reviewing PWAs should be quite low, with the only real challenge being the accumulation of a critical mass of users.


Accumulating a critical mass of users is nigh-insurmountable when you don’t own the platform. But also it’s not the only challenge: sustenance is. Google and Apple operate their app stores because they get a lot of value out of them—both because they make their platforms more useful, and because of their absurdly high taxes. But a third-party website that’s essentially just a link aggregator, how is it going to make money? The only realistic ways (advertising/sponsored listings, or charging subscriptions to either side of the marketplace) increase the critical mass required drastically, far beyond what’s realistic.

And indeed, there have been multiple attempts at something like this, because it is something people want—but there’s just no money in it, and so they’ve all failed.


One major caveat is that PWAs don't have all the capabilities of a native app. I think that's the biggest issue people have with this -- if PWAs had full feature parity with native apps, I'd agree Apple's app store monopoly wouldn't be a big deal.

I think there are many reasons why something that people do want might not (yet) exist. For example, a monopolized market where customers don't have many choices. Or like you mentioned, difficulty in competing with incumbent advantage. Or maybe people just don't know what they want (e.g. "faster horses")


> There's no need for app stores on the web. We already have discovery (Hacker News)

Yikes. What about the other 99.9% of phone users? Google is a terrible choice for finding PC apps today, let alone phone apps.


They can ask on social networks, subscribe to newsletters, watch videos. I don't recall Hotmail or ICQ or Firefox needing an app store for people to find out about them.


I think an interesting approach would be to explore what a store does. A few ways to look at it is to explore what brick and mortar stores do, what they offer both consumers and producers, and to explore why app stores that aren’t monopolies exist. Eg. Gaming.


App stores are an ad delivery system these days. Apple/Google don't make money hosting a bunch of apps, the filthy lucre comes from companies paying to have their apps in the top slot.


> Yikes. What about the other 99.9% of phone users?

Those people can discover web apps on other websites.


I think that fails to appreciate the needs and skills of most users. App stores shouldn’t have a monopoly but they’re still necessary. They provide a consistent location and format for finding, installing, updating, and reviewing apps.

Saying “we have Hacker News for discoverability” is especially revealing of the lack of understanding and empathy tech people can often have for the majority of users.

It’s also simply a foregone conclusion. There’s a demand for discoverability and consistency. Whatever fills that demand we could just call an App Store.


Normal people use websites and follow links. Understanding and empathy is one thing, condescension is another.


You’re just describing an ill-suited App Store called a search engine.

GOG, Steam, and Itch.io exist despite not locking down entire platforms. There must be some sort of demand for a consistent way to discover and access software.


It might seem incredible, but there are legends of entire companies being built without App Store access in times of yore.


The world has changed.

I read somewhere that Windows 98 sold 15 million licences. Add in OEM machines and you've got a base of computer users in maybe the 100-200 million range - most of whom either had to use the device for work (which meant training) or had a level of enthusiasm for computing (which meant self-learning).

Today there are 7-odd billion smartphones out there. Most users just want something that gets things done with as little friction as possible.

Who uses these things and how they use them has changed beyond all recognition.


>Most users just want something that gets things done with as little friction as possible.

It's funny to read this as someone that always dreads having to get a new phone, or install some proprietary app, or reinstall a Windows VM, or sign up to some service, exactly because I know how much friction is going to be deliberately put in my way from every party involved.

"No you can't just change your phone's service provider", "No you can't unlock your phone's bootloader", "No you can't just boot into a new copy of the OS without signing into a bunch of things", "No you can't install this Windows image on a device without a trusted platform module", "No you can't just install a program from the web", "No you can't just look at all the files on your phone", "No you can't just have an app sync photos from the SD card", "No you can't create a login without giving us your phone number", "No you can't opt out of our 'telemetry'", "No you can't view the video you're paying for without the right OS/browser/monitor/cable".

Coming soon: "No you can't view the URL of the page you're on", "No you can't install an ad-blocker", "No you can't access this site without an attested, locked-down OS-browser stack", "No you can't install a different OS on this PC", "No you can't use a local, unlicensed generative AI model".

I think it's time we reframed the discussion and stopped dumbing users down and pretending that extremely anti-user behaviour is "user-friendly". Using technology used to be challenging because the hardware and software were still being bootstrapped to a point where it was fast, simple and bug-free to use. Now the experience of using technology is to have to navigate some corporate bureaucracy in every direction, which is totally independent of tech limitations.


In a better world, all schools would have computer literacy classes that did more than teach kids how to use Microsoft Office. Actually teaching them how computers work instead of siphoning them into learned helplessness just so big tech can keep on raking in billions.


> Add in OEM machines and you've got a base of computer users in maybe the 100-200 million range

Annual PC shipments are still around a quarter-billion units...

They've been over 200 million each year for the past 30 years. Peaked at 364 million in 2011.


Look, my grandmother is not going to browse hackernews so she can download the facebook. If she could search facebook on google and get a big old < Install > button next to the result, then maybe. But probably that won't happen on Google since they are incentivized not to for their 30% cut


In fact, google does return facebook as the first result when you search for "facebook"[1], and as for the install prompt that's something that facebook itself can show.

[1]: https://www.google.com/search?q=facebook


How can Facebook add an install prompt to a page controlled by Google?


Additionally, it's not like Big Tech is somehow preventing PWApp Stores from being a thing. They're already a thing. https://store.app/


The author mentions PWA stores like store.app, and some shortcomings:

> PWA app stores like Appscope and store.app exist, but they're hobbled by gatekeepers that have denied competing browsers access to APIs that could turn PWA directories into real contenders.


The author is simply wrong in this case. To make sure I was giving him the benefit of the doubt, I just went to store.app and added Microsoft Loop to my Home Screen in about 5 seconds. It was easier and faster than installing a native app!


PWA install experience is nice and easy on desktop, you're right.

But to be clear, the author is saying that on mobile, especially on iOS, PWA capabilities are crippled.

I say this with some authority, having worked on Microsoft's PWABuilder[0] including its iOS platform. There are a number of significant things not possible on iOS due to Apple's restrictions for web apps.

Things are getting better on mobile, albeit slowly thanks to Apple's feet-dragging mentioned in the author's post.

[0]: https://www.pwabuilder.com


> PWA install experience is nice and easy on desktop, you're right.

Cool, I've only tried on mobile myself. Here's the iOS experience for anyone who hasn't tried PWApp stores: https://imgur.com/a/2VMbvOp

> …on mobile, especially on iOS, PWA capabilities are crippled. I say this with some authority, having worked on Microsoft's PWABuilder including its iOS platform.

Great project, nice to meet you! I don't think I've hit these pain points as a user. What's your "top 3" of what Apple needs to do to make PWA installation suck less for iOS users?

As a developer, I expect I would do exactly what you recommended in 2021 (https://blog.pwabuilder.com/posts/publish-your-pwa-to-the-io...), which is to distribute web apps on the App Store proper (using PWABuilder, Capacitor, etc.) instead of as a PWA for the benefits (discoverability, "normal" installation experience) you note. Is that still good advice from your perspective?


> "What's your "top 3" of what Apple needs to do to make PWA installation suck less for iOS users?"

It's not so much about installation as it is about app capabilities. Many of the things native apps do easily, Apple makes difficult for web apps. Push notifications is one such thing. (Again, this is changing slowly.)

That said, yes, adding web apps to home screen is quite buried in iOS today.

> "As a developer, I expect I would do exactly what you recommended in 2021 (https://blog.pwabuilder.com/posts/publish-your-pwa-to-the-io...), which is to distribute web apps on the App Store proper (using PWABuilder, Capacitor, etc.) instead of as a PWA for the benefits (discoverability, "normal" installation experience) you note"

It's not an either/or. Personally, I build PWAs and make them publicly available on the web. Then, I publish them to app stores for visibility. Average, non-technical users look for apps in app stores, so that's where you need to be even if you app is built with web tech. This is the advice I gave in 2021, and it still holds true today.


Thanks, I appreciate your thoughts!


Try asking someone who doesn't know tech to do it on their iphone. Then ask someone who doesn't know tech to do it on their android phone.


I can’t speak for Android, but it’s hard to imagine how store.app’s instructions for iOS users could be simpler.


While we're at it, we can get rid of yum and maven and just manually search forums for stuff to download.


How do you think things get into yum and maven in the first place?


Even supposing that what you're suggesting were true, why would it be beneficial to have everyone repeatedly go through the same work?


> The implication is clear: browsers unchained can do to mobile what the web did to desktop, where more than 70% of daily "jobs to be done" happen on the web.

This was an actual debate in the early days of app stores. Facebook was the most prominent company that decided to go with an HTML5 app instead of a native one. Doing so was one of the biggest strategic mistakes they've ever made. Zuck's words, not mine. (https://www.engadget.com/2012-09-11-zuckerberg-html-5-facebo...).

Web apps were slower, had issues dealing with the various browsers and saw less use.

It doesn't seem like the author has done any real research here.


There's no technical reason this needs to be true though.

It's wild that I can use a full-featured spreadsheet instantly on the web on my laptop, but on my phone someone wants me to download a 100mb binary to order a pizza.


> It's wild that I can use a full-featured spreadsheet instantly on the web on my laptop, but on my phone someone wants me to download a 100mb binary to order a pizza

Google Sheets is now basically a window-sized canvas element, with its own non-native control libraries. I suspect it is not using browser font rendering.

That puts it effectively back into Windows 3.1 days of bitblt graphics, being driven by a difficult to optimize, dynamic language.

It is indeed wild that desktops are good enough to be able to drive such a thing with such performance. However, there is plenty of reason to rely on native frameworks with modern graphics systems.

I suspect there were radically different levels of engineering and optimization that went into Google Sheets vs a typical pizza-ordering app. Even with the same level of engineering, I suspect the pizza ordering app would be larger due to the need to bundle media like pizza and topping images.


I haven’t seen any AAA games that are developed to work in a browser. I also believe that a lot of APIs in iOS are not available from PWAs.

If someone invested a lot of time and money into making PWAs work great then there shouldn’t be any technical reasons for why you should choose to develop a native app instead of a PWA. At the moment we are lacking in tooling and language support and also leaving a lot of performance on the table.

I love how easy it is to get up and running with a PWA and most of my front end stuff is using PWAs today. From a technical standpoint it still needs a lot of work from the vendor side though.


> I also believe that a lot of APIs in iOS are not available from PWAs.

The security model of a store is delegated trust and stewardship. There is someone who will review if applications need capabilities, and will provide business penalties for bad behaviors.

The security model of the web is basically a mix of site sandboxing and caveat emptor. There is no guarantee the web app you hit one minute to the next will be the same code base, or belong to the same owner. For example, the same interface has to get consent for notifications from an advertising site which wants to spam you as your corporate chat app.

Chrome had quite a bit more motivation to ignore this or to create a tiered model with PWAs because of Chromebooks, where the model (originally) was web-only development. Google created quite a few one-off API for their systems, and promoted several Chrome-only API as if they were web standards. Even there, this approach was too limiting and eventually Android compatibility was added.

Apple has started to add some additional app-useful features like notifications, but behind the 'Add to Home Screen' option. One could look at this like promoting a website to an 'app' on the phone, partially because that gives a consistent way for the user to understand permissions and privacy implications for both native and web code.

There are plenty of people who wish there was a better mechanism on iOS than the current add to Home Screen flow, but it is highly unlikely to become more streamlined because of abuse potential.


Meanwhile, these "trusted apps" are regularly executing whatever code shows up from server-side.


To be blunt, and clearer: Apple's reason, your reason, for them being hostile towards webapps is unconvincing.


> I haven’t seen any AAA games that are developed to work in a browser.

I think Stadia worked over the browser to deliver AAA games. There’s obviously a whole bunch of missing technology needed to deliver (and later patch) huge web apps locally though. Plus annoying browser limits like the hard kill based on memory usage in mobile Safari.


Games on a browser are nearly impossible to monetize. They are fundamentally different to, say, a pizza-ordering app, which has monetization built-in. One exception could be MMORPGs, but in that case it's extremely difficult to avoid cheating, on a browser.


"My highly abstract cross-platform framework must be as fast as native code" is not a sane view on this.

A tonne of effort has gone into making spreadsheets work on the web; both in the browsers as well as the spreadsheet apps themselves.

The fact that the web works as well as it does is a huge feat of engineering, but in no way indicative of there being no technical reason that native apps can be better.


The vast majority of apps are just text, images, and buttons. Maybe a video player if you're getting wild. Not really anything that requires processing speed except to just render stuff on a screen and wait for touches. They don't need feats of engineering to run well.


"Many apps are fine as PWAs" and "there is no technical reason for an app" are very different statements.

Many apps are fine as web apps without any OS support at all.


I should have been more specific. There's no technical reason for binary apps to be the dominant form of apps on phones, given that most apps are pretty simple experiences.


No technical reason, but I don't see iOS and Android settling on a standard framework for doing native applications and setting a specification for frameworks (localization, camera capture, audio playbacks, and other apis). The web is great, but only when you treat each page as a documents (interactive). Anytime you break out of this, you find yourself in a whole suit of problems as there is no easy way to fit both experiences in the same application (responsive design is not the solution).


Perhaps, but there appears to be an obvious convergence of Android toward iOS’s user interface idioms.


Maybe not enough effort has gone into something as basic as ordering food online. Or rather it's such a simple problem that too many fragmented subpar options exists compared to web spreadsheets.


I've always assumed it was by design, because you can't use ad blockers or privacy addons in an app.


> There's no technical reason this needs to be true though.

yes, yes there is. HTML/JS is a bastard to parse. it takes a fucktonne of resources to actually figure out how to render a box. Go and fire up a windows 95 box, with 133mhx of pentium III goodness. THen make a VB6 app that animates boxes/shows images.

Look how fucking fast it can do it (and vb6 wasn't a fast language)

Or, more easily, render a web page on the original raspberry pi-b, try and play video in a browser, do some sort of animation.

It lags like a fucker. Use py-game (you know python with its 50% "what fucking type is this?" tax) and you can run animations at 60fps.

The web is slow, its just moore's law has shielded us from it.


> HTML/JS is a bastard to parse.

Parsing is a tiny fraction of the time that a Web browser spends, and the various native resources are on the same level of complexity. TrueType hinting instructions from the 90s are of a similar complexity to the HTML 5 parsing spec.

> Go and fire up a windows 95 box, with 133mhx of pentium III goodness. THen make a VB6 app that animates boxes/shows images.

This will easily run at the same framerate on a modern Web rendering stack.

> Or, more easily, render a web page on the original raspberry pi-b, try and play video in a browser, do some sort of animation.

Browsers on the Raspberry Pi B weren't accelerated, due to various reasons including Broadcom having (at the time) the worst GPU driver situation imaginable. You should compare against modern accelerated browsers (by "modern" meaning "within the last 20 years on mainstream OS's").

> It lags like a fucker. Use py-game (you know python with its 50% "what fucking type is this?" tax) and you can run animations at 60fps.

Web apps have been able to run animations at 60 FPS for decades. (As an aside, the performance difference between CPython and native code is far more than 50%.)


Animations suck up so much resources. I have a PWA where I wanted a pulsating button with a frosted glass effect. I had to remove it cause it was using 20% of a single CPU core. After removing it the app is only using 6%, just sitting idle, which is about 6% more than any other native app on my Mac.


You can bake it into a gif so you only have to do the rendering once. But yeah. It sucks


Can I achieve the frosted glass effect with a gif? E.g. semi transparent and a blur of the background that are visible through the button.


Nope, gifs only support binary transparency (transparent or opaque).

APNG would let you do frosted glass though. And I was expecting to add "but support is dire" but... actually it's not so bad? https://caniuse.com/?search=apng says 97%, only browsers with no support are legacy (IE and Opera mini), pretty much all browsers have supported it for years.

WebP and AVIF also have animation and alpha channel support, so these are also options.

Caveat emptor though, I don't have much experience with animation and alpha on any of these formats, so I don't know how buggy support is.


You can generate the gif dynamically. Unless you’re doing a lot of resizing, the one time cost of building the gif will amortize quickly across the total runtime of the animation.


The content beneath the button can scroll up and down. I doubt that it will be worthwhile generating a new gif for every single frame while scrolling.


It's true, but a current version of a native app has minimum OS version requirements that make running on an old phone impossible. If you're just willing to have the same hardware requirements for mobile web, you've got hardware that can render text and images and buttons just fine.


To render text in a browser, you are looking at a 10x cost in power.

to animate anything, you are looking at 100x cost in power.

This means that you will drain the battery much much faster than with native.

The solution is not using webtools, its making native much more open/portable. you know like java was supposed to be (kinda like how APKs are now. )


If you render text in a browser, you have support for selection, translation, links that the user can open either in the same or in a new tab ...


You can do that with the canvas API as well.


These days they will ask you to download 100MB of JS, CSS, HTML and assets to order the same pizza.


That is a real problem. But if that problem manifests in web and native software alike, then neither the web nor the app stores directly cause it, right?


How's this for research: In 2011, when Facebook tried HTML5 for their app, an iPhone 4 ran the Sunspider JavaScript benchmark in a little over ten seconds according to Anandtech. Today we stopped using Sunspider because phones and browsers are so much faster there's no point to it, but an iPhone runs Sunspider in ~70ms. 150 times faster! And today we have APIs for camera, storage, video, 3D, notifications, threads, WASM, etc that didn't exist back then either. When developers can save 30% by going with the web, that's a real big incentive to explore the new performance and new APIs the web has today...


Them's citin' words! Are you sure you're as well-versed as you portray yourself to be?

The article which you linked to is from 2012; it pertains to the performance of Facebook's web client in 2010, when run on mobile devices in 2010.

Most apps today can be implemented as progressive web apps, without any user experience penalty. Instead, they are built with tools that lock developers into a platform of one type or another. That's because some handset manufacturers prioritize the platforms that have lock-in, such as the App Store and iMessage, over the platforms that do not, such as the web and RCS. It is not because the web is somehow a bad platform for apps.

If you want FaceTime to call your mom on her headset when your watch detects a spike in your heart rate, then yes, you may want to write a native app to do that. But Sudoku, Pandora and the McDonald's app can live on the web, and so can most of the rest.


> Most apps today can be implemented as progressive web apps, without any user experience penalty

yeah nah,

the FT, the bastion of PWAs because of the "if you have a subscription, we'll take 25% of that thanks" flipped to native almost as soon as the rules changed.

why? because the user experience sucked bollocks. It was slow, memory hog, and a massive massive bollockache to maintain. Don't get me wrong, thats not because they were bad at making the web app, its because the tech isn't up to scratch.


Are you talking about this?

https://enterprise.ft.com/en-gb/blog/ft-app-now-available-io...

This says they just wrapped their web app in a native app, like a web view, so they could then use system features that their web apps couldn't access. So are you sure you're not using a web app after all? You might be using the same tech as you were before.


Funnily enough, Steve Jobs/Apple didn't even want an app store or native apps to begin with. It was gonna be only preinstalled apps + 3rd party web apps. Hell he had to be convinced to even allow non-Apple 3rd party apps in the first place.

I don't think web apps are the future, but I also don't see why there can't be a more protected mode/sandbox for non app store sourced content to run in. Nobody has solved this yet - why can I visit pretty much any website and (mostly) be completely safe, yet I can't install any old random APK?

Hell, it should be possible to jump from the web into native code with a single click by now, why tf not. The only good thing the app stores are good for is to serve up apps that are "more trusted" (even tho app stores constantly have a couple bad actor apps on em) as well as centralised place to easily find stuff (the reason people use Google).

I guess the real problem with sandboxing/permissions systems is that users don't know what's good for them; my Tiktok loving friends would just hit "yes, yes, yes" to any dialog that says "TT wants to know your shoe size".


> Web apps were slower, had issues dealing with the various browsers and saw less use.

Apps like Facebook are constantly preloading data in the background to fill your feed immediately on app launch. 99pct of web apps would not have that need fortunately.

And let's be real, FB went with native apps because they could quietly hide app permissions that a web browser would warn you about with a big scary dialog window. That would be catastrophic for the world's biggest targeted advertising company. They ran a full page ad when Apple started requiring app tracking disclosures on iOS.


Aside from your point about Facebook, "It doesn't seem like the author has done any real research here" is kind of a weird comment to make about a veteran browser dev who's been on web standards committees for over a decade.


The state of the art 12 years ago and the state of the art today are generally quite different things.


Maybe if Apple didn't purposely deliver a slow, dated browser and force it to be the only one.

The cellphone duopoly is using their power to make sure the web cannot match native. That's how they make their gobs of money that hasn't been subject to real competition. They get a free rake off of the innovation of others.

If you allow web downloads of apps with no store and no scare wall, companies will develop better / native-level browsers. They'll happily chip away at Google and Apple.

With WASM, we have the tech. As soon as it goes multithreaded, it's game over for native apps. (So long as the DOJ clears the runway and forces these companies to allow fair competition and progress.)


> a slow, dated browser

I agree with your overall point, but this really isn’t a fair categorisation of Safari. It’s a fast, modern, efficient browser, and a lot of the stuff it doesn’t support is only supported in Chrome.

I concede it does lag behind Firefox in terms of supported web features, but only very slightly, and if you compare pre-release versions, that gap narrows even more (using the Caniuse browser scores as a rudimentary measure).


The issue with safari isn't its supported features but that it's very buggy and unstable. You never know when they are going to break indexdb, localstorage or some basic CSS rendering primitive again.

And because the browser is also hard coded to the iOS version, it has the slowest update rate of all modern browsers.


I'm thinking that if Python becomes "easy to pick up" to do WASM development, it could go a long way towards helping PWAs thrive. I'm not very familiar with WASM but most tutorials seem to be around C/C++, Rust, or C#, so I wonder if there's something holding back Python + WASM. I only mention Python because of its current popularity and accessibility to the masses.


> so I wonder if there's something holding back Python + WASM

Yes. The problem is that may python libraries involve compilation of c, rust or other native languages that themselves need a WASM toolchain configured to cross compile to WASM correctly, and potentially patches to support the platform.

This toolchain support is coming though. See pyodide.org for one example.

But if you just want to grab python.wasm from somewhere and run it on the cli, take a look at something like https://github.com/vmware-labs/webassembly-language-runtimes...


If I understand correctly, WASM only makes sense for compiled languages.

Of course you can run the python interpreter in WASM[1], but that will be at a significant performance disadvantage to the native javascript interpreter, and it's also something that has to be loaded every time you load the website.

[1]: https://github.com/pyodide/pyodide


I think something like https://dioxuslabs.com could deliver native, cross platform apps and win back mobile.

YC made a good bet here.


How does one pronounce Dioxus?


IIRC, it's inspired by this [1], so maybe the same?

[1] https://pokemon.fandom.com/wiki/Deoxys


But you'll be paying a python->WASM->sandbox tax. Not only that but you then don;t get access to any hardware acceleration, sensors or any other good stuff.


The area where Python is popular and end user mobile apps are two different things. I doubt there is much intersection.


It's because most Python is really C with a thin wrapper. Which is why it's so darn fast.


> This was an actual debate in the early days of app stores. Facebook was the most prominent company that decided to go with an HTML5 app instead of a native one. Doing so was one of the biggest strategic mistakes they've ever made.

That was over a decade ago. Back then, Youtube was still using Flash (the HTML5 beta was only around a year old), JavaScript engines were way slower, Chrome was still using WebKit... HTML5 today is not what it was in 2011.

Even putting aside the fact that the web was "slower" in part because of the decisions mentioned in the article that are intended to encourage native app design, it's not a foregone conclusion that the same is true today.


That was because Apple had gone out of its way to keep all of the best native functionality available only to native apps. Facebook is not a complicated front-end application (or it wasn't back then), so it should have been possible, but you couldn't even upload photos until iOS 6. It's amazing and audacious that Zuck even attempted it at all, in hindsight.


Maybe a few things changed since 2012.


LOL. Do you know who you’re talking about?


It's not outside the realm of possibility for web apps to have as good of an experience as binary apps for most use cases. But Apple has no motivation to make "the good stuff" easily available to web developers.

Letting a webapp capable webpage have an in-page "install this app" button that added it to the home screen would wipe out 50% of app store usage. But as it is, as an "add to home screen" option on the share menu of a webpage, which very few have noticed or understand the meaning of... it keeps web apps from taking off.


> Letting a webapp capable webpage have an in-page "install this app" button that added it to the home screen would wipe out 50% of app store usage

I can hardly wait for my entire Saturday to be taken up by my father being clickjacked into installing an antivirus scam.

If 'install this app ' provides any additional change in the security and privacy model beyond what setting a bookmark does, the page should have zero capability to request/demand such a thing.

I know that sucks for people who want to do application distribution using web technologies. However, people do not understand the ramifications of promoting a site to an app, and those ramifications are full of abuse scenarios.


> Letting a webapp capable webpage have an in-page "install this app" button

And you don't see how this would be abused by nefarious web sites ?

I already can't stand browsing the web and being inundated by push notification requests.


> And you don't see how this would be abused by nefarious web sites ?

How is this different from being inundated with requests (really, more of a demand or an absolute requirement) to install the app to view this content?


Speaking for myself, it’s only Reddit where I encounter this annoyance.


Try Instagram.


Web apps on Chrome suck compared to native desktop apps on both Windows and macoS, so I don’t see how this is Apple‘s fault really.


Yet somehow most native apps people use are either: a web browser, something built with a web browser.


Looking at Windows, we’ve got MS Office, File Explorer, Photoshop, Visual Studio, System admin/utilities, Notepad, Paint, Audacity, and so on… If all people actually used were just Facebook and Google Docs then Chromebooks would be far outselling Windows laptops; instead they’re just mildly competetive.

I won’t deny that “the web”, as a platform (especially Chromium) presents a compelling platform to which a good chunk of those apps could be ported (especially the apps which don’t need low-level or low-latency hardware interfaces - but I think you’re underselling the value, and necessity, of things using Win32+WDM/NTDDK instead of HTML+JS.


And that is very sad.


> It's not outside the realm of possibility for web apps to have as good of an experience as binary apps for most use cases. But Apple has no motivation to make "the good stuff" easily available to web developers.

How’s Apple making web apps bad on literally every platform?


Because they don't work on iOS, the developers abandon this idea completely, since it's a huge part of the user share.


But there are tons of web apps. We don't lack for examples.


Which of them are popular?


I'm... confused by the question?

In the browser: a dozen or more things by Google: sheets, docs, gmail, keep, and so on. Jira, Asana, et c. Several graph or diagram-making apps. Notion. There are tons.

Outside the browser: Everything that runs under Electron or is otherwise webtech-based? They're ubiquitous. Slack, Discord, Postman, VSCode, Etcher, and on and on.


I mean are they popular as actual web apps? I don't know anyone who uses them like that. And I myself do use web apps on my phone.


Yeah, there's no way Apple has any incentive at all to make it easy to install even the (very neutered) PWA experience. Interestingly, it's a lot easier on Android than on iPhone, but Google has always been more open about outside apps and app stores.


Yeah because mobile web apps feel like trash. HTML documents you can read is the good stuff.


If it’s just Apoke, then why are companies bothering to create Android apps?


The problems are not technical and they aren't Apple[1], they are structural. The whole reason the App Stores succeeded (past tense) is they enabled developers to make money.

Monetizing the web directly is practically impossible, certainly without resorting to intrusive ads (which are often blocked) and the attention span of people is incredibly short, so they will bounce. In order to survive you need a compelling reason for people to keep coming back and some source of revenue which is not the web site itself.

The fun part is those problems are now almost as true for apps as well, which is why so many of them rely on external realities to get people to install them, before performing a bait and switch. Additionally the rules around App Stores have quietly become far more restrictive in recent years.

This isn't to say the web is technically appropriate either, because it's not. CSS in particular is essentially broken.

[1] I did https://www.luduxia.com/reversi/ partly as an experiment to validate my thoughts about this. iOS Safari was actually one of the easier targets, certainly far easier than Chrome on Android.


I'm sorry for the snark, but:

> The whole reason the App Stores succeeded (past tense) is they enabled developers to make money.

How will the internet, the biggest money maker in the history of the world, ever enable developers to make money?

> Monetizing the web directly is practically impossible, certainly without resorting to intrusive ads (which are often blocked) and the attention span of people is incredibly short, so they will bounce. In order to survive you need a compelling reason for people to keep coming back and some source of revenue which is not the web site itself.

Subscription fees, ads, etc, basically everything mobile apps do now, too.


I don't think this is snark. It just misses the point.

The App Store has payment infrastructure built into it. Much, much easier to use for a developer and for a user than a different bespoke payment integration for each website.


Frankly, both payment infrastructures (Apple/Google) should be opened up. Heck, I wish there was a way to mandate building standard/open payment infrastructure for the web.

It's not there because platform vendors don't want it. We could have had it decades ago.


I'm not sure this is relevant. Having open infrastructure (whatever that means) doesn't mean that there'll be a seamless one-click purchase option for users; nor a zero-cost integration mechanism for developers.


Open infrastructure was too vague. An open payment standard, like OpenID/OAuth/FIDO.

There should be a standard, distributed payment system, it should be easy to switch providers, and it should be easy to make payments without going through all these proprietary systems.

It won't ever happen because there's nothing to gain for whoever builds it. And it needs to be build by the platform owners, precisely those that don't want it because they have their own payment systems (Apple, Google, Samsung, Microsoft, etc).


Understood. I wouldn't say that OpenID or OAuth are particularly standardised to the point where you can freely switch providers, though. That's where companies such as Auth0 are required, just as Stripe abstracts over different payments APIs.


Monetizing the web directly is practically impossible

You know, there is this concept called subscriptions, and if more businesses would just focus on creating value for their customers, more businesses would get their customers to actually pay them directly vs a massive race-to-the-bottom revenue architecture, such as advertising and get-as-many-eyeballs as possible.

I know it's a novel concept, but I completely removed all advertising from one of my core businesses, and while I lost out on a pretty hefty revenue stream, the goodwill it generated with my customers increased my subscription revenue (read: customers opening their wallets and paying me directly), and it dramatically decreased my time and effort trying to manage the shit-show that is Internet advertising.


In the last 10 years there has been a global explosion in the forms of monetization possible on the web. Subscriptions, transaction fees, donations and just straight up charging people for goods and services is very possible now. It's no longer the case that people bristle at the thought of monetization. Even VC fueled businesses charge money from day 1. It's as though the gospel of Basecamp went mainstream


I am surprised that part of Mozilla's never introduced an Android launcher for progressive web apps.

Given that they already have Firefox on Android and their history with FirefoxOS, I expected this to be a key lever to get app/website developers to consider this as an option.

Are there barriers such as performance or API issues (e.g. double click behaviors) that prevent the webmanifest and other approaches from gaining traction here?


Bad leadership + weak board = lost decade.


I am curious what do you mean by Launcher here. Firefox Allows installing app to your android laucher home screen and you can add any website as a shortcut to the homescreen.


AFAIK, they are refusing to implement BLE in Firefox(https://bugzilla.mozilla.org/show_bug.cgi?id=674737) saying that, "implementing it is harmful to the web."

Pretty hard to have a PWA future, if you can't access standard app APIs.

Seems like it would require a big mindset change for Mozilla to get on board with PWAs.


Is BLE a PWA requirement? I think they explained their position pretty well here, regardless of whether I agree:

https://github.com/mozilla/standards-positions/issues/95#iss...


PWA requirements are always whatever it currently can't do. There's never been a singular tech term more plagued by moving goalposts.


For my use case, yes BLE is a hard requirement.

Their example of hijacking a BLE keyboard to get passwords seems a bit farcical. I would love to see a PoC of that attack. The API has been available in Chrome for quite a while. I don't think it has been a large attack vector.


All the more reason to use Safari or Firefox, since Chrome is doing something that I don't want any browser to have. (Whenever I install Chrome, I go through and turn off all of the stupid stuff that chrome should never have like web midi, webscsi, webble, etc.)


Their official position cites security as the reason they haven't implemented it yet. https://mozilla.github.io/standards-positions/#web-bluetooth


There’s a stack of Blink-only Google specifications that people are pushing as “standard” that are anything but. Both Apple and Mozilla reject them on privacy or security grounds, then get criticised as being “behind” (or in Apple’s case, “deliberately holding back the web”). No, a specification created and implemented unilaterally by Google is not a standard.


Most standards start by being implemented by one browser. I would rather a standard exist based off a real implementation than one thrown out of an ivory tower.


The whole point of standards is that there should be multiple implementations that can support it. Now I do agree with your point on that standards should be based on feedback from implementations but as the above comment said, this is just google making adding features and making standard documents to shift blame on other browser for not implementing them.


To be fair where are the other browser's proposals for giving apps the capabilities they need? Browsers should be shamed for not making an effort to support common use cases that apps need.


Oh yeah because so many of the web-apps and SPA’s were forced to put up with are so much better than apps.

Some businesses wrap their pages in an app and it’s equally bad, these orgs will do “lowest effort” in whatever format you give them, so that’s pretty moot either way.

The people and orgs that do build actual apps present an experience that is far nicer than the equivalent web app. They’ll often work partially offline, they are most efficient and responsive, and better behaved at staying in the state I left them in, unlike your average web page.

Commonly the counter argument here is “oh but PWA’s” or “but one more JS thing” or some such, which gives real “please bro, just one more lane, one more lane will fix it, please bro” vibes.

Also, the browser monopoly is even worse, google basically does whatever it pleases and everyone else has to kowtow or feebly resist.


I made an HTML5 Offline app years ago, and with much effort got it to do some impressive things, in a cross-platform and update-able way. But it was especially difficult on Safari, and seemed like Apple had intentionally regressed on some standards, for whatever reason. Android seemed to support the standards better. Desktop browsers worked well, but we were mainly interested in a particular tablet, and secondarily in other handhelds.

I later made a tricky iOS-specific app for a different purpose with SwiftUI, and it was successful after much effort, but the whole Apple App Store process and distribution was so much headache. The problems were Apple's heavy-handed authoritarianism, the slow iteration with reviews, and surprisingly inconsistent quality/correctness of the developer account site and TestFlight.

I'm not a huge fan of Web technologies lately, but at least they can mean being relatively free of the app store tyrants. And maybe there's a way to hold the device platform vendors accountable for supporting open standards properly. It might have to be with legislation or government purchasing pressure (since we techies collectively have dropped the ball on that accountability, such as with adoption and professionalism).


I'm sure the tech is there, but until web developers themselves start supporting mobile better then I don't see PWAs taking over.

Seriously, to this day I open pages that scale horribly on mobile (2x just this morning) and even don't function properly on desktop.

And I am supposed to believe that the same crowd will replace native applications with all that this entails (accessibility, i18n, offline functionality etc)?

Sure, there are plenty of horrible mobile applications as well that do not fulfill these requirements either. But the difference is that those apps never get any usage whereas some of the webpages I have issues with are from big domains that serve massive amounts of content (news, video etc).

If those aren't doing a proper job, then the capabilities of the tech stach won't matter. PWAs will be DoA.


> Browsers are the most likely disruptor of the mobile duopoly but you'd never know it reading Wired or The Verge.

I'm confused, The Verge has several articles about this hubbub of anti-trust this, Epic v Apple lawsuit that, EU forcing browser choice for iOS, and now Epic v Google and the recent win. There has also been tons of discussion about web apps, new app stores, etc in the comments.

How exactly are they ignoring this story? It feels like it's been at the forefront of their coverage for months now.


>I'm confused, The Verge has several articles about this hubbub of anti-trust this, Epic v Apple lawsuit that, and now Epic v Google and the recent win

right but none of those articles talk about how the -browser- could disrupt this duopoly

>There has been tons of discussion about web apps, new app stores, etc

that's what the article is about. these articles tend to talk about new app stores, but not much else. anecdotally I agree with the author's observation about this. the only time I've heard about PWAs it was from other nerds, not the news media.


I see what you mean. To be honest though, both Wired and The Verge are only really playing catch up to the current zeitgeist. If and when PWA's start being a big thing, we'll see articles show up about it. Even then, it'll only be when some major company makes a splash and being a PWA is the killer feature.

I don't really see The Verge and Wired pushing stories early. It's not that they're asleep, it's just that they're grabbing the stories from social media, converting it into press format, planning articles about it, then releasing.

They're not at the forefront of tech, becoming buddy buddy with the devs, getting that inside scoop. They're just doing broader coverage for the masses interested in tech. Anyone deep into this stuff is already subscribed to various subreddits, reading HN, nerding out in dev Discords, or having arguments on Twitter.


What is so up-to-the-minute about PWAs? They were somebody’s side project from 8 years ago which Google inexplicably didn’t kill. Despite controlling the browser, Google never came out with a reliable and sensible scheme to store files so it’s just another own goal like Windows Phone.


I just spent a year and a half building and rolling out a web version of a popular native app. We had to make a lot of compromises to get it out the door.

Native apps can block screenshots. Apple doesn't always like it, but you can plead your case to the reviewers. Web apps don't have an API to prevent screenshotting or to know when one is about to be taken and hide their contents. This is important to protect privacy (nudes) and people have come to expect it.

Know what's interesting? Screenshot protection is available for Encrypted Media Extension (DRM) video if you have Hollywood $$$.

Browsers (on desktop) also have dev tools built in. They make it easy to download any image you can see even if we put all the right click prevention scripts and CSS hacks in the world in place. Imagine having to explain to the privacy protection team that you can't disable dev tools for your site when that's not even an issue on native mobile without extra steps.

Those are platform wide issues, and I seriously doubt the people setting web standards are going to be on board with new standards that keep information (even very, very personal information) from being free.

I've championed the web since 1996. And PWAs may be fine to replace some basic e-commerce and information apps. But the platform needs to make some changes before it can totally replace native apps.


> This is important to protect privacy (nudes) and people have come to expect it.

Well that's unfortunate. I can take any camera and point it at a screen to capture its contents. Any expectation of privacy on that front is artificial and naive


There is a difference between trivially bypassing protections and having to go though some effort to bypass it.


How many people are going to bust out another camera to take a picture vs. hitting two buttons to take a screenshot?

There's a difference in scale.


I'm betting the number of people doing it will increase at the same rate as the number of apps blocking screenshots. Also would have a relationship to the expectation of security. If more people believe it's secure then the amount of sensitive content will increase

Wanting to get around artificial barriers seems pretty engrained into human nature


How can you say you're a champion of the free web in the same breath as lamenting not being able to wrest away users control over their own devices?!


We can have a free web or we can have a web that replaces app stores completely. We can't have both.

I personally prefer a completely free & open web, but I understand that means I'm going to be installing binaries for some things. I'd much rather have to download netflix.exe than have the current state of browser drm for example.


You'd rather have a locked down connection because you want to control what users do with the content you're selling.


You must have somehow missed the end of their comment that more or less sums up the nuance. ;P


The nuance is basically to drop the “free” - it’s cleaner. Otherwise their business model of sending nudes to random strangers on the internet does not work


Native and web apps shouldn't be able to block (or detect) screenshots. It's MY device. I should be able to screenshot whatever I want.

And you want to disable right click download? Then simply do not upload those images. You do not have the right to take that control away from me as a user.

Why "champion the web" if your whole goal is to take control of users' devices away from them and destroy their freedom in some of the most basic ways?


It’s your device, you can download a program that blocks screenshots if you like.


> Native apps can block screenshots

> This is important to protect privacy (nudes) and people have come to expect it.

Considering you can just, ya know, take a picture of it, this doesn't seem important at all.


That was my first thought too. My next thoughts were:

- it protects the platform, to some extent, by reducing the number of unwanted screenshots

- it sets a social norm that taking screenshots is unwanted and makes the screenshot taker look extra creepy if they share the image with anyone

- if a platform provides screenshot blocking, and users (who have all seen pictures of one screen taken from another device) value that protection and make decisions about what to post based on it, the company should think long and hard before deploying a version that breaks that assumption


I think it just leads to a false sense of security for most "normie" users. E.g. Snapchat, people think it must give a screenshot notification or whatever, so it is "safe" for nudes.

Well it is quite trivial to save the photos, either by network interception or patching the app etc. , which ordinary users may not even consider.

Not quite related, but I think "deleting messages" falls into a similar problem. It makes end users think they are "safe" or whatever, but the reality is that if a message was delivered to the other parties phone, they could easily have the original text despite any deletions, e.g. a cached notification or similar.


I wonder about this, versus culturally giving users permission to send nudes, even though they know there's always the possibility they'll be saved.


This is basically it. Yes, there are a million ways around the best protection (even on mobile!) but it's all about user trust and setting norms.


Sorry but I'm glad you aren't able to implement those features on the web.


Right. I'm frustrated when my software works against me.


You aren’t really able to implement them in real life anyway - just like any other form of DRM. If the device can show/play it you can capture it.


> Apple doesn't always like it, but you can plead your case to the reviewers

Since when? What app does this? SnapChat just notifies the counterparty of screenshots, which is largely "nudes", but no other app I've used actually manages to block my screenshots.


ScreenShieldKit is the gold standard for iOS screenshot blocking. They have a messaging app called Confide that includes the feature.

(It's not the app I worked on but it's out there as an example)


Blocking screenshots is a solution in search of a problem. How do you plan to block another phone or high definition camera taking a picture?


Hard mode: capturing straight from the internal display interface


I can just take a photo with another phone, you know that right? It wont be hd but will be enough to compromise privacy if that’s really your concern


You can, but most people's phone is their only phone and their only camera.

Tech people aren't the primary audience for those applications.


they compensate for their lack of tech skills with determination =)


Another angle is - "tech reporters" don't want to touch this because some mysterious blacklisting would result and their digital life would slowly come crumbling down. They're afraid to ruffle feathers.


No real justification for conspiracy theories. We have already seen a company fail when betting on PWA to fill in gaps in native app support for their platform - it was called Windows Phone.


I've read some tech debates in this thread that are above my pay grade, but I largely agree with the title. Case in point, the same discussions in this thread that are above my pay grade drove the building of our startup as a browser-based PWA, instead of two native apps.

Certainly native apps would have been better as a 'perfect solution', and we're still looking at building them in the future, but for delivering a working MVP it didn't make sense to even attempt. I suspect this will apply to many/most app startups going forward, and that means between native apps and PWAs, the browser is the marketplace of first-to-market products.


I think you definitely made the right decision. As a user and a developer I hate native apps with a passion, so I for one can’t wait for the browser supremacy to take off.


I doubt browsers are coming back.

Companies love apps. They get complete control over what you do(No easy way of viewing source, no modifying the frontend etc) and they can suck up all your data.

Plus browsers are are lagging in terms of say animations and probably always will with the need to build consensus before a new ideas is added. Then adoption can take years.


About the only time I can tell some app is a web app is when my password keystore tells me it can fill in my credentials.


Native iOS apps can work with password managers too:

https://developer.apple.com/documentation/security/password_...


The web pages for bitwarden about integration with apps on android doesn't explicitly say "it's pwa only" so maybe I misapprehended.


The web could help new mobile operating systems succeed specifically because the web handles the catch-22 of kickstarting a new dual-sided marketplace (to get users you need app developers creating apps but to get app developers you need users). Building a new marketplace is a significant challenge and prevent(ed) new mobile operating systems from succeeding (e.g. Firefox OS, Windows Phone, Ubuntu Touch) among other reasons.

Calling this out because it's alluded to in the post but doesn't seem to be explicitly stated. I wrote a brief blurb about it in 2019 - https://konaraddi.com/writing/2019/2019-01-06-pwas-could-hel...


It's the opposite. The mobile duopoly disrupted the web platform. Which disrupted the desktop platform which came before it. All of these platforms are still here today and they are competing with each other.


What would it take to have a third Mobile Platform is one question I had in my mind at least since 2017. ( The moment when I think Apple has really changed ) And the immediate answer to that was almost always, you cant, because you dont have an App ecosystem. A la Windows Mobile.

I knew Apps were important, and I sometimes look up the most popular Apps on the two platform. But it never occur to me to check my own App usage or at least it wasn't obvious how to check it. Until all of a sudden I remember you could look at battery usage of Apps in the past 10 days on iOS.

It turns out 60% of my usage was between a Game I played, and Safari, both being 30% each. The others were Youtube, Whatsapp, Facebook, Twitter, News/ forum App. These few apps together were 35%. The other 5% was a long tail of other things, but mostly Uber, Food Delivery, and Banking Apps.

Not only were the amount of Apps I used much much smaller than I thought. Most of them could be a Web App, and do offer an Online, Web version.

I am not the usual one to be optimistic on HN. The task is still easily tens of billions of investment. But may be, just may be it isn't as impossible as it seems. At least Microsoft could take a shot. Not saying they will simply because the strategic vision of Nadella is laser focus on Cloud.


We've been off our iOS native app for almost 3 years now (B2B/Enterprise distribution). We use a plain web app with some basic PWA config to make the experience mostly the same for the legacy native users.

Our latest generation web app doesn't even use websockets - it can get nearly 100% of the job done with multipart form posts. The only thing that absolutely had to be otherwise was submitting high res photos via AJAX because of a ~twelve year old bug in Safari that blows out memory utilization. We use a bit of javascript to bandaid where Apple refuses. We stopped letting it bother us after a while. Momentum does wonders for morale.

The hardest part of the transition for us was dealing with iOS hardware features from Safari, specifically the camera. Getting high resolution image/video out of the correct camera consistently was a huge nightmare up until not very long ago. Maybe we were just holding it wrong, but I feel like something changed in the last 18 months to make it not so terrible. Today, you can constrain for ~2k@30fps video and mostly expect everything to "just work".

My mood regarding Apple ecosystem has waffled 4-5 times over the course of the last ~decade. Today, I strongly recommend their hardware because I no longer have to worry about the App Store extortion + PKI certificate circus + weird dev ecosystem hellscape that we were trapped in for the prior half-decade. If you are building some sort of document/imaging solution, I don't know how you can beat the quality of the iPad camera.

If you can make your product work flawlessly on iOS/Safari, I think you are among the freest of people. The only thing the App Store does for you beyond this point is marketing/PR. I'd argue that if your business is heavily dependent upon App Store presence + gimmicks to generate revenue, then I don't think you have a business worth investing in.


Sorry, but this is wishful thinking. Apple/Google will put up every technical obstacle they can, plus the problem is social, not technical -- the vast majority of customers want ease of use, and that's what app stores provide.

I'm filing this along with those "this is the year of Linux on the desktop" predictions


I see now the thirst in this community to break browser engine practical monopoly and theoretical duopoly.

Posts about new or alternative browser engines get much more attention and excitement than posts about new programming languages.

I see this in myself. I wanted to make my own programming language in the past, but for a few years I want to make my own browser.


One loser could be Microsoft. I found, almost inadvertently, that when Apple essentially bricked Drive on my 2013 MacBook Pro, I could open a new Chrome window (not actually necessary, but neater workflow) and simply run Drive and Sheets there. This was a big eye opener. Especially when it works perfectly on an iPad in an emergency.


Nah - the mobile browsers are heavily locked down.

I think the way out is a new breakthrough phone manufacturer, using a truly open OS (not tied to Google / Apple). Maybe just Debian/Linux with a phone skin or similar. The breakthrough could be price, e.g. $100 for a great phone, or the new gimmick that sells lots of phones.


You can’t just ignore the many thousands of work hours by experts that went into ios/android to make it usable on a battery-powered device. I will happily take a laptop first that manages to not die on standby in a couple of hours running linux, let’s not get carried away.

You can see the “state of the art” with pinephones though, but take a deep breath first.


That is a very good point!


After using CHATgpt i want a phone whose interface is built around using CHATgpt. It can still have icons like an iPhone, but it's UI and focus is using Chat GPT (tho i use the PI app a bit more) to accomplish 50 to 70 percent of the things we already do on a phone via a text field or a voice assistant. It's responses would be via voice, text and graphical resprentations of the data and or task you requested.

I've been using it while driving and it's light years ahead of Siri & Google search result.. like drivng to get food I ask how much cholesterol in XYZ's chicken nuggets. It then proceeds to have a conversation with me about my health.

Maybe Microsoft is making such a phone now. I'd be the first to buy it.


PWA are not as good as apps - and not because of OS vendors restricting APIs.

Honestly this is one of Doctorow's weakest arguments - PWA are part of the enshittification of tech: poor substitutes to full-fledged performant applications, that you never own, that "phone home" all the time, always dependent on someone else... I can get working binaries of old closed source software of yesteryear; I can't get working "open-source" webpages of five years ago, a maze of calls to different web ressources that the Internet Archive couldn't cache correctly, to display fully and correctly.


Agreed, this is why I'm much more excited about the possibility of sideloading native apps.


> Honestly this is one of Doctorow's weakest arguments

This isn't Doctorow. I went and searched, here's the article I think you're referencing

https://doctorow.medium.com/web-apps-could-de-monopolize-mob...



> The tech press almost universally fails to mention the web as a substitute for native apps

Maybe because this topic was already thoroughly covered and debated back in 2007 when the first iPhone was released? Here's John Gruber characterizing the announcement in unfavorable terms: https://daringfireball.net/2007/06/wwdc_2007_keynote

And then there was Mozilla's Firefox OS which went all in on this approach, going beyond the limitations of the iPhone's implementation. Searching for those stories should find the press coverage the post author is looking for.


Here’s something that’s kind of obvious but only occurred to me the other day — if you sell apps for $3 or less, the App Store fee costs about the same or less than anyone else is going to charge under the small business program.

Unfortunately my next app is going to cost $9.99


Can I download 33Gb of music from streaming service so I can listen to it offline in browser tab?

Web can't be both nimble, document-based and have full-blown offline capabilities, at least I don't know any way to do it now


Looks like you should be able to do it with the CacheStorage apis

https://developer.mozilla.org/en-US/docs/Web/API/CacheStorag...


By adding all sorts of APIs to Javascript that just also accidentally happens to allow Google to search your phone's file system from the browser.


Does anyone have a good recommendation on reading about continuously updating PWAs. It is quite obvious for the App Store that you can push new versions and your users are notified that they need to update. If someone has a good reading on this I would appreciate it as I have started to develop PWAs. Sometimes my PWA stops working and I have to save it to Home Screen again and I am not sure how to troubleshoot this. Thank you.


> Reporters and editors aren't software engineers, so the potential of browser competition can remain understandably opaque.

There you go. As a virtual unknown who has fought the good fight against Google and has tried to help make reporters aware of tech/services they hadn’t considered before - well, some people have a hard time thinking about what they’re not used to or don’t initially understand.


> On the technology side, Apple has been enormously successful at denying essential capabilities to the web through a strategy of compelled monoculture combined with strategic foot-dragging

Yes, it's mind boggling Apple to this day is not punished for this violation of competition law and brazenly gets away with this garbage for years.


So the most like the disruptor of the mobile duopoly of Google’s Android and Apple’s iOS are Google’s Chrome and Apple’s Safari.

Got it.


It's basically why Apple sabotage safari so hard to the point that 'doing anything more than a static page on safari requires tons of workarounds'. (And also why you can only use webkit on iphone)


This will end up benefiting Google the most. Developers will target Chrome, especially if the government forces Apple to allow other browser engines on iOS. In addition, since the only real way to monetize web apps is via advertising, they will use Google ads.



This would be a much more interesting and pleasant article to read if it wasn't so full of this breathless "I can't believe the big tech sites aren't writing about this!?!" hyperbole.


Progressive Web Apps? So I can get spammed by spam spamifications? Or so you can attempt to cache some files by building a Rube Goldberg machine on top of a Rube Goldberg machine?

It would be one thing if they gave you some policy control over the browser’s caching engine or let you download a ZIP file and then look up any file you want in it. But as it is it is another terrible Google side project like Compute Engine or Kubernetes or OKRs that they tried to foist on the world…. At least this time people had some sense and said “Nein Danke” like they do in Germany.

What’s tragic about it is that Google controls a freaking web browser and could have come out with something sensible but not we got a side project API to make a fake web server but no simple and reliable storage mechanism to go with it.

… and we got an astroturf campaign second only to TripleByte sponsoring thousands of blog posts on how “hiring is broken” demanding that Apple implement a side-project API on Safari.


I don’t agree with the idea that web apps should supplant native software. I’d rather the web were mostly just hyperlinked text. Going to a web page should not download and run software on my computer.


> An app is just a web-page wrapped in enough IP to make it a crime to defend yourself against corporate predation.

Really? The experience difference between a native app and a webpage is night and day.


> keeping the web from contesting the role of app stores.

The purpose of app-stores is to sell apps. How would the 'web" take on that role, of selling access to an app in return for a price.


Well, I can say why I don't expect coverage of this. As far as I know, mobile OSes already allow the user to navigate to whatever web page they want. There's nothing to unblock.


Precisely the reason for the character assassination of Flash at the hands of Steve Jobs. I am still curious if some attempted deal with Adobe failed precessing it.


Which browsers?

Chromium based and Safari?

Stills sounds like a duopoly, even the same companies.


I'm looking for resources that explain why touch gestures (for instance, modal sheet swipe) are so much more fluid on mobile.

And what can we do about it.


I hope PWMs will have more to offer than push notifications, which I disable every time they're on offer, just like non-essential cookies.


I'd choose using a native app over a web app or PWA

Especially lately with the mess that is modern web app development, native is currently the king


Legislation is the disruptor of duopoly.


Two different mobile oss tried exactly this and they both failed. Three if you count webOS from palm.


Even Apple tried it and they failed and scrambled to launch their own app store after everyone started jailbreaking and using Cydia apps that were so much better than the web apps Apple wanted iPhone users to use :)

And in the end Cydia made Apple develop its biggest money maker ever!


"Failure" here means they didn't manage to join the oligopoly themselves, and went bust instead, as network effects are a zero-sum game.

By that metric, every flavour of Linux has also failed. Yet Linux is also heavily used and actively developed, serving an important purpose where Windows/Mac were not suitable. It helps that computer/server hardware and components are modular and not as tied to a particular OS as phones are.


No failed means that the corporations behind them have gone bust or abandoned these osses.


Reading something like that from a Microsoft guy seems so ironic.

The tone and framing is also unnecessary aggressive, the framing single-sided. So the question remains: What the actual agenda here?

If it was just about PWAs, I'd be happy. It's not like Apple's first approach to iOS apps wasn't "PWA-only" and webOS on Palm didn't try that.

I also remember MS installing all kind of crap on my systems with their own browser monopoly and ActiveX and what not tricks, reaching deep into system function where/when the user just expected safe content browsing in their... browser.

That also was the main "backdoor" for many of the cheaper hacks during that era. And while I don't wan't to go all FUD here, I don't want to go there again either. Especially not if some MS guy is demanding that is some extreme and stoking fashion.

For the rest: There are much more ways to extend the basic browser engines with native functionality. So if it's just about PW "apps", there is no real reason to not wrap them in your own extended native app wrapper. If you want to break the barrier between browsing and installing stuff though, you'll need that MS-proposed approach. Just not sure if that's a good idea, given what they did last time with it when they were the monopolists with the freedom to act "freely".


The 2 most popular mobile browsers are also made by those two same companies.


Yeah, right, and who owns these "browsers the most likely disruptor"?


They said “browsers” but in reality only Chrome matters. We will go from a duopoly to monopoly.


Back when the iPhone app store first happened many developers (including me) asked Apple why they needed to gatekeep software installs. Of course now we know it was because Apple wanted that 30% revenue stream, but at the time Apple said -- repeatedly -- that it was because they needed to "protect the integrity of the cell phone networks."

Some developers knew this was horseshit because they knew the baseband processor was a separate chip that was easily isolatable from the main CPU. We complained but there were not enough of us to rattle Apple's cage sufficiently.

Here's the proof that Apple was lying about this: The iPod Touch (remember that thing?) had exactly the same App Store lockdown mechanism and it didn't have a baseband processor at all. IOW it wasn't protecting the cell phone networks because it couldn't even participate in the cell phone networks. The iPod touch was just a plain desktop computer that happened to fit in your pocket, but we let Apple become the arbiter of what software we could install on it. And now Apple wants very much to make this true on the Mac as well.

I can't believe we fell for this shit. It's not too late to stop it.


Sure, the duopoly of app stores and browsers as a disruptor is a big story.

But can I take offense of all this "The biggest story"?

I see it so often, especially here on HN, and it feels overly dramatic. Maybe even self-centered, like; "this is the truth", where somebody went too far in some kind of cool-aid (of the wrong kind). It is not as awful as conspiracy theories, they are even more awful, but the feeling goes in the same direction.


Why did Firefox drop its support for PWAs on the desktop?


The duopoly of Webkit and Gecko?


Not Big Tech browsers but noscript/basic (x)html browsers, where reasonable (where it does not work, a very simple public network API does usually suffice). As tons if not most online services can be provided via such browsers (actually it was until Big Tech broke and corrupted everything for their own benefit with their absurdely and grotesquely massive and complex web engine, including their SDK).


There are two camps here:

- it will change, it must change, we want it to change, etc.

- nothing ever changes, because nothing ever changes

Just paraphrasing here. But the second camp is almost always right until it is not and everything changes anyway. Nothing stays the same forever. The duopoly has existed for quite long already. Something is going to change eventually. Maybe sooner rather than later.

In the case of Apple and Google enjoying full control over mobile, this cannot continue for much longer because of the following reasons:

- It no longer is a duopoly. Places like China and Russia are cutting loose from Californian oversight on their mobile networks. So there are a lot of phones with Android but without Google's flavor of it and Apple has withdrawn from the Russian market. In short, Chinese manufacturers are no longer that dependent on Google or Apple to lead the way. Other countries are pushing back as well. And the Chinese are happy to sell to all of them.

- Regulatory oversight in both the EU and the US is putting pressure on both Apple and Google to open their app stores and reduce anti-competitive behavior exercised via those app stores. This includes competing unfairly with things in the app store, keeping competitors out of the app store, and squeezing app store developers for billions of revenue, etc. And in the case of Google, paying Mozilla and Apple for the privilege of being the default search engine on their browsers to the extent of many billions. They have been under a lot of scrutiny for years. For Apple that means their blanket ban on anything not using Safari as its web component might have to go. As soon as it does, there will be other browsers on the platform and they'll compete on quality and features. Like they caved in and added USB-C to the iphone, it might soon have a proper version of Chrome and Firefox running on it.

- Smart phones as the dominant way to consume content might not last. We have other modalities coming up now, including VR and AR, voice only applications, AI apps. Apple and Google will try to "own" this space. But it is not a given that they will succeed in that. For example, most VR content so far comes via the Steam store. Not the Play store. And neither Google nor Apple has made much of an impact with their AI efforts so far. It's OpenAI and MS that are in the lead there.

- There are a growing number of cross platform app development frameworks. Flutter is popular. React-native still is widely used. Jetbrains is positioning Compose as a cross platform option with IOS, Android, and Desktop support. Additionally, PWAs aren't that bad these days and they are about to become a lot more capable via WASM. Some widely used apps are PWAs these days and most of the rest contain quite a bit of web views.

- Networks are changing. We have satellite networks like Starlink and various competitors now starting to offer connectivity everywhere. Mobile operators and phone calls as a use case are a side show for that. The whole point of a smart phone is that it is a phone that connects to the phone network, which until recently was the only way to get connectivity in a lot of places without WIFI. The phone operators control the network, and Apple and Google pretend that phone numbers and sim cards still matter and everybody gets their proprietary firmware from Qualcomm (another nice monopoly). That's the deal for the last fifteen years. That might stop being true soon.


Amazing post


Because they want to make sure Microsoft/X gets the priority, so they can pretend we have an "open market" ;)


Web applications are only ever capable of being "as good" as native apps could be a handful of years ago. It's a moving target.


Because this is a non story, at most an analysis or opinion piece, based on assumptions that are not founded on report-worthy facts or specific sources. That’s all for “just another guy with a blog on the internet who thinks he knows how journalism works”.


The author is hardly "just another guy": https://infrequently.org/about-me/

You don't have to agree with him, but he's certainly qualified to write things like this.


If anything, it's the opposite:

>> Hi, I'm Alex Russell, a Microsoft Partner PM on the Edge team and Blink API OWNER. It is my professional mission to build a web that works for everyone.

Given his conflict of interest, I don't see anyone who would publish this story as more than an educated Op Ed.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: