Closed Bug 1894048 Opened 2 months ago Closed 28 days ago

Collected Addresses all have "prefer display name" per-contact preference set to false/unchecked

Categories

(Thunderbird :: Address Book, defect, P1)

Tracking

(thunderbird_esr115 unaffected)

RESOLVED FIXED
128 Branch
Tracking Status
thunderbird_esr115 --- unaffected

People

(Reporter: sancus, Assigned: aleca)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression, ux-consistency)

Attachments

(1 file)

Prior to the fix for Bug 243258 the "prefer display name" preference for each contact was not being respected. Subsequently, that issue has been fixed.

Unfortunately, it seems like the default for Collected Addresses(added when you send an email) is to leave that box unchecked. I tested that this DOES happen with newly added addresses as of Daily 4/28. Therefore I have a "Collected Addresses" addressbook with 1185 contacts that do not prefer display name.

Not sure on solutions here. At the very least, "prefer display name" should be the default for collected addresses, as it was in practice before the bug was fixed. Fixing all the old contacts is also an issue though.

TBH, I'm skeptical that this pref even makes sense per-contact. If it does, there needs to be some way to set a whole address book to one value, and we should probably do that for the entire user base.

Otherwise this will appear to be a default change even when none was intended.

Keywords: regression
Regressed by: 243258

Thanks Andrei for investigating and confirming this.
As usual, we're dealing with some strange conflicting overlapping preferences implemented in the past without a in-depth UX analysis.

A few things could happen here.

  1. Changing the default for Collected Addresses so when adding new contacts their individual display pref is ON by default.
  2. Implementing a button to allow users to mark all of their contacts with "prefer display name" ON or OFF at once.
  3. Run a migration to mark all of the collected addresses with "prefer display name" ON.
  4. Remove that unique preference per contact and only respect the Global Preference.

Personally, I'm leaning towards 4.
The past argument for having that unique overriding pref was to allow users to exclude a single contact from using the display name and overwrite the global pref.
I don't think that makes sense at all and if users don't want to use the display name for just a few contacts they can change the display name to have whatever value they want, like the email address, or anything else.

Severity: -- → S2
Keywords: ux-consistency
Priority: -- → P1

I agree, #4 makes sense to me. Actually, thinking about this more, I was wondering why even HAVE preferences per contact. We have an address book system that lets you make multiple and categorize them as you like.

I don't think this pref actually needs to exist, but IF it does it should be per address book.

If a user has 2 contacts

the user might want to have both of these contacts in the SAME address book.

But if the user renames the contacts to

the user might want the recipients to see just "John Doe" as receiving name (not "John Doe 1" or "John Doe example1.tld").

So the user might want to have "display only name" for this address book AND "display name and email address" (instead of renaming) just for those two contacts?

For that scenario the users can still have full control by changing only the Display Name of those 2 accounts to match the way they prefer.
We won't remove that flexible option but having a checkbox preference that affects individual contacts overwriting a global preference is a very strange and inconsistent approach, and can cause unexpected results to users that forgot about that setting and need to find it inside an Address Book with a lot of contacts.

TBH I think the issue of wanting a local display name and an external display name is separate from this bug. I don't think that checkbox solves that issue and the way you're suggesting someone might use it is a very convoluted way to achieve the result.

To me it would make a lot more sense as a feature request to allow Nicknames to be used locally instead of Display Name, or something of that nature, reworking the addressbook to have the concept of a local-only display name and an external one.

Having an internal-only display name option is a known pattern from mobile contacts apps, f ex.

Assignee: nobody → alessandro
Status: NEW → ASSIGNED

(In reply to Andrei Hajdukewycz [:sancus] from comment #0)

Prior to the fix for Bug 243258 the "prefer display name" preference for each contact was not being respected.

Not quite true. It was being respected but when displaying the message header it showed only the name not the address. Which is probably stupid but whatever, it's better now.

I recall having a use case where I explicitly wanted the message header used instead of the display name. Something to do with a mailing list forwarding messages from all authors on the same address. That would be my only objection to #4. But I don't think that's still a problem for me, and it could probably be worked around some other way.

I found even more sketchy things.
At least on macOS, I'm not able to turn off that preference for contacts saved in my address book, it only allows me to uncheck it for collected addresses.

I think I understand the thinking behind not setting this pref to true for collected addresses because users might be writing to a contact that they necessarily don't want to trust, but when we save a contact into the "Collected Addresses" we sometimes don't autofill the Display Name (sometimes it fails and I'm not sure why).

This unique option for each vcard that can override the global "Show display name for known contact" is definitely confusing.

Blocks: 1727298
Target Milestone: --- → 128 Branch
Attachment #9402647 - Attachment description: Bug 1894048 - Remove the PreferDisplayName individual vCard property and only respect the global condensedAddress pref. r=#thunderbird-reviewers → Bug 1894048 - Remove the PreferDisplayName individual property from the contacts and only respect the global condensedAddress pref. r=mkmelin,darktrojan

Pushed by vineet@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/3989f0dd325a
Remove the PreferDisplayName individual property from the contacts and only respect the global condensedAddress pref. r=mkmelin,darktrojan

Status: ASSIGNED → RESOLVED
Closed: 28 days ago
Resolution: --- → FIXED

(In reply to comment #0)
"prefer display name" should be the default for collected addresses, as it was in practice before the bug was fixed

I was about to file a bug requesting a user-pref to control the default setting of Prefer display name over message header, because if I am not mistaken, currently users who don't want this, have to uncheck the checkbox on every newly created contact, no ?
(update: I just found this request already made in bug 956146)

But if you all agree anyway, that "having a checkbox preference that affects individual contacts overwriting a global preference is a very strange and inconsistent approach" (comment #4) and the per-contact checkbox will be removed ("Remove the PreferDisplayName individual property from the contacts", comment #9), then the point of what this checkbox should default to is obviously also moot, fortunately.

(In reply to Alessandro Castellani [:aleca] from comment #4)

attached file - Remove the PreferDisplayName individual property from the contacts […]
having a checkbox preference that affects individual contacts […] is a very strange and inconsistent approach

Maybe it's a good idea to remove the checkbox on the contact cards, because it's a burden to ponder whether it is set correctly upon the creation of each new contact, let alone the burden of correcting/harmonizing past mistakes. I offer a solution for replacing this per-contact checkbox in bug 1898896.

See Also: → 1898896
See Also: → 1265589, 956146, 1527041
Duplicate of this bug: 956146
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: