Browse Prior Art Database

User Interface Control for Viewing Complex Relationship Graphs Between Many Objects Disclosure Number: IPCOM000131693D
Original Publication Date: 2005-Nov-15
Included in the Prior Art Database: 2005-Nov-15
Document File: 5 page(s) / 494K

Publishing Venue



A program is disclosed that allows complex relationships between objects to be navigated by using an animated graphical component, consisting of an interactive box-line diagram and various options for controlling its appearance. It will show relationships ('lines') between different objects ('boxes') and allow the diagram to be manipulated such that objects can be hidden or grouped together so that large numbers of objects do not cause the diagram to become unusually large. Each time the diagram is updated the change is accomplished using an animation effect. For a given set of objects and their relationships the invention will calculate the optimum way to present this diagram. This will include: · Minimizing the number of lines (object relationships) that cross over one another when displayed · Aggregating objects of the same type The resulting diagram is then easier to read and has fewer objects immediately visible. The user can interact with the diagram in the following ways: · Expand aggregated objects to see a concise list of all the objects that the contained therein · Uncollapse aggregated objects to so that each contained object appears as a separate box on the diagram · Collapse any given selection of objects into an aggregated object · Zoom in and out of the diagram · Scroll the diagram · Navigate the diagram using a separate birds eye view · Remove objects of a particular type from the diagram

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 5

User Interface Control for Viewing Complex Relationship Graphs Between Many Objects

Many software products work using an object orientated paradigm. This allows users to create objects that perform various user defined actions. These objects, depending on their type, can be used within other objects and so on to build up complex user defined actions, creating a complex web of dependencies between objects.

A problem for users is how to know that changing an object A will impact on objects B, C etc that re-use A and exactly how that object is used. For example, a seemingly trivial change to object A could affect 100's of objects and cause unexpected results. When there are 1000's of objects in use, it is impossible for the user to know what objects use any other given object without the software performing an operation sometimes referred to as 'Impact Analysis'. This allows the user to find out, for any given object, what other objects use it ('Where Used') and what objects it itself uses ('Depends On'). The results of this impact analysis can be displayed graphically in a box-line diagram, which shows that object A is used by objects B, C etc.

This proposal solves the problem that for any non-trivial set of objects, an impact analysis diagram is very difficult to read and navigate, because of the shear size of the diagram and number of objects it contains - there are too many overlapping lines and too much text to read. Fundamentally, too much information is displayed, a lot of which the user is not concerned with.

This proposal is a new interactive UI control that presents the information in a simpler to understand diagram that the user can manipulate to show selected parts of information. It will among other things, aggregate objects of the same type together so that the user still has all the information available, but so that it isn't all immediately visible on the diagram. The result is a much simpler diagram that initially shows summary information and can be expanded in-place by the user to show the detailed information.

The diagram is implemented using a model / view paradigm. The model part is non-visible and allows any kind of object to object relationship to be described to the control. The view part controls the generation of the graphic image and also controls the animation when the data in the model part changes.

A screen shot of the control is shown below:


Page 2 of 5

For the purposes of describing how the diagram works, it can be broken up into the functional areas.

Optimized view

The goal in producing an optimized view is to reduce the number of lines that cross over one another, and to reduce the total distance of all the lines in the diagram. When the view generates a diagram from the data in the model it will first generate different views in memory by changing the order in which the objects and lines are drawn...