In-Depth

Profile: It's All About Quality

Most organizations in software development are interested in application quality; Instantiations is doing something about it.

Mike Taylor, cofounder and CEO of Instantiations, Inc., knows through experience what enterprises seek in application development processes and tools. "In many cases, they have already spent several thousand dollars per developer in making sure that they can design and build useful applications. If they are going to spend anything more, they need an ROI [Return On Investment]," he explained.

Taylor and his colleagues have built products that try to make ROI clear and concise for enterprises. They build these products from a foundation of serving enterprises that dates back almost two decades.

"The first incarnation of Instantiations was sold to Digitalk in 1992," Taylor said. Digitalk Smalltalk was the first PC version of the language on the market at the time, and it was a low-priced product geared toward hobbyists.

"We helped make Digitalk Smalltalk more acceptable in enterprise development environments," he continued. This task involved raising the price of the product, providing quality support, and assisting enterprise development teams with the process of building high quality applications in Smalltalk. Digitalk later merged with ParcPlace, the other major provider of Smalltalk products (and a direct descendant the Smalltalk research completed at Xerox Palo Alto Research Center in the 1970s and 1980s), in an attempt to offer a unified picture of Smalltalk to the enterprise.

By 1997, Smalltalk was declining as an enterprise development platform. While the language was used in a number of enterprise development projects, it was not being taught in universities, and its value proposition was similar to that of Java, a platform rapidly growing in popularity. So ParcPlace-Digitalk was renamed to ObjectShare. ObjectShare was the entity that reinvented Instantiations t.

"We had several Smalltalk products that came with the spin off of Instantiations that enabled us to bootstrap into the Java market," said Taylor. The concept of quality as a product focus came naturally to Instantiations. With a strong background in enterprise application development, Taylor and his colleagues found quality was a key need for the applications that organizations depended upon for their business.

Smalltalk and Java have a number of similarities, which simplified the company's platform transition. Both languages are fully object-oriented, and both possess an extensive class library to ease the building and use of stock application constructs. Smalltalk also encouraged the development and use of certain disciplines, such as prototyping and iterative development, that are useful in building enterprise applications.

Two Product Lines and One Bridge
Today, Instantiations has two product lines. The first is the Windows Builder Pro line, a drag-and-drop graphical user interface (GUI) builder for Java applications, and CodePro Analytix, a rules-based automated testing tool for Eclipse and IBM WebSphere and Rational development environments. According to Taylor, Windows Builder Pro is the most popular GUI builder for Java Swing-based applications. It currently also supports the Standard Widget Toolkit (SWT) for Eclipse-based development, and the Google Web Toolkit (GWT) for AJAX-style development.

The company also recently launched a third product, Windows Tester Pro. Taylor describes Windows Tester Pro as a bridge between the other two product lines. He said, "We provide one of the most popular tools available for creating Java GUIs in Windows Builder Pro. We also focus on code quality through CodePro Analytix. It's only natural that we would devise a way to automate the functional testing of GUIs in order to improve code quality."

Windows Tester Pro provides a unique function. It enables functional testing of GUIs to begin during development, at an earlier stage than in QA testing. Developers record GUI scripts and save them in the JUnit framework as JUnit scripts. Developers can run these unit tests during the development process in the same way they run their other unit tests. With this methodology, functional testing isn't a separate task, but rather, it is an integral part of unit testing.

Once the application reaches QA testing, the functional tester can take the GUI unit tests and link them together to produce larger and more complete functional tests. The testing group can also produce its own tests and combine them with the scripts recorded by the developers These feature create a comprehensive and multi-facetted test regime for applications in development, and developers produce more thoroughly tested application, with testing started earlier in the development life cycle.

Beating Market Competition
Taylor agrees that the quality tools market is highly competitive. He explained, "The competition is especially tough when you consider that we compete not only with other commercial tools, but also with open source. We also sell into the Eclipse community. Developers have a broad choice of solutions, and they choose us pretty often." He notes that because Instantiations products support the Eclipse IDE, it is not uncommon to find development teams that are using the free and open source version of Eclipse and the commercial development and quality tools offered by Instantiations.

Instantiations does not have a free or open source offering, which is common among Eclipse vendors. So how does a company with purely commercial software compete in an area where software developers have a broad choice of both commercial and open source alternatives?

The answer to this question goes back to Taylor's experience in enterprise development, or more simply ROI. First, Instantiations products tend to cost less than some of the commercial alternatives; although, they are by no means free. The company prices software from $500 to $1000 per developer. Second, the products focus carefully on the features enterprise developers need to develop high-quality software. This means products include, at minimum, features that the Instantiations engineering team might consider "cool," and at maximum, effort on capabilities that are important when developers are under a tight deadline and have to make sure quality doesn't slip.

Taylor notes with pride that Instantiations has been doing very well over the last several years, with high rankings for growth from the Oregon Business Journal, where the company is headquartered. He does not envision drastic changes to the Instantiations business model in the foreseeable future. For a tools provider that has such a clear focus on development and quality, Taylor's outlook may not be a bad thing.

About the Author

Peter Varhol is the executive editor, reviews of Redmond magazine and has more than 20 years of experience as a software developer, software product manager and technology writer. He has graduate degrees in computer science and mathematics, and has taught both subjects at the university level.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube