Free Lossless Image Format

2015 - 2020
dead
in april 2020 somebody added seven lines to the readme saying development had stopped. flif had spent four years winning compression benchmarks and losing the only argument that mattered, which was whether anything could open the files. jon sneyers folded its ideas into fuif, which merged with google's pik and came out the other side as jpeg xl. the project then shipped one more release, eighteen months after declaring itself over.

~ the goodbye ~

FLIF was announced in September 2015 on a handheld console forum, of all places, and the first alpha landed on GitHub on 3 October. Jon Sneyers and Pieter Wuille had built a lossless image format that produced smaller files than PNG and lossless WebP across most of the test sets anyone threw at it. The claim was easy to check and the code was free, so for a few weeks in late 2015 FLIF was the thing compression people argued about.

The headline feature was not the ratio. FLIF files were progressive in a way PNG never managed: the encoder interleaved the image so that any truncated prefix of the file decoded as a complete, lower-quality picture. You could stop a download at ten percent and get a real image out of the bytes you already had, with no separate lossy version sitting on the server. The format also carried an alpha channel and color depths up to sixteen bits per channel.

The first stable release, FLIF16, came on 22 September 2016. After that the commit graph thins out year by year. The software that could open a .flif file was a handful of desktop viewers plus a JavaScript decoder, and that was the entire installed base.

~ the chronicle ~

Born3 October 2015, first alpha on GitHub, announced a month earlier
Peaksmaller files than PNG and lossless WebP on most test images
Killed12 April 2020
Lifespan4 years, 6 months
Made byJon Sneyers and Pieter Wuille
Killed byits own successor, which became JPEG XL

~ what the encoder was doing ~

FLIF compressed with MANIAC, which stands for Meta-Adaptive Near-zero Integer Arithmetic Coding. It is arithmetic coding where the contexts are nodes of a decision tree that the encoder learns while it works, so the model fits the particular image instead of a general assumption about images. That is also why it was slow. Encoding cost real time, and decoding was never fast enough for a browser to want it in the hot path.

Color went through reversible YCoCg, so no rounding error crept in. There was a flifcrush tool for grinding through parameter combinations to find the smallest output, which tells you something about the kind of person the format was for.

~ where it actually showed up ~

IrfanView added FLIF reading in version 4.52, on 12 December 2018. IrfanView is the viewer that lived on every Windows machine I set up for anyone in Turkey for about fifteen years, the thing you installed before you installed anything else, so in principle that was FLIF arriving on my own desktop. In practice I never opened a .flif file in my life, and neither did anyone I know. By December 2018 the author had already started the next format.

~ the handoff ~

Sneyers took what FLIF had learned about lossless coding and started combining it with lossy ideas, under the name FUIF, Free Universal Image Format. The FUIF repository went up under Cloudinary's GitHub account on 7 January 2019. Google was working on its own candidate, PIK. The JPEG committee put the two together, and the result is JPEG XL, which is now a published standard with a royalty-free reference implementation.

So FLIF did not lose to a competitor. It lost to the same person writing something better, which is the most dignified way a file format can go.

~ the notice in the readme ~

On 12 April 2020 a contributor pushed a commit titled "Notice for JPEG XL" that put a block at the very top of the README: "FLIF development has stopped since FLIF is superceded by FUIF and then again by JPEG XL." The misspelling is in the original. flif.info still serves the same sentence today, spelled correctly, over the 2015 page design with the old benchmark charts underneath it.

Then on 21 November 2021 the repository produced one more release, v0.4, a collection of community pull requests that had piled up: build instructions for Ubuntu, a 16-bit grayscale fix. A volunteer cleared the backlog eighteen months after the notice went up. There has been no commit on the main branch since.

~ leave a rose ~

an anonymous tribute. one rose per visitor per day.

@}-->-- ... roses left here

~ leave a wreath ~

a rose fades by morning. a wreath stays on this grave for good, with your name on it.

from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.

» one email a week: new graves and the anniversaries of the dead. subscribe

~ leave a note ~

visitors before you have left these graveside notes. anonymous welcome.

other media formats: RCA SelectaVision (CED), SDMI, Quadruplex Videotape, Dark Horse Digital

also died in the 2020s: The COVID Tracking Project, Radish Fiction, Caffeine

« previous  ·  random  ·  next »