Hacker News new | ask | show | jobs
by danhab99 1564 days ago
I didn't even know safari can't do webm. I wonder what else safari and WebKit can't do?
3 comments

Hardware APIs, such as: bluetooth, MIDI, NFC, ambient light, USB

A ton of media codecs. Apple is attached at the hip to the MPAA, and so they only implement standards that generate MPAA royalties such as MPEG and its descendants.

Web data storage is in pretty bad shape too. For a while WebSQL was totally broken in Safari, and they are years behind the state-of-the-art APIs.

> Hardware APIs, such as: bluetooth, MIDI, NFC, ambient light, USB

Firefox doesn't support them either, and like Safari considers them harmful. And for good reasons that Google (who are the sole authors of these Chrome only non-standards) completely ignores.

I have not found any "good reasons" in the usual issues you'd find to be honest. Many of those harmful reasons are dealt with and tbh where does it differ that much from normal apps? NFC especially. Also: if there would be any issues then try find solutions for that?
> Many of those harmful reasons are dealt with

Yes, they are being dealt with because Safari and Firefox are persistent. Chrome just releases them.

> where does it differ that much from normal apps

"Hey, we know that native apps are a nightmare for privacy and security, why would you oppose making the web more like native " isn't a good argument

Webapps are already protected with the same privacy and security protocols the browser imposes on webpages. What can a native app possibly do that's such an egregious invasion of privacy that a webpage can't do? Filesystems are encapsulated, hardware apis require permission, and cameras now have a nice active indicator. What can anything possibly do anymore that hasn't been fixed in all of web2?
> Webapps are already protected with the same privacy and security protocols the browser imposes on webpages.

Yes. And Bluetooth/USB etc. pierce that sandbox and communicate to devices outside the browser.

And no, you can't "fix it" with a simple "oh hey this page wants to access a device".

Hint: we can't successfully ignore prevent people from phishing sites and scammers, but sure, let's give an untrusted execution environment full access to everything.

> What can a native app possibly do that's such an egregious invasion of privacy that a webpage can't do

Webpage doesn't have full access to file systems (and Chrome wants to give full access to file systems), or to USB/Bluetooth/etc. (and Chrome wants to give full access to that), and...

Once again. "Hey, we know that native apps are a nightmare for privacy and security, why would you oppose making the web more like native " isn't a good argument".

Also, hint: native apps exist beyond mobile.

Also, hint on filesystems: even though they are encapsulated, that encapsulation differs greatly between systems, and having, say, full access to cloud files is just as bad.

> Webapps are already protected with the same privacy and security protocols the browser imposes on webpages

You can disable commonly abused/exploited things like service workers and still use most websites just fine, while a webapp might depend on having that functionality enabled reducing your security when using websites and webapps.

> What can a native app possibly do that's such an egregious invasion of privacy that a webpage can't do?

Harvest your contacts? (unless that's changed)

I thought I was going mad reading the previous comments. Thanks for bringing the sane.
Basically ChromeOS API surface.
Webm is supported on Safari/Webkit AFAIK (on iOS the audio codec is supported, not sure about the video one) https://webkit.org/blog/11648/new-webkit-features-in-safari-...
Safari and Webkit definitely support WebM, but it’s disabled on iOS, making it a bit useless. Of course, it’s enabled on macOS, where Apple has to compete with other browser vendors. This leads me to believe the parent article is on the right track.

I’ve heard Opus is supported, but not in Mkv (WebM) or Vorbis containers, making it a bit pointless.

Gah, I just reread this and realized the funny mistake I made: Ogg* containers. Not Vorbis. In case anyone is still reading this comment a day later.
I don't think the entire codec is supported, either. Last I checked, it's still missing features like WEBM alpha layers.
They don't allow connections to HTTP localhost from HTTPS sites, unlike Firefox and Chrome.