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:
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 firstname.lastname@example.org
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.