I recently attended ASPLOS 2009 in Washington, D.C., and put together some slides for the presentation I gave on Deterministic Shared Memory Multiprocessing. To appease my endless thirst for new technologies, I figured I’d try using Powerpoint with embedded Shockwave Flash movies for the presentation, instead of the traditional vanilla-Powerpoint. Why bother making my life so complicated? Well, there were 5 main reasons.
- I like complicated things.
- The animations I wanted to do were, in my opinion, just too complicated (see above point) to create in regular Powerpoint. I wanted to move shapes in very precise ways. Doing motion paths in Powerpoint is particularly tricky, because the motion path is based on the center-point of the shape, so it’s hard to judge what the motion will look like until you actually see it.
- Even more importantly, animations in Powerpoint are hard to change. It’s hard to keep things consistent, because changes don’t propagate. By doing things in Flash instead, I could write code to script my animations, so my toolkit was now limited only by the power of the abstractions I could build.
- The animation engine in Powerpoint is a bit sluggish – I observed a fair amount of graphical tearing when moving shapes around (especially large ones), even though I was running the presentation on a Core2 dual-core laptop, had the CPU running at full power with nothing in the background, had hardware acceleration enabled in Powerpoint, etc. Flash just brings a little extra crispness that’s hard to justify until you see it running at a beautiful 30 fps. Worth all the pain I went through to make it work? Probably. Easy on the eyes? Definitely.
- Finally, Adobe has graciously open-sourced the toolchain needed to compile your own Flash movies from Actionscript. This, coupled with the excellent FlashDevelop Flash IDE, was all I needed to convince myself that this crazy adventure was going to be worth it. Convincing my adviser, however, was a different story… 😉
So, the next series of posts will describe how I got Flash, Powerpoint, ActiveX and other buzzwords to play nicely together. I hope this will prove useful to others who might be crazy enough to try this out – I can definitely see myself doing this again someday.