Chat Folders to Collect Chats by Context

As we begin to use Delta for more and more of our communication, the list of chats becomes longer and harder to curate and maintain. I’m also bringing feeds and telegram ‘chats’ into Delta now via Bots which is adding a lot more chat groups very quickly.

Proposal: Some way of grouping chats into folders (or groups) so that various types of chats can be combined into one place. ie. Family chats in one group, Work chats in another, etc. Would also be nice to set notifications by group as well. (I don’t need to see that I have ‘work’ chats on the weekend.) Personally, I would like to be able to Pin folders as well = keeping important folder groups at the top.

Discussion and suggestions by @simon:

yeah time for a feature request.
We already talked about these “Chat Folders” before, but I could not found the feature proposal here, so I guess this was only discussed in IRC or some chat.

Telegram has chat folders there we could get inspiration how to do it, depending on how we’d implement it UX wise it’s not that much work or more work, depends on how we want to do it.

12 Likes

idea: maybe we could add the ability to add tags to a folder in core that you could easily filter the chatlist by

1 Like

Good idea.
How about a star for important chats and colors for the rest of the tags?

:star: :red_circle: :orange_circle: :yellow_circle: :green_circle: :large_blue_circle: :purple_circle: :brown_circle: :black_circle: :white_circle:

Maybe this would also make sense within a chat to make it easier to find messages.
I think this could be helpful, especially in larger groups.

This is a really interesting feature for me. All messengers currently face a similar problem, when you want to use it for everything then it becomes a mess quite quickly.

What I’d love to see is a better Discourse: for each “context” (work, family, activity1) have categories and subcategories. The 3 levels can be done as folders, and you don’t have to have the 3. Moreover any conversation can host any number of webxdc apps, including the editor meaning there can be a summarizing post editable by anyone so that if you haven’t come in a long time all the important info is there

This is already possible by creating a separate email account for each of these three categories. DC’s account switcher is much better than that of other messengers like Telegram.

1 Like

Yes indeed, that is a good way especially with chatmail that gives you painless infinite accounts. I’m already doing it. But it’s not a complete solution

a way to have a “family” folder and a “work” folder is just having an account for family and another for work, then the account list would be your list of “folders” family, work, etc. also that way chats and contacts will automatically fall into the corresponding “folder” without you having to manually keep adding chats to each folder (and the contact list is global so I guess you will also want to filter contacts by folder and would need to manually add contacts to each “folder”)

so just using different accounts is easier and avoids having an extra complicated/bloated UI, in Telegram I understand this is a thing out of their own limitations, because having multiple accounts need multiple phone numbers you end up giving your private phone number to family and also to work, but for Delta Chat that is not a problem, and often you will have your work email and personal email addresses

1 Like

In my feature proposal here I suggested the ability to label your accounts to make using them in this way easier. For example, you could label one acocunt “work”, another account “family” and so on.

Currently you can only edit the profile name for each account, which is also sent to your contacts. This is not very helpful as a private account label.

For example Alice might understandably want to set the profile name of all her accounts to “Alice”, so the profile name won’t help her to distinguish between her own accounts in this case.

On the other hand, if (using the current system) Alice sets the profile names of her accounts to things like “work” or “family” so that she can identify them more easily, it will be confusing to her contacts who receive an email from someone with a profile name like “work”. It doesn’t make sense to use profile names as account labels and they’re not designed to be used this way.

Therefore there should be the option to set both a profile name for an account (which is sent to contacts) as well as a private account label (which stays on the device and is never sent to contacts).

(By the way, the other ideas discussed in the thread above such as tags, color coding, grouping etc. are also worth considering, but in my opinion I think that private account labels would be the logical place to start for organizing your accounts/chats in an efficient manner.)

2 Likes

I’d like to second this feature request; Delta Chat is at its heart an email client, and email has folders and tags, after all.

For my use case specifically, even if I made separate accounts to try and filter my chats that way, everything still winds up in all of the accounts’ views anyway since my ‘separate accounts’ are just different addresses that all go to the same email inbox.

2 Likes

Now that Delta Chat no longer displays email addresses in the profile switcher and only shows profile names and avatars, the issue I described above is more relevant than ever:

If a user sets the same profile name and avatar for different accounts, it becomes impossible to distinguish between them.

This is why I believe there should be the option to set both a profile name for an account (which is sent to contacts) as well as a private account label (which stays on the device and is never sent to contacts). Then Alice could for example give one account the private label “family”, another account the private label “work”, etc., and thereby quickly and easily distinguish between different accounts, even if she uses the same profile name and avatar.

2 Likes

this is planned (via the context menu in the profile switcher), but just not done yet

2 Likes

This is great news!

I created a pull request to add possibility to tag profiles here:

example with two accounts with same avatar and name but using a tag for the family and another for work:

4 Likes

The “one profile == one context” mindset is very important because it allows building things differently by going back to the roots and rethinking half a century of practices to let them go if not needed.

If we follow this, instead of having one profile for a whole email account, we basically have one profile for a “folder”:

  • one for family
  • one for friends
  • one for work
  • one for mailing-list A
  • one for mailing-list B
  • […]

