First time here?

You are looking at the most recent posts. You may also want to check out older archives. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS or email. Thank you for visiting!

A while back I had sent out an update on Twitter that I was sitting in a meeting reviewing some “top issues” for Silverlight as reported through various channels (official support, forums, social media outlets, blogs, incoming emails, etc.).  It really seemed to be a holistic view of incoming feedback from all over the place.  People asked if I’d share the issues we discussed and I thought it would be interesting to see what people are facing.  Interestingly enough, almost all of these are solvable and, at least in my mind, not ‘issues’ but learning opportunities (for developers *and* us).

So here they are…I think some may surprise you.

WPF and Silverlight feature parity

It’s a little weird to call this one an issue with Silverlight, but this was seen requested more often in these areas that it is worth calling attention to.  Some of the genesis of this angst comes from an expectation that WPF applications ‘just work’ in Silverlight and not understanding the areas of the subset in both XAML and the .NET base class libraries (BCL).  The other part is more of a future suggestion to bring the XAML platforms closer together.  Pete Brown had a good post in December last year sharing thoughts on this future roadmap: The Future of Client App Dev.  It is a good read.

In the interim, note that those parity type items people are requesting are being looked at.  Specifically, I’d encourage you to search for already logged suggestions and/or provide new ones of specific features you might like to see in Silverlight.  We’ve set up a place for you to do this at http://silverlight.mswish.net.  There is a growing list (yes, I need to ensure I prune the crap out more frequently) that the team looks at for futures planning.  This is for suggestions and not bugs.  For ways on providing feedback to the Silverlight team see my post on the subject.

Again, it is hard to call this an ‘issue’ but I wanted to list it, and call out that we are aware of this desire.

Silverlight and WCF configuration issues

As a beginner to Silverlight you’ve likely experienced this.  Start a new project, write a service on the web project, do Add Service Reference in your Silverlight project and you start coding away.  Life is wonderful, you’re getting results and you polish your application.  Then you move it to production and you start getting the dreaded NotFound issue.  You bang your head on a wall for a while trying to figure out why.  If you are lucky, you remember that the reference was to localhost, most likely, and you simply change it to the appropriate endpoint URI and you are on your way.

But this is frustrating right?  There has to be a better way?  Or perhaps you are having x-domain issues with WCF/Silverlight and you need a way to debug?  Or perhaps everything actually is configured and you have legitimate exceptions but they all surface as NotFound and you want to strangle someone?

Luckily, there are methods to solve these issues.  Yavor, the lead PM on these features for WCF/Silverlight, has commented on these specifically:

  • NotFound and faults
  • .clientConfig service URI issues
  • PollingDuplex
  • Debugging cross-domain errors

This is one of those issues that has answers, but they apparently are not surfaced well enough (or you tell me?  do people just not search the docs?).  I would encourage you to read Yavor’s post on the documented solutions and the plans/inquiries about the future and how things should work.  As an example, we are considering making the fault configuration the default by modifying the Silverlight-enabled WCF Service item template.  Take a look at his post and make some comments about the plans!

Installation and deployment

I’ve seen this a lot.  People saying that they have Silverlight installed and they went to a website that prompted them to install Silverlight, so they did (again) and they went back and were prompted again…rinse, repeat.  The other is that people (your users) aren’t getting prompted for upgrades properly or they aren’t working well with applications.

It is true that we put a lot of responsibility on the developer to customize the installation experience for the developer.  I’ve written about this a few times.  In fact, I called out what I believe to be the best encapsulation of the tenets of a good experience in what Netflix does: Silverlight Install Best Practices.  We have also posted a whitepaper on the Silverlight community whitepaper area for the Silverlight Installation Experience Guidance which basically incorporates these tenets into guidance and sample code as well.  This is a helpful whitepaper to understand the events of the plugin in upgrade situations and how easily you can handle them.

Most of the support issues we see are because the application isn’t properly handling these situations.  One could ask that why we, Microsoft, aren’t providing a better default template that includes all these best practices.  We’ve wrestled with this idea quite a bit actually.  In the end, we didn’t feel right now we could come up with a universal application template that would meet the needs of all app developers (different sizes, use cases for their Silverlight app).  Some things are easier such as media applications coming from Expression Encoder, for example, where we know the size and use of the application.  In fact, those templates have already been enhanced for a better experience than the default install badge.  It is still on our list to provide better out-of-the-box templates in Visual Studio, but we balance that with other features that are on the list for prioritization for customers.

In the end, this is a very solvable issue and again it appears that discovery of the solution could be better.  Help me understand how we can better surface this?

Silverlight browser support matrix

A little bit associated with the above install/deployment issue, we see reports of people saying Silverlight works with IE but not Firefox and also people saying “Silverlight doesn’t support Mac” and other claims.  Let’s be clear.  In the simplest terms we support:

  • Windows: Internet Explorer, Firefox, Chrome (SL4 only)
  • Mac: Firefox, Safari

The full support matrix with explicit versions, etc. is available here.  Where things aren’t working when they should (i.e., Firefox on Windows) that is things I want to know about.  There was an issue early on with Firefox and our detection script that application developers in some apps may never have updated.  This would have triggered the install badge instead of realizing it is already there.  However this was a Silverlight 2 issue and long since fixed.  Again, if there are apps that aren’t working in the supported matrix, I want to know about them!

Aside from that, we’ve never hid our support matrix.  On top of that Linux clients are provided support through the Moonlight project from Novell (and the Mono team).  Yes, at present Moonlight isn’t at 1:1 version parity with Silverlight, but they are aggressively working as fast as they can.  In fact we ensure that our detection script identifies Linux clients and points to the Moonlight installer, where appropriate!

Again, I think this is a solvable issue that is done with arming of information.  If we aren’t providing enough, where do you think I can do better?

Media-related errors

