Define Web Site Breadcrumbs

People often misuse and misunderstand what Web site Breadcrumbs really are. The term “breadcrumb” is used for several different concepts – causing confusion during design discussions. It especially applies to those who use ASP.NET. I think it is related to the Site Map controls available since ASP.NET 2.0. They provide location breadcrumbs. See here for example.

Let's sort out all the breadcrumbs-related stuff and have a look at following sources:

Basically there are 3 categories of breadcrumbs:

  1. Location Breadcrumbs
  2. Path Breadcrumbs
  3. Attribute Breadcrumbs

Lets have a look at each one deeper.

Location Breadcrumbs

Location breadcrumbs are static and show where the page is located in the website hierarchy. It tells you where you are. Use it for a web site with tree-like hierarchical structure. Typical example is a company web site.

Path Breadcrumbs

Path breadcrumbs are dynamic and show the path that the user has taken to arrive at a page. It tells you how you got here. Use it for a web site with graph-like structure or where it is hard to define the structure.

Attribute Breadcrumbs

Attribute breadcrumbs give meta-information that categorizes the current page. It tells you what categories the page is in. This type of breadcrumb can be represented as both Path or Location Breadcrumbs but is not intended represent the whole page, but its attributes instead. I can think about a blog where categories can be organized hierarchically (CategoryRoot->[SubCategory1, SubCategory12]). When you open a page that lists all the posts of a category, it might show Attribute Breadcrumbs with hierarchy of categories.

Why avoid breadcrumbs?

Don't be fanatic using the breadcrumbs wherever possible. Remember that browsers perfectly handle Path breadcrumbs and partially Location Breadcrumbs. Path Breadcrumbs are probably the most confusing ones because of:

  1. The depth might be unlimited and it should be cut at some stage.
  2. It can has circles or closures (Example: Products->Product 1->Details->Products->Product 1) which might make the Path Breadcrumb confusing (if not useless).

So please weight all the pros and cons before implementing any type of breadcrumbs on your site.