I said in a previous article that this is great, but we should be adopting JPEG-XL as it is current and can now compress pixel-perfect / lossless images better than old PNG. IIRC this revision of the spec doesn’t improve compression yet but it’s coming.
PNGv4/v5 may improve compression but it won’t be backwards compatible. It’ll get stuck in the same kind of limbo JPEG-XL is. Until that gets resolved, we’ll have to stick with AVIF/HEIFF/WebP.
I don’t really see the need for advanced compression in lossless files. You generally don’t download those in bulk without looking at lower quality previews anyway. Would be nice if the real file supports the same colour space the preview file does anyway. I’ll appreciate it when it lands, but I don’t think I’ll spend the hours converting my photo library to save maybe half a gigabyte of space.
JPEG-XL is only really in limbo because Google chose to kill it in Chrome in favor of AVIF. Had that not happened, there would have been far more demand for it to be properly implemented everywhere. Sucks, but you’re right that we’ll have to stick with AVIF/HEIG/WebP.
And ain’t that the entire problem with 99.9% of the web using chromium…
Not seeing how this would affect uptake. Lossless is great for production images, but standard JPEG will do (at low compression) for most Web use cases. Until OS developers coalesce around PNG as a standard (Windows has for screenshots), this is that old standards xkcd.
Alpha channels are nice and all, but how many end users A) have a need for that and B) understand the underlying concept, let alone implementation?
Alpha channels are critical. The ability to have images have transparency in them is much more useful than you believe it is. Many end users have a need for it, more than they know they do; so this argument really isn’t doing much for your stance supporting PNG. Similarly PNG has supported alpha channels for quite a while.
For production, yes. What percentage of images produced are for production, though? I know damn well how important alpha channels are, but for posting something on social media, which is orders of magnitude more output than image creation within the context of a larger presentation, no one cares.
The vast majority of people aren’t graphic artists. That you and I know what alpha channels are has no bearing on daily use by the masses.
You are talking about photos. PNG is not the right format for photos.
Alpha channels are also why a lot of Android apps are full of PNGs. Every app you use will be using a PNG somewhere, probably uncrushed, full of Photoshop metadata.
Of course social media is full of lossy images. Websites can be, too. But plenty of web content is lossless PNGs in ARGB format, because that’s what the person making that shit decided to use, and they don’t care about saving a few milliseconds of transfer time every time you download their content.
If you know why you need alpha channels, of course you’re going to save in an appropriate format. But most casual users aren’t going to care. They took a picture of their breakfast or dog and just want to upload now. I’m not arguing PNGs serve no purpose; I’m arguing that most people aren’t Web or app designers. They don’t care whether it’s lossy or lossless, let alone about transparency.
What a weird take. Alpha channels are used all the time. A lot of tools use WebP for them, though. Things like stickers and emoji in chat apps often recode into WebP or force you to figure out how to make a WebP with a certain configuration to accept your pack, but from there on out they rely on alpha channels.
MacOS app icons are a collection of layers with alpha channels embedded into them, stacked on top of each other, or themed individually. Unless you’re blind, any iOS or macOS user encounters alpha channels every time they turn on their screen. On Android, those files are even actual PNGs. On Windows, those are .ico resources, and everything larger than 64x64 is guaranteed to be a PNG embedded inside of an .ico (possibly embedded inside of a .exe/.dll/etc.
WebP has replaced jpeg for most web content already when it comes to compression. This just solves things like “how do I save my HDR images without degrading them every time I hit save”.
I’ll agree for those use cases, but not everyone is making icons, stickers and emoji.
They are using them, however. They’re visiting websites with them, using apps with them, and so forth.
OK, and the kernel is written in C and assembly. Should they know both of those as well?
No, but it should still work. Getting rid of alpha channels would break all of that.