Are you seeing the 4001 AG_UNKNOWN_ERROR message too much in your media application?  The support issues coming in on this front are primarily for DRM-related situations.  In the most recent Silverlight release (4.0.50524.0) we enhanced the DRM-related media errors to provide a better differentiation to what they are and separate them from other issues.  These will now surface in 6000 series errors.

Even further we are making further diagnostics to other media-related error codes in a future servicing release to get even more granular based on feedback we’ve already provided. 

If you are a developer of a media-related application and are seeing media 4001 errors, please upgrade to the 4.0.50524.0 build and let us know if that helps.  If it doesn’t, please contact me and I’ll send you some diagnostic code to help get us better information about what is surfacing.


I personally found it interesting how ‘low bar’ these issues seemed to me.  Like I said, I believe them all to be solvable with existing solutions that apparently aren’t as discoverable to developers.  Some are actually in the docs though, but I have to admit as a developer myself how much I usually consider docs a last resource.  If you have ideas of how we can better surface these types of information, please share it.

So there you have it…the more top related issues to Silverlight (aggregate through various channels).  What do you think?

This work is licensed under a Creative Commons Attribution By license.

6/30/2010 11:24 AM | # re: Top issues for Silverlight
Ian - the Silverlight.js *is* maintained across versions as needed and, in fact, we are testing having CDN capabilities to just enable using that in the scripts. Saying it hasn't been updated is wrong. Frankly, after the Firefox issue in SL2, it doesn't really need a lot of maintenance. There is only one function now that actually gets updated and is ONLY there to handle SL1->later upgrade scenarios (very rare if at all anymore).

The key takeaways in the guidance is that you use the onError and onLoad plugin events to get to the responses you would need (as indicated in the whitepaper). Those haven't changed.

Microsoft Office uses that guidance as well does microsoft.com/getsilverlight and I have a SIMPLE implementation at issilverlightinstalled.com/simple even -- ALL using the same guidance. I'm confused why you think it is not reflecting any sort of reality when a lot of customers use that?
6/30/2010 12:23 PM | # re: Top issues for Silverlight
David, that's an interesting analysis. here was my last "updgrade" experience with Flash: timheuer.com/.../...rlight-install-experience.aspx. Maybe it has gotten better.

If you, as the Silverlight developer, do nothing, and you visit an app that requires a later version than you have, then Silverlight will, in fact, prompt you...but it will be *Silverlight* branded messaging. Wouldn't you want the app to deliver a much more user friendly message about why you should upgrade and what you are getting?

So in your exercise of how many clicks it takes to install Flash -- *my* experience has been same/more than it does for Silverlight. Period.

As to the Silverlight install page -- totally agreed. Big shiny button is en-route within a few weeks. Just finishing localization testing.
6/30/2010 1:00 PM | # re: Top issues for Silverlight
@tap - it'd be nice if you could share what those silverlight installation problems were. Did all 100 have the same problem?
6/30/2010 1:02 PM | # re: Top issues for Silverlight
Your Flash installation experience was bad indeed. My last experience was with Flash 10 and I thought It went very smoothly.

What I do to customize the installation process on my site is to do the "image embedded in the object tag" trick. It's easy to implement, took me a few minutes to setup and it satisties my needs of customization.

Anything over that feels like I shouldn't be the one doing it.

I won't claim to know every steps needed for a plug-in to be installed/updated, the process is probably a lot more complicated then I think. But as a user, when I update it, refresh the browser then restart the browser and then it stills not working, something feels wrong.

Just like when I tried on a Mac, I just couldn't make it work.

It feel like the motto is: "let's make sure the information is out there for the developper to create a smooth installation process." instead of :"let's make sure the installation process is the smoothest possible by default and offers options for developper with special needs".

Anyway that was all a bit too negative, so I'll end with: keep up the good work, I really love working with Silverlight ;)

And I'm glad to hear about the new shiny button.
6/30/2010 1:16 PM | # re: Top issues for Silverlight
I have to agree with some of the sentiments here regarding the install.

Over a month ago I started a website using Silverlight Bing Maps that became very popular in my community. After looking at the web stats it appears many visitors were able to install / upgrade to Silverlight 4. However I get discouraged when I hear from many people I know that when they visited the site, they weren’t able to install / upgrade SL. I’m worried that more visitors are doing the same, but instead of letting me know they just give up and leave.

As a developer, I don’t understand what you mean when you say our applications aren’t properly handling some situations. If a user doesn’t have Silverlight 4 installed, then it should install when they click the button. I guess I don’t understand why I’d need to worry about anything else.
Yes Flash might have more buttons to click, but when I install Flash (or ask other people to), I don’t get the feeling like I have to cross my fingers like I do with Silverlight.

Concerning upgrades, Flash has a nice Red window that appears from my lower task bar in the morning asking me if I want to upgrade to the latest version. Although it’s more abrupt, to me this is a great way to do it.
With Silverlight, you have to do it when you want to visit a website, and at that time I’m kind of annoyed because I just want to visit the site without anyone bothering me.
6/30/2010 2:46 PM | # re: Top issues for Silverlight
about the installer:

can we add some logic to help us track the stats of who has sl and what version?
I found a js that said it would do this but i was not able to make it work.
i would like to be able to log how many users install, upgrade or skip the page.
6/30/2010 2:55 PM | # re: Top issues for Silverlight
The install experience is a problem. While there might be some way to fix it by knowing a secret web-site, and spending 3 days to find it and follow it, that is just crap. The real deal is that you can not trust those templates. You HAVE to do your own full quality assurance matrix to be sure.

Flash used to have the same problem, but they sorted it out. Now it just works for them.

It does not for Silverlight.

We have thousands of users on Flash for years now, and problems can be counted on one hand.

We also have an authoring environment done in Silverlight used just by a few hundreds, but unbelievable amount of support. In the end, we just had to require certain browser versions and OSes to have a chance to get this crap to work.

