phone
    • chevron_right

      JPEG XL is here, stop ignoring it

      lilith · 3 days ago - 15:32 · 5 minutes · 3 visibility

    well, what is jpegxl (jxl)?

    in short, it's an image format... another one? yes! and we need it!

    so what does it do?

    as the next-generation, general purpose image compression codec by the JPEG committee, it's great at compressing images, probably the best at it - with high fidelity lossy compression and lossless compression. additionally, it's designed for images, it's not a video container like avif or heic, and not a derivative of such either like webp.

    also, it's FOSS and royalty-free

    but the formats you just mentioned can do the same thing, what's special about this one?

    for one thing, it can do progressive decoding. that means when you see a jxl image, you will see it almost immediately - as it will encode in lower quality first and progressively load in higher quality. also, it can decode predefined key parts of the image in higher quality first.

    for example: in a jxl photo of a person, this key part can be their face, which will show in higher quality first than the rest of the image.

    here's a 39-second video comparison between JPEG, JPEG-XL and Avif youtube.com/watch?v=UphN1_7nP8U

    and it's very fast!

    ok, what about transparency? or animation?

    jxl supports both of those!

    i want more colors, more pixels, more.. more!!

    well, what if i told you... that there is more?

    jxl has max bit depth of 32 can do wide gamut color and HDR. in addition, the image dimension limit is so high it may aswell be infinite - about 1,073,741,823 x 1,073,741,823

    how is it compared to other formats then?

    it's undoubtedly the winner in general, great for the web, great for your family photos, anywhere!

    you should definitely take a look for yourself -> jpegxl.info

    here's a comparison table:

    comparison table

    src: jpegxl.info

    but is it actually mature? the encoder isn't even 1.0 yet! jpeg-xl is too new!

    software versioning is not directly indicative of how stable it is. you can't rule it out just because it's "not 1.0", that's bullshit

    it's too new? oh nooo, so should everyone wait for 10 million years to implement something? and why do you think jpegxl was developed? to make a completely future proof format, one that is fast, has great compression, supports all the features anyone could need.

    the formats of today may be "good enough" for 99% of people, but what about the 1%? jxl is here. for everyone - including that last 1%.

    why isn't it used more? why don't websites use it?

    google! no, literally, it's google's fault. google has bullshitted their way to hinder the web yet again - initially, they implemented support for jxl in chrome, but decided to remove it some releases later.

    behind a flag since M91, removed since M110. src: jpegxl.info

    why did they do that? who fucking knows! maybe their shilling for avif and the butthurt webp dev being a crybaby and opposing jxl. 2 months before removing chrome support, google has put out a biased slop of a comparison between jpeg-xl and avif.

    while the comparison shows jpeg xl as being slower, this difference would be overshadowed by jxl's progressive decoding and it's much higher (un)limits.

    despite jxl having clear advantages over avif, google seems to think that this video container is the better solution? and then they remove the support for it? when they can coexist either way? that's pretty fishy.

    additionally, here's a comparison by Cloudinary. while you could say it would also be biased, considering they are jxl contributors, they provide you with more and better information and test data.

    all key forks of chromium readd support for it :P

    !! additionally, safari fully supports jxl.

    what about firefox?

    mozilla takes a bullshit "neutral" approach to the whole situation, waiting for others to enable support themselves, despite having it in the nightly version of firefox (albeit under a flag).

    you'll find the feature built and enabled in most firefox forks - like waterfox and pale moon (though pale moon is junk and i don't recommend it)

    what about microsoft edge?

    sorry, your browser sucks, it's just another chromium based junk. by another shady company even </3 /hj

    browser support in general

    caniuse.com/?search=jxl

    what about other software?

    FFMPEG? yes! ImageMagick? yep. GIMP? yeah, it's supported. Krita? of course! darktable? Adobe suite (except Photoshop for some reason)? paint.net? your favorite image viewer? yeah. they all got it.

    here's a doc from libjxl's repository about software support

    why containers like avif and heic aren't great

    because of what they fundamentally are - video containers. they may support the "latest tech", but in the end, they will compress like a video. usually discarding some quality and being more limited at times. just look at the comparison linked above :3

    my personal experience with using jxl

    it's great, it can basically turn my 10mb pngs and jpegs into what would be a 600kb jxl file, without losing any quality. i started using it personally, not only to preserve space but also have a better experience viewing images in general.

    apart from browsers, you can expect to be able to use this format almost anywhere. if not: libjxl can quickly encode and decode with a couple of commands

    how you can improve it

    make issues and request jxl to be added in software that doesn't have it. when there is an issue, give it a thumbs up and share it. keep asking for it, because it's an important feature. star the libjxl repo or something. use it aswell!

    and don't pull conservative or useless arguments like "well uhhh we use something else on the backend and have used it for years!" or "the inferior formats get too much hate!". that's not what this post is about.

    closing thoughts

    as a user, as a developer, as an amateur artist and creator i'm pretty irritated. jxl has very clear advantages that not enough people are noticing or considering. and google is a piece of shit.

    i decided to write about it on the blog that no one will read, but at least if somebody asks i can just link them here.

    note: i've reposted this since i deleted this post a while ago, but definitely want to keep it up on my blogs. also moved xmpp accounts.

    want to test if (and how well) your browser supports jpegxl? take a look at this text page by jpegxl.info

    #jpegxl #jxl #rant

    • chevron_right

      starting a blog, how, where, when? ...here?

      lilith · 3 days ago - 15:09 · 2 minutes

    imagine you just saw a cool blog site, you think about how much you've got to talk about from your meaningless ongoing boring life, childhood and adulthood trauma and the tenacious internet, and think to yourself:

    hey, i want a blog too!

    and that's great! but how does one start a blog?

    first off, you will need something, like a blog site, where you can throw your rants without it collapsing on you - in that case you've got a couple of options:

    • make your own / DIY
    • use a template from github
    • use a blogging platform

    in this case, i'm publishing on movim, which is a social platform of sorts with blogging capability that you're viewing this on

    didn't you publish some posts here already, but then deleted them? why?

    i felt like i really could make and maintain my own thing and so i moved there for a while. but that was a mistake for me and i quickly got tired of it. i'd rather not worry about maintaining extra source code just to make occasional silly long posts.

    why didn't you make your own?

    while i could do that, and did before, do i feel like it? not really. it's great but when it comes to adding cool features yourself from scratch or simply stealing somebody's code it becomes a hassle personally. i wish to have something more... for lazy people like me

    well, why didn't you use a template then?

    i tried.

    the thing is, if you actually generate from a template then you can't pull any new changes from upstream so you're stuck with whatever you had when you generated your repository.

    if you fork the template - git becomes a massive PITA (pain in the ass) and i'd rather have knives thrown at me than having to rebase my changes on top of something bigger than a single html page

    ohhhh. but aren't there other blogging platforms?

    there sure are, but i'm kind of interested in movim especially. you shrimply login with any ol' ecks uhm pee pee (xmpp) account on the main instance and it supposedly works. and it's federated with other movim instances. which sure is cool?

    using X or Y or Z or some other normie stuff, could prove limiting, maybe not support markdown, offer weird customization or not be responsive or especially accessible

    conclusion

    i'm ready to settle down on movim and use it as the place where i'll be blogging. so hopefully i won't be booted off. :3c

    also do excuse me if you're confused about seeing this post again, i'm in the process of moving xmpp accounts.

    #blogging #movim