This task is a technical investigation intended to identify the constraints that will limit what on-wiki communication-related notifications can be sent and how they can be delivered. This task also represents the work involved with identifying what changes would need to be made to support the "Use cases" listed below.
We anticipate this investigation will surface new questions that may require additional research to answer.
Background
T233447 encapsulates the work of increasing the likelihood people receive relevant responses to the comments they post and conversations they start on talk pages, across Wikipedia's namespaces.
A key part to, "...increasing the likelihood people receive relevant responses to the comments they post and conversations they start..." is the people capable of and interested in providing said "relevant responses" being aware their input is needed.
As such, this task is about identifying what technical constraints will limit what on-wiki communication notifications can be sent and how they can be delivered.
Use cases
The below is a living list of uses for on-wiki communication notifications.
Use case | Key question | Related events | Potential implementation |
---|---|---|---|
1. | "Did someone respond to the question I asked? What did they say? | Event 1: Someone adds a comment in response to a comment you posted. Event 2: Someone adds a comment in a conversation (read: section) you started. | Enable people to opt-in/out of receiving notifications, delivered via Echo, for comments posted in direct response to things they've said regardless of how those "comments posted in direct response" were posted (e.g. via DiscussionTools or full page editing). |
2. | "Did someone say something new in this conversation I am interested in?" | Event 1: Someone adds a comment in a conversation (read: section) you are "following." | Enable people to opt-in/out of receiving notifications, delivered via Echo, for comments posted in sections/conversations they are interested in "following" regardless of how those "comments" were posted (e.g. via DiscussionTools or full page editing). |
3. | Did someone start a new conversation about a topic I am interested in? | Event 1: Someone starts a new section on a talk page that is not your own user talk page. | Enable people to opt-in/out of receiving notifications, delivered via Echo, when someone starts a new conversation (read: section) on a page they are interested in. |
Investigation findings
Below is what we know so far about the feasibility of the delivering the functionality the there "Use cases" above describe.
Use case 1
- We've developed an initial approach for detecting when another person adds a new comment in response to a comment you posted and when another person adds a comment in a conversation you started, //regardless/ of the interface/tool used to post said comment.
- We've developed an initial approach for NOT sending notifications when:
- The entire talk page someone is watching is archived
- Specific sections on a talk page someone is watching are moved
- We've developed an initial approach for differentiating between comments when multiple are posted within a single edit, using full-page editing
Use case 2
- We've developed an initial approach for detecting when the following happens, regardless of the interface/tool used:
- A new comment is added to the page and
- The new comment was added to a section you are subscribed to
Use case 3
- We've developed an initial approach that we think will enable the software to detect when a new section is created on a talk page you are watching, regardless of what tool (e.g. full-page wikitext editor, New Discussion Tool) the person used to create said "new section."
Open questions
Use case 2
- Where and how should peoples' "subscriptions" to specific sections be stored?
- These "subscriptions" will be stored in a database. The architecture for said database will be determined in this task: T263817.
-
What happens if the a specific section you are watching gets moved?- We will investigate this in T262990.
-
What happens if a specific section you are watching gets renamed?- We will investigate this in T262991.
Echo integration
-
Now that we are fairly confident in an approach for identifying new comments, new sections, etc., how might we "tell" Echo when to send notifications for these new comments and new sections? How might we "tel" Echo what content said "notifications" should contain?- We'll figure this out later. Engineering does not have any concerns about this at this time.
Overall feasibility
- What about the "Use cases" described above are not feasible to deliver?
- All uses cases are technically feasible. Open questions remain about how reliably and robustly they can be supported.
Performance
-
How might we detect new comments and new sections at scale?- We will investigate this in T262107.
Done
- All "Open questions" are answered