• Olissipo@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    4 months 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)

    • Thorry84@feddit.nl
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      How is the size difference after gzip compression? Probably pretty much the same, but I wonder how large the difference is then. Since a lot of folk make sure the contents is gzipped when served to the user.

      • Olissipo@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        Even using the highest compression levels, barely any difference. Not worth it

        If I understand correctly gzip, brotli and similar are best used to compress text.

        Font files also shouldn’t be compressed. A TTF file compresses a bit, but a WOFF2 file will be even smaller than that (and WOFF2 also doesn’t compress well). So might as well use WOFF/WOFF2

    • HeyListenWatchOut@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months 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
        0
        ·
        edit-2
        4 months 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

          • Olissipo@programming.dev
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            4 months 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.

      • AdrianTheFrog@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 months 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
          1
          ·
          edit-2
          4 months 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

      • Aux@feddit.uk
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        4 months ago

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

    • Valmond@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      Is the quality the same? If so how do you know? I mean it’s better, I’m just curious.