Silverlight: How I Really Feel About the Iridescent Thong

First, I have to give huge props to Microsoft for throwing an excellent party in Vegas this past week!  The week was definitely packed with excitement and backed by great content.  Be sure to check out the recorded sessions if you were not able to attend Mix09.

This post represents my response to this year’s big unverbalized question…

What about WPF?

Yes, this year’s conference felt like it was all about Silverlight 3.  I think Microsoft would readily acknowledge that this was by design (no pun intended).  And this was actually fine with me, since the Silverlight platform has made such great strides over the past couple of years.  It certainly deserves the attention it is now getting.

I have a reputation for making fun of Silverlight from time to time.  Truth be told, I bare no ill will toward Silverlight at all.  I’ve even delivered Silverlight training on several occasions.  I think of her as a kid sister to WPF (which plays the role of big sister, in case you were curious about either platform’s gender).  Privately I’m pulling for Silverlight to make good, but that doesn’t stop me from publicly taking shots at her whenever the opportunity arises.  It’s all in good fun… really!  ðŸ™‚

I’m not exactly sure what role I’d give myself in all of this.  Some might say that WPF and I are BFFs, but I’d argue against the latter F.  To me, "forever" is a word that has no place in technology.  When it comes to WPF, my devotion only goes as far as the platform presently supports.  I am her student; I am her practitioner; I am even her disciple; but make no mistake… if something better comes along, I will turn her out like a two-bit whor… rible analogy!  Let me change directions…

Based on what I see on the horizon right now, I think WPF and I still have a bright future together.  Silverlight gets more impressive with each release, but it has quite a ways to go before it reaches parity with WPF.  I just spent the better part of a conference watching web developers "ooh" and "ah" over features that I’ve been using in WPF for years now.  (Imagine how they’d feel if they had something as basic as a trigger!  See… there I go again…  I just can’t help myself. ;))

Additionally, I’m a platform guy.  So much of what I do now requires a full trust environment with access to platform APIs.  Until Silverlight breaks out of the sandbox and allows me to harness platform-specific features (which is not likely in the near-term, since it is so focused on cross-platform reach and a small footprint), I think WPF and I will stay pretty tight.

Why bring all this up now? 

I’ve received a number of… shall we say… "concerned" inquiries lately about the shrewdness of adopting WPF for new or future projects while Microsoft has such an obvious slant toward Silverlight. 

My honest recommendation to anyone deciding between WPF and Silverlight is unchanged over the last couple of years.  The platform has to be chosen based solely on the project requirements.  If Silverlight meets the requirements of your project and you need cross-platform reach, then you should definitely target Silverlight.  End of story.

On the other hand, if you’re developing a full trust, Windows application, you will likely be far more successful with the more mature (and in my humble opinion, more elegant) big sister, WPF.

Impending Doom

Some emails have expressed an explicit fear that WPF is about to be abandoned by Microsoft and then disappear completely.  Let me put my response to such concerns in terms that only a geek can truly appreciate… 

Don’t Panic!

To allay your fears, let me point you toward two very big buoys floating in the waters around Redmond: Expression Blend and Visual Studio 2010.  The user interfaces these products are actively being built in WPF.  Blend always has been a WPF application.  For information on the upcoming Visual Studio 2010 UI, check out Jason Zander’s blog.  Feel free to anchor yourselves to these buoys.  If these projects change direction, make sure you follow!  (Can you imagine a Visual Studio user interface written in Silverlight?  Even I think that would be awesome!)

I would also point out that many new features highlighted at Mix09 actually represent nice WPF advances too.  I know Silverlight received most of the glory, but new Blend 3 features like Sketch Flow, Behaviors, and the new Adobe importers are actually just as pertinent to WPF as they are to Silverlight.  And of course, there was the sneak peak at WPF 4.

The Big "If"

So what happens down the road "if" Silverlight does reach parity with WPF and it finally breaks out of the sandbox? 

Should that ever happen, my response to potentially losing WPF would basically be a shrug and a big, "So what?"  If Silverlight v.Next++ gives me everything I need for Windows client development and supports the same collaborative workflow as WPF, then why would I (or anyone) mourn the loss of WPF?  At that point, I’d be more concerned if WPF *was* still around.

Again, let me be clear…  I think this latter scenario is a big "If" and should things go in that direction, I don’t think we’re talking near-term.  Microsoft can move very fast when the correct motivations are in place, but even at full speed, I think this would be a multi-year scenario.

Again, my take is that nothing lasts forever in technology.  Both WPF and Silverlight will eventually be replaced by something bigger and better… or maybe smaller and better… who knows?  For now, I’m a WPF junkie and a Silverlight user.

Now the Important Stuff…

Here are the Sudoku puzzles I conquered on my return flight from Vegas: One, Two, and Three. (See JAGS 10K Instructions for mouse play.) 

Yep, three of them!  Usually, I only make it through a single puzzle, but I was unexpectedly bumped to first class on this flight where I basqued in the glory of geek icons such as Scorbs, The Gu, the WPF Wonder Man, and even Nate Dunlap!  Their collective auras must have increased my puzzle IQ.

