Skip navigation.

Book Review: The True BelieverAll recent postsGet a Will

Explain To Me the Value of Silverlight

First off, big thanks to Bill and Peter for “stopping by” at NYC to do a half-day event on Silverlight as part of their roadshow. Nicely done!

What’s ironic is I’ve finally become disillusioned with Silverlight capabilities. Granted, it’s the best thing since sliced bread for interactive online media, aka “rich user experience,” but now I have even less faith it can deliver anything groundbreaking in building practical web apps. I challenge you to go to the showcase page and point out at least one practical application of Silverlight, i.e. something an average Joe will be able to understand and use. I’m sure the famed Silverlight Airlines will never happen in real-life, although I see Virgin Air monkeying with this idea in Flash. It’s like with concept cars: why is it so ugly and what happened to the sweet concept car I saw at the trade show?

Let’s tune out the hype machine for a second. Let’s forget the cheap talk about “rich user experience,” the cliché du jour of Redmond these days (why was “leverage” demoted?)

No doubt, the list of supported A/V codecs, standards, etc, is impressive. And Expression Blend with Expression Encoder seem to be awesome products. I have no opinion of Expression Design yet, but I have faith in people who built it.

What I, a developer, struggle to understand is where the benefit to an end user is. One of the speakers mentioned that it takes five or so languages to do anything on the web. Technically, CSS is not a language, and neither is HTML despite the “L”. Good point nonetheless.

Running a trimmed-down version of .NET on the client is a groovy plan. It’s amazing it’s all packed in mere 4Mb. Having DLR sounds great too. But… Substituting CSS, HTML, JavaScript, etc, with C#, XAML, JavaScript (again), etc, sounds no better. And why are you, guys, so terminally afraid of JavaScript? Doesn’t C# 3.x resemble JavaScript like never before? I keep seeing ASP.NET developers trying to frenetically escape JavaScript (Script# comes to mind) instead of learning it. Face the nemesis, damn it.

Where are controls?

Peter’s demo of creating a simple button with a hover effect evoked flashbacks of Windows 3.x development. To put up a window with a single button and have it respond to a click (yay!), you had to write so much code—by hand!—that you felt sick by the time you were done. To this day I believe this Petzold style of building UI is most unproductive. Watching someone struggle to build the most primitive of widgets doesn’t inspire me. You can build a lot with ASP.NET controls, for example, but you won’t get anywhere with Silverlight’s native capabilities without a third-party control vendor. See for yourselves.

That said, I just cancelled my trip to ReMix/Boston. I can’t get myself to sit through any more Silverlight presentations.

Comments

Comment permalink 1 Josh Stodola |
>> Face the nemesis, damn it. <<

WORD!

I'm on your side, not so sure what the Silverlight hype is all about. This was very well written!
Comment permalink 2 Michael Lane |
It's so gratifying to discover that someone else out there feels the same way I do! I was so caught up in the hype that I was bound and determined to create our next project in Silverlight 1.1 - until I actually tried it! Key features are certainty missing, and documentation is scarce. All the the how-to videos are fluff. I understand that Microsoft wants this out there to finally make some headway against Adobe, but actually trying to use a half-baked Alpha has done nothing but frustrate me. Dare I go back to Flash when I love C# so much? Thanks for your post - very encouraging and insightful.
Comment permalink 3 Kent Boogaart |
Interesting post. I've not dabbled in Silverlight yet. I figured I'd wait until V1.1 when it will likely become of more interest to me. I think anything V1.0 these days is really just a beta.

The reasons I think it might eventually be useful to me are:
- no need to use Javascript because . . .
- Javascript seems to be fraught with cross-browser, cross-platform compatibility issues. I'm hoping Silverlight fixes this, but perhaps I'm being overly optimistic.
- related to this, I can leverage my existing skill set for a different medium
- the small chance I might be able to build applications that run as both rich clients and as scaled down Silverlight apps for remote users. From the same code base that is.

