My Relationship With 3rd Party Controls

There comes a point in this developer’s relationship with his faithful sidekick, the 3rd party control, when faith is broken.

Things have been going along well, everything I read on the website that the control could do is working, and everything I believe the control should do succeeds (beware the false expectation). The sun is shining and all is well with the world. And then it happens: something doesn’t work. Suddenly (well, it’s not sudden at all….) a black hole opens up and sucks away 2, 3, 4, 12 hours of my life trying to figure out if I’m doing something wrong with the control or if the control just flat doesn’t do what I thought it would.

Asking the right question is key to getting the right answer. I get that. So, I generally assume I’m a knucklehead and have done something wrong or incomplete.

My phases of conflict resolution with the offending sidekick go something like this:

  1) Documentation - is there an example of what I’m trying to accomplish that I can mimic? Is there a tutorial or decent reference entry to tell me that the property TextWrap is not just a boolean but will infact override every width setting and take my column from 760 pixels to a nicely (right) stacked column 20 pixels wide.

  2) Latest Version - do I have the latest and greatest? I don’t want to update to the latest unless I KNOW it solves my issue or discover it has strong merit otherwise. Who needs to swap 1 problem for 10.

  3) Knowledge Base - can you tell me anything I don’t already know that I don’t know from the documentation? No? Ok, next.

  4) Forums - aha, my friends the other knuckleheads are out in force and I will now likely discover that it’s not just me. Comfort at last…wait, it doesn’t work and the vendor (apart from promises) will not be doing anything about it even though every other vendor listed provides that same functionality. Well, at least I know have a list of other sidekicks to interview.

In fairness, I more often than not find the solution at some point along the way, and will on occasion jump straight to the forums for a quick search. And, of course, Google is a developer’s best friend.

Here are some of the ASP.NET sidekicks that have served me well in the past.

ComponentArt WebUI - I have had success with the menu, tabstrip, navbar, treeview and breadcrumb. I like the various design samples which makes bidding and creating comps easier.
Cute Editor - This wysiwyg editor weighs in a little on the heavy side, but has been extremely customizable and useful for me. I’ve liked the integrated file upload and image editing capabilities, but I’m not so much a fan of the client assets that I need to deploy along with the site.
Intersoft WebGrid - I use this control extensively in an intranet project where we needed a lot of onscreen filtering, grouping and sorting made easy. For that this grid fit the bill, but again is another control I’d say is on the heavy side. I would be extremely reluctant to use this grid elsewhere. I tried using their combo box control which had some promising features, but in the end was never able to deploy it. This was at the very early release of the ASP.NET Ajax toolkit and the combo box was just too buggy.

Do I even need to say I use the ASP.NET Ajax framework and Ajax Control Toolkit? However, you will not catch me using the update panel, sorry.

Other controls I’ve used:

  * Telerik RadControls Editor - used it a little and it seemed ok. Felt bulky and loaded slowly
  * TinyMCE - seems very lightweight and robust. This is one I’d like to spend more time with.

And while they don’t qualify as controls, I have at times found the following ORM and data access pieces invaluable:

  * Enterprise Library and before that SqlHelper
  * SubSonic - love it, but why in the world is MySql in medium trust such a nightmare?!
  * EntitySpaces - ok, I haven’t used this one yet in production because SubSonic has done very well, but gimme a week and I will. The ability to use SQL and MySql in medium trust is invaluable to me with the clients I have. Darn you SubSonic, why do you push me away?!?!

So who are your sidekicks that make life easier for you?

Categories: ASP.NETControls and ComponentsPermalink