It really is the biggest hindrance for adoption. The users do not care whether it is developers that did not write the correct secret JavaScript or whether it is something else. The fact is that the developers and the users *will* blame it on Silverlight, because when they compare with Flash, it just works.

It is also ironic that 5 out of 20 times, when I send users to the official Silverlight site, it can not install Silverlight for them. At least, for crying out loud, provide a place that can in fact install Silverlight for our users!

You can continue to give us some strange explanation about priorities, and other things being more important. If you do that, we will just use Flash, or wait for IE9, and do HTML5 as much as possible.

You can stick your head in the sand and pretend that everything is fine. La la la. It is not. Search the net, see for yourself, or even better, try to do it yourself. Then live up to it.

You have to provide a good default template that works out of the box. Then do real user testing with real browsers on real OSs with a full matrix of both fresh installs and upgrades, including from betas. Yes, it is a lot of work. But hey, right now, you are forcing all of us to go through all that, because you do not think it is important.
6/30/2010 2:56 PM | # re: Top issues for Silverlight
Ryan - if a user *doesn't* have Silverlight installed it's the easiest case for sure, and does prompt them to install and is as seamless as it can be. However, do you want your users to see a MICROSOFT branded install message or YOUR install message. "Install Silverlight" doesn't mean anything to my mother-in-law. Customizing it for YOUR app makes the most user experience sense and isn't hard to do. A simple alternate JPEG will do the trick. So in that sense, it's up to you if you want a better experience for your users. Concerning upgrades...if YOUR app requires a newer version of Silverlight YOUR APP will be prompting the upgrade. If it doesn't, then the user isn't prompted.

tap - hard to decipher what you are saying here. What is the direct URL that shows the Firefox user (who already has Silverlight installed) that it isn't installed?

Ian -- the JS doesn't *need* to be updated if you aren't concerned with SL1 users. The SDK/Codeplex versioning is a ship cycle issue that is hard to solve with our build system -- it is very frustrating for me.

