Powerpoint + Flash = Awesome (eventually)

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.

  1. I like complicated things.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Leave a comment