The jury's out for me and will be until after 1.1 arrives.
Comment permalink 4 Carl Camera |
Well, at least you didn't title the article Silverlight Sucks. I seem to remember that one of the presentersat Mix07 alluded to the lack of standard widgets. (I didn't attend but viewed many presentations online.) If I remember correctly, he said in a wave-of-the-hand type attitude "oh we'll add all the standards widgets; what OTHER widgets do you want?" Apparently they're still working on the standard ones.
Comment permalink 5 Kevin Davis |
I agree with many of your comments. I develop on a closed network, and for example, I could not see the demos on the "see for yourself link" because I cannot download Silverlight. My devloper machine is great and I am using VS 2005. However, our desktops are still operating Window 2000. Next week we are upgrading to Window XP. The future is so bright I must where some shades!
Comment permalink 6 Brett |
First: http://blogs.msdn.com/mikeormond/archive/2007/08/08/silverlight-controls.aspx

That blog from August tells about upcoming support of "standard controls".

Second:
Does Flash/Flex allow you to build a RIA easier? (my opinion. probably. but ActionScript is evil) Are "typical controls" the only thing preventing a "practical application" written in Silverlight?

Third:
Silverlight 1.1 is ALPHA. not even Beta yet.
Comment permalink 7 Brett |
Brett, I don't know ActionScript, or Flex for that matter, so I don't have an opinion on that.

As to standard controls, it's only one part of the problem. By "practical" I'm talking about a much larger issue of usability. Silverlight seems to have a serious handicap in that department. It is being pitched to a totally wrong audience with a wrong message.
Comment permalink 8 Milan Negovan |
Oops, I meant to put my name there. I accidentally "impersonated" you. :)
Comment permalink 9 Yuriy |
I agree with you that Silverlight is quite useless without builtin controls. However,

1. what I cannot agree is how replacable JavaScript and C# are. I know JavaScript (at least better than average web developer). I like much about dynamic nature of this language and I consider it one of most powerful languages. However, I prefer coding in statically typed language. Dynamic languages are easy to use in case of Test Driven Development andit is not easy to acomplish in HTML+JavaScript. I prefer to have Ctrl+Space and I haven't seen any reliable approach.

2. Another point, SilverLight is a way to develop for web and desktop. It is a way to share code between server and client. (It is possible to develop in JavaScript on the server, but it is not a mainstream).

So, I cannot agree that SilverLight is useless. I agree that nobody wants to know JavaScript. JavaScript is powerful, C# is different. Haskell and Forth are great, but business applications are easier to develop in C# and Java.
Comment permalink 10 Andrew |
Great piece, that raises some important points.

I agree, without basic things like some decent standard controls, Silverlight is currently a lame duck. It harks back to the bad old days of 16-bit Windows apps with god-awful UIs.

So when are Microsoft going to put the rest of the Expression product range on MSDN - the only way I can see to encourage more widespread use is to give this stuff to experienced developers for free.

Right now, I can see that Silverlight has tremendous potential to alleviate the terrible situation that web development leaves us in at the moment. It's the most disjointed, hacky software development process imaginable. Unfortunately, Silverlight still has a couple of years worth of development to do before it becomes a viable alternative. But then, you've got to start somewhere, right?
Comment permalink 11 Strange Pants |
Why can't Microsoft just come out and tell the truth: the only reason Silverlight was developed is because they're scared of the Adobe+Macromedia giant.

The product seems rushed and they're not offering anything that isn't already available.
Comment permalink 12 Pete |
Click on the "Business Apps" Category and look at the carbon calculator. Two devs, two months, definitely not a traditional RIA. It went live on Silverlight 1.1 just before 7/7/7

I build the controls all from scratch or from examples in the SDK (I look forward to not having to do that in future versions of SL)

Silverlight 1.1 is alpha. It has tons of potential, and more importantly, tons of use even today. I wouldn't write it off so easily :)

