Breadcrumbs are Evil

13 Jun 2008

I’ve been on a few projects where I’ve had to mess with breadcrumbs and they tend to be much more trouble than they’re worth. It all starts simply enough: put the users path through the app on the page. Which isn’t too hard.

Then the bugs come.

Like: “This page is linked to from page A but it really is more of a child of page B so the breadcrumbs should show page B and not A even if they come from A”

Or: “When I come to page X from the search on the front page it should have breadcrumbs with Y and Z because that’s really what it’s under.”

And: “Page L is listed under K but should be under M (followed a few days later by) Page L is listed under M but should be under K”

Oh, you want a hierarchy. Which is hard.

First: There’s now a new job to be filled: Taxonomist. Somebody is going to have to figure out where all the pages in the app fit in some sort of tree. And this list must be maintained.

Second: There must be code that manages all this. And since there are always exceptions to the rules of hierarchy it can get quite complicated.

Third: Although your customers don’t really care where the page fits in the hierarchy, everyone else in the business does. A lot. So much so that there will be many (perhaps endless) arguments about exactly where things “belong.”

All this will take plenty of time that could be used doing something that, you know, your customers may actually need. I guess I really don’t have too much problem with “true” breadcrumbs (aside from the fact that I never use them and they’re kind of a relic from the days of “Wow the internet is so complicated people will get lost!” and they can probably be replaced with a good search box) but what I really hate is when they act as a gateway drug to hierarchy.