A quick look and thoughts on Silverlight 3.

Microsoft released Silverlight 3. So it’s time for Silverlight on my Flash blog ? Heresy ?  No, not really.

I’m not going to do an intro to Silverlight here, I guess you all know what it is, or what it is proposed to be. As a developer, I’m naturally interested in platforms available to me or in a similar area to what I work in. Therefore, Silverlight has my attention. Not because I believe it’s a Flash killer, not because I think a bag of Microsofts cash will come my way, not because I want to destroy Silverlight, but because it’s a technology which plays in the same realm as my professional environment. Surely being Flash Platform developer, I’m biased. The platform that has allowed me to earn my professional living and have so much fun is clearly my favorite any day. But let’s have a look anyway.

Silverlight vs Flash

I’ve always found the developer oriented marketing message for Silverlight somewhat confusion. One moment it has nothing to do with the realm of Flash, the other it’s the designated Flash killer, and I find myself hosting heated discussions from both camps. It’s been confusing. Personally, I’ve had a look at SL1, 1.1 and left it there. During those tests I found it was still very young technology and a far cry from the capabilities from my personal favorite platform, Adobe Flash.

I remember the first release site for Silverlight, and it left me confused if I was watching a commercial for a snowboard brand or a new web technology. Things seem clearer now, Silverlight clearly has an ambition towards what Flash is, but currently still isn’t. Neither towards end users or developers. What has happened with the release of SL3 ?

Features

Now in it’s 3rd iteration, the Silverlight team seems to be playing catch up and there’s an akward similarity between Silverlight 3 and Flash 8/9/10. Let’s look at a selection (these are the biggest though) of the features added, and how they translate to the world of Flash.

I’d like to get one thing out of the way as an older feature; Silverlight 1.1 – .NET support / Translates losely into ActionScript AS2 to AS3. A far better runtime for code in both cases.

- Silverlight Perspective3D – Flash 10 Perspective 3D
Well, with both players now doing 2.5D “postcards in space” natively, it’s up to third party developers to build the 3D frameworks. Good thing I like that kind of stuff a lot. Before, it didn’t seem possible to build anything like Papervision3D on a usable level for Silverlight, but I think that with 3.0 we might finally see some competition coming from the Silverlight camp, now that they can actually control bitmap content ?

- Silverlight PixelShader API’s – Flash 10 PixelBender & Flash 8/9 Bitmap Effects
I’m not entirely sure if Silverlight PixelShader API’s are GPU accelerated or not. Flash 10 Pixelbender surely isn’t. So far I haven’t seen a running version of Silverlight PixelShader API yet, but hoping someone will fill me in. The ability to write ‘real’ HLSL for it seems enticing. Currently I don’t think there’s enough demo’s online on the Silverlight side, but it would be interested to see where that goes.

- Silverlight Cached Compositing – Flash 8/9 gpu assist (fullscreen, mac) and Flash 10 GPU / Direct WMODE.
Somewhat similar to each other, Silverlight Cached compositing seems to be a combo of using the GPU for rendering as well as good old, cacheAsBitmap. I’d be interested to hear from both camps how far integration goes. From a developer perspective to both platform, both seem to just be a “switch” to be turned on, no control.

- Silverlight Bitmap API & BitmapCaching- Flash 8 Bitmaps and .cacheAsBitmap
Silverlight gets my favorite Flash 8 feature. Bitmaps. WriteAble bitmap is similar to BitmapData and allows for richer effects and graphics to be created by the developer. BitmapCaching is surprisingly similar in even name to .cacheAsBitmap, which allows the developer to reduce the overhead of rasterizing components of which the visual state has not changed.

- Silverlight LocalConnection API – Flash 6 LocalConnection API
What’s there too say ? Player instance talking to Player instance. I actually assumed this was already inside Silverlight, but hey, now they do. Seems to be related with Silverlight endeavours on the Desktop (think AIR, but a little less well featured).

- Silverlight Application Model Enhancements – Flash 9/10 FileReference API
Again, this seems to be related to MS preparing Silverlight to jump to the desktop, although this feature is available in both Flash and it’s desktop brother AIR.