Pete
Comment permalink 13 Tim Sneath |
Hi there, I thought I'd throw in a few quick thoughts here. It's important to separate out what you can accomplish with Silverlight 1.0 today from what you will be able to accomplish with the next release.

Silverlight 1.0 is intended to add interactive graphics and media as an island within an existing website. Although you _could_ create an RIA with just Silverlight 1.0 (check out something like Tafiti - www.tafiti.com for an example), it's a fair amount of work because of the lack of a full-fledged control model in the current release. But if you want to add something like a video or a data visualization to your site, Silverlight is a great choice for JavaScript developers because the same scripting engine can work seamlessly across the HTML and XAML DOM - there's no barrier to cross.

Silverlight 1.1 doesn't take away any of these benefits - indeed, it adds new features to 1.0 for a Javascript developer - but it also brings in a broader choice of languages from C# to Ruby to Python for those who want it. It also adds the controls and infrastructure you were asking for. The current alpha is just the faint aroma of what we have cooking internally right now - it doesn't include any of the controls stuff, for example, which is probably why the demo you saw made it look hard. MIX08 in Las Vegas next March is the event to watch out.

Don't know if this is helpful - let me know if I've missed something in my attempt to cut through the hype.

Best wishes,

Tim Sneath
Group Manager, Client Platform Evangelism
Microsoft Corp.
http://blogs.msdn.com/tims
Comment permalink 14 Milan Negovan |
Thank you, Tim!
Comment permalink 15 Jazzy Jeff |
Tim, you are so full of shit, that it isn't even funny


"Group Manager, Client Platform Evangelism"

your title betrays your bias
Comment permalink 16 Mark |
I thought for sure Silverlight would be a Flash killer and I didn't expect Microsoft would half ass it. But then I tried it...

I'm extremely disappointed for so many reasons. Silverlight potentially has an amazing core ('CLR in your browser') but there's a huge disconnect between what's under the hood and the developer tools.


- Microsoft decided that you CANNOT visually design Silverlight applications in Visual Studio 2008. They blatantly disabled Drag & Drop for Silverlight controls. So tough luck, you need to buy Expression Blend and load the same project files simultaneously in 2 expensive tools (VS2008 and Expression Blend).

Microsoft, you have GOT to be kidding me. They simply cut out integral Visual Studio functionality and are selling it at several hundred dollars as a separate tool. Worst of all is Microsoft keeps gloating about how neat this "feature" is.


- The tag/object model in XAML and WPF is garbage. It's the most counter-intuitive API I've ever had the displeasure of using, with a number of unnecessary abstraction layers and illogical tag/class/interface names. I've been a graphics programmer for years and I think the WPF API is a step backwards.

What were they thinking? XAML/WPF really brings nothing to the table but annoyance and limited control. It fails to keep things simple and logical.

- It's been in an obnoxious beta license forever. You're not allowed to do anything at all with your Silverlight 1.x or 2.x projects as of now, even if you've paid for the tools for it. Insanity!
Comment permalink 17 MOFO |
sadly enough most developers dont know jack about good interface design. So what good is this for most business oriented developers?

At the end of the day, your client wants a responsive product, and the ability to expand in the future. Quite frankly, I am more excited about the Entity Framework than the fireworks that Silverlight brings.

On the other hand, if YOU REALLY KNOW how to impress customers
with flashy stuff then so be it. You are one of the few...

(Got that Paul?)

Emails and Notifications

Would you like to be notified when somebody responds to this post?  Would you like to have these comments emailed to you?

Submit your comment

Please enter only text since all HTML tags except hyperlinks will be stripped. Hyperlinks will become live links. Any comments with flaming or offensive language will be deleted. Be courteous to other posters. Thank you.

Your name (required):
Your email (optional):
Your site's URL (optional):
Enter this number
Type in the number above:
Comment (required):