Tim Anderson writes a post for the Register entitled "Microsoft Silverlight: 10 reasons to love it, 10 reasons to hate it". The title pretty much describes exactly what the article offers.
I agreed with his 10 positives but I had a few comments (both good and bad) on his negatives that I wanted to share.
Silverlight is late to the game. Flash is mature, well trusted and ubiquitous. Silverlight 2 only comes out of beta in the Autumn (we hope). It is the version we care about - the one that includes the .NET runtime - and will still lack support on mobile devices, even Windows Mobile, though this is promised at some unspecified later date.
This seems true but in a lot of ways it isn't. As someone who has been experimenting with Flash/Flex I have to say that, while the plug-in is more mature, Microsoft has a huge lead in the arena of developer tools. I've been impressed with a lot of what Adobe has to offer but I can honestly say I miss Visual Studio every time I sit down to work with Flex (Flash, the program, is really a completely different paradigm making it hard to compare the two).
No support for the popular H.264 video codec. Instead hi-def video for Silverlight must be in VC-1, which is less common.
This point I'll not only agree with but go further. There are a lot of multimedia features that Silverlight is just woefully behind in. A big part of why I am experimenting with Adobe's technologies is because Silverlight can't take input from a webcam/microphone which is just a ridiculous omission.
In many ways Silverlight 2.0 is still just a stopgap on the multimedia front.
It’s another effort to promote proprietary technology rather than open standards.
Again I'd go a little further and say this is an attempt to get Web Developers familiar with WPF development (Which stands for Windows Presentation Foundation and is Microsoft's new way to create desktop apps for Windows). Silverlight is modeled after WPF and I think that drove a lot of the design decisions. Decisions that don't necessarily work in Silverlight's favor.
Microsoft's biggest problem these days is that they desperately want to pull people back to the desktop and it's becoming painfully obvious that they are willing to sacrifice online initiatives to do it (Microsoft Mesh is another example of an online initiative practically designed to drag users back to a desktop paradigm)
Silverlight is a browser-only solution, whereas Flash can be deployed for the desktop using Adobe Integrated Runtime (AIR). Having said that, yes I have seen this.
Well again, as pointed out above, Silverlight is VERY similar to Microsoft's new Desktop technology WPF. My preliminary experience with Silverlight has been that a good modular design can allow you to carry about 95% of your code to WPF without problem. I'd put the effort level within striking distance of the effort it takes to verify that a Flash app will work as an AIR app.
In the end Silverlight is a Microsoft product which means they're going to iterate quickly and just keep pounding out new versions until they have something competent. I have little doubt they'll eventually catch Adobe in terms of features.
The questions in my mind are (a) will Adobe manage to match Microsoft in terms of development environment and (b) will Microsoft manage to turn away from it's desktop ties and let Silverlight innovate in ways that are beneficial to web development and which don't necessarily sync up to their desktop development goals. The answers to those two questions will probably determine who comes out on top when all is said and done.