After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789078 - Refine conversation lifecycle and label/folder management
Refine conversation lifecycle and label/folder management
Status: RESOLVED OBSOLETE
Product: geary
Classification: Other
Component: ux
master
Other Linux
: High normal
: 0.14.0
Assigned To: Geary Maintainers
Geary Maintainers
https://wiki.gnome.org/Apps/Geary/Des...
: 740745 750234 768506 785739 (view as bug list)
Depends on: 713027 794499
Blocks: 712897
 
 
Reported: 2017-10-17 04:45 UTC by Michael Gratton
Modified: 2021-07-05 13:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
labelling and lifecycle FSMs (121.20 KB, image/png)
2017-10-17 04:47 UTC, Michael Gratton
Details
Source for FSM illustration (37.08 KB, image/svg+xml)
2017-10-17 04:48 UTC, Michael Gratton
Details
Labelling and lifecycle FSMs (120.63 KB, image/png)
2017-10-17 06:29 UTC, Michael Gratton
Details
Source for FSM illustration (37.08 KB, image/svg+xml)
2017-10-17 06:30 UTC, Michael Gratton
Details
Toolbar/Actionbar UI mockup (36.46 KB, image/png)
2017-12-25 06:44 UTC, Michael Gratton
Details
Labelling and lifecycle FSMs (125.01 KB, image/png)
2018-07-03 04:13 UTC, Michael Gratton
Details
Labelling and lifecycle FSMs (119.67 KB, image/png)
2018-07-03 04:38 UTC, Michael Gratton
Details

Description Michael Gratton 2017-10-17 04:45:30 UTC
Geary is currently somewhat inconsistent and incomplete in how it lets people manage the lifecycle and labelling of conversations. This is in part due due to trying to fit the conversation model to both IMAP and GMail, and part due to feature growth over the years. We should tidy this up to make it both consistent and complete.

Based on some notes I made, conversations seem to exist in two different finite state machines — one that covers labelling of conversations, i.e. conversations that should be kept, and one that covers the overall conversation lifecycle. States sometimes represent mailboxes, but sometimes are an abstract state, and the transitions between these states define the actions that people might want to take. These actions should be made available to people as high-level UI items, and Geary should manage the implications of the actions under the hood.

Labelling FSM
-------------

States:

 - Inbox
 - Archive
 - User defined mailboxes

Transitions:

 - Archive
 - Move & Copy
 - Restore 

Lifecycle FSM
-------------

States:

 - [Normal] (Any conversation in the FSM above)
 - Draft
 - Trash
 - Junk
 - [Deleted]

Transitions:

 - Trash
 - Junk
 - Restore
 - Delete

See the attached diagrams for what transition is applicable for each state.

User Experience
---------------

A conversation's current state defines what UI is presented to the user when it is selected. E.g. in the Archive state these actions should be available: Restore, Copy, Move, Trash, Junk.

Archive and Trash are primary action for conversations in the Inbox and so they should probably be emphasised and easily activated via the UI.

The Restore action is the only primary action for most other states, and hence that should be similarly emphasised, although implementing this properly will be tricky, e.g. to ensure that sent mail in the conversation is restored to Sent, and received mail in the conversation is restored to whatever other mailbox(es) it was in.

So I'm imagining that Archive, Trash and Restore should be toolbar buttons with text labels, while the rest can be icons?

Notes
-----
Still to be defined is how these actions apply to individual messages in the conversation. E.g. Should Trash move just the messages in the current mailbox to the Trash (as at the moment), or all messages (e.g. including any in Sent?)

Comments welcome!
Comment 1 Michael Gratton 2017-10-17 04:47:40 UTC
Created attachment 361702 [details]
labelling and lifecycle FSMs

Illustration of the two finite state machines.
Comment 2 Michael Gratton 2017-10-17 04:48:11 UTC
Created attachment 361703 [details]
Source for FSM illustration
Comment 3 Michael Gratton 2017-10-17 04:50:42 UTC
*** Bug 750234 has been marked as a duplicate of this bug. ***
Comment 4 Michael Gratton 2017-10-17 04:51:25 UTC
*** Bug 768506 has been marked as a duplicate of this bug. ***
Comment 5 Michael Gratton 2017-10-17 04:51:53 UTC
*** Bug 740745 has been marked as a duplicate of this bug. ***
Comment 6 Michael Gratton 2017-10-17 06:29:44 UTC
Created attachment 361709 [details]
Labelling and lifecycle FSMs

Updated FSM illustration.
Comment 7 Michael Gratton 2017-10-17 06:30:39 UTC
Created attachment 361710 [details]
Source for FSM illustration

Updated illustration source
Comment 8 Michael Gratton 2017-12-08 04:33:01 UTC
See the wiki for an updated version of the description above: https://wiki.gnome.org/Apps/Geary/Design/ConversationLifecycle

Feedback welcome!
Comment 9 Michael Gratton 2017-12-08 04:33:40 UTC
*** Bug 785739 has been marked as a duplicate of this bug. ***
Comment 10 Michael Gratton 2017-12-25 06:44:32 UTC
Created attachment 365949 [details]
Toolbar/Actionbar UI mockup

This shows a mockup of the toolbar/actionbar for the following folders, based on current state of the wiki.

1. Inbox
2. Archive/user-defined folders
3. Drafts
4. Trash
5. Junk

Sent isn't shown, but would be similar to (1) or (2) but without a primary action button or Junk button.
Comment 11 Michael Gratton 2018-07-03 04:13:03 UTC
Created attachment 372911 [details]
Labelling and lifecycle FSMs

Updated labelling FSM
Comment 12 Michael Gratton 2018-07-03 04:38:56 UTC
Created attachment 372912 [details]
Labelling and lifecycle FSMs

Update lifecycle FSM
Comment 13 GNOME Infrastructure Team 2021-07-05 13:25:47 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/geary/-/issues/

Thank you for your understanding and your help.