Explain To Me the Value of Silverlight
Posted in Apologetics
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.
22 comments
Michael Lane
on October 5, 2007
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.
Kent Boogaart
on October 5, 2007
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.
Carl Camera
on October 5, 2007
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.
Kevin Davis
on October 5, 2007
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!
Brett
on October 5, 2007
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.
Brett
on October 5, 2007
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.
Milan Negovan
on October 5, 2007
Oops, I meant to put my name there. I accidentally "impersonated" you. :)
Yuriy
on October 5, 2007
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.
Andrew
on October 8, 2007
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?
Strange Pants
on October 8, 2007
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.
Pete
on October 25, 2007
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
Tim Sneath
on November 4, 2007
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
Milan Negovan
on November 5, 2007
Thank you, Tim!
Jazzy Jeff
on January 25, 2008
Tim, you are so full of shit, that it isn't even funny
"Group Manager, Client Platform Evangelism"
your title betrays your bias
Mark
on May 2, 2008
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!
MOFO
on May 5, 2008
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?)
Danijel Stulic
on October 28, 2009
I believe in Silverlight! New CRM is built using Silverlight in a company I work, and it is a way better than any Html+JavaScript out there especially in performance and design.
Another example (yeah I did that as a side project without designer!): http://www.primetimetable.com (C++ desktop application port to Silverlight) - try doing this in Html + JavaScript - JavaScript doesn't have multi-threading, so it's not even possible.
True, I still haven't seen lots of truly big RIA application out there, but they certainly are coming...
Brent
on February 3, 2010
Since this page is high on the Google hits for "Silverlight Sucks" and since MS monkeys keep deleting my posts on the matter, I would just like to take the time to say how incredibly arrogant Microsoft has become.
The TileBrush in Silverlight is just plain broken. Their official response has been to deny the error, and suggest that anyone who thinks it should work obviously hasn't read the spec.
For another great example, witness Microsoft's Eric Lippert doing the exact same thing here:
http://blogs.msdn.com/ericlippert/archive/2009/12/10/constraints-are-not-part-of-the-signature.aspx
"Its not a bug, its a feature! And you all are just too ignorant to notice"
These people need to be fired an Microsoft needs to start listening to its paying customers, while it still has any left. Its one thing to pay $1000/year for an MSDN subscription, and another for them to treat you like you don't deserve their time of day.
Ladi
on March 24, 2010
It think it will take a while but sooner or later people will realize that Silverlight is actually an exceptional development platform. I worked with it for about one year and I am more than happy. Granted, the entry bar for some of the things that one can do with Silverlight can be high. Also I don’t really count Silverlight 1.0 so the platform is young still. People make the mistake of comparing Silverlight with Flash in areas where Flash is really strong and in the same time ignore the areas where Silverlight shines. Right now I don’t know any platform that comes close to Silverlight when it comes to developing RIA for enterprise. Sure, if you want to do a site that advertizes a game or a movie Silverlight may not beat Flash (yet). And here are some examples of where SL is good:
http://www.windows4all.com/ (You can use the Guest account which has no password)
http://www.ladimolnar.com/Fractalia/
http://www.puzzletouch.com/
http://www.casualwebgames.com/games/battlebilliards/
Joel
on March 27, 2010
I am creating an image viewer with silverlight. Working with it is like Milking a cow with two left hands. Came across this site while venting by typing "Silverlight Sucks" in google. I enjoyed every word of it and it made me feel a lot better. It amazes me how many developers crap down both legs when they need to write some javascript. Dude you made my day.
Diego Camacho
on May 10, 2010
It has been almost 3 years now since silverlight came out. And still silverlight showcase http://www.silverlight.net/showcase/ its FULL OF GARBAGE. Its great to see that Silverlight will not succeed.

Josh Stodola
on October 5, 2007
>> 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!