I want to display hierarchical data in the user interface in a treeview control.

The question is should the user has the freedom to define its first root node itself.

I do not care wether a tree has a root node to be a tree.

I just think about the advantage for the user having a pre-defined root node or not in the UI.

Do you see any disadvantage for the usability or that the user could be restricted from

certain posibilities having a pre-defined root node?

In my opinion the root node has this disadvantage:

  • its just a stupid placeholder for nothing, just there so the children are there...
  • it can usually not be deleted, thus I have to do extra checks...
  • I have to think about a creative name for the root node

Do not need:


Totally fine should be:

  • 1
    Ext.JS which I use uses a "hidden rootnode" feature. I guess most tree widgets have this feature. The reason behind is mathematical,so it's exposed system design if you wish.
    – Aadaam
    Aug 1, 2012 at 23:18
  • I think your second example is fine too. Forcing a visual root node is just forcing an extra click for the user when the tree is collapsed.
    – drawtheweb
    Aug 2, 2012 at 15:57
  • what is your exact problem? to me also your second solution seems very fine.. what is the issue with that?
    – Chris
    Aug 2, 2012 at 23:34

1 Answer 1


I can't answer from a mathematical perspective, but from a UX perspective the root node is not required if it conveys no information about the hierarchy, and especially if it is liable to cause confusion about what the root actually represents.

The primary reason for including a root node is to represent an actual object which is a superclass of all its descendants. For example, in web design, the home page on a website can fill this role (depending on the site's IA). On the other hand, if there is no actual object that the user would want to interact with at this level on the hierarchy, it makes sense to not present an arbitrary object to the user for the sake of completeness.

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.