Jose Fajardo
Silverlight and WPF
Friday February 29, 2008
We need to Learn from flash
I can sum up in 3 points why flash, to me, is amazing
1. Rich Feature Set - it's currently at version 9. It’s had 9 versions to grow out it’s features, Silverlight has only had 1.
2. Papervision - this open-source library exposes amazing functions that let you build truly captivating experiences in 2D & Fake 3D. Think Cover-flow :). If you don't know about Papervision do a live search on it, this library is amazing.
3. Tweener - this open-source library let's you build animations in a consistent way that is manageable. From experience, with a simple application may require hundreds of animations, one word comes to mind "messy". This Tweener library brings order to this chaos! If you don't know what Tweener is do a live search for "flash Tweener" and read up on it, it's really amazing.
In my personal opinion if we Silverlight developers/designers are to build amazing, captivating applications we also need all 3 tools above. So what is Microsoft doing regarding the 3 things above? I searched far and wide and this is what I found...
1. Rich Feature Set - Microsoft is working double time to provide us more Silverlight features for RIA scenarios. I have a feeling Silverlight 2.0 is going to be amazing beyond my current expectations. From the sounds of it, MS is doing everything they can to close the feature gap with Flash.
2. Papervision -There is not much news out there regarding 3D in Silverlight, I don't think it's high on Microsoft's priorities. I don't see this in Silverlight for another year or so. This is understandable as building 3D functionality is unimaginably complicated (a future post will explain why).
3. Tweener - Microsoft also does not appear to have a solution for this. From what I understand Microsoft hasn’t announced anything remotely resembling tweener. We will still be creating hundreds of storyboard animations in a chaotic way.
All things point to Papervision3D and Tweener functionality being far off....
BUT I WANT THESE TOOLS TODAY!
I had this same conversation with a friend of mine, Michael Cameron, and we both agreed that Silverlight needs similar tools to be competitive. Michael is an amazing guy in that he enjoys Silverlight just as much as me. We're both Aussie's and we both inspire each other to push the boundaries of Silverlight.
Michael has created a Silverlight version of Tweener.
I've been secretly working with him over the last couple of weeks on demo's and testing to ensure that it meets my needs as a designer/developer. AND IT DOES! This tweener library, amongst other things, lets you create procedural animations. These are animations that run one after the other where the previous one triggers the next one.
In a typical "Rich" application you may create dozens to hundreds of animations, they may sit in xAML or if you’re like me in code. Tweener let's you manage this huge amount of dynamic animations in a beautiful way.
The approach was to make it look and feel similar to the flash tweener. He's taken the interface from flash's version and literally replicated it in Silverlight. If you’re a flash developer wanting to get into Silverlight then you'll love this library. I personally can see myself using this in most if not all my projects. When you need to create dynamic animations this thing will save countless hours and make your code easily manageable.
This tweener library is still under development BUT it will soon be released under open-source. I strongly urge you to investigate tweener for flash so that you can appreciate Silverlight tweener when it's released very soon (pre-Mix08) . Testing is still going on BUT it will be shipped soon. I'll create another post when it is launched (I'd say it will probably be in Codeplex within a week).
The library is for Silverlight 1.1 C#, there is no plans in the immediate future for having a version for Silverlight 1.0 JavaScript. A port for the Silverlight 2.0 will follow soon after Mix08. Michael, well done mate, keep reading my blog as I'll announce when it is released. I'm looking forward to the amazing stuff people will produce using this library!
Stay tuned...






