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 ?