A benchmarking suite for popular image optimisation tools.
- 🌩 Installation
- 🕹 Usage
- ⚙️ Contributing
- 🚶🏽♀️ Manual Steps
- 🙋🏾♀️ Getting Help
- 👀 Other Projects
- 🤓 Author
npm install image-optimisation-tools-comparison
There are no runtime dependencies, getResults()
parses and returns results.json
.
import { getResults } from "image-optimisation-tools-comparison";
const array = getResults();
The pyssim Python module is used to compute the Structural Similarity Image Metric (SSIM). It can be installed on Mac using brew install python
then pip install pyssim
.
The original, unoptimised images are located in /images/photoshop
. Each time a tool is tested, its directory (eg. /images/codekit
) is replaced with the original images from /images/photoshop
, the tool is then run over the images to update the benchmark.
/images/worst
is a copy of the original images at /images/photoshop
which is then compressed to the worst possible image quality. This value lets us calculate the quality loss percentage for each image.
Each time the /images
directory changes, /src/data/results.json
needs to be updated using yarn update-results
.
These images used are exported from a .psd kindly given to us by Daan Jobsis from his tests carried out for the article [Retina Revolution: Follow Up](http://blog.netvlies.nl/design-interactie /retina-revolutie-follow-up/), containing photographs of varying levels of detail, simple patterns, and logos.
The images are exported using "Save for Web" as;
- GIF (+Interlaced).
- JPEG (+Optimised, Progressive).
- PNG 8 (+Interlaced).
- PNG 24 (+Interlaced).
/images/codekit
is compressed using https://incident57.com/codekit/./images/kraken
is uploaded using the File Uploader at https://kraken.io/web-interface. The Zip file is then downloaded and extracted into this directory./images/smushit
is uploaded one-by-one using the Uploader view at http://www.smushit.com/ysmush.it. The Zip file is then downloaded and extracted into this directory./images/tinypng
is uploaded in batches of 20 at a time using the uploader at https://tinypng.com, downloaded one-by-one then moved into this directory.
Get help with issues by creating a Bug Report or discuss ideas by opening a Feature Request.
If you find my Open Source projects useful, please share them ❤️
- eslint-formatter-git-log
ESLint Formatter featuring Git Author, Date, and Hash - eslint-plugin-move-files
Move and rename files while keeping imports up to date - eslint-plugin-prefer-arrow-functions
Convert functions to arrow functions - ImageOptim-CLI
Automates ImageOptim, ImageAlpha, and JPEGmini for Mac to make batch optimisation of images part of your automated build process. - Jasmine-Matchers
Write Beautiful Specs with Custom Matchers - karma-benchmark
Run Benchmark.js over multiple Browsers, with CI compatible output - self-help
Interactive Q&A Guides for Web and the Command Line - syncpack
Manage multiple package.json files, such as in Lerna Monorepos and Yarn Workspaces
I'm Jamie Mason from Leeds in England, I began Web Design and Development in 1999 and have been Contracting and offering Consultancy as Fold Left Ltd since 2012. Who I've worked with includes Sky Sports, Sky Bet, Sky Poker, The Premier League, William Hill, Shell, Betfair, and Football Clubs including Leeds United, Spurs, West Ham, Arsenal, and more.