Monday, 9 November 2009

When Visual Studio Insists on Starting Two Copies of Your Application

Some months back I had a nasty problem where every time I tried to run my Silverlight web application two copies of the browser would start up. The only way to stop this happening was to run the application in Release instead of Debug mode, which isn't really an acceptable solution when you're writing new code and need to step through it.


The problem started occurring just after I'd installed an extremely buggy Silverlight control suite from a 3rd party vendor (no names or I'll be accused of just wanting to 'pick a fight' or being 'uncivilised'! ;-)), so I put it down to the 'cost' of using these particular controls.


It turns out I was wrong (that'll teach me!). I didn't think any more about it since the problem finally went away when I repaved my PC with Windows 7, but a couple of days ago Microsoft's Jeff Handley hit the same problem and asked if anybody else had experienced it.


Earlier today he tweeted that it looks like the problem is caused by installing Windows Live Toolbar, and now that I come to think of it I DID install the toolbar around the same time I installed the 3rd party controls. And I didn't bother to reinstall the toolbar when I repaved my PC with Windows 7.


No doubt Jeff will be publishing some more details on his blog when he's dug a bit more into it, but I thought it worth posting about the issue here, because when I hit it Google certainly wasn't my friend. Good to get to the bottom of the issue, and hopefully there'll be a fix soon.

Saturday, 7 November 2009

3rd Party Vendor Controls (and why I've finally given up on Telerik)

Tweeting up a Storm


Those who follow me on Twitter will have seen me posting a lot of exasperated tweets about the quality of Telerik's Controls for Silverlight suite earlier this week, when the company released the latest version of their control suite (their third and final release for 2009) with lots of hooplah on their blogs, main web site and various employee Twitter feeds.


In some ways it was probably unfair to pick on Telerik, when other vendors seem to be even worse (especially when it comes to support), and an interesting Twitter debate on not just Telerik, but the whole area of vendor controls, followed. The unanimous concensus was 'Just stay away from third party vendor controls', which is a really depressing thing to have to report.


This blog entry was originally an indecently long rant about my experiences with ASP.NET controls from Infragistics and Silverlight controls from Telerik, concluding that neither had been anywhere near fit for purpose.


When a few people tweeted that they were in agreement and saying 3rd party vendor controls should be avoided, two received a response from an Infragistics employee calling them 'whiners', and saying the company had tens of thousands of satisfied customers. I resisted the temptation to ask if the employee had spoken to each and every one of them to prove they were 'satisfied' and to provide their contact information so I could check with them myself ;-)


But 'whining' doesn't achieve anything, and the original version of this post, which summarised a pile of problems with just the handful of the Telerik controls for Silverlight I'd looked at, was too detailed to be of any value to anyone other than make me feel better by venting.


It's time to move on and do what so many other developers have recommended I do. Ignore 3rd party controls (or at least the ASP.NET and Silverlight ones) and just write my own. It will result in a lot less stress, wasted time and frustration and much happier clients, even if initially it looks like too much time and effort to undertake.


In the meantime to anyone thinking 3rd party controls are fit for purpose I'd say spend just an hour looking at the demo code and the documentation the different vendors supply by looking at an evaluation version. Ideally try just a few basic customisations - you might be surprised at what you find (or don't find!) Also look at the vendor forums to see (a) how many people are actually using that vendor's controls (b) how many problems people are having. If a vendor doesn't allow access to the forums that purchasers use then you've got a pretty strong clue as to what customers are saying about the quality of what they've bought!


Peace!