Robert McLaws: FunWithCoding.NET

Public Shared Function BrainDump(ByVal dotNet As String) As [Value]

News

<script type="text/javascript"><!-- google_ad_client = "pub-4330602465258980"; google_hints = "ASP.NET, VB.NET, C#, C#.NET, WindowsForms, .NET Framework, VS2005, Visual Studio, XAML, WinFX, Windows Workflow, WPF, WCF, Atlas, NetFX3, Visual Studio Orcas"; google_ad_width = 120; google_ad_height = 240; google_ad_format = "120x240_as"; google_ad_type = "text_image"; google_ad_channel ="4997399242"; google_color_border = "B6C9E7"; google_color_bg = "EFEFEF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "002C99"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<!--
-->

You should feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever. That said, I will most likely only delete abusive, profane, rude, or annonymous comments, so keep it polite, please.

Blogroll

Cool .NET Articles

My .NET Tools

My Builder.com Articles

My MSKB Articles

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 sales@componentone.com

Let me know incase I could be of further help.

Regards
Sam

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.

Sincerely,
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.

Comments

Paschal said:

Robert have a look at the excellent Spellchecker they implemented in freeTextbox. I think it should be possible to link it to your tool

http://www.iespell.com/

# March 30, 2004 4:54 PM

Robert McLaws said:

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.
# March 30, 2004 4:58 PM

M. Keith Warren said:

Roll your own, you are on the client side; u can do just about anything you want!
# March 30, 2004 5:14 PM

Robert McLaws said:

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 "code first, find components later" kinda guy. There has to be another option.
# March 30, 2004 5:24 PM

Avonelle Lovhaug said:

I've been using Keyoti's RapidSpell Web product for an ASP.NET app over the last year, and I've been fairly happy with the product and their support. They offer a similar product that is for Windows applications. It is not particularly cheap per developer, but there are no royalty or runtime fees, so it might meet your needs.

http://www.keyoti.com/products/rapidspell/dotNet/
# March 30, 2004 5:39 PM

Paschal said:

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.
# March 30, 2004 5:41 PM

Doug Perkes said:

Check out NetSpell from PaulWelter available on CodeProject:

http://www.codeproject.com/csharp/NetSpell.asp?target=spell%7Cchecker
# March 30, 2004 6:14 PM

JosephCooney said:

What does "Implementing the control was an OK experience" mean? Unless you wrote the control yourself you would hardly be implementing it.
# March 30, 2004 7:28 PM

Marc LaFleur said:

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.
# March 30, 2004 8:05 PM

Robert McLaws said:

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.
# March 30, 2004 11:01 PM

JosephCooney said:

I don't think I agree with your use of the word "implement", but hey...it's your blog.
# March 31, 2004 5:53 AM

Robert McLaws said:

Dictionary.com: Implementing:
"To put into practical effect; carry out: implement the new procedures."

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.

# March 31, 2004 12:44 PM

Randy H. said:

How are you going to be handling your beta with this? Will it be open, or limited to select users?
# March 31, 2004 2:33 PM

Robert McLaws said:

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.
# March 31, 2004 2:37 PM

JosephCooney said:

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 "Implementing the control was an OK experience" 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.....
# April 1, 2004 6:59 AM

Robert McLaws said:

Joseph, I still think you're missing the point. I'll talk abotu it over in my corporate blog later today.
# April 1, 2004 3:19 PM

TrackBack said:

# April 2, 2004 6:31 AM

K. Shier said:

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.
# April 2, 2004 1:19 PM

Robert McLaws said:

Crystal is definitely another demon.

You may want to check out my corporate blog and see what my company is doing about it:
http://blogs.interscapeusa.com/robert/archive/2004/04/02/273.aspx
# April 2, 2004 1:25 PM

TrackBack said:

# April 16, 2004 4:32 AM

TrackBack said:

# April 25, 2004 6:46 PM

J Gustafson said:

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.
# April 28, 2004 1:29 PM

Developer said:

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.
# May 25, 2004 1:39 PM

Another frustrated would-be customer said:

I evaluated ComponentOne last year at the company I was at then. Their website and all their P/R looks snazzy, doesn't it? Well, I gave up just trying to get their demo projects to work (several of them had show-stopping bugs in them and/or the instructions were wrong so you couldn't get them to work). So I figured, if their demo projects (that are supposed to convince you to spend 600-900 bucks on their tools) don't even work right, what are the immensely more complex actual product components going to be like? Granted, sometimes demo projects are slapped together without the same level of Q/A as the real product... But, crappy work on something as important as what-is-supposed-to-convince-you-to-buy seems to indicate a general level of crappiness. And anyway, how much effort does it take to have one of their employees sit down and run through the demo project instructions, for Pete's sake? But the capper was that when I started communicating with their support about the demo project bugs, they would never admit that there were bugs until I repeatedly sent them enough screenshots and detailed proof to sink a battleship. In other words, their attitude sucked. Went with Infragistics.
# June 17, 2004 2:58 PM

cw said:

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.
# June 17, 2004 3:23 PM

Ben Li said:

at Aspose ( http://www.aspose.com ) we have reporting engines to produce Word/Excel/PowerPoint/Pdf documents. Now we're proposing to make Aspose.Crystal, that is probably defined as a pure .Net alternative for Crystal Reports for Microsoft Visual Studio 2005 but with much better performance price ratio. Now we're totally open to your requests on how it should look like so feel free to post your needs.

Thanks for your valuable input in advance.
# July 20, 2004 12:02 AM

Robert W. McLaws said:

I would recommend against calling it Aspose.Crystal. You're opening yourself up for some serious litigation. Call it Aspose.Reporting or something.
# July 20, 2004 2:43 AM

What Should ComponentOne Have Done? | MikeSchinkel.com said:

Pingback from  What Should ComponentOne Have Done? | MikeSchinkel.com

# June 15, 2008 6:11 AM

What Responsibility the Component Vendor? | MikeSchinkel.com said:

Pingback from  What Responsibility the Component Vendor? | MikeSchinkel.com

# June 15, 2008 6:58 AM