My First (And Last) Experience With ComponentOne

I'm going to take off my component vendor hat for a minute, and talk about my experience as a customer of ComponentOne. I'm going to try to be objective about this here, and over on my corporate blog, I'll talk about how that experience will alter the way my own company does business.

As many of you know, I've been working on a new tool called VisualBlogger 2004. One of the features I really wanted it to have was the ability to check the spelling of a post. Now, I've seen articles on how to do it with Word... blah blah blah. I wanted a decent spell-checking experience without having to write a lot of code. A few months back, I had received the Visual Basic .NET Resource Kit from Microsoft. It said it had a bunch of free controls in it, so I finally decided to install it, and see what goodies I could add to the tool to beef it up.

After an extremely lengthy installation process, I finally had a the kit installed. But it didn't install any of the components, it just copied a bunch of installers to the hard drive, without so much as a single detail on how to install them from there. Poor planning on Microsoft's part. Should have had an integrated installer. So I install the different libraries individually, and finally I get to ComponentOne.Spell for .NET. I'm thinking, "man, this could really be useful, I can't wait to try it out." Looking over the features, I see that you can even do spell checking as you type, with the red squiggilys like in Word. By this point, I'm super excited. The party didn't last long.

Implementing the control was an OK experience. I didn't have as much flexibility as I would have liked. I had no control over the visual styles of the dialog box, which was about as unsexy as watching an obese woman digging a thong out of her butt while snacking from a tub of lard. The method of specifying a custom dictionary file was less than intuitive, and I thought the API was generally lacking in intuitiveness as well. Those were the least of my problems.

There was a method called CheckHTMLString that is supposed to accept an HTML string to check, and returned the checked HTML string. Well, they got half of it right. It accepts the HTML input just fine, kicks up the dialog box, and does it's thing. The only problem is, it returns the input as the output... the checked string doesn't get returned. Further, there was an array boundschecking error, and the component would always error out after all the words were checked. So I went online to their support newsgroup, and tried to investigate. Sure enough, both problems showed up several times. There was a fix available, so I went to download the fixed builds. Now the real fun begins.

The license that came with the VB.NET ResKit was for their Q3-2003 subscription. Well, three quarters have passed since then, and the license only lets you upgrade to the Q4-2003 edition. Well, the problem wasn't solved until Q2-2004. So now my license (Whereever it gets stored, I have absolutely no control over that) has been corrupted, and any new build I try to install throws up this retarded dialog box at runtime. I can't shut it off, I can't fix it, and I can't get a version of the spell checker that actually works.

So I write to the support team, very politely mentioning that the control was not working as advertised in the kit, and I'd like an upgraded license for just that component, so that I would get my project working. Their response:

Hi Robert,

Thank you for contacting ComponentOne Technical Support.
Regarding your query, Resource kit contains the version which are eligible for builds released prior to Q3 but since you would be requiring build 47 which is released in Q2 of year 2004, one can go in for our annual subscription offer from ComponentOne in order to use the build.  For more information on this, you may contact sales at

Let me know incase I could be of further help.


So, in other words:

We're sorry our component doesn't work. Since it was free anyways, you could hardly expect it to work EXACTLY as advertised. We don't give bug fixes away. To get a working version, please spend $700 and buy the full suite.

Someone who knows very little about customer service.

Why would I wan't to buy the subscription at this point? This is how they keep a customer happy? This is how they take care of a community member and consultant with the power to persuade others to buy their products? How does that look on Microsoft, who allows ComponentOne to put these components into their resource kit?

I sent them an e-mail stating plainly that this was not an acceptable option. I wanted the component to work as advertised, and if they gave a subscription away, then I should get bug fixes for free as well. I didn't want new functionality, I wanted existing functionality that operated properly. I had thought that this was a reasonable request, and not out of the question. <shrugs>... I guess I was wrong. Two weeks later, and still no response. I forwarded the e-mail to their support complaints address. Two weeks later, still no response.

So, as I'm nearing a Beta 1 build of VisualBlogger, at this point I feel compelled to remove the Spell Checker and Thesaurus, since they offer no functionality at this point anyways. Which is really sad, because it would have been a great feature, and I would have loved to sing ComponentOne's praises. Oh well. I'm going to start looking for other spell checking options. If any of you out there know of any solutions that don't involve MSOffice, please let me know. And check my trackbacks shortly for my commentary with the component vendor hat back on.

