thunderbird-android icon indicating copy to clipboard operation
thunderbird-android copied to clipboard

Add option for date headers/dividers/separators in message list

Open cketti opened this issue 6 years ago • 8 comments

Add an option to display date headers in the message list. Example:

Message list with date headers

Developer notes: See PR #2933 for an implementation of this.

This feature needs:

  • [ ] concept for the visual appearance
  • [ ] specification for how to group emails (today, yesterday, last week, …? Which date are we using for grouping?)
  • [x] preliminary work to clean up the message list code: see #3248

cketti avatar Mar 26 '19 22:03 cketti

I like how inbox did it: https://i.imgur.com/Xqz4VOP.png

It had Today, Yesterday, This Month, This Year.

Preferably one should be able to tick some checkboxes in the options, like:

  • Today
  • Yesterday
  • This week
  • Previous Week
  • This Month
  • Previous Month
  • Older, separated by year

Ryder17z avatar Mar 27 '19 01:03 Ryder17z

I like how inbox did it: https://i.imgur.com/Xqz4VOP.png

I like the dividers that are substantially smaller than the actual items. This arrangements conserves screen space and enforces the distinction in meaning between the two distinct reasons for filling the vertical space.

I also like the comparatively finer granularity of distinction for recent items (e.g. Today, Yesterday, Last week, Last month, etc.).

However, notice that in the case of a simple list, the items of the past day are labelled according to time of day, and other items by date. This formatting is not mutually exclusive with the use of dividers. In the Google layout, time of day is conspicuously omitted. An advantage of using dividers is that the time of day for a message older than 24 hours can be given without ambiguity or confusion.

An optimal design might use both dividers and item labels to convey a richer set of information than either could do individually.

Also, the Google design permits the divider describing the top-most items to be scrolled off screen. Ideally, some divider always serves as a header for the items appearing at the top of the visible area.

Some users may not like dividers, of course, so configurability is valuable.

brainchild0 avatar May 14 '20 16:05 brainchild0

Hello for your information you can find that kind of design in fair mail app, as it is also Foss, this might help you to add this in k9.

nathanael-h avatar May 16 '20 07:05 nathanael-h

Hello for your information you can find that kind of design in fair mail app, as it is also Foss, this might help you to add this in k9.

It does not. FairEmail uses the GPL. It is not compatible with the Apache license that K-9 Mail uses.

cketti avatar May 16 '20 11:05 cketti

Perhaps the comment simply is intended to affirm that someone interested in learning about the implementation has the option to review the source.

brainchild0 avatar May 16 '20 11:05 brainchild0

Perhaps the comment simply is intended to affirm that someone interested in learning about the implementation has the option to review the source.

While I doubt that the author of FairEmail would use this to cause any legal trouble, even just reading the code while working on this functionality is not safe from a legal standpoint. As such it's not something a serious developer should do in any context. The original post contains a link to a pull request that implemented something similar and there exist a lot of code examples that demonstrate how to use list headers that were published under compatible licenses.

Apologies if my response sounded harsh. That was not my intention. I just don't want there to be openings for any kind of legal trouble for the K-9 Mail project.

cketti avatar May 16 '20 11:05 cketti

Has this feature been implemented? When I sort by date, I do not see any such separators, which would be very handy.

Savasdotexe avatar Sep 11 '22 09:09 Savasdotexe

I would suggest, when this is enabled, the space where you show the date for each message (in the mock-up, above the star) could either be used for something else (perhaps the time only), or remain blank.

jmccabe avatar Jul 17 '23 07:07 jmccabe