Using 3rd Party Components

Posted by Kirby Turner on May 24, 2005

Knowing when to use a 3rd party component is a key to developing a software product. The use of a 3rd party component can save count hours and allow your developers to focus on the core product. However, the selection of the wrong component can cause many headaches and cut into developer productivity.

At White Peak Software, we put each component under consideration through a series of tests. Among the things we do, we write sample applications using the component to make sure it does what we need. And we will combine its use with other components we use to ensure no conflict.

Part of the goal in doing this is to ensure that the component is easy to use. If it takes more than a few minutes to start using the component then it is not the component for us. For instance, I recently purchased an XML parser for Delphi called NativeXml. This component not only did what I needed but I was able to start using it minutes after reading through the documentation. (Yes, I prefer reading through documentation before using something.) Using NativeXml, I wrote a sample application that reads language translation files stored in XML, parses the XML, and builds a resource model that is used to set static text to the appropriate translated value. I bought the component as soon as I finished the sample application and I am now using it in a real application.

When looking at 3rd party components, be sure to consider the following:

  • Is the component easy to use?
  • Is the component well documented? In many cases, I will not even consider looking at the component if I cannot download and review the documentation and help files prior to purchase.
  • Does the component include sample code? -Does purchase of the component include full source code? I will rarely buy a component that does not come with the full source code.
  • Is the component well supported? Is it community supported through online forums? It is rare that I will buy a component if the vendor does not provide some type of searchable web forum or newsgroup for support.
  • Is there a guarantee? I have never returned a component that I have bought but knowing that I can gives me extra comfort.

Posted in uncategorized. Tagged in .