Visual representations of complex relationships

From: Mark McMillan <mmcmilla_at_ncfbins.com>
Date: 2000/01/11
Message-ID: <387B393C.F3B2EF83_at_ncfbins.com>#1/1


Greetings.

We are struggling with how to build a user interface for data which has some complex relationships. In particular, the data has a number of N:N relationships between business objects (tables). This is an insurance application where you have the basic concepts of CLIENTS
(people or organizations), POLICIES (the insurance product), and

ROLES (the role that a CLIENT plays in a particular policy).

There are a number of roles that a client can play in a policy
(e.g. they can be an INSURED, DRIVER, LIEN_HOLDER, etc). A policy
can have any number of clients related to it via different roles, and likewise, a particular client can be related to any number of policies.

In effect, the 'roles' express N:N relationships between CLIENTS and POLICIES. From a programming point of view all this is fine and works well. But we need to build a UI that expresses these relationships, allows the user to quickly find the information they want, and is easy to use for a relative novice.

The traditional approach is to use two (visual) tables, the first contains (say) a list of CLIENTS. When a client is selected, the 2nd table is populated with all the POLICIES to which the selected client is related. This is a clumsy UI (there is no clear *visual* relationship between the tables). It is also client-centric... what if the user wants to select from the list of all POLICIES first?

Our partial solution is to use a tree-view where the root nodes are clients, and they expand to show all the policies to which the client is related. This is OK, but is still client-centric. So we added a "mode" button that turns the model around and puts the policies at the root and they expand to show the related clients. This is a bit confusing... and it all gets much worse when we want to add some "folder"-style organization to the whole thing.

I feel like we are missing some clever, simple way to visualize these N:N relationships and allow a user to explore them from either end.

Anyone have ideas on good UI techniques for this sort of thing?

Thanks,
-Mark McMillan Received on Tue Jan 11 2000 - 00:00:00 CET

Original text of this message