I've been thinking a lot about Silverlight lately, for a lot of reasons. What really put me to task was my boss asking me what its impact is and if he should care about it. That certainly changed my approach and purpose for thinking about it.
As one typically does, I started by Googling around for opinions and analyst comments. There really aren't a lot of great objective opinions out there. There's a whole lot of "Flash roX0rz, Silverlight and M$ suX0rz" nonsense, written largely by Flash developers. That's not helpful, but it got me thinking a lot about Flash. I've spent a lot of time with Flash lately, experimenting with some stuff and getting to know it a little better. As an animation tool, it has a certain level of familiarity for me because I was using Adobe AfterEffects way back in 1999 to animate video. I remember the first time I saw the Flash tools, thinking that Macromedia totally ripped off Adobe (ironic since they've since bought them). What has been less obvious in my experimentation is how they arrived at the programming model. That's where I get hung up the most.
Writing code in the context of a temporal structure (the time line) is weird and unnatural. It feels like it was just glued into it because they couldn't think of anything better. It becomes even more frustrating because the predictive typing (can't call it Intellisense, really) isn't very good, and debugging isn't much fun either. Oh, and ActionScript is essentially JavaScript, which I'm sure causes pain for a lot of people. Then there's the issue that Adobe hasn't done a good job of selling Flex as a "real" IDE, and honestly I've never even seen it. Despite all of this, it's easy to appreciate the power that Flash has. For something that started as an animation tool and grew into UI/software platform, it's not terrible.
But I think that's the point at which I started to wonder if it was entirely appropriate to consider Flash and Silverlight competitors. Yes, they're both displayed via browser plug-ins, but Silverlight is an opposite in many ways to Flash. It's a UI/software platform that happens to do animation. When you define it this way, you describe it as a solution to different problems. At that point it doesn't seem like a versus debate anymore. And if you cut out the versus part, and therefore the platform religion, I think you get a clearer picture to consider.
That picture has a lot of clear pro's and con's. On the upside:
That said, there are also some valid concerns:
From the developer angle, it's hard to argue against it. From the designer angle, it's a toss up leaning slightly against it for Mac shops (especially those who haven't upgraded to Intel machines). From a business angle, you've got the idea that you can leverage existing talent to build stuff and pit it against end user adoption. At the end of the day, it seems that the best you can do is wait and see for some point after v2 goes RTM.
Of course, if you're a developer, you probably already can think of a great many things to do with it today, and I think it's important to get out there and try that stuff. Deep zoom is a killer feature, and we could only make it more interesting by finding more novel ways to use it. But there I go making it religious again!
No comments yet.