This is an excellent document for visual thinkers. I wish there were more of them. It reminds me of my dog eared copy of TCP/IP Illustrated. Now that the patents have all lapsed on GIF images it would seem to be a candidate for coming back but of course the PNG standard has made great progress in the mean time.
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.
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 :-/
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).
Wow that's shockingly many still. But that statistic is to be expected somehow, there's a lot of old sites still around. Still it's a horrible, incredibly restricted format.
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.
(1) is indeed a use-case, unless you require more detailed control over playback/pause/frame numbers. In which case a series of png images (for example, encoded into a .css) and animated using javascript could be used. Google uses this for their doodles.
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.
I've generally avoided GIFs myself, originally because of patents. Lately though it's because with optipng/pngcrush being told to try every possible compression option on them I can usually get small images down to under 500 bytes, sometimes much better than I could ever do with a GIF. This seems to mostly be due to the fact that around certain sizes a true color PNG may compress better than a palleted image.
Interesting, I wasn't being a dick asking that. I was genuinely interested on what I was missing out on. I don't understand images to anywhere near the extent of most people commenting here but I was interested enough to try and understand the article, "try" being the operative word.
In most cases you will get better results with PNG. PNG has a slightly bigger overhead, so GIF wins for extremely tiny images (with a size about a dozen pixels or less) but after that more advanced compression algorithm in PNG wins.
However, you have to remember to choose the right type of PNG (there is no sense in saving black-and-white lineart as true-color PNG). PNG also may containt chunks of additional info, you can get rid of them too.
Also, there is an interesting PNG8 format which allows you to have alpha transparency with indexed color palette in supporting browsers, but in IE6 it will behave just like gif with index transparency (pixels having any transparency will appear completel transparent). See http://www.sitepoint.com/png8-the-clear-winner/
I'd also definitely take a look at some of the png optimizers. They work by tweaking the parameters of the compression so it's a lossless operation (some of them will do some depth reduction in a lossless way if possible, but that doesn't always bring in better compression). Photoshop has been somewhat well known for not always producing an optimized png.
I think the GP is confusing an interesting general knowledge piece with something that should be immediately relevant to his day-to-day work.
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 once wrote node-gif (https://github.com/pkrumins/node-gif), a node.js library for creating animated gifs. (Note: it only works with the old node 0.2.x.)
as well as for PNG: http://en.wikipedia.org/wiki/Portable_Network_Graphics#Techn...