Sevenzo / challenge-platform

The Sevenzo Challenge Platform
https://www.sevenzo.org
0 stars 3 forks source link

Email digest #156

Closed juliosantos closed 7 years ago

juliosantos commented 7 years ago

Frontend Settings page screenshot:

Append the following: Sent the above emails: (x) As they happen ( ) Daily ( ) Weekly Those little (x) and ( ) fellas above are part of a mutually-exclusive radio button input group.

Backend If the user chooses the digest, instead of just sending an email, add the event and relevant metadata to a list of digest items to send at a later time. Only user-allowed events (as per the user's settings) should be added. This list should be sent automatically either daily or weekly, based on user preference.

Notes

  1. Only the events of the kind that the users chose to receive should be included in the digest. So, for example, if the user has all email content settings to Off, the Daily digest will be empty.
  2. If for whatever reason it's harder to have this happen weekly, that's a lower priority anyway and it can be dropped for now.
  3. @masauzi10 @krnjn if there's nothing new to report, should we send an empty digest or not send it at all?
  4. @masauzi10 @krnjn what time of the day should the daily digest be sent?
  5. @masauzi10 @krnjn what time of the week should the weekly digest be sent?
masauzi10 commented 7 years ago

Hi there. Not qualified to answer these questions. @krnjn did you use a cadence that worked during the pilot?

juliosantos commented 7 years ago

@krnjn 4. Suppose you selected daily notifications, and have 4 queued up for deferred sending. If, before they're sent, you switch to "As they happen", what happens to those 4? Should we send a "flush" email?

krnjn commented 7 years ago

@juliosantos answers to first batch of questions:

  1. Correct, but don't send an email if it's empty.
  2. Let's table weekly for this so as to punt on the question / test out daily first.
  3. Don't send an email at all.
  4. Good question – @christinabesq what time of day do you think participants MOST active? E.g. if we were going to send them an email with all of the comments they've received ONCE a day, as opposed to immediately, what time would be best? 5 PM EST? 10 AM EST? @juliosantos in absence of an answer here, let's just stick to 5 PM EST as we can say something in the email along the lines of "Today on Sevenzo..." which would be weirder if it was yesterday's activity.
  5. Let's table the weekly digest for now / punt on this decision.
krnjn commented 7 years ago

@juliosantos answers to second questions:

So I don't think we'd need to over engineer to handle the strange edge case in that circumstance. With this feature, I think we can simply either have the emails be weekly / daily and then send out the summary regardless of what other emails were sent. E.g. if I received 10 emails today (on an immediate cadence), and then toggled the Daily Digest setting instead, I think it is fine (for now) to send them 1 email digest with the 10 notifications (in some sense, this is nice to receive as a preview of what I've opted into on a daily basis and I can compare how I like the immediate emails vs. the daily emails).

With that approach being specified, I don't think you need to worry about adding items to a queue and then checking at the end of the day, I'd just opt to do a live query at the time you're building / sending the email for the comments that should be sent. Though there may be some user based edge cases, I think, on the whole, people will tend to get it and it's much simpler to build (e.g. live querying as opposed to keeping data in sync). Thoughts?

juliosantos commented 7 years ago

Spoke to @krnjn, we'd already built "weekly" and we'll leave it in. We'll issue both the daily and weekly digests at 4:30 PM EST.