And oh yeah, I would recommend avoiding ComponentOne. They seem to be more interested in taking your money than providing working components and adequate customer service.


  • Paschal,

    Thanks for the comments. I don't know that IESpell works outside of the browser. Since we're not using an IE Browser window, it's not really an option. But I really appreciate your feedback.

    If you come across any others, please let me know.

  • Roll your own, you are on the client side; u can do just about anything you want!

  • I'm not going to write my own spell checker. I only roll my own solution when there is no other solution available. I'm not a &quot;code first, find components later&quot; kinda guy. There has to be another option.

  • I am quite sure you can do something with this tool because when user wnats to have it they have to download it.

    And maybe you can contac the developer of Freetextbox. He must have some ideas.

  • What does &quot;Implementing the control was an OK experience&quot; mean? Unless you wrote the control yourself you would hardly be implementing it.

  • I'll second the suggestion of RapidSpell. We're using their winform version and I can't say enough about it. Words with RTF, HTML, Text, and even a number of 3rd part controls like TextControl.

    Worth every penny.

  • Implementing a control means that yoiu are taking someone else's control and putting it into your system. Implementing doesn't only apply to stuff you wrote yourself.

    Too few developers think of the controls they write from a user experience standpoint. I see it as just another way that you interact with the company. You can tell when developers really care about how a control is going to be used, by the amount of time they put into implementation education.

  • I don't think I agree with your use of the word &quot;implement&quot;, but's your blog.

  • Implementing:

    &quot;To put into practical effect; carry out: implement the new procedures.&quot;

    This means that any component is implemented, whether you wrote it or not. The definition does not specify that it had to originate from any specific place. You implement your own components the same as anyone else's.

  • How are you going to be handling your beta with this? Will it be open, or limited to select users?

  • Pretty safe bet that it will be an open beta, but you will have to register so we know who is using it. Since the bug tracking/feedback system is integrated, we'll need to know who is who for when we fix things.

  • I still don't agree with your use of the word. By including a component in your project you are adding a reference to it, and presumably also creating an instance of it when your application runs, but you aint implementing sh*t. I just think the whole sentence &quot;Implementing the control was an OK experience&quot; sounds a bit goofy. Anyway, this is a software development weblog, not the national grammar rodeo so I'll just leave it at that. Maybe it is a cultural thing.....

  • Joseph, I still think you're missing the point. I'll talk abotu it over in my corporate blog later today.

  • Q: 'How does that look on Microsoft, who allows ComponentOne to put these components into their resource kit?'

    A: Not as bad as their choice to include Crystal Reports. (especially when you consider that you are actually paying (in some way, somehow) for CR.)

    I'll save the full essay for my own blog, but my top 3 gripes:

    - spontaneous IDE-crashing bug

    - clunky, outmoded interface (in what is basically a v10.0 product!)

    - draconian, 'the customer is guilty until proven innocent' support model -- Not only did I have to use a 'premium support incident' (it was anything BUT) to attempt to get a resolution to the crash issue (THEIR bug!), but I literally spent more time helping them troubleshoot their broken support email system than I did discussing my issue. (...which was never satisfactorily resolved!) 'Icing on the cake': while their support email system was not working right, they wanted to count every individual email I sent them as a separate premium support incident! (seems almost funny, NOW...)

    It's disappointing to hear about your experience with ComponentOne, as I was looking to their reporting package as a possible escape from the Crystal Reports nightmare.

  • Well, your site showed up when I searched on ComponentOne and I saw a comment from someone who was considering ComponentOne for .NET reporting rather than Crystal. I am just starting to analyze ComponentOne. My initial impression (using the demo) is positive and I liked how my MS Access report file was converted. I will be interested in what else I find on ComponentOne (as well as other reporting tools). Don't mean to change topics though to a discussion on reporting tools.

  • Reality check: No revenue = No ComponentOne = Programmers like you go home.

    I suggest you write your own spell checker and stop looking for free ones from pros that write code for a living.

    You can also stop using windows XP. It has bugs too. You’re hard earned cash helps support XP updates.

  • Beware of ComponentOne - they have per server redist. fees on ASP components. They hide this fact fairly well on their site. Infragistics last time I checked didn't have these fees.

  • I would recommend against calling it Aspose.Crystal. You're opening yourself up for some serious litigation. Call it Aspose.Reporting or something.

Comments have been disabled for this content.