Some examples:
- Automatically erasing all script-writeable storage after 7 days, crippling local PWAs and preventing them from competing with native apps
- dragging their feet on Service Worker support for ages, another PWA issue
- delaying WebGPU standardization
- blocking the standardization of numerous web hardware APIs:
- Web Bluetooth
- Web MIDI API
- Magnetometer API
- Web NFC API
- Device Memory API
- Network Information API
- Battery Status API
- Ambient Light Sensor
- HDCP Policy Check extension for EME
- Proximity Sensor
- WebHID
- Serial API
- Web USB
- Geolocation Sensor (background geolocation)
- User Idle DetectionEdit: Sorry, I wrote this too fast and didn't finish my thought. To clarity, I meant they sound horrible from a privacy perspective, and I don't think some random website should even have to option to access those APIs. The web has enough tracking and malicious sites as it is.
They're downloaded over www.
They call device APIs
But they're written in Rust or WASM or something.
Visit Netflix.com and suddenly you have the native Netflix app instantaneously on your device. And it works just the same as the one you use today.
That's what I want to see.
The web isn't just HTML and JavaScript. It's not just documents or web apps. It can be native too.
It's a protected runtime.
And it'll be fast.
Should there be better faster options for applications to run? Absolutely. Should they run in the web browser? I don't think so.
Heck use the same permission dialogues.
If I visit one page, say facebook and it gets permission. And then visit another page which embeds Facebook, does it still have all those permissions there? If I visit a page, and it hits 60 different URLs under the hood am I getting 60 accept buttons or blanket accepting all of them?
As I see it, there is a ton of difference in scope there.
It isn't like we can't treat a WASM compiled program delivered through https the same as any other compiled program delivered through an app store. It is just that launching involves visiting a url instead of tapping an icon.
That’s critical to why one is trusted more than the other.
As to the Facebook SDK, yes that’s a problem, but it just proves the point - Apple is in fact continuing to tighten restrictions on what Facebook can do to invade your privacy via their app.
This is only possible because it’s an App and not a website.
Part of this is on iOS, apps are compiled to native code and the restrictions enforced through static analysis before code even reaches the end user.
A good analogy would be Android and how they ban 3rd party advertisements in push notifications. That obviously isn't an API enforcement, indeed that enforcement is only possible with a centralized app store where developer credentials can be revoked.
In comparison, web browsers have become a push notification nightmare, with naive end users being endlessly spammed with garbage on their desktop being delivered through web push notifications.
So, I'll readily concede that a web based open distribution model cannot offer the same API surface area as a distribution model that has a combination of manual reviews and static code analysis being used to enforce customer friendly policies.
That said, a lot of apps still can fit into the web model, including large numbers of games (See: The decades of insanely HQ Flash games that existed until recently, sandboxed(ish) code delivered through a web browser), video playback (in which downloaded apps failed in the 90s, then the field took off thanks to web browsers), music playback (I use Spotify in my browser every day), and many others.
The point is that there is a genuine need for both kinds of platform and for people to be able to tell the difference.
If not, why not?
If they do, why hasn’t it enabled Android to leapfrog iOS?
Web standards require voluntary cooperation and isn't something that can be resolved by allowing "better" standards variants to win in a marketplace over others (otherwise they wouldn't really be standards).
Apple has pre-emptively blocked the standardization of these APIs because they effectively have veto power, and they have veto power because web standards aren't really a free market. Browser vendors choose not to ship standards that major browsers don't all agree on, which means that Apple's singular objection scuttles the process by design.
Of course this is one of the risks you have with standards, one bad actor can screw everything up. It's why standards often suck and it's a happy miracle that the web is as good as it is. When Apple themselves can screw up a standard that they directly compete with (web vs native iOS) from the inside, well, that's just too convenient for them.
It simply isn’t true that vendors always wait for agreement. Apple’s participation is important, but not mandatory.
I'm sure there exist instances of vendors not waiting for agreement, those are rare exceptions because it essentially breaks the standard. Web fragmentation was a big problem for a long time and the major browsers have largely willingly agreed to avoid that. Apple's participation is de facto mandatory, they control a major browser and other major browser vendors won't ship something that Apple has openly declared they will never support.
> I’m guessing you don’t know that Apple took the open source WebKit from KDE, and continued to develop it into a world class engine in the open.
While I agree with your points that Apple in general contributed a lot when it comes to how humans perceive technology (for better or worse), I cannot let this argument stand untouched.
- WebKit is NOT developed in the open.
- It has a private bug tracker nobody outside Apple can see. Try to report a bug, even as a bug reporter you can't see shit what's happening with it. And this wasn't the case before ~2009, from personal experience.
- Over 80% of contributions were actually from Mozilla or Google.
- WebKit source code is still released 6 months after it was developed, leaving nobody outside Apple's internal team with the capability to even discuss features or APIs.
- Apple's "Open Source" philosophy is the minimum legal requirement, aka dumping a fucking zip file with random shit to a server and forget about it afterwards. Lots of people from Chromium have been in contact with Apple's legal team until they "really complied" and actually dumped the full source code (again, as a shitty zip file). Apple didn't do this on their own, and they never have.
- The Blink incident. Don't forget this. A shitload of contributors left WebKit because of the previous points, and now Chromium is getting dominant due to Blink. Do you think this is a coincidence?
All these policies how Apple "loves Open Source" speak against the fact. Also, don't forget bash, tcsh, zsh and pretty much all related to the brew ecosystem. These people, while they still love Apple's ecosystem, never benefited a single dollar and neither a single contribution from Apple.
If you don't believe me, pick a random zip file on Apple's "open source server" [1], contact the maintainer of said project and ask them about how they think Apple helps them. The answer is: not at all.
I won't dig into the other facts which made the Web crippled, where we've been before with IE6 and ActiveX. Humanity hasn't learned shit from that lesson. And /u/themacguffinman did that already in his own comment to elaborate this fact [2]
Nobody is disputing that other people contributed to WebKit, however what is true is that WebKit was brought to the level of maturity require to create a competitive desktop browser before those contributions.
The fact that competitors are able to use WebKit, and that Blink exists is validation that WebKit is really open.
I do agree that Apple controls development of the mainline engine though, but that changes nothing about the meaning.
How exactly did ‘Steve Jobs cripple the web browser’?
I’m guessing you don’t know that Apple took the open source WebKit from KDE, and continued to develop it into a world class engine in the open.
So open that Google was able to build Chrome with it. It’s still developed completely in the open now and is free to use in your platform, as most of Apple’s competitors actually do.
That is about as far from ‘crippling the web’ as any company in history has ever been.
As for saying that evolution in computing is slower because of how locked down things are, that seems like a view that is hard to understand.
If you can’t see how fast things have moved in software over the past 5 years and then over the past 10, I think you just aren’t looking hard enough.
Smartphone hardware design may have plateaued, but that’s just superficial.
And in any case, a government standard isn’t going to make anything any less locked down.
It will be just as locked down as it is now, more expensive to develop for, and the possibility of an open alternative emerging will be harder than ever, if not impossible.