|
|
![]() |
||||||
|
|
||||||||
|
August
1999
|
||
| Tree Component Usage Guidelines | ||
IntroductionTree Component for UI navigation and hierarchical data display have been with us for around 5 years. Despite there wide and common usage, little has been written about when it is good to use a tree and how best to use them. As I promised in April, I am now publishing the results from a debate that I started on the UIDesign.net discussion list. Thanks to all of those who contributed. The content of this article has also appeared in Swing by Matt Robinson and Pavel Vorobiev. This is a taste of the UI Guidelines from the book. Due to my exposure to Java in recent years this article is particularly relevant to Java JFC developers but should be useful for Windows, Motif and Mac developers too. Tree is a very powerful and sophisticated Swing component. It can often be used for the display, navigation, and editing of hierarchical data. Hierarchical data is, by its very nature, complex and the Swing JTree component is also complex. Care must be taken when selecting to use a Tree in a UIDesign and further care must be taken when selecting which of the many facilities to utilise for a given domain problem. Earlier AdviceI first turned to the books on my shelf when thinking about Tree usability guidelines. All I could find was a paragraph in Alan Cooper's About Face which said "unfortunately it is problematic for users because many people have trouble with hierarchical data structures. If treeview contents are restricted to no more than two levels, however, it can nicely show a monocline grouping of data". So not much there but a hint that using Tree is difficult and problematic. The much newer Java Look and Feel Guidelines have had the benefit of 4 years experience to come up with some advice. So what did they have to offer?
and that as they say was that! Not much to go on. The first point I believe is sound. In most cases you just waste space with the root. In the banking application that I designed in Singapore, we almost always missed out the root node which was usually the Bank (corporation) and went straight to the display of the 2nd level nodes, usually the branches (of the bank, too many leafs and branches here, Ed.) Usage of Tree Component
|
Visual Affordances in a Tree Component
Enhanced Usability with added widgets
Guidelines on Hierarchical Data
SummaryBefore using Tree Component in your design, be very sure that the User Task requires it. Don't get trapped into the idea that Hierarchical data must be presented with a hierarchical component. Consider other methods such as flat data display in a table or using a Search Criteria. If the hierarchy is not widely understood by users because they do not consider the domain as hierarchical then do not use a Tree at all. Just because you have a hierarchy in the object or data model doesn't mean it should be on the screen. If you must use Tree Component then think carefully and consider all the issues. Consider the problem domain and level of user knowledge. Consider how well you can iconify the containers and leafs in the tree. How well can you visually communicate with the user. When you have the answers to these questions then you can decide how best to use Tree Component. AcknowledgmentsThis paper was developed from the work I did for the Swing book by Matt Robinson and Pavel Vorobiev (see August news). It was also developed from feedback on comp.human-factors and from the UIDesign.net discussion list. The following people all contributed to that discussion: Stephen Palmer, Matt Robinson, Phil Bradley, Christine Ridgen, Terry Simpson, Jeff De Luca, Theo Hendriksen, & Mike Anderson. I also referred to About Face by Alan Cooper and the Java Look and Feel Guidelines by Sun and the March 99 UI Design Update by Dr. Bob Bailey at humanfactors.com. Further evidence for small levels of depth is in William Horton's 1994 book, Designing and Writing Online Documentation.
|
|
|
|||||||
|
|
|||||||
|
Copyright
uidesign.net, 1999 - 2003.
The UI logo device and uidesign.net wordmark are trademarks of uidesign.net |
|||||||