Holy cow, I wrote a book!
Commenter Vilx- wondered
why animated GIFs weren't used as the animation format for
the shell animation common control.
"they are even more lightweight than AVIs."
Animated GIFs are certainly more lightweight than general AVIs,
since AVI is just a container format, so decoding a general AVI
means decoding any encoding format invented now or in the future.
On the other hand,
the shell common control imposed enough limits on the type of AVIs
it could handle to the point where what was left was extremely lightweight,
certainly much more lightweight than an animated GIF.
Think about it: To use an animated GIF, you need a GIF decoder.
And a GIF decoder is already significantly larger
(both in terms of code and memory) than the RLE-8 decoder.
Also significantly more complicated,
significantly more likely to have bugs.
Whereas RLE-8 is so simple there isn't much that can go wrong,
and the RLE-8 decoder had been around since Windows 3.0,
so it was already a known quantity.
All you have to do to invoke the RLE-8 decoder is call
One line of code is hard to beat.
Windows 95 did not come with a GIF decoder.
Remember, Internet Explorer 1.0 did not come with
Windows 95; it was part of the Plus! pack.
As I recall,
at the time Windows 95 released to manufacturing,
the Plus! pack was still under development.
(And at the time the animation common control was being designed,
Internet Explorer didn't exist.
Heck, Mosaic didn't exist!)
Plus the fact that the common controls were available in both 16-bit
and 32-bit versions—in fact it was the 16-bit versions that
were written first since Windows 95 didn't have good Win32
support at the start of the project.
Windows 95 didn't have any Win32 support at the start
of the project.
So I'm kind of amused by the description of GIF as a lightweight
animation encoding algorithm.
Compared to RLE,
the GIF format
weighs a ton!