this post was submitted on 21 May 2025
996 points (98.1% liked)

memes

14864 readers
5485 users here now

Community rules

1. Be civilNo trolling, bigotry or other insulting / annoying behaviour

2. No politicsThis is non-politics community. For political memes please go to [email protected]

3. No recent repostsCheck for reposts when posting a meme, you can only repost after 1 month

4. No botsNo bots without the express approval of the mods or the admins

5. No Spam/AdsNo advertisements or spam. This is an instance rule and the only way to live.

A collection of some classic Lemmy memes for your enjoyment

Sister communities

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Olissipo 62 points 18 hours ago* (last edited 18 hours ago) (9 children)

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)

[–] [email protected] 6 points 11 hours ago (1 children)

Literally just today solved a problem of delivering analytics plots over our internal chat system. The file size limit is 28Kb and I was just getting ready to say screw it, can't be done.

Lo and behold our chat system that doesn't support svg does support webp. Even visually complicated charts come in just below the size limit with webp.

[–] [email protected] 4 points 10 hours ago (1 children)
[–] [email protected] 4 points 10 hours ago (1 children)

Honestly no idea. It's funny though. The API allows us to either read it directly from our lakehouse with the 28Kb limit, or allows us to encode it in a json object. It actually recommends using the json method if we want to send larger files... but then complains it's too large if it's over 28Kb 🤷‍♂️

I think it was probably originally only intended to allow attaching icons.

[–] [email protected] 3 points 9 hours ago (2 children)

Feels like a bug where someone forgot the 1 in 128kb. What chat app is this?? In Slack, custom emojis can be up to 128kb in filesize

[–] [email protected] 2 points 9 hours ago

It's apparently PowerAutomate Adaptive cards.

[–] [email protected] 2 points 9 hours ago

It's MS Teams with their PowerAutomate flows from Fabric. The limitation might not exist in the direct rest API, which I could have used through Python; but it's a hackathon, and my other team mates know PowerAutomate. Faster if we each coordinate using what we're good with.

[–] [email protected] 19 points 15 hours ago (3 children)

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 :

[–] ICastFist 3 points 9 hours ago (1 children)

Is that last webp animated? Asking because I know jerboa (Lemmy client) doesn't play animated images

[–] purplemonkeymad 3 points 1 hour ago

Yea, it's animated for me on a web client. Looks quite good tbh.

[–] [email protected] 4 points 12 hours ago

It's pronounced GIF

[–] Olissipo 3 points 13 hours ago* (last edited 13 hours ago) (1 children)

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

[–] [email protected] 1 points 3 hours ago (1 children)

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 2 points 1 hour ago* (last edited 1 hour 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.

[–] [email protected] 12 points 16 hours ago (2 children)

But why webp over jxl

We already have the solution

[–] [email protected] 8 points 16 hours ago* (last edited 16 hours ago) (1 children)

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

[–] [email protected] 2 points 11 hours ago* (last edited 11 hours 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

[–] [email protected] 5 points 16 hours 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!

[–] [email protected] 4 points 16 hours ago

Just use jxl; it is better and not created by shitty googol.

[–] [email protected] 2 points 15 hours ago (1 children)

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 6 points 14 hours ago (2 children)

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

[–] [email protected] 2 points 10 hours ago

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

Compression algos should be used on uncompressed data. Using them on already compressed data (most video, images, music formats) is generally useless.

[–] [email protected] 2 points 14 hours ago

Thanks, very interesting results

[–] [email protected] 2 points 17 hours ago (2 children)

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

[–] [email protected] 5 points 16 hours ago* (last edited 16 hours ago) (1 children)

Tldr: as we deal with a problem long enough we find more effective ways of dealing with it

https://jpegxl.info/

Has some info on what it does

https://en.m.wikipedia.org/wiki/JPEG_XL

Technically details might be more what you are looking for

https://jpegxl.info/resources/jpeg-xl-test-page

And a test page, if you don’t see jxl images then you should look at updating your browser

[–] [email protected] 1 points 4 hours 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.

[–] Olissipo 2 points 14 hours 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

[–] [email protected] 2 points 17 hours ago (2 children)

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

[–] [email protected] 5 points 17 hours ago (1 children)

Works for me with Voyager on mobile.

[–] [email protected] 1 points 15 hours ago

Now that I view your reply it loaded. It seemed to be another problem. Sometimes images just don't want to load

[–] Olissipo 1 points 15 hours ago

In case you still can't load the image, for the largest width the JPG file has 229.9KB, WEBP has 123.5KB, AVIF has 72KB.