Skip to main content
1 of 2
HC_
  • 451
  • 2
  • 8

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).

It doesn't matter if there is a John Smith under Oracle >, and a different John Smith under Microsoft >.

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.

Example:

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

HC_
  • 451
  • 2
  • 8