Holy cow, I wrote a book!
The animation common control is very limited in the type of
animations it can play.
The animation must be in AVI format,
it cannot have any sound,
and it must be either uncompressed or use RLE8 compression.
Why so many restrictions?
Because if it could handle other file formats, play sound,
and support arbitrary codecs,
it would just be a reimplementation
of the multimedia animation control.
(We saw this principle earlier when discussing
why you can't do everything with registry values that you can do
with registry keys.)
The point of the animation common control is to play very simple
animations without the overhead and accompanying complexity
of the full generality of the multimedia animation control.
Think of it as the 1040EZ of animation.
If your animation is comparatively simple and you don't need
very much control over its playback at all, then go ahead and use the
animation common control,
which is designed to be a simple playback control for simple animations.
But if your animation is complicated, uses an advanced compression
scheme, or contains audio, then you've left the world of simple
animations and need to move up to the full-sized 1040 form.
There's no point adding support for everything to the simplified
control, because once you've added support for everything,
you have the complex control that the simplified control was trying
Okay, fine, so the animation common control can't be a full-featured
animation control or that would have defeated its purpose for existing.
But why those specific limitations?
Because those were just barely enough features to play the animations
that the shell team needed to play.
The animation common control was written by the Windows 95
and it supports only enough features to be able to play the animations
that the Windows 95 Explorer used.
After the control was written, the shell team figured, hey,
we already wrote it,
we may as well
do other people a favor and let them call it, too.
The downside of this is that even though the shell doesn't use
these simple animations any more,
it still has to ship the animation control because other applications
rely on it.
What started out as a courtesy has turned into a support burden.