After teaching Silverlight this week and spending my evenings digging into Moonlight, I am getting used to the fact that Silverlight fits into a graphically and functionally intense ecosystem that includes Adobe’s offering (Flash, Flex, or Apollo) and open source equivalents (Moonlight, SVG, et al.). So I really wonder how many technologies are really at odds here. Of particular interest (because I am only now digging into how it works) is SVG.
SVG is a standard approved by the W3 folks and seems to have much of the same feature set as Silverlight XAML (not the runtime environment, but the language feature set). What really sets it apart is that it uses CSS as its styling syntax. It theoretically should be more seamless with typical web development than Flash and Silverlight, but there is a fly in the ointment. Firefox supports SVG (though there seems to be some disagreement as to what a well-formed SVG is), but in IE the Adobe SVG plug-in is being phased out with no obvious alternative. Sure you could say this is another reason why everyone should switch to Firefox but my perspective is the developer, not the user…which means if users can’t see my SVG content in IE, why shouldn’t I use one of the other technologies?
The SVG story seems to highlight the problem that all platforms need to solve (though Flash is the closest to solving this problem): ubiquity. The plug-ins need to be installed on as many machines as possible. The bug that most of these show to allow you to install it is a good way to solve this, but i’d rather see IE, Firefox, Safari (et al.) all bundle Flash, Silverlight, Moonlight and SVG in the box. Competition is good for all involved and bundling is a good deal for developers.
What do you think?