Kudzu World

"Programming is an art form that fights back"

Kudzu World  »  Blogspace  »  Kudzu's Tech Blog
English - Română - Русский - عربي

RSS Feed

If you want to more easily stay informed of updates etc you can subscribe to the RSS feed. Just point your RSS reader at this page, auto discovery is enabled.

SilverLight, Flash, and SVG


Recently Microsoft announced Silverlight, and it has created a lot of buzz. What is Silverlight? Many of you may have known Silverlight by its former code name, WPF/E.

And WPF/E was what?

In short, Silverlight is a "mini" version of WPF which will also include a mini .NET implementation (allowing C#, VB, Ruby, Python, etc), that is cross browser and cross platform. Silverlight supports Internet Explorer (duh!), Firefox, Safari. I have also seen references to Opera. And remember I said cross platform? Well normally cross platform to Microsoft means that it runs on XP, Vista, and 2003, but in this case Silverlight also runs on Mac OSX! While there is no current commitment to Linux currently, there is certainly talk of Linux support in the future as well.

In addition Silverlight supports a DOM model allowing the use of Javascript to be used to communicate between the HTML container and host Silverlight controls.

Isn't this just a .NET Flash?

In many ways it is similar to Flash, and it is obvious that once Silverlight 1.1 (1.0 has no CLR support, 1.1 will) is released, Silverlight and Flash will go head to head.

Flash has a current advantage that is is released, and is on over 90% of end user's computers. However since the Silverlight install is small (1.0 about 1 MB, 1.1 about 4 MB) and it is from Microsoft, I expect that when it is released users will install it without much hesitation. In addition developers using Silverlight, Microsoft will quickly begin using Silverlight on their sites. All of these factors will allow Silverlight will reach the critical mass of end user install base very quickly.

Flash also has a current advantage of existing content. However Silverlight has a serious advantage in that it uses the same XAML that WPF does, has Visual Studio as its development environment, and allows developers to use C# (or VB.NET, or Ruby, or Python, etc). Since Silverlight supports C# and XAML, developers can share and reuse existing code.

Silverlight is backed by powerful professional software development languages and a powerful development environment. Professional developers seek and prefer professional development tools. Until recently the IDE's for Flash generally did not even approach the power of Visual Studio. The latest Flex uses Eclipse which puts it closer. However for the millions of developers already using Visual Studio, they will of course prefer a single IDE.

See also: Silverlight vs. Flash: The Developer Story

Isn't this just a .NET Java?

No. Java applets can run in the browser, but you need the full Java JVM installed. Java is more comparable to the full .NET framework, which can also run in the browser in a manner similar to Java applets.

Why didn't Microsoft just expand on SVG?

SVG is a great option for vector graphics. In fact, that is where it takes its name. SVG = Scalable Vector Graphics, although 1.2 draft contains audio and video support as well. Silverlight supports high definition (HD) video. Does SVG 1.2? (I don't know).

By using XAML it allows developers to use the same tools that are used for WPF, as well as the same code. To me, this is really a no brainer why Microsoft did not use SVG. There are already SVG to XAML tools. And these work with Silverlight today because Silverlight uses XAML! SVG to Silverlight converters will surely be available soon, in fact a rudimentary one is already available.

In fact even Java is doing the same. One of Java's responses to XAML is F3, and it does not use SVG either. Their answer as to why is very similar to mine above, and there are also SVG to F3 conversion tools.

Hijacking SVG

I have not yet seen a feature by feature comparison, but there are things in Silverlight that are not in SVG. It has been mentioned that even CLR could be grafted on top of SVG. But let us say Microsoft did that - then they would be attacked for hijacking SVG and adding proprietary extensions and creating a "non standard" SVG viewer. But more to the point - as a developer I would not want them to make Silverlight around SVG. SVG viewers already exist, and what attracts me to Silverlight is not that it can do what SVG can, but that it uses the same format I am already using on the desktop: XAML,

Microsoft the Loser

Either way Microsoft would be in trouble. Extend SVG and they would be labeled SVG hijackers. Don't use SVG and they are in trouble for not using it. Don't think so? Look back at the days of HTML 3. Both Microsoft and Netscape added their own extensions. Not only did this create a mess, but Microsoft was commonly accused of hijacking HTML.

There is one huge difference. By the time this occurred, HTML had without a doubt arrived and in use. Adopting HTML instead of Microsoft making their own hypertext markup made perfect sense. SVG certainly has a following, but it has not even approached the success that HTML 3.0 had achieved. The situation reminds me of the OpenDoc versus OfficeOpen XML format that Microsoft Office 2007 uses. OpenDoc users content Microsoft should have used OpenDoc. But in what way does it make sense for a commercial company of Microsoft's position to adopt an existing standard that does not have wide scale industry adoption? OpenDoc users contend that it would have that widespread adoption, if only Microsoft would have adopted it. But it is not in Microsoft interest to do so. For such standards to be embraced by anyone they must achieve a reasonable level of market penetration on their own, or present some other overriding feature to attract other adopters.

It is a lose-lose situation for Microsoft. By using XAML they retain control to innovate and expand at will. Its obvious others do not like Microsoft and investing in SVG could actually cause parties who control SVG to block Microsoft proposals for political reasons.

The SVG Red Herring

SVG has its following, and certainly has some advantages over Flash. A big one being that SVG does not need to be compiled and thus is easier to generate. Silverlight has this advantage over Flash also, although Silverlight content can be compiled as well. But the dirty secret in the SVG world seems to be that there are many more people using Flash for vector graphics than SVG. I think SVG is great. It is always great to have more than one option, and I  believe one option should always be an "open" standard.

It seems some SVG users are upset more that Microsoft did not adopt SVG and give it the boost they have all been waiting for. Essentially they can now blame Microsoft for SVG's existing "failure to launch", and use Silverlight as a scapegoat.

Have no doubts, Flash is Silverlight's real target, not SVG.

More Information

<< Previous Entry    Next Entry >>


lakynorbert on 11.06.2009 wrote: Thank for your post. It helped me a lot! But IMHO: "But in what way does it make sense for a commercial company of Microsoft's position to adopt an existing standard that does not have wide scale industry adoption?" How wide scale adaptation of ooxml has now?? I think we use standards because we would like to cooperate!! Now and after 50 years too!! As I know the above opinion is changing because MS will implement the opendoc format in everey office product. I hope the same in silverlight and svg too! Thank for your post, again. I'm not an MS fan but I will read your blog posts ;).
lakynorbert on 11.06.2009 wrote: "Either way Microsoft would be in trouble." I think Ms ought to walk on the cooperation way like Mozilla Foundation. " Our goal is specification conformance. Where the specification and other implementations of SVG differ, we will conform to the specification. Where the specification is ambiguous, we will make an informed decision, consulting the SVG working group and other experts as appropriate." In this situation MS won't be loser!
stelt on 11.06.2009 wrote: Silverlight is not (really) open, SVG is. Microsoft's strategy is still monopoly based, though that won't last in the long run (IE less than 50% in some countries, Dell+Lenovo+Acer sell Linux, .doc(x) will loose too). You seem to love Microsoft, i don't. Its products bug me.
Chad Z. Hower on 11.06.2009 wrote: There are two types of open. Open source, and openly published standards. I like open source, but when source is not avail, openly avail specs are great and a *requirement* IMO. Re SVG. Its great. But its not really successful. I predict within 6 months of Silverlight release it will surpass SVG in usage, even though SVG has been out much longer. IE under 50%? Provide data. What countires? Cuba? I think Firefox is great. I use it a lot. And its definitely gaining shares. But I don't delude myself with funny numbers, Im much more realistic about them. DOCX si already succeeding, and I suspect it will be used more than ODF as well. Why? Reasons that open source die hards will never understand, and is self detrimental to their own causes. Business and users chose on a variety of factors. Support, practicality, and more. NOT just whether its "from a monopoly" or not.
lakynorbert on 11.06.2009 wrote: Chad: I think the DOCX as an ISo standard is the darkest story of this century. :( Follow the national votings. Monopoly? No it's more than monopoly.
dreamfaller on 11.06.2009 wrote: Because SVG is Vector...its resolution, like postscript is infinitely scalable...I'm animating an HD graphic right now...because I'm on an HD monitor...The question isn't whether SVG 1.2 will support HD video...the question is which video codecs(because extensions are int=erchangable) will be used to encode the HD video into SVG...my guess is the X.264(the opensource version of .H264 because of its high-compression and high-quality.
Nobody on 11.06.2009 wrote: "It seems some SVG users are upset more that Microsoft did not adopt SVG and give it the boost they have all been waiting for." SVG beat Microsoft's VML as a standard, and in typical Microsoft fashion, they acted like crybabies and refused to support it. Same with Microsoft and MPEG4. They lost to QuickTime and proceeded to release MSMPEG4 anyway. "Essentially they can now blame Microsoft for SVG's existing "failure to launch", and use Silverlight as a scapegoat." Failure to launch? SVG is supported by every browser except IE. At last count, that's 30% of the market and growing.

Post a comment

Use my contact form to contact me directly.