denny - there is a project (http://mediaevangelism.com/silf/silf.html) which is what you might be referring to. I've not used it myself, but requires a service to exist to log the data back to, but does exactly what you are asking.

David - I wiped my installation of Flash anywhere and recorded my Flash installation experience with no editing of time/zooming. You can see for yourself and determine if this is an optimal "default" experience. Here it is hot off the press: http://www.youtube.com/watch?v=Bb4yGztWiRU (video processing so quality will improve when done)

6/30/2010 3:01 PM | # re: Top issues for Silverlight
All these install issues stem from Mircosoft getting sued for pre-installing\updating software on the Windows OS, so suck it.
6/30/2010 3:03 PM | # re: Top issues for Silverlight
Asger -- watch my video above and tell me how 'it just works for them' with regard to Flash? If your users are visiting a place and cannot install Silverlight, please let me know why/where/what site. Frankly I really am surprised by those claiming issues and difficulty. If I can get to the root of the issue, I can help solve it. If I can't, then it is just ranting online with no evidence and I can't help solve it.

And why are my explanations about priorities "strange" -- as a developer team are you telling me that your costs and resources and schedule are all equal and you do everything on your list for each release? If so, congratulations, you live in Eutopia. We have a list of things our customers ask. Our team has resources they need to manage -- we prioritize. Do we fix a data binding memory leak or a javascript error. Or both. It depends in most instances. But heck yes there are priorities when you manage resources...Microsoft is no different. We don't have unlimited resources.

As to me sticking my head in the sand -- wow...I'm not sure if we've met before but I'm not that guy. I'm here, out in the open, revealing positive and dirty laundry. And who do you think authored the whitepaper? I HAVE done this process myself...it isn't hard, doesn't take days to get the technical side right (of course you want it to be a pleasing experience and get designers involved with the alternate content) but it isn't hard. So I resent that I'm 'pretending' things are okay. If there are issues I want to help, but so far everything being said here is solvable by *WHAT WE HAVE TODAY*.

I wish the template had the best practices. It does not. I've said that. Unfortunately that template hasn't made a priority OVER OTHER FEATURES...I'm not saying it still isn't on the list...just that there is a cost of resources to complete it...which is why we produced sample code, guidance and examples.
6/30/2010 3:28 PM | # re: Top issues for Silverlight
Just some feed back on the Supported browser matrix, by and large I agree with it but not 100%

I have an intranet based silverlight solution I have been writing and maintaining since SL beta 2 and have upgraded and re-factored as each version of SL is released. I have noticed that some features just dont work in Safari on the mac.... they do work just fine in firefox on the mac however have you ever tried telling a Mac nerd to use firefox instead of Safari?

Now I dont think we get the whole truth here about supported browsers because function that I have not changed code in since SL 3 that did not work in safari at all now work in safari and chrome in SL 4 that kind of smells like the way SL was implemented for the web kit engine was not quite right b4. and that the changes made to support chrome have fixed the webkit implementation issue.

The other reason I say that is that those same functions were the only errors that chrome gave me prior to oficcial support in SL 4.0.
6/30/2010 3:28 PM | # WPF and Silverlight feature parity
Re: 'an expectation that WPF applications 'just work' in Silverlight' - I think it's more an expectation that SL apps should 'just work' in WPF. Unlike Flash, I can't even embed a SL control in a WPF app and that is poor. But please consider this: a decade ago .NET 1.0 was all about the Internet and about parity between web and Windows apps. That was the gong that was being banged at the .NET dev conference in Birmingham (UK) 1999 (and that, I thought, was why it was called .NET in the first place). Data and business layers were the same, ADO.NET (datareader and dataset) doing the grunt, the only difference was of course the UI. A decade later, we appear to have gone backwards. ASP.NET, WPF and Silverlight (3 UI's). Try migrating a combined ASP.NET + WinForms app. There is no sensible way forward. I understand it being good business for you to break the UI to bring designers in more, that's what business is all about, but you've broken the UI and the data layer compatibility as well (a la WCF RIA Services). The whole thing is totally fragmented. For my own 2 cents, I don't think SL is going to stick in the mobile world save for devices with an MS OS. Your support of HTML5 will just fuel that. What is the point of making WEC7 SL only? If SL really can't be made to be an absolutely true subset of WPF, then I would say it was time to revamp WPF more akin to Silverlight at a cheaper cost than XBAPs. XBAPS were on the right track, just too hefty. A single, super portable UI technology that can be MS OS specific - maybe my home or office server just 'reigns out' the UI to a lightweighted rendering OS/device. I'm waiting on convergence post .NET 1.0. I want to port my ASP.NET/WinForms app without pain.
6/30/2010 4:22 PM | # re: Top issues for Silverlight
Mike -- what issues did your users face. I'm curious why the installation experience is so bad for these users. I'm not being arrogant here, I'm genuinely confused. Even my mother-in-law was able to complete it without my normal technical support. It's an .exe like others and once installed only is rendered when asked. Where users not even able to get to the installer?

And my "one" Flash experience, while likely not as common (most boxes aren't clean without any version of Flash) I have not found their upgrade/install experience to be any less seamless and I'm being honest here. There are better apps that do a better job...and that is because the app owner took the time.

OPEN INVITATION -- your users have install issues, here's my email: [email protected] -- let's get a remote debug session and I'll help.
6/30/2010 4:24 PM | # re: Top issues for Silverlight
In contrast of my Flash experience, I rid my machine of Silverlight and went to our site and to Netflix to see the experience. Results here (video processing): http://www.youtube.com/watch?v=rJiRkOU6dPY. Again, notice how user-friendly the Netflix experience is in providing information and restarting the app *in place* once install is complete.
6/30/2010 4:33 PM | # re: Top issues for Silverlight
Tim, thanks for taking the time to show us how painfree it was to install the Flash plugin. From your video, you encounter 1 little technical problem and 2 annoying business practices.

The problem was that you had to re-install it in Firefox. I say it's a little problem because it's irrevelant to most users since they will install it in the browser they plan to use it. You still managed to install it flawlessly in exactly one minute without a single problem in your current browser. You didn't even had to refresh it to see that Flash was correctly installed, it did it for you and an animation started saying "Installation succeeded".

In my book, that is a smooth installation.

The bad practices were the "bar-thingy-addon" that were checked by default. I also dislike this kind of practice but it's a business decision, not a technical problem.

Now of course the question is, how much of that process is the result of Youtube setting it up in a smooth way and how much is the default process offered by Flash?

The way I see it, Youtube detected that you were missing the plugin and replaced its content by a custom link. Just like we do with the "image embedded in the object tag" trick. Then you clicked and Flash handeled the whole process with its "Download manager" (that they could have called "Flash downloader" to avoid any kind of confusion).

Keep in mind that this is for a fresh installation. For an update, like described in another comment above, it's even quicker and smoother.

That said, everything isn't black and white and Silverlight installation process isn't complete trash, but I think was makes people react with such severity is that you give the impression that it's "good enough". We believe it's not yet and we believe it's important.

We know you guyz have limited resources and are working hard and I can bet most everyone will say that it's a great technology to work with. But if you could copy/paste the installation process of Flash into Silverlight, that would be so much more enjoyable for everyone.

I hope I didn't offend you because it wasn't my goal at all, I'm just trying to get a point across.
6/30/2010 4:55 PM | # re: Top issues for Silverlight
Did you have to install it twice in that video?

First you went directly to the installation page and installed the plug-in, which was very straight forward I admit. But then you restarted your browser, went to Netflix and they asked you to install it again.

Was it because the first time was the installation and then it was an update to latest build?

I'm confused.
6/30/2010 7:33 PM | # re: Top issues for Silverlight
According to install experience, I can see both sides.

On the one hand I believe that install experience is a developer issue. That is if you would write any Windows / Mac / Linux application, it should come with an installer. It is up to the developer to make sure the little files go where they are supposed to and to cover the scenario that when a file is missing, the installer downloads it. This maps one to one with a web context: if your browser is not up to date, it is your software's javascript (ugh) job to go out and do the right thing across all browsers.

Granted this is NOT fun, as this is the whole reason why we program in a plugin. To avoid the bloated javascript programming model that costs 5 times as much resources to code for and debug. BUT as we choose to distribute over the web, this is what we live with. And better to just have this small piece than having to javascript anything.

The other side of the coin is that if Microsoft can do anything to make it go down smoother and make it easier for the devs who think its not their job to make an installation experience, then all help is welcome.

In the end you can make it as simple as possible but if you have a couple of monkeys coding that do not know what they're doing, you can make it as simple as possible. It doesnt matter. It is also largely dependent on coding experience and skill, and people have to be willing to read that book or educate themselves on how to build the best experience. I think while things can always be improved, Microsoft is not the worst in providing us with docs and a helping hand so far.

Everybody is raving about Flash's install experience. But really. If you have Silverlight installed (almost 66% now) and you are a good user who installs their automatic updates. There is NO ISSUE. As Silverlight updates itself to the lastest version through Win Update. I'm sure it does the same on the Mac where SL plugin calls home and does a auto update.

Now the perception that Flash is better might be that Flash is used more pervasively over the net, thus you will have most likely been prompted before on some crappy side to update. So you had the install experience there. Then if you visit big-hip-website that requires the latest version of Flash, you already have it. Thus the installation experience on Flash content that you really want to see can be perceived as less intrusive.

My 2 cents.

6/30/2010 7:40 PM | # re: Top issues for Silverlight
Hi Tim, take it easy btw, your comment reply feels emotional

about install silverlight,
well i have bad experience too, i have silverlight 4 installed
and i'm being asked to install version 2 ? or any older ver i forgot
I've seen your video, it's funny, u have to install silverlight twice
the first install almost looks hanging too btw (if i am a user, i will kill my internet explorer using taks manager or call support)

i suggest to give auto update, we install once, and thats it
new ver/bug fix, it's updated, automatically
developer must do ZERO effort about install stuff and user must do ZERO thing
(except prompt ok to update :P)

can we agree that your you tube is not the best experience to install ?

Back to silverlight top issues, from developer eye btw

01. User interface
Need to go beyond windows forms !
Something like winPhone 7 panoramic, xbox 360 dashboard, windows media center
should be easy and take minutes to build
Can u show me to create winPhone UI style within 1 minute on you tube from scratch ? no ? well we got used to create window within 5 seconds with visual studio, got what i mean ?

02. Animation
I want to cry every time i see Xaml, how big it is, for simple stuff
Library, like toolkit, out from sdk, but official from microsoft
easy to use, iPhone like scrolling, winPhone 7 transition
keep in mind, i know how to do it in "raw way", OMG how complicated it is

03. Input
Default on screen keyboard, for kios apps
Api to detect available input hardware
ink ! Speech recognition !
If user have microphone then bla2, if user have no keyboard then bla2

04. Gaming library
Similiar with number 2,
out from sdk, something like toolkit
physic stuff, easy to use, official from microsoft
inherrite xxx base class, when object x collide with object y, animate bla2/cancel animate z, animate j, set object receive input to true, if keyboard and arrow to left, draw this and that

05. Support reactive extension
Can not imagine create silverlight apps without that library
Help them create sample and lib
use it for number 2 and 4 issue

06. Hardware support
so.. only win phone 7 have accelerometer ?
what if, within several next months, all laptop/tablet have accelerometer
and we, silverlight desktop can't support it T__T

Silverlight have strong competitor
Microsoft have a lot human resource, one of them is good (u for example)
so, good luck !

6/30/2010 10:03 PM | # re: Top issues for Silverlight
@David - the Flash installation and upgrade have been the same for me. Here was my last "upgrade" experience: timheuer.com/.../...rlight-install-experience.aspx.

As to making the initial install smooth -- it's the same. A link *direct* to the installer is provided in Silverlight's case.

@Mike - perhaps browser restarts is indeed the hardest issue. Each browser also implements the plugin model differently so there is no silver bullet (which is why we provide helper scripts to announce that the plugin has been updated and needs a browser restart). Most browsers load plugins in memory on load, so updates aren't seen until that plugin cache is essentially refreshed. The key scenario that usually requires a browser restart is an upgrade. new installs usually do not.

If you get more data on failures and want my help, my door is open. I don't hide my phone number either -- and yes it is direct.

@Sergey -- if Linux *clients* are a key customer for you, then yes that is something you have to consider. Microsoft has never said that *we* will be providing a Linux implementation. We made agreements with Novell so that they could make the best Linux implementation. I can tell you that they are being more aggressive as of lately.

@Andrew - emotional reply? You bet. When someone claims that I'm putting my head in the sand, it upsets me. I'm one of the more open folks at Microsoft you'll see and I keep my head high above the sand. Heck it's why I publish data like this to get conversations going. But I hate when people argue on rhetoric over facts.

@Andrew/David -- bad explanation (or lack thereof) of my video. I did *NOT* install it twice. I was showing 2 different clean experiences. Apologies for not making that clear.

@Andrew -- you do not believe that the Netflix experience is not ideal? Wow. I don't know how we'd be able to please you there then. It provides the end user a highly customizable screen, showing me information about what I was trying to do and what I'd need to do to finish that task. I click an install and the screen is automatically refreshed and my movie is playing. Don't know how much more you can improve!

@Andrew/David -- the video flickers because of camtasia screen recording (switching to non-aero mode) -- it has nothing to do with the Silverlight installer...just the screen capture software I was using.

1 - have you seen the 4 new Silverlight themes we created?
2 - not sure what you are getting at here
3 - keyboard control? interesting idea, i like it.
3 - we have API to detect webcam/microphone. If you are writing a kiosk app why not use WPF then to get full .NET framework as well
3 - We have had ink support since v1. Speech recognition can be done with SL4 and COM
3 - You can do your if, then in SL4
4 - Totally agree, we need this. Right now there are great 3rd party libraries. We actually do ship a physics engine with Blend as well (Box2D) that has physics, collision detection and a sample game with code.
6 - we've already said we're taking a lot of learnings from Wp7 to the desktop in next versions. The location API in Wp7 btw, is the same that Win7 uses. With regard to accelerometer on desktop, how do we create an API *today* for something that doesn't exist? Seems odd.

Thanks all for the continued feedback!!!!!
6/30/2010 10:38 PM | # re: Top issues for Silverlight
I develop tools for a bunch of steel building drafters, detailers and estimators scattered all over the country. They are probably one of the least technical sets of people I have ever dealt with in my career and have hardware profiles that are all over the map.

You would be amazed at the "feedback" I get from these users in the event of a failure of anything. Blue collar workers + frustration due to technology + hot shop conditions = very colorful emails.

I don't believe our help desk (which refers all calls regarding deployment issues to me and my team) has had a single call about issues with our Silverlight install page. This is a stark contrast to our Click Once stuff.

I think it's ironic someone would complain about Microsoft's mismanagement of resources to solve this so-called problem, and in the second breath say they devote their help desk resources to dealing with complaints about it. Clearly (by my own experience) it is a problem their development team could have solved a long time ago. At the end of the day, it's not Microsoft's problem, not Adobe's problem or anyone else's problem but your own if your business suffers because you are sitting by and waiting for the mother-ship team to solve all of the issues for you. Is the supplied template with Silverlight the very definition of "meh"? Sure. But it's functional, and it's not hard to take what they've done and spin your own decent installer page.

Since the ranking of anything to do with improving the install experience on dotnet.uservoice.com is pretty low, it's not how the majority of silverlight developers are spending their votes in how they want Microsoft to prioritize their tasks. That implies that it's not even close to a pain point for the majority. And just maybe it implies that the installer issue is only an issue to a vocal few.

My biggest concern about Silverlight is not the feature parity between it and WPF, but the ever widening gap of cross platform compatibility between the various platforms it now targets. I understand you can compile code files across the various platforms when porting, but it's important that the assemblies work as well. I don't always have the source code, and Reflector is not always an option if you don't want to break EULA for some 3rd party components. Silverlight and WP7 do a pretty decent job making SL 3.0 the standard, but Symbian is 2.0 (not even sure if the assemblies work, and how many websites using Silverlight target below 3.0 these days anyway). Embedded CE7 doesn't even really have a version associated with it and requires C++.

In my opinion, it wasn't until 3.0 that Silverlight really started to shine (pardon the pun), and I think that would be the best baseline for assembly compatibility.

I think it's pretty cool that Microsoft has gotten Silverlight on to all of these platforms, but it's pointless to bother with it if the API compatibility isn't at least 90-95% consistent (with the remaining percent set aside for impossibilities and platform specific features). If I have to re-write a majority of my code (the C++ decision on Embedded CE 7 still baffles me), what is the point in calling it Silverlight at all, or how is it worth it to the developer to step outside the development environment native to the platform if the code isn't going to be re-usable anyway.

The way things are heading, each platform we write apps for will force a lot of re-invention of the wheel. And all of them will be called Silverlight even though some will really have nothing much in common other than xaml. I think it's misleading to call it a Silverlight application at that point.

Tim - good luck in your move. As one of your former fellow 115 degree cooked Phoenix residents, I truly envy your move to cooler, yet manageable temperatures. :)
7/1/2010 5:23 AM | # re: Top issues for Silverlight
As I C# programmer looking at Siverlight as a replacement for “click once”, due to the problem with getter users to install the .net framework. I am very sad to see that Microsoft expect me to write jscript code just to get Siverlight onto the customer’s machine.
This reminds me of the hopeless click once start-up WebPages that developer studio created the last time I tried to use ClickOnce.

If I wished to have to think about this sort of low level system details, I would be writing all applications in jscript with raw DOM access. The defaults have to just work!

My wife’s new window’s laptop came with flush installed, it did not have Siverlight installed, why?
7/1/2010 6:43 AM | # re: Top issues for Silverlight
@IanR - YOU DO NOT HAVE TO WRITE JAVASCRIPT TO INSTALL SILVERLIGHT. It isn't a requirement, but a best practice to use a few event listeners to *optimize* the experience. It's the difference of letting Silverlight control the user interface/experience or your application. Doing nothing will still get you an installer. Period. Sorry if I made it seem otherwise.

Your wife's laptop came with Flash because the manufacturer of that laptop has made specific agreements with various software vendors to include their software to subsidize the cost of the laptop. It probably came with other utilities such as a Zip tool, an anti-virus tool, an anti-malware tool, and a bunch of other things she may not even use/know about. We (Microsoft) have similar agreements with certain hardware manufacturers to include Silverlight in their new machines. I don't know the list of them offhand as that is something I'm not privy to in my role.
7/1/2010 7:54 AM | # re: Top issues for Silverlight
"Do we fix a data binding memory leak or a javascript error. Or both. It depends in most instances. But heck yes there are priorities when you manage resources...Microsoft is no different. We don't have unlimited resources."

So how about that Memory Leak issue forums.silverlight.net/forums/t/171739.aspx which has about 214,000 hits on the silverlight forum. If MS doesn't have unlimited resources then your customers certainly do not and with this memory leak issue we are finding the platform undeployable. I get the whole take responsibility for YOUR customers installation experience and that many of these problems are not what I consider real issues either. But when an issue as crippling as the memory leak comes up and the response goes like: well you know uh, we know this is an issue and we already have what we think is a fix, but we have schedules and procedures that are in the best interest of our customers, and I'm not making promises but maybe by the end of summer. I wish that I could tell my customers that due to my own internal processes that are by the way in your best interest, we can't have this fix for you that is making my product useless to you.

"If there are issues I want to help, but so far everything being said here is solvable by *WHAT WE HAVE TODAY*."

Well, we have tried but I don't think this Silverleak issue is something that is solvable with *WHAT YOU HAVE TODAY*.
7/1/2010 8:23 AM | # re: Top issues for Silverlight
Re: Compatibility matrix

My Silverlight site works with IE8 and Chrome, but not FF 3.6.6 on Windows 7, which is more than a little distressing.

If you reply to my email address, I will send you a link to the site.
7/1/2010 10:07 AM | # re: Top issues for Silverlight
Kevin -- if you read that memory leak thread it has a) been acknowledged and b) been acknowledged as being fixed and in testing right now. So yes, that's a great example of something being a higher priority. And is being addressed. The cost of servicing any software is high, so rather than roll out just that update and then a little later another update, we bundle as many as we can in one service release. This mem leak is in the next one.
7/1/2010 10:22 AM | # re: Top issues for Silverlight
Prassana - yes, Flash has that problem as well with being an admin for initial install. Luckily if you are in a corporate environment, there are ways that Silverlight can be incorporated into login scripts, automated deployment and group-policy management. Check http://silverlight.net/learn/whitepapers for a doc describing this. It isn't always easy to *convince* corporate IT to do this, but the actual implementations conform to most corp managed IT desktop patterns.
7/1/2010 11:22 AM | # re: Top issues for Silverlight
It is surrealistic to see that you think I am wrong when I state that the installation experience is bad, and then at the end, you acknowledge that you are shipping a bad template.

