Vlad Danilov

Founder at Optimage Joined over 4 years ago

  • 21 stories
  • 85 comments
  • 158 upvotes
  • Posted to Comparison of image optimization tools, in reply to Ktrn Dsrs , Sep 06, 2018

    Thanks!

    PNGyu uses Pngquant internally. So the result should be comparable to ImageOptim in lossy mode.

    It's unfortunate though that due to aggressive configuration some other tools get ahead of ImageOptim. But it's all at even greater cost of visual quality.

    1 point
  • Posted to Reclaim gigabytes of free storage on Mac by deleting Sketch caches [Safe Method], Jul 28, 2018

    I made Clean History plugin for this. It uses official Versions API and has an option to automatically remove document versions on close. Free and open source.

    1 point
  • Posted to Show DN: Optimage 2 – Compress images and documents thoroughly, in reply to Mikael Staer , Mar 07, 2018

    Optimage is different on many levels.

    1. Lossless compression. PNG is about 3-10% smaller on average. The best test I could found is https://css-ig.net/png-tools-overview. Total savings: Optimage 1 787 523 B vs ZopfliPNG (used in ImageOptim) 1 507 775 B. That's about 3%. While in the reduction subset, it's about 7% on top of ImageOptim. JPEG and GIF are about the same, although individual GIFs can be smaller. Optimage also supports SVG, PDF, ICO and ICNS out-of-the-box. ImageOptim requires Node.js to be installed for SVGO.

    2. Lossy compression. Optimage, at least for my own projects, is good enough for automatic lossy on random images. That means gradients won't be broken by color quantization, JPEGs won't end up overly compressed because average error is low (it applies to many other tools). This is where numbers deviate the most. My bar is high here. Not JPEGmini and TinyPNG but pngquant, Zoplfi, Guetzli and beyond.

    3. App. Pausing, file renaming, configurable destination folder, auto-scaling parallel processing (image compression is slow but it should not stand in a way of other activities), etc.

    4. Things like color management, conversion to sRGB (only doing it if the attached profile is actually different), auto rotation for photos using Orientation tags (it's lossless in lossless mode), etc.

    3 points
  • Posted to Design tools are missing the point, Dec 12, 2017

    States eliminate repeating work. They naturally expand to artboards and allow exportable symbols with per-resolution adjustments.

    I even implemented the latter in the plugin for Photoshop a while back. But that alone would not fix it.

    1 point
  • Posted to A better PNG minifier, in reply to Ivan Kutskir , Nov 27, 2017

    It is time consuming, takes seconds. You need all the performance you have.

    Type trials, palette sorting, filter brute forcing, nearly-optimal Deflate compression, etc. It's way more than 6 lines of code to do it properly.

    With bit-optimal parsing and elaborate heuristics you can probably get close and keep top performance.

    0 points
  • Posted to A better PNG minifier, in reply to Ivan Kutskir , Nov 26, 2017

    The 23.3 kB is 254 colors. The 20.4 kB is just 25 colors, and just 15.1 kB (-26.1%) losslessly compressed with a better tool. That's the difference.

    2 points
  • Posted to A better PNG minifier, in reply to Denis Rojcyk , Nov 26, 2017

    Thanks! Do you have a link?

    Edit: Found it. It’s all straight to the point! For anyone interested here's the link.

    Special thanks for including test images. Let's see if I can improve on that one.

    0 points
  • Posted to A better PNG minifier, in reply to Ivan Kutskir , Nov 26, 2017

    "hard problem to solve in the browser" - what do you mean by that?

    Just check out code complexity in the linked projects.

    I don't think that tools that you mentioned can do a better job than UPNG.

    I've updated the comment with the link to image. Can you make it this small without changing the number of colors?

    Dithering may improve the visual quality, but it also usually increases the file size (by creating noise), that is why I avoid it.

    It's not for everything. But without it, images containing gradients have noticeable quality degradation. Dithering can also be applied selectively.

    0 points
  • Posted to A better PNG minifier, Nov 25, 2017

    Image compression is a hard problem to solve in the browser. UPNG minifier appears to be winning just by selecting fewer colors into an image palette without any dithering. This may result in a smaller file size but visual quality suffers a lot, and there’s still a lot to optimize.

    Color quantization is just the beginning. Have a look at Pngquant (used by TinyPNG), OptiPNG, Libdeflate, Zopfli, ECT, etc. This is what it takes to properly compress PNG images. There’s a room for improvement too. That's why I'm making a new image optimization tool Optimage. One challenge is to actually remove any sliders and choose compression parameters automatically.

    For comparison, the bunny.png can be further reduced by 58.7% of 57.9KB. Even at lower quality it can be losslessly reduced by good 10-30% with the right tools. The same applies to virtually any online service.

    Browsers do improve rapidly. For example, Figma editor is written in C++ and cross-compiled to JavaScript using the emscripten cross-compiler. This is a promising direction to future-proof your hard work.

    4 points
  • Posted to Do you export images in all sizes for a mobile design?, in reply to Marc Edwards , Nov 24, 2017

    I do agree that PDF is not the best format for vector graphics. Vector drawables give more freedom, e.g. adaptive icons. I guess it was a bet on the proven and widely used technology. Also, PostScript/PDF is deeply integrated into Core Graphics.

    The difference in rendering is mainly in AA, which is superior in CG at least for flat shapes. In my test even gradients become a problem. It is fixable though.

    0 points
Load more comments