Silverlight: At First Glance
Upon further investigation of the newly released Silverlight platform, I decided that it would be interesting to see how well Microsoft’s own demos run in the plugin, and to generally test to see if the platform is as universal as they claim. All the samples mentioned in this review can be found on the Silverlight website, which is also where you can find the plugin itself.
Platforms Tested
- Firefox v2.0.0.3 on OSX 10.4.9
- Safari v2.0.4 OSX on 10.4.9
- Firefox v2.0.0.3 on Windows XP Pro SP2
- Internet Explorer 7.0.5730 on Windows XP Pro SP2
Cross Platform Support
The install for Silverlight is just as easy as Micrsoft claims. A fairly small MSI installer for people using Windows, and a similarly sized DMG for OSX, containing a standard installer package.
Unfortunately, for this release at least, it seems like that is where the the support for the Mac OSX platform ends. I was completely unable to get any of the pages included in the Feb2007 Silverlight Sample Pack to run on either the OSX version of Firefox, or Safari. They both seem to load the flat background color, and completely fail to run the rest of the code. The plugin is correctly installed, in both cases, and is recognized by the browsers.
For Microsoft’s sake, I hope this is an issue they fix fairly quickly, or they will have a hard time selling this as a cross platform Solution.
Media Experience: SleekVideoPlayer
The sleek video player represents perhaps the biggest single area of the market that Microsoft is trying to break into with Silverlight: the online video playback arena. The interface is simplistic, as one would expect from a developer sample, and the playback quality is comparable to, if not slightly better than, that of theYouTube or Google Video players, and I have to note that the seek functionality is much much more granular than either of those systems, which is something I’ve been wanting to see happen for a while now.
Perhaps most excitingly, there is a plugin-based system to allow the user to play the video in fullscreen when it is double-clicked, without having to work around the limitations of existing platforms by simply opening a larger copy of the video in a new, less cluttered window. However, the excitation of this feature was short-lived, as I realized that playing the video in this mode slows down the speed of playback, causing the video to lag fairly significantly behind the audio track.
Then we arrive at the audio track itself, which seems to suffer from some sort of software issue that makes it quite loud and distorted-sounding, which, needless to say came as a somewhat unplesant jolt on first loading the sample player.
At first I thought that this might be due to some sort of conflict between the Silverlight platform and my soundcard drivers, or something to that effect, but later, when I tried out the GrandPiano demo, I found that while some of the keys (the natural notes, for those of you who know your way around a sheet of music) suffered from the same distortion, other keys (the accidentals) seemed to play back correctly.
Certainly something that needs to be worked out.
Web Effects: PageTurn
If you’ve seen one animated-page-turning website, you’ve seen them all, and this is no exception. In this demo Silverlight looks, and behaves, just like it’s Adobe counterpart. Even the responsiveness of the animated flipping page and the speed it draws at make me feel just as annoyed at this particular interface idea as I would be on one of the all-too-many websites out there that use the page-flipping paradigm.
Strangely enough, though, while I haven’t been able to reproduce the error since, while I was running this demo in the Windows XP copy of Firefox, the browser gave me an error message saying that it had detected a stalled script. Another compatability issue, perhaps?
Lightweight Gaming: Sprawl
The only game in the bundle, this simple little demo is evidently meant to show off Silverlight’s interactivity, and along those lines it’s very reminiscent of some of the earlier flash games. It doesn’t seem to raise the bar any, but it doesn’t fall all that short either. All in all almost exactly the same experience I would expect to get from the same game made in Flash.
Almost exactly, but not quite. It would seem this too has Firefox issues, and never gets past the initial loading screen.
Security Concerns
While I was poking around at the examples, I found two things that lead me to believe that there may be problems down the road for this product, by way of security issues.
First, while I was testing a few of the demo sites, I noticed that the browser was, for some reason, contacting and retrieving information from downloads.microsoft.com. While I’m not sure what exactly it was doing, there seem to be two likely answers.
Either it’s downloading content for the site, or it’s downloading something that the plugin needs. If it’s the first part, then that means we can’t base very many observations about the code in the samples, because the local sites are evidently not complete. The second, and I think more likely, scenario is that it’s downloading something the plugin needs to run the content, be it an audio codec or some other kind of dependancy.
This is worrisome, though, because this transaction was made without any notice or action to the user at all, and if it’s downloading and executing code this behavior could represent a serious security risk. A man-in-the-middle attack, for example, could spoof the downloads.microsoft.com server, for example.
The second hint that suggests there might be a potential security risk to this platform is that, when you look at the sample code, the comments inside make reference to ActiveX controls.
new agHost(”wpfeControl1Host”, // hostElementID (HTML element to put WPF/E
“wpfeControl1″, // ID of the WPF/E ActiveX control we create
“600″, // Width
“225″, // Height
“white”, // Background color
null, // SourceElement (name of script tag containing xaml)
“plugin.xaml”, // Source file
“true”, // IsWindowless
“30″, // MaxFrameRate
“ErrorHandler” // OnError handler
);
While I haven’t researched the inner workings to the Silverlight platform yet, if it is indeed ActiveX-based, then that means the plugin introduces ActiveX to browsers that explicitly didn’t support the technology for security reasons. I’m not sure how great the risk here would be, but ActiveX doesn’t exactly have a clean track record.
Executive Summary
Wait for the next few releases before devoting any real time or effort into developing for this platform unless you have a massive overabundance of both. Also, keep an eye out for the first wave of security vulnerabilities as this platform starts becoming a bigger target.

