IMAP flags (or labels as they are sometimes called) would be nice to have working. This since it allows a many-to-many mapping of emails and tagging, rather than the one-to-many mapping which is possible with folders.
IMAP flags are essentially like “Gmail labels”, except that Gmail did some quick hacks for their use case, such as showing the labels as folders instead of using IMAP flags (cf. RFC 3501, RFC 3501 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1, see section 2.3.2. Flags Message Attribute)
At a user interface level almost exactly, if not exactly, as the Gmail label support.
A plus would be a mapping table, such that the user can specify the visual name and the “back-end”-name (i.e. the IMAP flag). This since it might be necessary to avoid certain characters in the actual IMAP keyword flag. I.e. configuration along the lines of:
|Symbol||Display name||IMAP keyword||Gmail label||Office 365 label|
|Item for next meeting||agendaitem||meeting|
This would also allow for interoperability with other mail clients, and even bridge the gap to Gmail so it would be possible to sort and filter (the hopefully upcoming) smart folders based on these flags. For example to have a smart folder with only emails with the “Item for next meeting”-flag set.
As such it would also be possible to use the symbols in situations where there is less space, such as single-line inbox-scenarios (if that is going to be a thing).
Preferably this should work with Office 365 labels as well in the long run.
MailMate has a good implementation, see:
(I’m limited to two links per post, so I can’t link more here)
MailMate is macOS only, and I’d like MailSpring to be up to par for Linux