First and foremost this is a web application.

Basically I'm looking at the concept of editing a record. Each record is tied to a tree node path. I'm kind of at a loss as far as what would be the easiest way to say this record is tied to root->some category->some subcategory and allow them to somehow change it.

I've come up with the following options but I'm not so sure I'm sold on any of them.

  1. Display the current path so: root->some category->some subcategory, and clicking on this path would popup a dialog with a tree where they could go in and select a different path
  2. Build some sort of combo tree dropdown and let them select there (seems like this could cause to usability problems with space constraints
  3. Build some sort of auto complete textbox that will auto complete node names and when they type the / set the context to that treenode so that auto completing the next level should just work. At the end ultimately setting the actual value to just a tree node id or something

I'm interested in hearing other ideas. Seems like heirarcal data and trees kinda just tend to be bad usability period, I just want to make the best of it.

  • Have you looked into Miller Columns? en.wikipedia.org/wiki/Miller_columns Might be a place to start looking at examples and getting inspiration. You can do some funky things with them.
    – Tara
    Dec 3, 2014 at 16:39

2 Answers 2


Let's give this a context.

Geographical / Political

You want to edit a record (say the name of Mayor of a city). New York is inside NYS which is inside the USA. OR

Music / Movie

Edit the name of a musician in a band which is part of some sub-genre, part of a genre part of a meta-genre.

Store Inventory

Item, Sub-Category, Category, Department

In each of these examples a hierarchical tree works very well. It really depends on:

  1. the data being represented
  2. what is understood and useful to your users.

Generally speaking I try to avoid combo-tree drop-downs and try to find something that is more intuitive to the data and users.

If it's geographical one can drill-down on a map (assuming the users are very familiar with the geography) and know that Paris is in France (and can locate France effortlessly on a map).

All in all there are many good ways of solving this problem.

  • Well its quite literally just a way to categorize their data... in this case Equipment. So say they have: Building 1->Top Floor->Conference Room1->Projector I want to be editing the details of a projector and have as easy to use experience being able to select that location (via drilling to the tree hierarchy one way or another) Seems like if they knew what they were looking for, being able to type it would be ideal... but I suspect in this case, they wont know... and would need to start from the top.
    – Ronnyek
    Sep 4, 2014 at 17:48
  • It seems (without having done any user analysis) that your users will either think of the location (Room 1) and then think of / want to know the equipment in that room OR they will want to know the number of and the location of all the projectors. ---- Depending upon the complexity you can do both. Show clickable building/floor plans and grouped lists of equipment.
    – Mayo
    Sep 5, 2014 at 13:18

I would consider displaying all items together, standardise and classify records according to their common attributes to create a basic record template and then attach what is particular to each group of category using icons or/ and descriptive labelling. when users want to edit a specific record they can filter and sort results to zoom in and open each record in an editable mode. the advantage of this is it allows users to be more task focused and don't have to deal with the difficult task of opening up categories to find what they want.Hope that helps.

you can also display the category path on top of the page so users can jump from a specific category to a broader category.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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