Different folders mean different contexts, so other people will not be interested in linking identities between folders. However, inside a given context I might want to create multiple conversations for different topics: in the “friends” topic for example, I’ll create a temporary conversation just for organizing our week-end get-together, where we’ll have our preparation thanks to the handy editor webxdc app, share photos of the events, and then when it’s done we can archive it and resume day-to-day conversation in the usual conversation. Things are well compartmentalized and easily retrievable. In Deltachat though when I’m in a profile and click on the (+) button the mindset is still the old way: creating a long-lived conversation with absolutely anyone.

To be better aligned with the new mindset, I propose that every profile be associated with recipients. When I click on (+), Deltachat knows that I will be chatting with the same group of people (because we’re in the same context) so only asks me for a “group name” which really is just a topic. One input box, click on “create”, and the new conversation (which is still a “group” in DC parlance) is created, with the preset list of accounts.

Of course there must always be an escape hatch to create a conversation in the same context with different people, but if we follow the “context” mindset then it seems to be secondary.

Another consequence of this is that conversations are email threads. If my friends don’t use deltachat and send an email with a new thread, DC should recognize this and automatically create a new group/conversation on its side. This means being more topic-based rather than people-based.

This new mindset unfortunately furthers the divide between traditional email and chatmail, but it doesn’t require different applications. A profile can be configured as being people-based (current style, creating a conversation means choosing people and topic) or topic-based (proposed style, creating a conversation already knows who we’re talking to, new messages are split into new conversatios as needed).

Is this too far-fetched ?

if you want to create a group with the same group of people you already have a group, what you are looking for is the “clone chat” feature that is already available :thinking:

Indeed, that’s a very good 80/20 solution to the situation and is probably way more intuitive than configuring profiles and such

One of the best sales pitches for DC is essentially, “Why should email be so clunky? Look! Email can be convenient and elegant like this! If email technology was simply allowed to progress at all in the last 20 years, it would be wonderful to use, and you can have that now, with Deltachat.”

But Folders/Tagging/however you want to think about it… is an immutible staple of the email protocol, and it is a quality-of-life feature. I personally don’t really use folders, but I know some people do, so for their sakes, it’s important that DC eventually start to support it. In principle, it’s out of character for DC to neglect a quality-of-life feature, especially if that QoL feature is already stardard email protocol.

Tags, on the other hand, would be immensely useful. We could have auto-generated tags like “DMs” and “Groups” and “Broadcasts” (whether incoming or outgoing). :+1: And then let’s imagine there’s a collection of emails, maybe spread out through multiple threads, that pertain to a specific project. You could tag those emails so you can reference them easily instead of losing track of them. :pray:

You could tag individual messages, or you could tag whole threads. I think naturally, descendents of tagged messages should inherit the tags of their ancestors (w/ the possibility of untagging the descendents). This could allow us to merge thread-tagging and message-tagging into one unified tagging system, rather than two explicit kinds of tags with separate code.

Tagging also allows you to add one message to multiple tags, which is just a miracle for keeping things organized.

I don’t know how easy it is to let IMAP folders overlap like tags rather than be separate folders that hold mutually-exclusive contents, but if it’s possible, it’s definitely the way to go.

Starring messages is also super good, but that’s basically just tagging with a star. Right now, we can just forward messages to the “Saved Messages” thread. This is a cheap imitation of starring, and it duplicates data unnecessarily, and it makes the saved messages thread messier than it needs to be.


But I hear what y’all are saying, about having a separate address for work, and a separate address for personal, and maybe family, friends, and stuff, all getting separate addresses.

However, it’s not normal to have separate addresses just for different projects. Not only is it not normal, it can’t/won’t become normal either, because it doesn’t make sense. Also, generating new accounts hardly begins to address message-tagging’s use-cases at all. So basically, this is important and worthy.


PS: Yahoo has an overactive spam filter in my opinion, and it can’t be turned off. I hate having to log into the yahoo website just to access the spam folder and mark it as not spam. But if I don’t do that, those messages won’t show up in DC. It would be better if DC just gave me access to the spam folder.

nope. since some months you can save messages directly, without forwarding. they are marked as such and it is similar to “starring” on other platforms. eg, here on iOS:

see Messaging editing, deletion and saving now available for this and some other new features.

to folders etc. in general: Delta Chat has a much better multi-profile story than eg. Telegram or WhatsApp. you can eg. create structure by using profiles for “work” for “family” etc. surely, this is not 100% the same, but for many usecases even better :slight_smile:

to the other points: in general Delta Chat sees IMAP only as transport, not as storage. we avoid using all these server-sided features whenever we can. features of Delta Chat exist on the clients, not on the server, which is supposed to be dumb

Actually folders are a relic of how mails have been managed (as actual files on an actual filesystem), for which the Maildir specification was built and the IMAP protocol adapted. But the real technical definition of what email is is whatever SMTP does, aka a bunch of headers and some content ingested by a machine. POP gives you a feed of your messages for you to synchronize and organize however you want (in fact the way DeltaChat does email is closer to POP than IMAP) and that is equally valid.

Interesting. The android UI still just has us forwarding to the Saved Messages thread. It sounds like that’s still what’s happening on iOS too, just with a special button to forward specially to that thread.

Well, essentially what I’m hearing from you and @rako is that DC handles messages locally like POP, rather than relying on the server as persistent storage.

And therefore, tags and stuff should basically be downloaded so the client would keep track of those too instead of depending on IMAP to store that info. Yeah, of course, that sounds great. I have no complaints about that.