- Silverlight Assembly Caching – Flex Framework / Flash 9 RSL Caching.
Storing chunks of frameworks on the client so they don’t have to be loaded in everytime for every site / platform. Not sure how cross platforms silverlight solution is. Neither do I know how to erase that cache with SL3.

- Silverlight Network Monitoring API – AIR ServiceMonitor, SocketMonitor and URLMonitor
Again, a feature for SL jumping to Desktop, this allows you to see if you’re connected to the cloud or not. AIR is a little more extensive with it, Flash has no implicit features.

- Silverlight Application Frameworks – Seems to be a code base like the Flex SDK
Application Frameworks loosely relates to what we call the Flex framework, and the enhancements on that for SL3 seems be very minor. Flex2 – Flex 3 – Flex 4 (gumbo) steps seem much bigger.

- Silverlight UIFrameworks Enhancements – Flex SDK / Flash Components
Well, not much to say here either, UIFrameworks seems to be playing catch up it with Flash / Flex UI Components (the latter to be most precise).

- Silverlight Text Improvements – Flash 8/9/10 text improvements
Although the new Text Rendering engine for Flash 10 is a huge step, the Silvlerlight of things looks more like the new control over text rendering like the one we got in Flash 8-9. Flash text layouting seems to be far ahead on this one.

- Silverlight Animation Easing Effects – Flash – Robert Penner, anyone ? Combined with some mx.easing.
Again, this was a feature I thought to be native Silverlight already, but it is just introduced now. As with the early days with Flash easing, I hope people see how to leverage this for a better UI, and not an experience of windows and things shooting by, rendering the UI useless.

A strange coincidence….

A lot of similarity between new SL3 features and Flash 8-9-10 features, right ?
Now, none of this is a coincidence. All these features are surprisingly similar to some of the new features we’ve seen appearing in Flash over the last 4 years. In a way, you can say SL is still playing catch-up. In the new feature set I see no real innovative RIA / Plugin features that really distinct Silverlight. That being said, SL plugin is still not as feature rich as Flash 10 is currently. Seeing what Microsoft has done in 3 versions, one could asses that they are moving very fast on the plugin feature front. But there are some things consider here. First of all, Silverlight obviously is learning it’s lessons and features from Flash. I’m yet to be amazed by a novel Silverlight feature. Another thing to consider is that Silverlight 1, 1.1 and 2 compared to Flash had virtually no installed base, and backwards compatibility of all features and API’s doesn’t seem to be retained. Compare that with a Flash Player with more then 10 years of history and still be entirely backwards compatible.

Plugin stability

Stability wise, my experience with the SL plugin have been less then good. Browser crashes, followed by content not running (I’m still looking to see working demos of most of the new features online, which run on my mac too, anyone ?). The experience of years of Flash Player seems to be owning Silverlight here. With content behaving differently between my both Macbook Pro’s, ubiquity doesn’t seem to be the strong point of Silverlight; I’d say this would be me only, but my twitter feed tells me differently today.

Video

One thing which is worth mentioning in Silverlight’s favor is the accelerated video rendering. Flash 9 / Moviestar (9.0.115) introduced fullscreen acceleration to allow for smoother feedback, but the acceleration mentioned for Silverlight seems to be decoding based. VC-1 is supported by graphic card manufacturers, so this would mean the actual decoding is done on the GPU, allowing the plugin to offload that work from the CPU. In that same area, DRM for VC-1 seems to be pretty sturdy too.

Tools

On the tools front, I can’t say that much, since the Microsoft tools for building Silverlight content still don’t run native on Mac OS. From back in the day, I can still say the Visual Studio IDE is one of the best Microsoft products, but beyond that, I have no experience with their new tools. I hear integration with Photoshop is pretty good. In a way tools and development language will also greatly influence the people using them, in turn influencing the output created for the end users. Flash is still a very nice melee of designers, actionscript developers coming from a design backend, and hardcode java developers turned Flexer (just to name a few sub categories). At any conference we always get a nice melee of peope all with their own angle and usage of the platform. This really reflects in all the different content being produced for the platform, where I’m still waiting to see that diversity in the Silverlight universe.

Some personal ideas

