Bug 956146 Comment 17 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

The interaction between the global setting and the per-card setting is not easy to understand.
The design is inherently confusing, and the labels are not descriptive enough.

Sometimes the global pref wins (when it's OFF).
Sometimes the per-card pref wins (only when Global ON, per-card OFF).
So neither the global pref nor the card pref are reliable indicators of what is really going to happen.

I think the only feasible design for global dual pref competing with per-card dual pref is having a triple-pref dropdown on the card:
- use global pref
- per-card-ON (overrides global)
- per-card-OFF (overrides global)

So in our case, that would be something like:

Address display in message reader:
[- Use global preference | v ]
- Use global preference
- Show only display name from my address book
- Show full address as defined by sender

Actual behaviour (tested on Win10, Daily 81.0a1 (2020-08-02) (64-bit))

S1: Default:
- global: [x] Show only display name for people in my address book
- per-card [x] Always prefer display name over message header

^^ That works. Global and per-card both want display name from AB only. Now let's change it:

S2:
- global: [x ] Show only display name for people in my address book
- per-card [ ] Always prefer display name over message header

^^ As expected, per-card setting "do *not* prefer my AB display name" wins, full address from header is shown.
So that's the only per-card setting which works, which somewhat irritatingly applies when it is off:
`Do *not* always prefer display name.`
Notwithstanding the general design shortcomings, maybe this would be better expressed positively as:
`[x] Always show full address from message header.`

S3:
- global: [ ] Show only display name for people in my address book
- per-card [x] Always prefer display name over message header

^^ fails: Now that's a confusing state - turns out the per-card pref is IGNORED when global pref is off, full address of header is shown for all cards (contrary to the per-card pref). But it would make perfect sense - generally work with full addresses from message header, but for dad and grandma and girlfriend susy who only have one email address, the display name suffices.
the way it currently works, the per-card setting would have to be disabled and OFF because they won't override the global setting OFF.

S4:
- global: [ ] Show only display name for people in my address book
- per-card [ ] Always prefer display name over message header

^^ works. global and per-card-preff OFF, use full address from message header.
The interaction between the global setting and the per-card setting is not easy to understand.
The design is inherently confusing, and the labels are not descriptive enough.

Sometimes the global pref wins (when it's OFF).
Sometimes the per-card pref wins (only when Global ON, per-card OFF).
So neither the global pref nor the card pref are reliable indicators of what is really going to happen.

I think the only feasible design for global dual pref competing with per-card dual pref is having a triple-pref dropdown on the card:
- use global pref
- per-card-ON (overrides global)
- per-card-OFF (overrides global)

So in our case, that would be something like:

Address display in message reader:
[- Use global preference | v ]
- Use global preference
- Show only display name from my address book
- Show full address as defined by sender

Actual behaviour (tested on Win10, Daily 81.0a1 (2020-08-02) (64-bit))

S1: Default:
- global: [x] Show only display name for people in my address book
- per-card [x] Always prefer display name over message header

^^ That works. Global and per-card both want display name from AB only. Now let's change it:

S2:
- global: [x ] Show only display name for people in my address book
- per-card [ ] Always prefer display name over message header

^^ As expected, per-card setting "do *not* prefer my AB display name" wins, full address from header is shown.
So that's the only per-card setting which works, which somewhat irritatingly applies when it is off:
`Do *not* always prefer display name.`
Notwithstanding the general design shortcomings, maybe this would be better expressed positively as:
`[x] Always show full address from message header.`

S3:
- global: [ ] Show only display name for people in my address book
- per-card [x] Always prefer display name over message header

^^ fails: Now that's a confusing state - turns out the per-card pref is IGNORED when global pref is off, full address of header is shown for all cards (contrary to the per-card pref). But it would make perfect sense - generally work with full addresses from message header, but for dad and grandma and girlfriend susy who only have one email address, the display name suffices.
The way it currently works, the per-card settings would have to be disabled and (temporarily) OFF because they won't override the global setting OFF.

S4:
- global: [ ] Show only display name for people in my address book
- per-card [ ] Always prefer display name over message header

^^ works. global and per-card-preff OFF, use full address from message header.

Back to Bug 956146 Comment 17