as well as for PNG:
For a long time, and perhaps today, GIF was the most reliable way to have a diagram in a web page that would display like you expected. I keep hoping that SVG support will rise to the level that GIF support had in its hey day then I can have a web page that goes from phone to 24" display and the drawings still look nice.
I think it shows how easy it is to write parsers in Haskell. Don't bother to look at the LZW decode and encode, it's rather dirty.
Perhaps not compatible with GIF standard, but very clear.
I did write one article and also did a short video on this stuff, but could think about expanding that if there is sufficient interest.
My work so far has been in Ruby but I'd probably want to at least look into how to do this sort of stuff in C or some other low level language, because things like alpha channel splitting in PNG is painfully slow :-/
If I had an articulate page like this my life would've been a lot easier.
But GIF? Is that format even still used?
I'd love to see this for webp, I really don't get that format yet and AFAIK there is no overview of the format that is not a spec (i.e., horribly detailed).
34% of images on the web.
The Web needs education first, not another image format that those websites won't use...
I come from a computer graphics background an thus am interested in image formats and how they work... whether the web "needs" webp doesn't really come into it.
Regarding WebP, it’s nice to have options, but ImageOptim is getting PNGs down close in size for me :)
- with the rise of AJAX a gif is basically the default format for the animated "loading" spinners
- crappy low-res instant versions of youtube videos
Is there an alternative format?
I think (2) is not really a good use-case. GIF is a terrible, terrible format for movies because of the crappy quality and inefficient interframe encoding. Just use a movie format, they're also good at low-res low-bitstream.
For a four-second clip of a man being hit in the face with a cat I'm not sure either of those is worthwhile.
Mouse hovers show an animated GIF representation of the 'film' as a preview.
Whenever I save an image as a PNG it is almost certainly bigger but I let PS do the work for me these
I'll take a look at this format as it seems to be a really clever time saver of having to render a version of each image twice
You probably don't want to be crafting GIF binaries directly anyway, there are tons of libraries that take care of the plumbing for you very competently.
I remember that when I was playing with this code I was pretty shocked by the elegance of LZW.