Fog Creek Software
Discussion Board

Explorer or Yahoo-ish heirarchy representation?


I'm currently in the process of designing an application interface for the average business user - definitely not a power user by any stretch of the imagination. 

The Issue:

Discussing this with another developer - his opinion is that a Yahoo style interface makes more sense than a windows explorer-ish interface (using a treeview, etc.)  Personally I don't agree and don't like the fact that I need to go back 3 pages to go back up to a certain spot in the heirarchy.  What's everyone's opinion on this?

Tuesday, December 10, 2002

What you're referring to is called "cookie crumb" navigation, and usually has the categories at the top of each page, like  "Category1>Subcategory>Subsubcategory" and then the page full of stuff, and you can navigate back subcategories using that OR your back button.

My opinion: cookie crumb navigation is the single best navigation scheme for highly structured sites. You should note that a lot of major sites use it, and the web usability guys all like it. As a user, I love it, and as a developer, it's not hard to code.

Troy King
Tuesday, December 10, 2002

I think the Explorer treeview style would be better, and I think the problem he has with that style is he's not used to it.  Once they get over the learning curve he should like it.  Ask him to try where they use a treeview style.

However, I think the treeview style is most appropriate for not too little links and not too much links.  Otherwise, you should go for the directory based approach.

Tuesday, December 10, 2002

Something you may want to consider is how you're going to deliver your application to the user - ie. as a web application or as a desktop application.

In the case of web applications building an interface around a tree control is a lot more challenging than what Troy refers to as cookie crumb navigation - yes it's possible, but you probably don't want to start down the road of framed pages and/or DHTML if you don't have to.

Have a look at this page on Interaction Design Patterns:

In particular see:

Does the "Use when" sound applicable to your application?

My opinion on such interfaces is that they're fine - although if I'm constantly having to navigate down 3 levels of the hierarchy I'd like some alternative interface elements to get me places quicker (e.g. "quick links" to popular items, search capability, etc).

Walter Rumsby
Tuesday, December 10, 2002

Thanks for the quick replies folks.  Here's some comments I have.  Just to give a little more background info - this interface has to be implemented on the web as well as on a windows client.  This will all be done with .NET.

HeyMacarana wrote:
"I think the Explorer treeview style would be better, and I think the problem he has with that style is he's not used to it.  Once they get over the learning curve he should like it."

Well, he's used to it, he just doesn't think it's as intuitive as the "cookie-crumb" navigation scheme.  I guess it all comes down to personal preference and ease of implementation.  (Sure it's easy on the web, but what about on the windows client side?)

Walter Rumsby wrote:
"Something you may want to consider is how you're going to deliver your application to the user - ie. as a web application or as a desktop application."

