I found the parts about patching and frames with different blend modes very fascinating. I wonder if it would be possible to build a GUI DCC app that uses JpegXL as its project format. It seems that it could support layers, splines, symbols (transformed instances of layers), blend modes and animations without "baking" any of it to pixels
Yes, my hope is that jxl can become an interoperable format for layered images. It does not have all the functionality of image editor formats (PSD, XCF, etc), but it does have a very useful subset of that (named layers with basic blend modes). For interchange, it would be very suitable since it has state of the art compression (both lossy and lossless), does not force you to merge the layers before exporting, while the images can be viewed directly by any application that supports jxl — since the blending happens inside the decoder, the viewing application can be blissfully unaware that it even is a layered image, it will just get the merged image from the decoder if it doesn't ask for the individual layers.
On the web alone it should be close to a billion users with support for JXL due to Safari’s market share.
[1]: https://cloudinary.com/blog/jpeg-xl-how-it-started-how-its-g...
Full release/production support will come when the (more or less drop in replacement) rust rewrite of libjxl is production ready.
Firefox hasn't made a technical decision without first forwarding the minutes to Mountain View and Redmond since roughly 2017.
Every nine-figure Google wire lands promptly converts into $450 k-per-head salary vapor and off-site "all-hands," while the same week another 250 actual engineers get an email that begins: "You're talented and valued BUT-."
Servo? Jettisoned.
MDN? Gutted.
Security teams? Re-org'd into a Slack channel no one reads.
And the Foundation helpfully reminds donors:
"Your gifts don't pay for Firefox engineering."
No kidding. They pay for glossy pamphlets proclaiming the open-web gospel, first-class flights to "advocacy summits," and Mitchell Baker's $2.5 million thank-you note. Firefox isn't a browser; it's a loss-leader Google keeps in the closet for the next antitrust subpoena.
But if you go getfirefox.com, click "Download Firefox" then there will be no JXL support not even behind any configuration flags. So no, it doesn't support it. There are also no plans to enable support with the current implementation.
- Mac OS, iOS, and Safari support JPEG-XL
- Windows has first party JPEG-XL support as of this year (admittedly it's opt in rather than default)
- Essentially every major image processing app, editor, or drawing app supports JPEG-XL
- Firefox has preliminary support for JPEG-XL gated behind a feature flag and the nightly release.
- The JPEG-XL team is writing a direct port of the reference libjxl library into rust[1]. There already exists a third party rust port by some of the mainline contributors and it has ironed out a lot of the issues with the porting process prior to this mainline port. This first party rust port is intended to be gradually brought up to a hardened, production ready state.
- Mozilla has stated they have no objections to fully adopting JPEG-XL in Firefox once the rust port is production ready [2].
The last major barriers other than getting the rust code production ready will be chrome and android's first party support/adoption.
------
TLDR: JPEG-XL is very much not dead and instead people are nose down working hard to continue pushing its adoption forward.
------
I was not aware of this. Also judging by this and the sibling comments, it looks like the momentum didn't die despite Google's apathy. Hopefully the fact that their own team is now developing the rust port, as well as the growing support in other platforms, is enough to make Google reconsider its choices.
Google is a founding organization of jpeg-xl and are a core part of the team. Chromium punted it, but Google as an organization hasn't exactly since they haven't pulled out of jpegxl itself nor removed their engineers from it.
Big companies are big, they do conflicting things from time to time. Or often.
my guesswork is that JPEG XL will likely outlive Chrome by 100+ years
This is also why Firefox doesn't support it by default (IIRC it doesn't even link against libjpegxl by default in release builds – only nightly ones).
There is nothing preventing the Chrome or Firefox people from revisiting all of this in the future.
It seems to me the Rust implementation of JPEG XL is by far the best path forward for broad JPEG XL support in Firefox, Chrome, and other browsers. While Rust is of course not a complete guarantee there will never be any security issues, it does eliminate virtually all of the major exploits that have targeted image decoders in the past. Both Firefox and Chrome have expressed interest in this.
Maybe their stated reason for not enabling support in Chrome is the actual reason.
And "push WebP" for that purpose? Google as a whole benefits hugely from reduced image sizes.
Firefox also doesn't implement JXL as I mentioned. Are they trying to "push WebP" too now? This is such conspiratorial nonsense. No evidence for it at all. Doesn't even make any logical sense. Google literally worked (and continues to work) on JXL.
First, there's Lossy WEBP, based on VP8 video compression. It is better than JPEG, but mediocre by today's standards. Lossy AVIF and Lossy JXL greatly outclass lossy WEBP.
Second, there's Lossless WEBP, which is not in any way based on VP8. Lossless WEBP is a stellar image format that not only compresses very well, but also decompresses very quickly. Its biggest competition is Lossless JXL, which usually compresses to a smaller file, but decoding that image is slow enough to be annoying. Sometimes lossless WEBP produces a smaller file than lossless JXL.
Disclaimer: I am the designer of WebP lossless and Jpegli.
One the oft underlooked benefits of it's progressive decoding implementation is you can just dynamically truncate the bytestream to serve lower res versions, no generation of alternative sizes in advance required.
For the Modular file, it failed to partially decode it. This was supposed to be a major feature of FLIF, and it's not working here at all.
For the VARDCT file, it made the top 2/3 clear (looking like a low quality but full resolution image), while the bottom 1/3 was extremely blurry (as if it only had the DC values for the blocks). When I gave it 5/8 of the file, the whole image looked full resolution with no bad blurring, but was still low quality. But roughly the same quality level than what the image would have been if it had been saved at that size.
So it does work for VARDCT files (and you must use the -p switch when saving it), you just need to give it enough bytes. No clue what's going on with the Modular file though.