Part of the madness getting SUSE 9.3 out was creating a custom spinner for various elements of the interface. From the boot process to the web browser.
Initially I thought about using SVG for the throbber to get a resolution independent source file. I thought it's not going to be impossible to change the opacity of objects if I identify them appropriately. It's just CSS, right? Well it turned out parsing the SVG isn't such a trivial thing, especially since it meant parsing CSS provided as a style attribute. Since the deadline was deadly, I went back to blender to generate the spinned interactively.
I was after a similar technique I used with the other spinners – using time offset on linked copies. Unfortunately you cannot do that for material IPOs. Only for object IPOs. Almost gave up and went to manually offset IPOs (wouldn't have been too bad for 40 dots, but still prone to error.
Luckily the good folks at
suggested a good trick of using a conical gradient as a mask. It worked great
by mapping the texture (created in GIMP, since blender doesn't do conical
gradients as far as I could figure out) onto a rotating empty.
One thing worth noting – if you render to RGBA, make sure to render with Key, not Sky background, otherwise the background color will "ghost-in" on the edges of objects.
The logo didn't have to be traced manualy, thanks to the python script to import SVG shapes. It produced some eeky bits, but a cleanup was definitely less time consuming that tracing manually
The animation has been done separately for larger resolution (more dots) and low resolutions. For the icon theme a single image with tiled frames has been generated. Similarly, Firefox theme required an animated GIF. For both Imagemagick came handy: