Skip to main content
clarity
Source Link
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).

ItThus, 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.

Example:

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

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

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.

Example:

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

Source Link
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