Closed Bug 1734298 Opened 3 years ago Closed 3 years ago

Prompt to save if a contact is being edited and the edit form would be replaced

Categories

(Thunderbird :: Address Book, defect)

defect

Tracking

(thunderbird_esr91 wontfix)

RESOLVED FIXED
95 Branch
Tracking Status
thunderbird_esr91 --- wontfix

People

(Reporter: darktrojan, Assigned: darktrojan)

References

(Blocks 1 open bug)

Details

(Keywords: ux-efficiency, ux-error-prevention, ux-interruption)

Attachments

(2 files)

If you're editing a contact, then perform some other action that would see the editing form replaced, that action shouldn't just happen. There's at least three possible problems here:

  • Selecting a different contact in the list by any means would display that contact in the details pane. Solution: just don't do this if editing is happening.
  • Creating a new contact would empty the edit form for the new contact. Solution: prompt to save before emptying the form.
  • Closing the tab. Ideally we'd prompt here too, but that is quite complicated and I'm not going to attempt that for now.

Why do we still want to prompt at all? Can't we just accept and save any inputs instantly without prompting, as we do for preferences? Why would somebody edit contact data and not want to save them?
Would be great to have some input from Alex on such important design decisions, too...

(In reply to Geoff Lankow (:darktrojan) from comment #0)

If you're editing a contact, then perform some other action that would see the editing form replaced, that action shouldn't just happen. There's at least three possible problems here:

  • Selecting a different contact in the list by any means would display that contact in the details pane. Solution: just don't do this if editing is happening.

That would be weird imo. Silent instant save or prompt would be better.

  • Creating a new contact would empty the edit form for the new contact. Solution: prompt to save before emptying the form.
  • Closing the tab. Ideally we'd prompt here too, but that is quite complicated and I'm not going to attempt that for now.

Silent instant save would solve the close tab scenario very well, too.

Flags: needinfo?(alessandro)

Some relevant principles: ux-efficiency, ux-error-prevention, ux-interruption.

Because in the case of CardDAV at least, that would require a trip to the server for every field that is changed. And also in the case of a new contact, there is nothing to update, it doesn't exist yet.

Typically editing contacts does require an explicit save: see phones, or on the web, google contacts do not autosave but require explicit save.

(In reply to Geoff Lankow (:darktrojan) from comment #4)

Because in the case of CardDAV at least, that would require a trip to the server for every field that is changed.

If frequency of saving is a problem, you could still wait and silently save the whole contact (without prompt) when one of the situations from comment 0 arises. Which is still silent (prompt-less) saving, only not instant.

And also in the case of a new contact, there is nothing to update, it doesn't exist yet.

That's a technicality which is easy to solve, so instead of updating, it becomes creating the contact.

(In reply to Magnus Melin [:mkmelin] from comment #5)

Typically editing contacts does require an explicit save: see phones, or on the web, google contacts do not autosave but require explicit save.

Good point. And how many times do users lose their new contacts because they forgot to tap Save? Happens all the time imo...
I don't have a strong opinion on this, but we might want to explore new and potentially better behaviours freely.
Maybe someone could point out the workflow benefits of prompting for contact changes (especially for new contacts, but also existing)? Is it about unfinished contacts and/or accidental changes?

Why do we still want to prompt at all? Can't we just accept and save any inputs instantly without prompting, as we do for preferences? Why would somebody edit contact data and not want to save them?
Would be great to have some input from Alex on such important design decisions, too...

Thanks for the ping on this.

I don't think we should save instantly on input for AB contacts.
It makes sense doing that for Prefs and Account Settings since those tabs are always in a sort of "edit state", with the fields always visible and editable, so adding a "Save" button there wouldn't make sense.

The address book contacts are by default in a "view state" and the user needs to specifically click a button to enter the "edit mode", so having a discard/save button to exit that "edit mode" is recommended.
Autosaving would make sense only if those contacts were always with visible editable fields.

Slightly adjacent to this bug, is the necessity of updating the UI of the action buttons.
We discussed this with Geoff yesterday and we agreed that those buttons should always remain in a fixed position (top or bottom) and not scroll away. (attaching mock-up for reference).

Flags: needinfo?(alessandro)
Attached image Address Book@2x-edit.png (deleted) —

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/f9568de9de4b
Don't abandon changes to contacts being edited. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: