Visual representations of complex relationships
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