You asked for feedback. I gave you feedback from my experience, which is from real life with real users. You have asked your mother to install Silverlight, and is proud that she was able to do it.

It takes exactly one minute to break your own installer on


1) Go to the site in chrome.

2) Uninstall Silverlight (you might have an old version) from the control panel.

3) If it asks to close Chrome, do that as requested.

4) Refresh the site in chrome. Strange things happen, it just shows blank white areas. No silverlight nor offer to install it.

5) Refresh again. Yet other strange things happen. No silverlight nor offer to install it.

6) Go to google, and search for "Get silverlight" and you might find


7) Great. Let's try that. Go to this site. It will say that Silverlight is installed and ready to use. Hello, I just uninstalled it, and it does not work!?

9) Go back to the first page, refresh again, and finally, it offers to install it.

10) Do that. This is not easy to do for most users, because they do not know where to find the executable, are scared by the many security popups, and there are no screenshots to guide the user.

11) It seems stuck at 90%.

12) Go back to Chrome, refresh, download a new installer and start another install.

13) Start that, and wait. After waiting some time, it says it failed because another installer is running. OK.

14) Go back to the first installer, and it has completed! Great! Finally, it should be there.

15) Refresh your page in silverlight, and you are faced with a light blue area, but no silverlight.

Please try it yourself. I have screenshots to illustrate these bugs, but this blog does not allow uploading them.

