• Olissipo@programming.dev
    link
    fedilink
    arrow-up
    60
    arrow-down
    1
    ·
    edit-2
    2 days ago

    I’m working on a project which generates images in multiples sizes, and also converts to WEBP and AVIF.

    The difference in file size is significant. It might not matter to you, but it matters to a lot of people.

    Here’s an example (the filename is the width):

    Also, using the <picture></picture> element, if the users’ browsers don’t support (or block) AVIF/WEBP, the original format is used. No harm in using them.

    (I know this is a meme post, but some people are taking it seriously)

    • HeyListenWatchOut@lemmy.world
      link
      fedilink
      English
      arrow-up
      16
      ·
      2 days ago

      I’ve mentioned this topic in regards to animated images, but don’t see as big a reason to push for static formats due to the overall relatively limited benefits other than wider gamut and marginally smaller file size (percentage wise they are significant, but 2KB vs 200KB is paltry on even a terrible connection in the 2000s).

      What I really wish is that we could get more browsers, sites, and apps to universally support more modern formats to replace the overly bloated terribly performing and never correctly pronounced animated formats like GIF with something else like AVIF, webm, webp (this was a roughly ~60MB GIF, and becomes a 1MB WEBP with better performance), or even something like APNG…

      Besides wider gamut, and better performance, the sizes are actually significant on all but the fastest connections and save sites on both storage and bandwidth at significant scale compared to the mere KB of change that a static modern asset has.

      This WEBP is only 800KB but only shows up on some server instances since not every Lemmy host supports embedding them :

      • Olissipo@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        2 days ago

        but 2KB vs 200KB is paltry on even a terrible connection in the 2000s).

        You still need to resize the images and choose the right ones (even if only for the device’s performance).

        So we might as well do that small extra step and add conversion to the process.

        What I really wish is that we could get more browsers, sites, and apps to universally support more modern formats to replace the overly bloated terribly performing and never correctly pronounced animated formats like GIF with something else like AVIF, webm, webp (this was a roughly ~60MB GIF, and becomes a 1MB WEBP with better performance), or even something like APNG…

        Isn’t that the users’ fault? And of the websites for allowing those huge GIFs.

        Apparently browsers have supported MP4 for a long time.

        https://caniuse.com/mpeg4

        • SpaghettiYeti@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 day ago

          How are you auto converting images to webp?? What is this magic. My company uses Visual Studio 2022 and our creative guy is having to save everything manually in multiple formats. Then our devs put in the webp first with a jpeg fallback, but it’s all so manual.

          • Olissipo@programming.dev
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            1 day ago

            Funny you call it magic, what actually does the conversion is Imagick.

            In my project I have it integrated in the upload process. You upload a PNG/JPG and it does its thing. Since it’s written in PHP (my project), and PHP has an extension to call Imagick, I didn’t need to write any complicated code.

            You can see on this page if your programming language of choice has any integration with Imagick.

            But there’s always the command line interface. Depending on your process it may be easier to create a script to “convert all images in a folder”, for example.

      • Aux@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        2
        ·
        23 hours ago

        Because jxl is a bunch of bollocks. There’s no way it will gain any support any time soon.

      • AdrianTheFrog@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        2 days ago

        Webp is supported in browsers. Jxl is not, unfortunately.

        (Well, I have the Firefox extension for it, but most people can’t see them…)

        People should still use it tho, with the fallback of webp or avif

        • ILikeBoobies@lemmy.ca
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          2 days ago

          Firefox just hasn’t enabled the setting (well they haven’t made the setting enable jxl support yet even though the setting and support has been there for years). This means their forks support it, that’s why I switched to Waterfox

          Safari supports it

          Chromium removed support for it 2 years ago to push webp but it’s just a reminder to not use Chromium browsers

    • TrickDacy@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

      I’m mad tho! I have technical issues with a format that works for hundreds of millions of users daily with the only impact being their website loads faster! RAGE!

    • Fabian@lemmy.zip
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      I don’t know if the client is the issue, but I am using the Voyager android app and this image failed to load

        • Aux@feddit.uk
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          23 hours ago

          There are no browsers with jxl support and won’t be for many years to come.

        • Valmond@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 day ago

          So you have no hard proof (no critic here, I’m just curious)? Not that it’s better but that your test images has the same quality.

          For the rest, thank you for the links and the time but that only explains how the compression works.

          If you want to know you could do fourier transform and see which kind of signals are cut out in one for example.

          • ILikeBoobies@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            1 day ago

            Quality improvements are that you can upload/download it without getting artifacts/pixel bleeding. JXL’s algorithm ensures that it’s a 1 to 1 transfer

            But if I draw a stick person 512x512, there isn’t an image format that will make it anymore than it is. That’s why we look at compression

      • Olissipo@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        2 days ago

        For most of the images that I tried you can only see differences with the images side by side. It’s really subtle.

        I do have one example for which my config must be bad, compresses a lot but introduces a lot of noise