Silverlight 2, Microsoft's attempt at a Flash killer, has been officially Released to Web today, almost two full weeks ahead of when I expected to see it. This is great, in that all that RC0 code that we've been working on can go public. This is horrible in that the API is now locked in, broken as it is. Literally dozens of bugs have been reported against RC0, many of which are strange broken behaviors. For instance, if you have a DataGrid, and want a control in the DataGrid to be directly editable (like a checkbox), you have to wrap it in a special content control in order to get that behavior. Otherwise, the user has to click on the checkbox twice to get the expected behavior.
This is just the tip of the iceberg really. And, there is a good chance many of these design decisions won't be corrected.
This is the last time Silverlight will not be backwards incompatible - from now on when we update, your code should continue to work. (at least, that's the plan)
Silverlight has some nice things as a platform, particularly if you're already a .NET Developer, but I'm not convinced the platform was ready for release. There are too many issues, too many obscure workarounds. Hell, even if they'd taken until PDC as I'd expected them too, I can't be sure that I'd consider the product to be complete.
I won't call Silverlight as DOA. Flash has always had some issues from a developer standpoint, and the ability to use .NET languages and the Dynamic Language Runtime, is attractive. But I'm not convinced that Silverlight will ever live up to it's promise. It lacks many controls that I don't think should have been sacrificed in the name of small download size, and it's got a frightening number of eccentricities to work around. For many, I'm not sure there is enough here to really give Flash much to fear, particularly because people are far more likely to trust Adobe (perhaps mistakenly) than Microsoft.