I don't know if your own silverlight promotional site uses the correct template or not. But I do know that when I ask my developers to develop a Silverlight site, 95% of the time, they will get the installation experience wrong, and it is quite mysterious failures that occur.
7/1/2010 11:29 AM | # re: Top issues for Silverlight
@Asger -- I never said we shipped a bad template. I said, in fact, that the default template will give you exactly that -- default experiences. Not optimized for your app. What I did say is that we provided guidance and sample code for the best app experience. Do I hope that we can implement that in the tools? Yes. When that happens is not determined.
7/1/2010 11:32 AM | # re: Top issues for Silverlight
Did you try the recipe I listed?
7/1/2010 11:44 AM | # re: Top issues for Silverlight
@Asger - I did in fact...was waiting for video to process: http://www.youtube.com/watch?v=aG3rXGrtzYI
7/1/2010 12:36 PM | # re: Top issues for Silverlight
You did not uninstall your existing installation as I suggested.
7/1/2010 12:53 PM | # re: Top issues for Silverlight
@Asger -- yes actually I did. I had removed Silverlight before launching the browser.
7/1/2010 2:02 PM | # re: Top issues for Silverlight

I agree.. that is weird. But they have no issues installing the Flash plugin, which was singled out by Steve Jobs as a major source of all crashes on the Mac.