Now, although SL is making some progress on their own feature front, they are still behind. But in the end it’s about the end user experience, and this is where Microsoft clearly failed in this context. Their see the light website is less then optimal, if I put it mildly. Seemingly infite loading time, followed by a horrendous design and user experience, leaving me wondering where all those megabytes of preloaded content went.I wonder if this is a trend amongst all SL content, as I’ve yet to not see one of those dead ugly SL preloader circles. This is the site which is supposed to showcase Silverlight, but it is it own worst advertising. Maybe they can get a Flasher to redo the seethelight.com website.

[UPDATE 11th July 2009]

Apparently, I’m not the only one who didn’t find seethelight.com up to par, after seeing the light, microsoft removed it, linking directly to the html version (in the Silverlight version, this was linked as “reduced experience”). Now, we get the “reduced experience” by default. Let’s hope they come with something to replace it, and be a real showcase for Silverlight.

[/UPDATE]

Silverlight is good for Flashers too.

All in all, Silverlight is good for everyone. It means competition in the field of rich internet plugins. Yes, there are more. But these are the 2 big companies playing and competing in that field. (I really don’t think Sun is a real contender in this area yet). And general logic would say that with competition, both products will be more rapidly developed and improved. Which, for us developers and end users is only a good thing. With SL3 being just out, we’ll just have to see how many developers adopt it and how many content providers are willing to take the jump on a non-ubiqitous plugin and how steep the adoption slope will be. In terms of catching up,in my opinion it’s still Microsoft’s move (even with SL3), but the incremental step they did for this version looks promising for the future. At which point we can all look forward to Flash 11, Flash on devices and mobile to compete with that.

This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

