Animation, Filthy-Rich Clients, and the Rebirth of Java Swing
As my follow-up act to JFugue, which brings easy music programming to the masses, I had already started work on another API that would allow for easy animation programming. Sprites and animated graphics are not trivial; like JFugue, my new animation API would make animation possible in only a few lines.
However, it’s possible that my animation API has been made redundant by some things I’ve seen recently on the JDesktop and SwingLabs sites. Specifically, Chet Haase has been working on a timing framework that makes animation (and other time-based control) easier. I’m pleased that Chet and I had very similar architectures for our timing mechanisms (including the use of interpolators). I might as well use his, since it’s already out there!
Switching gears ever so slightly, Romain Guy is one of the people behind Aerith, a very cool “smashup” (Swing mashup) of Google Maps, Flickr, and Yahoo’s geoocoding webservice. The UI is incredibly pretty, and it’s easy-to-create Web 2.0-ish client apps like this that will result in a resurged interest and appreciation for Swing.
Chet and Romain are working on a book, Filthy-Rich Clients (here‘s a related presentation), about these super-pretty user interfaces that use motion and animation to produce a more engaging user experience. Their book will be released in time for JavaOne – I am very much looking forward to getting my own copy!
Finally, I can’t mention all of that without also mentioning that Joshua Marinacci, also one of the Aerith guys, has been working on Painters, which are encapsulate bits of graphic code. Painters were used to do some of the neat Aerith effects.
So, what does this mean for my animation API? Well, it seems that there’s still no good sprite/graphic animation API out there. I think I’ll continue my development, but I’ll leverage Chet’s timing framework. And depending on how much time I have, you might get a sneak peak of my new API in action during my JavaOne technical session!