After I posted my last question here, I read a bunch of articles about how treeviews are the devil and stuff. Almost everyone talks about better search engines, tagging and faceted search.

But it happens, that I need an explorative Interace for a big hierarchical data structure.

Here are the key points:

  • The data gets generated hierarchically, you can request child nodes, but you never know how many children a node has, can be zero, can be thousands.
  • When the users use the system for the first time, they tell you that they need ALL the data, because it's their business and telling them, that "smaller pieces" are better to comprehend is not an option.
  • When they use the system for a time and understand that they only need some of the data they tend to filter it down to the stuff they need, but this is a learning process and most of them only realize what they need when they tried it.

Because of the exploration phase, which happens the first few usage weeks/months a search-like feature isn't possibile. Also, because the data is big, generating tags out of it isn't possible. Even a faceted search property can have thousands of characteristics.

Building a simple tree would allow to browse the whole data, but the amount of child-nodes a node can have can be enough to kill the client.

I thought about a two phase interface:

  1. Exploration View
  2. Specific View

The last one would consist of the the nodes a user found and deemed interesting.

But the first one needs some mechanisms, which allow to browse the whole data in comprehensible data chunks.

My ideas were

  • a paging for every node, if it has children. so the user only sees 10 children and can browse to the next 10 or to a specific page. Probably with the help of sorting and/or filtering.
  • a virtual node, which loads the next 10 nodes, but this would only slow the user down AND let the tree get big anyway, so it's probably a bad idea.
  • Does ux.stackexchange.com/questions/23592/… help? You could have an additional column of how many child-nodes would be retrieved at the next level. Jul 13, 2012 at 20:23
  • Is the system setup so that it can return the number of direct-child nodes? (e.g. not child's child. just one level)
    – Jung Lee
    Jul 13, 2012 at 20:33
  • no, I know that there are any children, when they are calculated.
    – K..
    Jul 14, 2012 at 13:59
  • Have you looked at treemaps? As used by newsmap.jp Jul 15, 2012 at 2:42

1 Answer 1


This is a great opportunity to get creative.


download bmml source – Wireframes created with Balsamiq Mockups

Smart programming can take care of your performance issues hopefully. Just load things as you need them. Allow users to hide things they don't care about. Use a tree (it just makes sense logically) but don't let yourself be stuck in linear traditional tree UI's.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.