Silverlight - It's too damn complicated to setup :-(

I start by saying I like XAML, and the whole idea of rich web application in my projects. However my recent experience with Silverlight has been tarnished by a lack of good implementation procedure by Microsoft.

In one project, I wanted to convince my colleagues that Sileverlight is the coolest thing on earth, well not so fast!

First the project: simple task, adding an audio player to a podcast page. Quite easy, in the past I will have to create a Windows Media Player
 object in the web page, plus eventually an 'embed' tag for Mozilla browsers.

Done that before, wanted to do something more universal working with Apple browsers for example. Flash and Silverlight promise just that. I choosed Silverlight, and the recent version 2 (still in Beta).

1st try, the ASP.Net Media Player control:

Well work fine with Internet Explorer 6, and Firefox 2. However with Firefox 3 caramba!. I discovered quickly that the control use Silverlight but only 1.0 or 1.1 not 2.0.
Worst, with Vista the play and pause buttons don
t work at all. I tried everything no hope.

2nd try, with Silverlight.js for the detection part

It's really sad that the Media player control has not been updated by Microsoft in the recent 3.5 Service Pack 1. It's now really useless. I even changed the 'version' attribute to 2.0. Try it for a laugh! You will have the standard generic Silverlight logo asking you to download and install the version... 1.1 Alpha!

So then I entered in a very depressive mood with the plug-in detection. With Flash, it has always been quite straightforward, an icon or a linked text, then you are sent to Adobe to download and install the plug in. You don
t even have to restart your browser a refresh is enough.
You have the FULL control on the implementation and you can make it clear for your users on the 'why I need this damn thing to open this video?'
With Silverlight, nope. It's not for technophobes. Microsoft has decided they know more than you regarding the way to tell that you need to download something. They automatically put a big huge icon in your face without any explanation at all to tell your grandmother what the hell to do with this bluish Silverlight logo? Super.. what?

I
d loved to add my own touch, an help button, a new logo, no hope.

Now look you have two solutions, sort of hacks really, and not really to use.

The first one is to implement a Silverlight Javascript API (check here for more details). Whatever I did with this thing, I never passed the test with Firefox or IE 7. Look like it works only with Silverlight 1.0 or 1.1.

3rd try, a Silverlight control

Thanks to Tim Heuer, I found some interesting information on his blog, like this one regarding Firefox 3 issue with Silverlight 2, or this one regarding a way to detect Silverlight other than Javascript using a hack with the Object tag.

Following Tim advice I downloaded the video player he developed in XAML. It's surely cool stuff but for some strange reasons I couldn't get the project working with my own stream. All the time the control bar disappeared after clicking on the play button.

I managed to get it right with a few changes in the Xaml Media controls, basically by changing everything which look to stretch any media element.

Now I say Microsoft has to hurry up if they want the web developers to adopt quickly Silverlight. They claim Silverlight 2 Beta is not officially compatible with Firefox 3 and we have to wait for the release version. Well sorry for them, but the Mozilla team is pushing hard their Firefox 2 users to upgrade quickly so it
s really time to do something.

The other matter is to get a much cleaner way to implement easily Silverlight 2 on an ASPX page. Why not doing something like the Listview, with a template part where we can put our own installation links?

Finally,
 they have to make sure the Media player ASP.Net user control continue to be updated or maybe put it back to the Ajax Control Toolkit as an open source project, to be sure the community can improve it.

I believe those issues need to be address in a very short timeframe, otherwise Silverlight success seems compromised, exception maybe for some niche applications.

No Comments