Joystream / atlas

Whitelabel consumer and publisher experience for Joystream
https://www.joystream.org
GNU General Public License v3.0
101 stars 45 forks source link

Better email notification titles. #6296

Open bedeho opened 1 month ago

bedeho commented 1 month ago

Problem

My emails notifications look like this in my inbox

Screenshot 2024-05-18 at 07 44 28

The problem here is that it gives very low visibility into the messags, they just stack up by type, and you have not easy way of easil distinguishing urgent or imporant messages rather than random ones. I assume this is a universal issue across email clients, or at elast default settings, but I have not reviewed that.

Solution

Give messages more distinct titles which include for example the creator name or other information that allows user to easily see their value and not get them grouped like above. Here are some steps

  1. Review how emails are presented and grouped in some default clients (gmail,...), just to make sure we are not on a wild gose chase.
  2. Propose new set of templates for email notifications.
  3. Update infra to use new templates.
msmadeline commented 1 month ago

Hey @bedeho I've done research about some of the most popular email platforms :

Key reasults

  1. Same Subject Line: Emails with the same subject line are grouped together. For example, all replies to an email with the subject "Meeting on Tuesday" will be in one thread. - Gmail, Outlook and Yahoo does that

  2. Participants: Looks at the participants in the email conversation. Emails involving the same people will be grouped together in the same thread. - Gmail, Outlook and Yahoo does that

  3. Time Intervals: Considers the time between emails. If emails with the same subject and participants are sent within a short period, they are more likely to be grouped together. - Google does it

  4. Message ID and References: Uses unique message IDs and references within the email headers to track the conversation. Each email has an ID, and replies reference this ID, helping platform link related messages together. - Outlook and Yahoo does that

Key takeaway

The messages are grouped because of the title. To avoid the grouping we can just change the title to be different and more infromative.

Examples can be: "New NFT sale ==> "Joyblocks started a sale for NFT: “Web3 ... Demystified” "New CRT issued" ==> "Joyblocks issued a CRT for their channel called $JBC." etc.

One problem that I can see with this approach is that then the user will have a very large amount of seperate messages. For example even in the scr we can see that there is 100 emails in the new NFT sales thread.

TLDR

Gmail

  1. Priority Inbox: Separates your Inbox into sections like Important and Unread, Starred, and Everything Else. Gmail automatically identifies important emails based on your behavior, and you can adjust this manually.

  2. Threads: Gmail groups related emails into threads to keep all messages in a conversation together. This helps you follow the back-and-forth easily. You can turn off conversation view if you prefer to see each email separately.

Outlook

  1. Focused Inbox:

    • Separates your Inbox into Focused and Other tabs. Important emails go to Focused, and everything else goes to Other. You can move emails between tabs to help Outlook learn what's important.

    Yahoo

    1. Filters: You can Set up filters to automatically sort emails into specific folders based on criteria like sender, subject, or keywords. For example, emails from a specific newsletter can go directly to a "Newsletters" folder.
    2. Threads: Yahoo Mail groups related emails into threads, allowing you to see the entire conversation in one view. This can be turned off if you prefer to see each email individually
bedeho commented 1 month ago

Phenomenal work! Lets do it @ikprk

One problem that I can see with this approach is that then the user will have a very large amount of seperate messages. For example even in the scr we can see that there is 100 emails in the new NFT sales thread.

I think we should manage this with more intelligent settings around how many emails to send, and also allow the person to configure these settings more carefully also, filtering out specific creators for example. But lets just start by making sure notifications are more clear and distinct, as you have explained.

msmadeline commented 1 month ago

Hey @bedeho I prepared all of the new titles for the email notifications

➡figma link: https://www.figma.com/design/Goequb9eZDL6WxK7T74oxS/Notifications?node-id=3442-3391&t=0B1vUiOBzA6WrPKS-4

bedeho commented 1 month ago

fantastic job love the emoticons and use of $USD values. I think adding USD values will be a great valuea dd, but it will mean having to add some new fature to pool CMC regularly to get most recent USD price, like once per hour or something. Then this value is stored in backend, and used for notifications on-demand. @ikprk @zeeshanakram3 . Obviously poolling CMC is not done in processor when genearting notifications, just to point out the obvious :D