Account services

Bad habits 4: Incorrect semantics for breadcrumbs

Figuring out how the breadcrumbs should work on a website with a relational database behind it is something of a challenge. It is open to interpretation. Here is what we found out about our Themes website in 2000:

It occurred to me that navigation by theme is only one of a few ways to find the document you are interested in. We also have navigation on creation date (aka What's new), a list of all documents and finally keyword search. More ways are possible, e.g. a view for special emphasis on school children.

My problem is that currently the documents are chopped up into pieces and structured to fit the themes navigation and then the other alternative views must submit to the arrangement. We do this, so the breadcrumb trail makes it look like you're staying in the acidification theme when you are looking at e.g. the Dobris report.

In addition, the place in themes is not fully permanent. I suspect I a few years, when the amount of reports become overwhelming in a theme, that we will clean it up by deleting some of the older reports. If we have published in paper-reports a path for a report, which goes through the themes website, then people will not be able to find the report anymore.

What I'm suggesting is to split up the themes navigation and the permanent address for a report. You will be able to navigate through the permanent URL, but the navigation is more computer friendly and will look like "show all reports" in themes - in the future expect hundreds of documents in a flat list.

What this boils down to is that the breadcrumb depth should reflect the natural "context-free" browsing behaviour for a data structure. For instance for an invoice the lines on the invoice can only belong to one invoice, so if you have designed the website to have a details page for an invoice line the breacrumbs would look like this: Invoicing > Invoice #29929 > Line 3. However, if the webpage on the invoice line allows you to click through to a describtion of the product, then the breadcrumbs are reset to Products > CPUs > Pentium, because that product is sold to more than one customer and therefore occurs on more than one invoice.