Maybe Microsoft should have changed their name when Ballmer took over ("New and improved! Under new management!".. though Ballmer isn't new, I suppose ) :)
7/1/2010 2:26 PM | # re: Top issues for Silverlight
If you had done that, why is it displaying silverlight content at the start of the video?
7/1/2010 2:48 PM | # re: Top issues for Silverlight
Thank you for your time and effort to make Silverlight better, and write about it.

I have tried to point out some problems that I have when you asked for feedback, but it seems that you do not see the same problems, so let's leave it at that.
7/1/2010 3:49 PM | # re: Top issues for Silverlight
@Asger - It isn't displaying Silverlight content at the start of the video.

Thanks for giving feedback (honestly) but I'm simply trying to point out that I'm baffled as to why some are having problems. The list of steps you provided (as I reread it) indicates that you uninstalled the plugin while Chrome was still running. Most browsers have issues with plugins that are already loaded in-memory and don't uninstall cleanly. And FWIW, each browser handles some of these things with NPAPI differently. It is frustrating at times for plugin developers in these states. My video wasn't meant to say you didn't experience issues, but simply documented that I did not have the same experience.

I'd love to remote session with you to see your issue first hand.
7/2/2010 6:32 AM | # re: Top issues for Silverlight
Good morning everyone,

I was thinking, maybe the installation problem people experience is due to their system not being completely up to date. When you did your test Tim, you did it with Windows 7 and you probably run your Windows Update regularly to keep it fresh. Thing is, most people are still using XP/Vista and most people don't do their Windows Update regularly if at all, heck some people are still using IE 6.

Of course, it's not your responsability to make sure everyone has the latest version of Windows with the latest Service Pack but it's still a reality that shouldn't be ignored.

Maybe what's missing in the installation is a few "fail safe" that it can fall back to when people are installing it with less optimal system. You know, a few "else if " here and there.

Just saying...

Have a good day
7/2/2010 3:31 PM | # re: Top issues for Silverlight

As I mentioned in my post, a good many of my end users are not technically literate. Most of their PC's are running XP. And since our server team doesn't have an on-site windows updating service, they have actually shut off Windows update to prevent everyone from going there and clogging the bandwidth. So the up-to-date status is all over the place.

I'm not sure if you mentioned if your customers were internal or external. Even though our systems necessarily aren't up to date and consistent, they are in more controlled environment because they are internal.

When dealing with external customers, any number of things can affect the ability to install a plug in, and not all of them are going to be Microsoft or Adobe's fault. The working parts needed to install the plug-in are actually pretty basic. Anything from security concerns (plug-ins generally require box admin access to install), impatience (end user's got a bad internet connection, has spy ware bogging down the system), or malicious software can impact the install process. I'm sure there are "pop-up blockers" and "toolbars" out there that can inhibit the process as well.

I personally own 2 laptops with Windows Vista installed. One from Dell, and one from HP. From factory install, the operating system drops downloads all the time. My first guess was that it was Silverlight (or the player app) because I first noticed the drops while streaming Netflix. But later, I noticed that it occurred with any streaming process, including http downloads of files. A co-worker of mine has the same problem with his Vista Dell, but other co-workers do not. So, the problem there might be with the OEM, or how our home networks are set up.

