By Egor Kazachkov, software engineer, Data Visualization Controls team, Intel Corp.
This paper is intended for GUI developers who want to write portable, reusable, and fast controls for visualizing big and complex data. There are some common problems such as bad performance and usability issues such as the inability to present big data sets in clear way, so the user can easily navigate and analyze it. Also, program data structures and visual data representation often becomes very dependent. Thus control becomes very specialized and cannot be used in other applications without making significant changes. This paper presents an approach to design complex controls that allow solving the problems discussed above. In this paper, examples of the graph viewer control are used to illustrate the basic ideas. These ideas can also be applied to a variety of other controls.
Definitions
A Graph is a set of objects and relations between them. Objects are called nodes. The relation between the nodes is called edges. So, a visible graph is a set of nodes (squares, rectangles, circles with or without labels, and so on), and edges (lines or curves) connecting the nodes. The algorithm that defines the position of the nodes and edges is called a layout.
Note that the nodes can contain other nodes and edges (subgraphs). All nodes that have edges going from them to any given node are called parents of this node. All nodes that have edges going to them from any given node are called children of this node.
Common problems in graph control
There are many applications where graph control can be used for visualizing data. If you want to use the same graph control for different applications you must provide a way to customize it. Any such customization must not affect the performance of the application. Following is a list of possible problems that you may encounter when you apply control to different applications:
- Appearance of nodes and edges. Graph elements may either have a different color and shape, or may or may not have a text label, and so on. It is impossible to predict the appearance of the graph elements and implement them in advance. Also, there are a lot of possible graph layouts used in different cases. You may need a way to change this according to the application.
![]()
If you're interested in this topic, these articles may be helpful:
![]() | ASP.NET validator controls by Andrew Ma This tutorial gives a brief overview of how to use the... |
![]() | Embedding .NET controls in Java by Heath Stewart, Microsoft MVP, directory of technology, Proplanne... |
![]() | Eclipse 3.1.1 from The Eclipse Foundation Eclipse, a Java-based open platform for... |
![]() | OOP Demystified: A Self-Teaching Guide, Chapter 8: Real World Modeling by Jim Keogh and Mario Giannini. McGraw-Hill/Osborne Books. Theory ... |
![]() | .Mac SDK 2.0 from Apple Computer Inc. With .Mac SDK 2.0, you can extend an appli... |
![]()
Related Jobs:
![]() | Test Manager #151216 - WA - Redmond - Microsoft Corporation The Entertainment and Devices Division is leading the company’s digita... |
![]() | Testing Engineers #2371501 - OH - Cincinnati - Ajilon Description : Ajilon Consulting in Cincinnati has a new opportunity ... |
![]() | Senior Software Developer/Applications - NY - Brewster - Intelligent Search Technology Design and maintenance of software products, web services used for i... |
![]() | Java GUI Developer - VA - Herndon - Secure Elements Incorporated. GUI/Java Developer, JFace/Eclipse/SWT Reports To: Senior Director ... |
![]() | Software Application Developer/Analyst #13451 - NJ - MiddleTown - Radiant Systems, Inc The position is for a BEA Portal Engineer / Java Developer who has exp... |
![]() | Group Program Manager #147018 - WA - Redmond - Microsoft Corporation The MSN Search team is looking for a Group Program Manager to drive ou... |
![]() | Software Engineer #2274606 - NY - Rochester - Ajilon Consulting Title : Software Engineer Posted : 08-17-2005 Contact : ... |
![]() | Research Scientist #RX1000018754 - CA - Sunnyvale - Yahoo! Inc. Research Scientist Job No. RX1000018754 Location US - Sunnyvale... |
![]() | Development Manager #151215 - WA - Redmond - Microsoft Corporation The Entertainment and Devices Division (E&D) is leading the company’s ... |
![]() | Program Manager #147020 - WA - Redmond - Microsoft Corporation Program Manager, MSN Search Ranking--The MSN Search team is looking fo... |

