I've working on a web app where the user (1) selects a search type, such as "company" (2) clicks a given company to view/enter info, and (3) within a record (e.g., a specific company) can navigate through several detail screens.

The site owner breadcrumbs to navigate that hierarchy. They want the selected record (e.g., company) to display in the breadcrumb, something like:

Company > ABC Company > Addresses

Or, in another part of the app:

Key Personnel > John Smith > Projects

I smell trouble ahead, with the second element in these lists. Just for starts:

  1. The company name might be much longer
  2. The personal name might not be unique

Are there any published best practices that apply to putting dynamic content in breadcrumbs? Does anyone have first-hand experience with trying something like this, or some better alternative?

1 Answer 1


1. Breadcrumb Disambiguation

It's all about providing orientation IMO, or more specifically "good enough" orientation.

In contrast, a URL provides both orientation (ideally) and a perfectly unambiguous, unique identifier (by definition).

Thus, for bread crumbs, it doesn't matter for users if there is a John Smith under Oracle, and a different John Smith under Microsoft (Caveat: if my assumption is incorrect for your use-case, just apply the rule below to all duplicate names.)

What does matter is that if there are two John Smiths under Oracle. You definitely need to at-a-glance disambiguate between the two, in case someone needs to know which John Smith they're looking at.

The simplest method would be, in your data layer, to track duplicate names

UID | DID | Name | Company (DID = Duplicate ID, default to 1)

234 | 1 | John Smith | Oracle |

235 | 1 | Mary Sue | Oracle |

236 | 2 | John Smith | Oracle |

237 | 1 | Vivesh Patel | Oracle |

238 | 3 | John Smith | Oracle |

Now if you're on the profile for John Smith, UID: 238, your breadcrumb would be like

Oracle > John Smith (3) > Projects

And if you're on the profile for Mary Sue, UID: 235:

Oracle > Mary Sue > Projects

No need to indicate her duplicate number (1) because she is unique in this subset of data, and that would only clutter your display.

2. Breadcrumb Length

Simply use a function to truncate strings with ... that are too long for your GUI to handle. This is a common convention.


Microsoft > Alexander Petr... (2) > Projects

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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