…or, why it’s better to stick with the devil you know.
Please note that within 24 hours of publication of this article I made the response that follows the article. My sources of information on Silverlight were suspect and/or dated, and the points I made regarding Silverlight were full of misinformation. Thanks to all who responded for calling me out when I was as wrong as I was.
With the help of Tim Heuer, Microsoft employee and program manager for Silverlight, I am going to try to undo my mistake, and you will see an interview published here soon where Tim can address some of the issues regarding the benefits of Silverlight vs. other technologies.
I made a mistake, and would love to take this article back, but I am not going to run away from my error. My apologies for violating your trust with a poorly researched piece.
I’m human, and I will do what I can to rectify the mistake.
You know my feelings on this. HTML 5 provides web designers an interface for integrating rich content into their web pages. Why use a proprietary delivery format if you can use simple markup, and be assured that every user with a Mozilla or Webkit based browser will get the same experience?
Now obviously when it comes to games Flash is a mature platform that allows you to create something that plays in a web browser that standard markup wouldn’t let you do. That’s fine. I’m just saying that you have better options for embedding video and audio content into a web page.
Flash IS useful when it accomplishes something that standard markup wouldn’t allow you to do, and it will continue to be useful for the foreseeable future. Now we have Microsoft’s Silverlight, a competing product to Adobe’s Flash. Why should you care?
Well, you shouldn’t.
It’s bad enough having one proprietary plugin that is necessary for web browsing. We should be moving away from plugins and exploiting the intrinsic features of HTML 5.
Adobe Flash is a necessary evil. HTML 5 provides a way to move part of what Flash delivers to the web browser, which is moving in the right direction. Introducing yet another proprietary content delivery method into the web is the wrong direction.
- Platform compatibility Flash officially supports Windows, Mac, Linux and Solaris. Silverlight supports Windows, Mac (only just recently too), and Linux, via Moonlight, an implementation started by the Mono Project, an open source effort to bring .NET frameworks to the linux platform, sponsored by Novell. Linux and Solaris desktops may be an inconsequential segment of the market, but the backbone of your internet runs on linux, BSD and Solaris servers. Exclusion of these platforms narrows your developer audience.
- Market penetration Adobe tells us that Flash is on 97% of the web browsers out there, which pretty much jives with the independent numbers I found while researching this article. Microsoft states that Silverlight is on one in four browsers, or 26% market penetration. Not sure about that, as some of the independent studies show it as low as 6%.
- 64 bit web browser support Adobe has an alpha version of Flash Player 10 for 64 bit linux systems, with the other platforms to come next when it’s done. Microsoft does not support 64 bit web browsers, and hasn’t said anything substantial, other than to remind people that 32 bit Internet Explorer works on 64 bit Windows machines.
- Supported image formats Flash supports almost every image format. Silverlight supports png and jpg only.
- Package delivery Flash is a compressed format, and is stored and delivered as a single file. Silverlight is not compressed, and it’s component files are stored and delivered individually. However, it’s been pointed out to me that you can store the Silverlight content on the server as a .zip file. As an afterthought. Touche.
Advantage: Flash, barely
- Audio Flash’s ActionScript scripting language contains classes for generating and controlling audio. Silverlight does not support audio API’s, so you won’t be writing any audio events for the browser in Silverlight. You can’t even play back a .wav in Silverlight.
- Portability Flash files can be turned into Windows applications, and can be played on any host computer who’s operating system can run a standalone Flash player (read, almost all os’es). Silverlight can only be used in a web browser with a Silverlight plugin.
- Accessibility Flash contains a nice set of controls for hearing and vision impaired users. Captions, keyboard bindings for audio controls, and screen reader functionality make Flash a better choice for accessibility.
Silverlight gives the ability to switch color schemes. That’s it.
- Client-server communication Flash implements the ability to have the client communicate with a remote server. Many useful applications come to mind. Silverlight allows you to do this, but only using .NET, which most internet servers aren’t running, being unix systems.
- 3D rendering Flash now supports 3D graphics rendering, which opens up a lot of possibilities for Flash game designers. Silverlight does not.
Now, if I wanted to, I could write an article on the 5 Reasons Why Silverlight Is Better Than Flash. The technology is not without merit. However, we already have a proprietary technology for delivering rich web content, and it exists on nearly 100% of the computers hooked up to the internet. Why is it we need a new one?
And why is it you would trust Microsoft to be the supplier? 20 years of Microsoft dominance on the desktop gave us an operating system standard that has an arcane administration interface, a mediocre desktop environment, and made you all accept it’s lack of security and stability as status quo. Because there was no competition, Microsoft was never forced to make a better product, and all you Windows users just had to take what they gave you.
This is who you want to entrust with control of your web standards? Really?
Ok, I’m opinionated. I have a platform to express my opinions, and they are generally backed up with solid experience or data to justify them. I am not always right, and I welcome anyone who disagrees with my thoughts on Microsoft’s Silverlight to begin that discussion in the comments section.
I don’t see the draw to Silverlight, and you better have a better selling point than “It’s Microsoft” if you want to win me over.
The above article is as written. The following in italics is an update dated 21Aug09 that I made in the comments section. Many of you will never read through all the comments, so I am adding it to the article. Please read before making your judgement in the comments section. Thank you.
Obviously with this kind of negative reaction there are some serious issues with the content of my article this week.
I write a 1000 word article for this site, weekly. I’m not trying to reinvent the wheel, and I can’t be Ars Technica on a given topic with 1000 words.
This kind of reaction would not have occured over an opinion, so obviously my postition was seriously flawed. I apologize. I wrote a “10 things” blog article over a topic I lacked your expertise in, and you exposed my lack of knowledge in the area. This was not my intention, and I genuinely believed in the points I was advancing, but I was mistaken about a great deal it seems.
I will correct this with a properly researched comparison. Until then, please accept my apology for this article. I generally write on topics that I have a firm grasp of, but this week I went out on a limb with minimal research, and it bit me in the ass. I will not delete this article, because I feel that your comments are valid, and frankly I deserve it if I was so wrong in my assertions.
Thanks for straightening me out.