Hacker News new | ask | show | jobs
by johnklos 1008 days ago
Funny, because for ages I was running macOS on a 2011 MacBook Pro which had a version of Safari that was so old it didn't support webp. At the same time, my Amiga 3000 running AmigaDOS 3.2.2 could support webp by virtue of an operating system-wide datatype plugin for webp.

Updating the OS-wide datatype means all apps are updated, not just the browser. Why is this STILL not the case on supposedly modern OSes these days?

5 comments

The reason is most likely security and stability. OS vendors don't want every application to be potentially vulnerable or unstable, because user installed some dubious codec pack.

One place where macOS allows arbitrary codecs is Quicklook plugins, but these are designed to run in a separate process. It'd be wise to implement image codecs the same way, but so far they're typically a library linked in the same process.

I don't really want this to be the case. Remember when Firefox accidentally exposed all gstreamer plugins to the web?

Having some insecure unaudited badly written codec is fine for a lot of use cases because it operates on trusted data. But this is of course quite a different situation than being exposed to all webpages you visit.

The Amiga 3000 lived in a different world with a different internet.

FYI, you can install Safari Technology Preview (and Safari Beta) as a standalone app, without upgrading the entire OS: https://developer.apple.com/safari/technology-preview/
Especially infuriating because MacOS has the brilliant generic file viewing framework that they brand as Quick Look Plugins (QLPlugin). The name comes from where the feature started (pressing spacebar in the file viewer to ostensibly view literally any file) but it is used all over the place in Mac and iOS software.
IIRC, in the early days Safari would pass off any image type to the OS, but after some TIFF vulnerability they whitelisted it to supported "web" formats.

They also used to let you just embed a Quartz Composer file which let you do some "fun" stuff with the webcam that would terrify users.