I guess my point is.. there are too many variables to blame Silverlight directly in some cases even though it looks like it may be to blame. I suspect this may be why Adobe went with that downloading manager. It might have been painful to Tim, and it might introduce another point of failure (in case THAT doesn't download), but if it works, odds are there are ways of tracking failures in that manager and allowing paths for recovery.

Another idea might be for Microsoft to build a setup/msi package (and whatever the equivalent is for Mac) for those cases when the install from the web browser doesn't work. This installer could make sure all browsers are closed, etc, and provide a much more foolproof, streamlined or reliable way of getting the runtime in there. It won't be branded to your application, but thats a small price to pay.

Also, the context of the webpage is lost, but it seems that if the need for an install package presents itself, where the end user was is the least of their worries.

Just a thought anyway. Would be interesting if someone were to direct a troubled user to the Silverlight SDK page and have them install that (which installs the developer build of the Silverlight runtime). Would be a good test.
7/2/2010 6:43 PM | # re: Top issues for Silverlight
Tim, I will let others debate the issues around the installer - I want to go back to your first point: WPF/Silverlight parity. The #1 thing I would like to see in Silverlight are control template property triggers. This one feature makes working in WPF so much easier than trying to do similar things in Silverlight. The Visual State Manager, while it has its place, is like hitting a fly with a sledgehammer in most cases and leads to tons of duplicate code. Just my 2 cents!
7/6/2010 9:17 AM | # re: Top issues for Silverlight
Tab, I get the same issue from many of my users, even after directing them to the official SL page. Funny thing is some of them will try it again a week or 2 later and it works. Very strange and frustrating issue...
7/28/2010 5:15 AM | # re: Top issues for Silverlight
Hi Tim

Seems I'm a bit late to this party but one of the big issues that has affected my team has been the lack of data virtualization for grid controls. We're looking to deploy grids that can regularly have hundreds of thousands of rows (sometimes millions) and clearly there's no way I can expect a user to wait whilst the entire dataset is downloaded and yet there doesn't appear to be another option.

Paging is a very poor substitute in my, and my users, opinion. I have created a proof of concept virtualizing grid but it's too slow and unreliable to deploy into production and I don't have the development time to focus on it. I would have thought, given that one of the goals of Silverlight is to create a responsive and asynchronous environment, that data virtualization would come as standard.

I've been trying to push Silverlight as an LOB platform and as a replacement for an existing winforms desktop app but this has become a bit of a show-stopper for us.

Is there anything in the pipeline that you're aware of?

(This seems so fundamental to me that I feel I must have missed something somewhere but I can't find a solution anywhere)

7/31/2010 5:40 AM | # re: Top issues for Silverlight
I am a Newbie in Silverlight and saw many of your posts in Silverlight.

I would request anybody to please help me with the exact code (In such a way that I can just paste it and achieve the requiored result in XAML ) for the "Angled Datagrid Column Headers like the one shown in the below two sites.



I am unable to achieve it with the same code in these sites as both sounds to be wrong(It gives error saying its not found and in Carla's code, I dont have the dll she use).

Please help me immediately or please write to me the exact code with, where should I paste it ( I mean, in resource file (App.xaml) or directly under which tag in my xaml view ? )

I just have some 10 columns in datagrid. I required these column headers to be angled and also, I would like to have background colour for the same. Please mail me the code or put it here. I need it damn urgently for my project please. Please please please :)

As I am a newbie, I understand, its very silly in front of folks like you. Please help.

[email protected] is my email ID.

Thanks and Regards
8/5/2010 9:41 AM | # re: Top issues for Silverlight
No one is dare or intelligent or even smart enough to achieve what has been requested by me ?


Great that my problem is challenging to all ;)
8/10/2010 8:53 AM | # re: Top issues for Silverlight

I am also running into issues with the user upgrade experience. My users are on SL3 and should now upgrade to SL4.

Something that would help a lot is if I were able to uninstall/re-install the end-user runtime (in my case SL3) at will. Unfortunately I cannot find the SL3 runtime installation anywhere. Consequently I cannot test the upgrade process at all.

Setting the minruntime version is also not a solution - it definitely appears that doing that generates a different upgrade experience than what my users are actually experiencing.

Does anyone know of another method I can use to test the upgrade experience??
or where I can get the SL3 end-user runtime installation??

8/20/2010 12:18 PM | # re: Top issues for Silverlight
Better late then never:
1) Why oh why didn't you support to ITypedList, ITypeDescriptor. Makes building generic DTOs very hard. Large apps are very difficult to ORM

2) WCF Error reporting sucks can't you fix that. Most serialization issues are reported as connection forcibly closed

3) Cross domain security should be an option to developer to decide not to have to implement all this code just to call a WCF service on another server

4) Why can't we have datasets. They might be "heavy" but they are damn usefull. Think of all apps that use it and expose it as WS.

5) Async calls on all proxy generated should be again on developer as a choice (make it default if you want). Total async calls makes code soo messy and very hard
10/29/2010 9:58 AM | # Out-of-Browser graphics rendering Issue
I am working on project which use of silverlight Out-Of-Browser application.
I have 2 issues regarding Graphics in OOB application.

1. When i say my OOB application maximize and change the resolution of my screen, in my OOB application i cant able to see any contents properly, all are painted here and there.
I am using HP machine which running under XP SP1, and also i tried on the DELL and HP laptops but same result.
And I tried on a machine Which as windows 7. It works cool.
Can you tell me what may be the problem.
2. And Controls also rendering slowly in OOB appln then running the same in browser. eg. i am using the silverlight toolkit gridsplitters. when i try to me the splitter in browser its moving smoothly but doing the same in OOB is not smooth.
Can you please tell me the solution for this problems.
8/12/2011 12:29 AM | # re: Top issues for Silverlight

Please add 7 and 1 and type the answer here:


The opinions/content expressed on this blog are provided "ASIS" with no warranties and are my own personal opinions/content (unless otherwise noted) and do not represent my employer's view in any way.