It's funny you should mention that - I'm going to need to do both web & windows clients.  Obviously the goal would be to have both web & windows clients work in the same manner (as close as practically possibly.)  The easier solution IMO would be the tree navigation as ASP.NET already gives you a DHTML tree control (similar if not the exact control used on

And thanks for the link to the "Interaction Design Patterns" site.  Very cool stuff.

Tuesday, December 10, 2002

On whether the web client and desktop clients should act the same, I think this is an interesting question.

Personally, I am not sure whether they should be almost identical. For instance, I think a cookie crumb navigation would be annoying in a standard app, and I don't think it's something seen much. On a windows system, you have tree widgets you can use, which make it easier to implement well than doing it on a web page.

I don't know, but I'm thinking that you should at least consider different or configurable interfaces.

What do you guys think on this?

Mike Swieton
Wednesday, December 11, 2002

"The customer is always right." And if you completely divorce this part of the implementation from everything else you can just snap in an Explorer style interface if it turns out that he's not.

Wednesday, December 11, 2002

You can provide both.  The tree view could be an optional side bar.

Or you could do something entirely different.

One of the problems with the 'this is how far, how deep I've got'  navigation is that its fine to show where you've been but lousy at showing what else exists.

If the structure is a tree, a tree view sounds like it should be the best choice.  But the drawback to the tree view is that you can see more, but only of the view you select, you still have to hunt down a branch.  The only real difference between the two is the number of nodes you can see at one time.

Yes you could open up all the branches of the tree at once, but if its any size it will just swamp the user. 

But is the structure really a tree?  Is it true that information at one branch, leaf is really isolated or only describable as being in a single context.

Is phylum, genus and species (or whichever is the right order), true for all knowledge, or is it just an Aristotelian straightjacket (BBC 4 Philosophy of Science 9:30pm Wednesday).

Perhaps a model similar to one experimented with by Xerox, where the domain is seen as a sphere and presented as such.  As you 'push' your mouse at any tangent of the sphere it spins towards you in that direction, as you push 'down' into the sphere it resolves into greater detail.

It looked nice and worked though it did funny things to the mental map in my head of what I was looking at and it was really too detailed for a real world example.

Perhaps another model would be a jigsaw, the more you travelled through the domain the more pieces you pick up, whether you see them all is up to you, but you can zoom into any one jigsaw piece and similarly break that up into pieces, a self similar navigation tool.

Now, someone might say, but all that cross subject navigation is handled by links, you don't have to navigate with that, the user points and clicks and ends up somewhere different, and they know they can navigate 'backwards' using the browser.

Count the ways the user has to keep in his/her head as to how to navigate, their name is Legion.

No wonder people get confused.

Simon Lucy
Wednesday, December 11, 2002

What a bunch of disparate developers think is not as useful as what the real users think. If at all possible you would be better surveying users and/or testing a quick prototype with some of them.

Developers likely have very different preferences from "real" people :)

Wednesday, December 11, 2002

sgf > Developers likely have very different preferences from "real" people :)

I disagree. I'm a very heavy user as well as a long-time developer, and things that are hard to use or hard to learn really tick me off. I'm a very impatient user, and get frustrated with interfaces very quickly.

As for the tree navigation, someone suggested MSDN as an example of why it's good. I hold up MSDN as an example of why tree navigation stinks: it requires too much screen space on the tree. By the time I can find what I want in the tree, I have expanded several levels of categories and topics, and either have to stretch the tree to take up half the screen so I can read the topic names, or have to scroll back and forth in the tree itself. Also, that leaves less room for the actual part I care about, the topic, and it is difficult for me to quickly discern in the tree which topic is active.

I loved trees at first (seven years ago), but have found over time they are too difficult to use and force me to pay attention to how I navigate rather than paying attention to the content.

Troy King
Wednesday, December 11, 2002

Trees are generally difficult to use because humans don't usually organise information into more than 2 or 3 levels. In addition, humans also do not organise information by one single attribute. Instead, the same subject is organised into several different categories based on context.

Trees do not satisfy either condition (And anything that does is not really a tree :-)

I say humans because we all are, but I concede that it is my assumption :-)

I say generally, because there are always exceptions.

These are not my private opinions, but the results of numerous studies and of theories established and validated by many smart people over the course of many decades.

Practical geezer
Wednesday, December 11, 2002

Another issue is making this content accessible to all users. I reckon I could code a trail-type nav system which would be usable by screen-readers, etc. and would pass things like, for example, Section 508, but I don't think I could say the same for a tree... While that's true, with the current state of browser/client technology, to me there's only one option.

Andrew Cherry
Wednesday, December 11, 2002

I find it odd that you are asking for advice on a user-interface issue without any description of the WHY you are thinking about using either of these implementations. Is your application hierarchical? I assume that it must be, because both of the options you suggested are designed to help you navigate a hierarchy, however I’ve seen plenty of applications that use hierarchic controls to represent non-hierarchic concepts (with catastrophic results). For example, I think that a “cookie crumb” navigation system would drive me nuts if I was working with a CRM application because I find I need to jump from function to function while I talk with a potential client on the phone. However it would work really well in a reporting and analysis application because I’d typically want to drill down to a useful level of detail.

Anyone that tells you that they prefer one interface element over another has a specific example in their mind… the real question is whether the application in their head is anything like the one you are developing.

Geoff in Vancouver BC
Wednesday, December 11, 2002

Just do what the management at my company does when faced with a "this or that" decision.  Do both! 

Joe Blandy
Wednesday, December 11, 2002

*  Recent Topics

*  Fog Creek Home