29 Responses to A quick look and thoughts on Silverlight 3.

  1. Thanks for this great overview! Saves me having to find it out myself. One thing I’d like to know is how they handle font embedding now – any info on that? The last time I looked the model was something like “put your font files on your server for everyone to download”

  2. UnitZeroOne says:

    Thanks Mario. I would advise you to look yourself anyway, and make up your own mind though. For me it’s total lack of novelty; there’s nothing in there which makes it stand out from Flash in my day 2 day development. For my clients, I don’t see reason to advise for Silverlight at this point, although the video proposition does look good. Then again, Flash video is still ruling the web. Not sure about the fonts, I thought that was resolved in 2; we’d have to call in a Silverlight expert.

  3. Pingback: A quick look and thoughts on Silverlight 3. | UnitZeroOne

  4. wonderwhy-er says:

    I actually being a Flash developer look more and more in Silverlight direction. Their IDE for coding is better(InteliSense is magic). C# and .Net is better then AS3 with Flash Player(generics and templates, runtime compiler, very rich libraries, tough Flash has its own strengths here) . And recently I started to dig in to WPF and some VERY interesting decisions they made there… Thinking on taking courses on it even to understand it better. Thinking on writing post on it later.

    Tough to my own shame I must admit that I don’t use Flex as it’s realization of MVC in terms of component,data and class hierarchy confuses me and forces programing style on me which I don’t like…

    On another note Flash strength is in Flash authoring environment and connections with other Adobe products that only get better. Makes design related work a lot faster and provides better quality.

    So in the end innovation is not what I wait from Silverlight. Same level of usability in browser is + stability and penetration. If it gets it add above reasons and Silverlight suddenly becomes better for me.

    BTW check WPF DependencyProperties (external to Class properties that are usually used to meet some context expectations, really useful thing in UI development where UI element partially defined by it’s context), Explicit Interfaces and new WPF binding model (not shore how good Flex is with bindings but Flash sucks a lot with that) that is not even based but seems to be made at lower levels very efficiently and works like magic. So may be on a surface Silverlight does not seem that innovative but there deep in the core…

  5. I have been seeing a lot of these types of comparsions all over the net lately, when it comes to Flash (Flex) and Silverlight. Both tech seem pretty solid, although I am more of a Flex guy, but after giving Silverlight a spin, I was suprised to see how similar XAML is compared to MXML, I was able to get started pretty easily with building a C# based silverlight application.

    Also it seems that Silverlight 3 is starting to pick up speed on just about almost all of the latest features of Flash player 10. This meaning that Silverlight 4 could possibly really give the next version of Flash a run for it’s money. I do agree with you though the plugin sucks, it does crash and have lots of issues, thats something they need to put on the top of the list.

    I will probably stick with Flex (it being my bread and butter), but I will would agree to keep an eye on Silverlight.

  6. Mark Nixon says:

    Thanks for the overview, from my very limited perspective it certainly matches my observations. Particularly your comments on their ‘see the light’ promo site which considering it’s their own site to showcase this stuff really doesn’t inspire me to look into this any deeper. Perhaps by version 4 or 5 it might be worth another peek, but at the rate they’re knocking them out it should be fairly soon.

  7. Andy Li says:

    How about JavaFX?
    I think what the web needs is open source stuff.

  8. UnitZeroOne says:

    @wonderwhy-er I agree, the IDE is great. C# is a choice, but yes, it’s a good language, and no-doubt the compiler is very good to. It had it’s time to mature. I don’t think WPF is a valid argument in this discussion though, even if they share some of the same library, WPF is not Silverlight and it’s system dependency kind of rules it out.

    @Joseph Since the avalon time I’ve always wondered who was first with XAML / MXML. Mxml was first to market, but beyond that yes.

    @Andy : I agree, JavaFX can be a contender. But in my humble opinion, currently the game is still between Silverlight and Flash, with Flash being the market leader.

  9. Pingback: A quick look and thoughts on Silverlight 3. | UnitZeroOne — Some Random Dude

  10. Julian Dolce says:

    Nice round up Ralph. I’ve been playing with Silverlight since version 1 and we have released a couple of projects in both version 1 and 2. I haven’t played at all with version 3 yet though, but am looking forward to giving it a look.

    I don’t mind comparing Flash to Silverlight. I think we can all agree Flash will be a leader for many years to come in the web plugin in space. And I am not sure that Microsoft’s main position is to get Flash developers to cross over to enemy lines. They are definitely competitors, but I think the biggest reason it exists is to allow all of their .Net developers to play in the web space. There are way more .Net developers then there are Flash developers, and Microsoft made a smart move in making sure that they stay with a framework and environment that they all love. At the end of the day, for a lot of people, the choice is going to come down to infrastructure. If you have a bunch of .Net developers already, a Silverlight solution might make sense. Then again it might make more sense to fire them all and hire Flash developers. Every case will be different I suppose.

    The one thing I would like to mention though is that the new Flex 4 Spark components. The way you can skin them with MXML now is pretty much the same way you would skin a component in WPF/Silverlight. I think it’s pretty clear that Adobe took this idea directly from that, which I think is a good move. So Adobe peeps I don’t want to hear anymore whining that Microsoft is just copying you. But it’s ok you are still leading the game 100-1.

  11. wonderwhy-er says:

    Well initially Silverlight was called WPF/E and as far as I heard Silverlight programs can be almost without changes to be ported to WPF. Sadly contrary is not working so Silverlight is something like slightly changed subset of WPF with some changes.
    Hopefully they get closer to each other with each release.
    In the end both are one same platform, built on same ideas and should be more or less interchangeable like Flash/AIR is. Will see where Microsoft is going with it. In the end I am eager to learn WPF and may be with time try Silverlight… Tough that time is not come yet.

  12. Great overview and opinions. I think you’re totally on the mark–but perhaps haven’t shed enough light on the fact that if everything really is equivalent (or SL3 is just a little behind Flash) then there is still a logical reason for some to be attracted: those with .NET/C# experience.

    As much as I believe a “real programmer” can learn any language, there is still a large base of geeks already using the tools that transition better to SL.

    Also, my experience with installs and such weren’t bad at all–though I’m XP. Also, I will say: the on-demand and live video I’ve seen in SL has an awesome feature in that it tends to work (in my viewing experience). Live video in Flash isn’t always so awesome–but, I should note this is not necessarily because Flash can’t handle. But, for whatever reason, I’ve seen some successful uses of SL2 + video–like the democratic presidential convention and the Olympics.

  13. UnitZeroOne says:

    @philip @julian I entirely agree with both your point regarding the developers and toolset. Existing C# / .NET programmers will have no problem switching to do code for Silverlight (except for the restraints and oddities all web-plugins currently have in their own little way). What I do feel and reflect is that the quality of the final content and the end user experience is very much reliant on the developer.

    A lot of greatness of the Flash Player comes with the content it has to offer, and no, I’m not just talking youtube.com here. In the early days, the exitement around flash player was the content being produced by people who felt natural to the tool. This included (and in the early days was almost exclusive) people who are not traditionally programmers. Silverlight’s installed developer base might have the next -name your flash gods here- or —– or ——…. etc. But it’s less likely with the nature of the tool being more “flex” then “flash” like. This is one quality I hope the Flash player retains. “Play” is as important as “serious” for the development of this type of rich content and currently I haven’t seen the next —— arise with silverlight. It might happen, but this is my gut feel.

    What Silverlight should have is an edge more then just being “the Flash for .NET developers”. Unity3D is a great example of a plugin with a real edge. Full hardware support might give it a lower adoption rate, but it has genuine (and different) content on offer in exchange of that. With content come the people, and adoption rate. I’m sure both platforms will diversivy more as will other platforms. I’m just thinking it didn’t happen with SL3. Time will tell, I’m sure we’ll see more new content utilizing the player over the next months and get to see what people are really able to do with it. That, in the end, will be the benchmark. Good content will bring people.

    @julian Well, as all technology people tend to look over each other shoulder. I never meant to imply it doesn’t work the other way around. I do not have the knowledge to support your statement either, but I’ll trust you on your word.

    @wonderwhy-er I’d be happy to more opinions from Flasher’s with more experience playing with Silverlight, giving feedback. So if you give it a spin again, let me know.

  14. Blog Hosts says:

    On the Microsoft front, we just saw the first release of Silverlight, platform technology for delivering rich, interactive applications on the Web. Blog Hosts

  15. Pingback: A quick look and thoughts on Silverlight 3. | Adobe Tutorials

  16. Pingback: A quick look and thoughts on Silverlight 3. | Adobe Tutorials

  17. ickydime says:

    great discussion.

    Silverlight, Flash, maybe a sprinkle of JavaFX… then throw in HTML5 into the ring for the application devs and throw Unity3D in the ring for Game devs. I am loving the competition and am looking forward to the innovation coming from all camps.

    I talk about it a lot… maybe too much… but Flash being first to market as a viable option for Interactive TV gives Flash a huge advantage for the future since the computer is clearly merging with the TV. I see the battlefield drastically changing over the next few years and Flash seems to be the most prepared for it at the moment. I don’t see why microsoft couldn’t tag along in this venture or why a 3rd party couldn’t bring the browser in general over to the tv… so maybe Flash’s advantage isn’t set in stone. However, being first to market and already having a working chip really gives Flash the upper hand:

    http://www.building43.com/videos/2009/06/26/flashy-future-of-tv/

  18. Matthew Fabb says:

    One thing that Silverlight does have an advantage over Flash, is that Silverlight from 2.0 can do true multithreading. This can give quite the speed boost for multi-core machines, but even on older machines it’s great to have the UI working on a separate thread, so that the UI is always responsive to the user.

    Unfortunately, having talked to Jim Corbett at FITC Toronto, apparently the way Flash Player currently works, this cannot be done without a complete rewrite of the player. So it obviously won’t be happening any time soon, giving Silverlight the lead in this area for some time.

    Also I haven’t tested out Flash Player 10′s variable bit-rate video streaming, but I wonder how it compares to Silverlights new “smooth streaming”. Basically Silverlight 2 had variable bit-rate video capabilities, but the video would often pause as it changed bit-rates. So now it’s been improved in SL3 where the video continues to run as bit-rates change. However, if Flash Player 10 can’t do this with it’s version of variable bit-rate video, I imagine it will be in Flash Player 11.

    Which is why this competition is so great for both developers and end-users of both products continue to push each other.

  19. sascha/hdrs says:

    Microsoft is doing what they always do: stealing ideas from others and sell them as their own. It has been a long history with Microsoft! No news here with SL! If MS sees a successful technology made by competitors they will try to jump on the band-wagon, take over all the ideas from the existing technology, add little to nothing new and sell it as their own … on the way trying to buy one or two of the competitors so that these don’t represent any further harm for them.

  20. To be fair, you are missing a lot of Silverlight advantages over Flash/Flex:

    - Tools. You mention it, but Visual Studio 2008/2010 are night and day vs Flex Builder. Its not even a comparison
    - .NET. The ability to code in C#/VB.NET/F#/Dynamic Languages is a huge advantage over Flash. If your developers are good with a particular language you don’t have to re-learn a new language.
    - Multithreading. Flash doesn’t have it. Silverlight can potentially use up to 8 cores on a client. That leads to very big improvements.
    - Microsoft Services. Microsoft has WCF (enterprise SOA/REST services), Business Intelligence, SharePoint, Map Controls, Azure Cloud, Windows Mobile, XBOX 360…all of these have gotten or have plans to get Silverlight. That is a HUGE difference…write once and leverage pre-existing Microsoft services using a single project and single .NET language.

  21. Daniel says:

    In my opinion (as a MS developer), Silverlight is not the end all to flash, Silverlight is a means to deliver rich internet applications, with rapid development capabilities to the microsoft developer community with a small learning curve. I have toyed with flash / action script in the past, but as a business developer, you generally stick with what you know. I know the vs ide backwards and forwards, silverlight allows me to take what I already know and apply it to the growing demand for rich applications. That said, the release of SL3 empowers guys like me with some very very cool new features. Also, as a Microsoft developer and just a general tech junky, I find it ironic that for years the open source community has harped on MS to open up more doors or windows if you will :) and allow the rest of the tech world in, provide more source code to the community (check out Ms-PL before you scream GPL) , provide better cross platform support as well as build richer, more stable Operating Systems and software for the pc world. Now that they have done this (or are working on it) people still find something to gripe about, then again it’s to be expected right? We all need to defend or own :) As little as I find time to research technology outside of my realm I am sure many of you on the opposite side of the spectrum are in the same boat, so here are a few of my favorite new additions to SL3

    1.) 3D support and true GPU offload / acceleration.
    2.) Smooth streaming (netflix anyone?)
    3.) Out of browser support (Desktop Installation Offline Capable Depending on the custom app requirements)

    All in all I agree with zero one, it’s nice to have the competition and it is also nice to finally develop rich apps in an environment that does not require me to go back to class :)

  22. Pingback: localToGlobal » Blog Archive » news review -> 29th week of 2009

  23. Thanks for the info.
    FlashScope.com is glad to inform you that your article has been submitted to Flashscope directory and promoted to the front page.
    http://www.flashscope.com/Adobe-Flash/A-quick-look-and-thoughts-on-Silverlight-3

    Join the community to promote your articles and get some knowledge.

    Regards,
    FlashScope.com (http://www.flashscope.com)

  24. LOVE_MOSS_NOT says:

    @Bart Czernicki

    SharePoint? Are you kidding me? You count sharepoint as an advantage to SL? How so?

  25. LOVE_MOSS_NOT says:

    @DANIEL

    If you are devigner, great. Unfortunately, most .NET developers have 0 design skills. Take a look around…

  26. daniel.sedlacek says:

    loooooooooooooooooooooooooooooooooooool :)

    “Microsoft Silverlight may not be supported on your computer’s hardware or operating system.
    This Web browser or operating system may not be compatible with Silverlight. Please review the system requirements and, if you wish to proceed, choose the link for your operating system.”

  27. PiPeep says:

    Hmmm… seethelight.com made my browser crash after less than 1 min. (ff3-mac-silverlight3)

  28. Tom Elliott says:

    An interesting unbiased comparison between the two technologies…
    I too am waiting to be impressed by a SL website, seethelight.com looks (quite) nice but it doesn’t make me go ‘wow I must try this’.

    At the end of the day, unless market penetration picks up (I would say above 66% at least) and some truly innovative features are added, then IMO, Silverlight is destined to fail.

  29. i think microsoft with silverlight get into the market of web development and some big flash website developers will distribute and promote this software on their own.

Leave a Reply to Andy Li Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.