11 Responses to “Silverlight: How I Really Feel About the Iridescent Thong”

  1. WPF Fan says:

    The big question is not whether WPF and SL will converge, but rather what will happen with WPF until they do.

    So far, since the introduction of SL and its grabbing most of the focus, very few advances were made in WPF.

  2. Dr. WPF says:

    Hi WPF Fan,

    It can certainly feel that way. SL definitely has the spotlight and a much larger, more vocal community. However, I’ve been very happy with the advances in WPF (hardware accelerated effects, pixel shaders, Direct3D interop, etc) over the last couple of years and I’m pretty happy with some of the things currently in the pipeline.

    WPF was already 6 years old at the time it was released, whereas SL was barely a year old when it was first introduced. This means WPF had time to mature prior to release. Its feature set had time to bake.

    SL has been trying to catch up to WPF over the last couple years and it gets better with each release. But I like to remind people that parity advances are not the same as novel or new advances.

    To be certain, there are some things in SL that are unique (like deep zoom integration and a better media stack), which is good, since we can expect similar features to be added to WPF. At this point, its not so important to me who gets it first as it is that we both get it. The convergence is a good thing for everyone.

    Cheers,
    -dw

  3. Jeremiah Morrill says:

    You surely calmed any nervousness I had about the “What about WPF?” subject Doc. I had quite a lengthy chat w/ another developer at Mix and our other concern is educating _customers_. With all the publicity of SL, we (we as in both me and the fellow having the convo) have come across high level decision makers who think SL *is* WPF and others who though MS obseleted WPF already in favor for SL. These perception issues can be resolved, but they are bumps in the road that can be smoothed with a little help from Microsoft.

    This is the type of conversations I’d love to avoid:

    Customer: “I’d like XYZ done in Silverlight”
    Me: “Well, you’ll have a hard time doing XYZ in a sandbox. You’d really want to consider WPF.”
    Customer: “WPF is already being obseleted. I see it! If it can’t be done in SL because of a sandbox, lets use Adobe AIR instead.;

  4. Joe says:

    I was actually expecting .NET 4.0 beta 1 to make an appearance. Seems like the focus was on Web only at mix this time. Which is fine – as long as we get beta 1 some time next month (with a VS2010 refresh)

  5. Walt Ritscher says:

    Happy to help you solve more Sodoku puzzles, though I’m not sure how my being in the first class cabin was beneficial. I was deep into writing an new WPF front end for a Live mesh project on the flight home. Oh and thanks for the new nickname (WPF Wonder Man).

  6. Ian Ellison-Taylor says:

    Great article! Just to back you up a little, WPF is not being abandoned and no one should get that impression just because we’re cranking away adding lots of cool features to SL. As hopefully most folks have already seen we’ve been making tons of investments in WPF in the last couple of releases (SP1 was probably not a good name!) and we have a lot more lined up for 4.0 not just in WPF but also in the whole .Net Framework.

    We are definitely working on closing the gap between the two (in both directions) so irrespective of the two names they’re increasingly just different points on the whole XAML spectrum.

    And yes, probably some of the best evidence is how much Microsoft and other ISVs are making increasing use of WPF (like VS, SketchFlow, Semblio etc) so you’ll see a bunch more WPF apps coming out of Microsoft and from 3rd parties over the coming year.

    Hopefully I don’t sound too defensive 🙂

    Cheers,
    Ian.

  7. Dr. WPF says:

    Thanks for jumping in here, Ian. It’s great to have the official word! 😀

    And on behalf of myself and my daily cohorts, I can tell you that we’re all very excited about the future of XAML technologies!

  8. Laurent says:

    Great post, which summaries admirably what i think too. Even though i am better known for my work in Silverlight, i have a really deep love for WPF that started it all, and seeing all the new features it is getting really made my days at MIX. The convergence story is dear to my heart (why else would i talk about a continuum at MIX?) and i will not leave Microsoft in peace about that (which MVP participants will be able to confirm).

    Good work Doc.
    Laurent

  9. Josh Smith says:

    I knew you’d throw in a dig on triggers. Great job! 😉

    Josh

  10. wasim says:

    hi Dr. WPF
    Thanx for Ur great article. Same Question that u mension on Article was in my mind but Now on they are vanished and i will start again the Development in WPF. Once again Thanx Thanx man.

  11. Daryl says:

    Contrary to what the people at Microsoft keep saying, I do see a strong bias against WPF and in favor of Silverlight.

    The best evidence I can point to is the way that XBAPs have withered on the vine. WPF would be great if I could create “Windows-only Silverlight controls” — ie, WPF controls which could be embedded in a web page, communicate with other objects using Javascript, etc. All the things you can do easily with Silverlight.

    XBAPs are currently almost worthless, however. They take over the whole browser window. IE basically disappears into a black hole. It’s all-WPF or nothing.

    I’d love to be able to use WPF embedded in a web page. It would be like Silverlight with 2 mouse buttons, 3D drawing surfaces, better performance, more controls, and all the other stuff you get from using a “real” environment like .NET.

    This would be pretty easy for Microsoft to do, but they’re more concerned about making sure it runs in Safari, which is worth exactly nothing to me. It should be: Silverlight if you absolutely must run on Mac and Linux, or embedded-XBAP if you work for the 99% of businesses which don’t fool with that stuff.