Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow-up reminder (nudges) #3996

Closed
2 of 3 tasks
Tracked by #5478
jospoortvliet opened this issue Nov 4, 2020 · 12 comments · Fixed by #9567 or nextcloud/documentation#12091
Closed
2 of 3 tasks
Tracked by #5478

Follow-up reminder (nudges) #3996

jospoortvliet opened this issue Nov 4, 2020 · 12 comments · Fixed by #9567 or nextcloud/documentation#12091
Assignees
Labels
3. to review enhancement feature parity skill:backend Issues and PRs that require backend development skills skill:frontend Issues and PRs that require JavaScript/Vue/styling development skills

Comments

@jospoortvliet
Copy link
Member

jospoortvliet commented Nov 4, 2020

Feature Request

As a Nextcloud Mail user I want to be reminded that I did not receive a response to my outgoing emails.

Original

Our friends at google now bring up an email to the top of the list after 5 days or so and ask, if you got no response, if you want to follow up. Excellent idea.

Implementation

  1. For all outgoing emails, determine if there should be a reply.
  2. Monitor outgoing emails with expected reply for any responses, show a reminder otherwise.

Original

Not sure exactly what the heuristic is there, it probably uses some machine learning on the content to know if I would expect a reply or not...

Maybe just length of the mail, a simple "Ok, done" or "thanks" won't warrant a reply, but a mail just sent separately, not a reply to anything, with some longer text - that is likely a request for something.

Alternatively, or in addition, when writing a mail users could have the option to enable getting reminded if there is no reply for a week. I'd absolutely love that feature ;-)

Work packages

  • Implementation
  • Admin docs if applicable
  • User docs
@ChristophWurst

This comment was marked as outdated.

@ChristophWurst

This comment was marked as outdated.

@nimishavijay
Copy link
Member

This feature is available in Gmail and Outlook, and in Apple Mail and Thunderbird using add ons, so it's pretty popular.

Gmail calls it a "Nudge" and it would remind you of when you forgot to reply to an email, as well as to follow up when you haven't received a reply. It can be enabled or disabled in the settings.
image
image

cc @jancborchardt @karlitschek

@karlitschek
Copy link
Member

good idea 👍

@jancborchardt jancborchardt moved this to 🧭 Planning evaluation / ideas in 🖍 Design team May 31, 2023
@jancborchardt jancborchardt moved this from 🧭 Planning evaluation / ideas to 📐 Design phase in 🖍 Design team Aug 22, 2023
@marcoambrosini marcoambrosini self-assigned this Aug 22, 2023
@marcoambrosini
Copy link
Member

marcoambrosini commented Aug 25, 2023

As a prerequisite for this, we need to be able to analyze the message content and figure out whether the message needs a reply. This is true both for follow-up and reply reminders. Otherwise, this will result in many unwanted reminders.
Is this something we can do?
cc @ChristophWurst @AndyScherzinger @marcelklehr

@marcoambrosini
Copy link
Member

Here are a couple of wireframes. I think it would be good to use headings for these emails so that whenever the conditions are met, the message goes back to the top of the messages under the proper heading. From there I can choose whether to dismiss all reminders or handle them on a per-message basis.
Screenshot 2023-08-30 at 15 50 00

On the message side, we could add a header too that states when I've received (for reply reminders) or sent (for follow-up reminders) the message, and a big call to action button.

Screenshot 2023-08-30 at 15 55 38

What do you think @nextcloud/designers ?

@AndyScherzinger
Copy link
Member

As a prerequisite for this, we need to be able to analyze the message content and figure out whether the message needs a reply. This is true both for follow-up and reply reminders. Otherwise, this will result in many unwanted reminders.
Is this something we can do?

@marcelklehr can probably tell best if the available, non-fully-ethical AIs can do this already, the ethical, self-hosted ones I doubt are able to do this already with a high probability of being correct.

@marcelklehr
Copy link
Member

This should be possible with a good LLM. The way to pull this off is to give it the boilerplate code for a function that does what you want (ie. returns a boolean indicating whether the passed text expects a reply) full with docblock, description and return type, and you ask it to call the function on text XYZ and only output the result, e.g. as JSON. My long term plan would be to have a generic version of this available as a text processing provider.

Example prompt:

Consider the following TypeScript function prototype:
---
/**
 * This function takes in an email text and returns a boolean indicating whether the email author expects a response.
 *
 * @param emailText - string with the email text
 * @returns boolean true if the email expects a reply, false if not
 */
declare function doesEmailExpectReply(emailText: string): Promise<boolean>;
---
Tell me what the function outputs for the following parameters.

emailText: "......"
The JSON output should be in the form: {"expectsReply": true}
Never return null or undefined.

@marcoambrosini
Copy link
Member

design review comments:

  • limit list size and add the ability to expand
  • show only in priority inbox?

@jancborchardt
Copy link
Member

@ChristophWurst @marcelklehr do you need further design input or updated mockups, or are the mockups & specs good as is and should we wait on further developments from your side? :)

@ChristophWurst
Copy link
Member

Seems fine to me. This feature is not planned. We can look into the details when this gets picked up for the roadmap.

@jancborchardt jancborchardt moved this from 📐 Design phase to 🧭 Planning evaluation / ideas in 🖍 Design team Oct 19, 2023
@ChristophWurst ChristophWurst moved this from 🧭 Planning evaluation to 📄 To do in 💌 📅 👥 Groupware team Mar 8, 2024
@ChristophWurst ChristophWurst added skill:backend Issues and PRs that require backend development skills skill:frontend Issues and PRs that require JavaScript/Vue/styling development skills labels Mar 8, 2024
@ChristophWurst ChristophWurst changed the title Follow-up reminder Follow-up reminder (nudges) Mar 8, 2024
@st3iny st3iny moved this from 📄 To do to 🏗️ In progress in 💌 📅 👥 Groupware team Apr 3, 2024
@ChristophWurst ChristophWurst moved this from 🏗️ In progress to 📄 To do in 💌 📅 👥 Groupware team Apr 4, 2024
@ChristophWurst ChristophWurst moved this from 📄 To do to 🏗️ In progress in 💌 📅 👥 Groupware team Apr 4, 2024
@jancborchardt jancborchardt moved this from 🧭 Planning evaluation / ideas to 🏗️ At engineering in 🖍 Design team Apr 17, 2024
@st3iny st3iny linked a pull request May 29, 2024 that will close this issue
@github-project-automation github-project-automation bot moved this from 🏗️ At engineering to 🎉 Done in 🖍 Design team Jun 25, 2024
@github-project-automation github-project-automation bot moved this from 🏗️ In progress to ☑️ Done in 💌 📅 👥 Groupware team Jun 25, 2024
@ChristophWurst
Copy link
Member

cough documentation cough

@github-project-automation github-project-automation bot moved this from ☑️ Done to 📄 To do in 💌 📅 👥 Groupware team Jun 26, 2024
@ChristophWurst ChristophWurst moved this to 🏗️ In progress in 💌 📅 👥 Groupware team Jun 26, 2024
@jancborchardt jancborchardt moved this from 🎉 Done to 🏗️ At engineering in 🖍 Design team Jun 27, 2024
@github-project-automation github-project-automation bot moved this from 🏗️ At engineering to 🎉 Done in 🖍 Design team Aug 5, 2024
@github-project-automation github-project-automation bot moved this from 🏗️ In progress to ☑️ Done in 💌 📅 👥 Groupware team Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. to review enhancement feature parity skill:backend Issues and PRs that require backend development skills skill:frontend Issues and PRs that require JavaScript/Vue/styling development skills
Projects
Archived in project
9 participants