GoDiagram for .NET Product Review

By Anand Narayanaswamy Oct 24 2006
GoDiagram components make it easy to add expressive, interactive diagrams to your .NET application. Designed and developed by Northwoods Software, GoDiagram is the leading industry solution for producing high quality diagrams and is the latest in a line of diagramming class libraries from Northwoods Software.
    • Like
    • Love It
    • Awesome
    • Interesting
    • It's Okay
    • Thumbs Down
  • 9.5k
  • 0

Sometimes, learning concepts with the help of natural diagrams is easier than grasping the content on the text. For instance, you can create a Diagram to illustrate the evolution of Microsoft .NET rather than presenting the information in one or more pages. GoDiagram components make it easy to add expressive, interactive diagrams to your .NET application. Designed and developed by Northwoods Software, GoDiagram is the leading industry solution for producing high quality diagrams and is the latest in a line of diagramming class libraries from Northwoods Software.

One of the interesting feature of GoDiagram for .NET is that it is completely developed using managed code and has been designed and implemented from scratch to take full advantage of the many new features of Microsoft .NET Framework. The product is developed using C# and it only depends on the standard .NET Framework classes and does not explicitly call any external functions like ActiveX components. Northwoods Software's GoDiagram is the first diagramming component in the market that is designed for .NET. You need not have to use any old ActiveX control in order to create diagrams if you know the usage of GoDiagram for .NET.

GoDiagram is available in four different editions such as GoDiagram for .NET Windows Forms (GoDiagram Win), GoDiagram Express for .NET Windows® Forms, GoDiagram for ASP.NET Web Forms (GoDiagram Web) and GoDiagram for .NET Compact Framework (GoDiagram Pocket). The vendor also provides these editions for both .NET Framework 1.1 and 2.0. I tested the product using Visual Studio 2005 with 512 MB RAM.

The GoDiagram library, Northwoods.Go, is a set of controls and classes built on the .NET platform. GoDiagram makes it easy to deliver editors that allow users to see and manipulate diagrams of two-dimensional graphical objects arranged in a scrollable window. GoDiagram provides a variety of basic graphical objects such as rectangles, ellipses, polygons, text, images, and lines. You can group objects together to form more complex objects. You can customize their appearances and behaviors by setting properties and overriding methods.

In order to use the product, you have to understand the differences between GoDiagram View and Document. A GoDiagram view is a control that displays a GoDiagram document. It supports mouse-based object manipulation, including selecting, resizing, moving and copying using drag-and-drop. GoDiagram organizes input behaviors into tools that you can modify, override, or add or remove from a view. The view also supports in-place editing, printing, and grids. A GoDiagram document implements a model that supports manipulation of objects. Adding an object to the document makes it visible in the document's views. You can organize objects in layers. GoDiagram provides support for composing and manipulating graphs (node & arc diagrams), where nodes have ports that are connected by links.

The GoDiagram library is flexible and extensible. You can easily customize most objects for application-specific purposes by setting properties or by subclassing. You can add completely new graphical objects to the existing framework using the product.

To provide greater customizability and ease of use, Northwoods offers, as a separate option, another library, Northwoods.Go.Layout. This option extends GoDiagram one step further by providing sophisticated automatic layout algorithms such as Tree Layout, Force Directed Layout and Layered Digraph Layout for nodes in graphs. The AutoLayout component is sold and documented separately along with GoDiagram Professional edition. You will find more information about the AutoLayout package at http://www.nwoods.com/go/autolayout.htm.

One of the new features of GoDiagram is the addition of GoInstruments. The Instruments library for GoDiagram is a set of classes built to display numeric values in a graphical manner as part of GoDiagram applications. The classes implement scale objects that display a scale with regular markings and labels and they implement indicator objects that indicate a value on a scale.

The objects can be customized and combined to present many different kinds of appearances. In the real world, depending on the industry, such things are called meters, dials, rulers or gauges. Because there is so much customization that can be done, GoInstruments does not provide any prebuilt instruments. But the product includes an InstrumentDemo sample application which defines many such objects for various purposes and with various appearances and behaviors.

One of the advantages of Instruments is that it is part of a larger environment that supports graphics other than the instruments themselves, making it possible to add the instruments to a more complicated diagram. The Instruments package is included only with Professional packages for .NET.

A complete list of all the features about the product can be accessed at http://www.nwoods.com/go/dotnetfeatures.htm. You can also download a video presentation about the product which was created for the purpose of TechEd conference from the above mentioned URL. You can download fully functional evaluation version of the product by registering at http://www.nwoods.com/go/evalform.htm.

I found it somewhat difficult to work with the product initially. The vendor provides the required documentation and user guide in Word format instead of HTML help format. The content is good but I found it extremely difficult to follow it using Word. I would suggest the vendor to convert the documentation in HTML help format since it will be easy to read by selecting the required section heading from the left panel.

The vendor provides a live demonstration of all the samples at http://www.godotnetweb.com/GoDiagramWeb2.5.2Samples/. You can truly experience the function of each sample application included with the product by performing all the required tasks in a live environment.

GoDiagram is an excellent .NET component with which you can create various kinds of diagrams very easily and with minimal effort. I am sure that the product yield rich dividends if used effectively.