Hacker News new | ask | show | jobs
by throwaway_bad 2445 days ago
Squoosh is a much better demo of how to do in-browser compression (using optipng, mozjpeg, etc): https://github.com/GoogleChromeLabs/squoosh/

There are far more knobs you can tune whereas the native browser conversion only has mimetype and quality (via toBlob: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasE...)

1 comments

I really like Squoosh... I'm not sure if they have yet, but there was at one time discussion of separating the builds for the underlying wasm built libraries from squoosh whole, which would make it more usable for separate projects.
Yea I wished it were easier to use out of the box too. The code is fortunately very well organized so you can just copy the pieces you need: https://github.com/GoogleChromeLabs/squoosh/tree/master/src/...

It also does make sense for you to pick and choose only the compression codecs you will need. Otherwise the cost of making every client download huge and unused wasm libraries might outweigh any bandwidth savings from compression.