-
notifications in opencore
last modified October 15, 2007 by missmoun
Notifications (comments)
Please refer to the Twirlip project as well.
Updates:
- 9/27/07: Meeting to discuss notifications. General strategy decided -- going to start sketching out a plan to use Task Tracker tasks as a test case for notifications. See first steps below.
People who were at the meeting: please add to/edit this page.
Summary
Outline our overall needs/goals for notifications, across all of our applications. Begin to outline a technical & UI strategy to address them.
Mission-driven objectives
In order to make our applications useful, and to continue to pull people to the site, we need a way for people to stay up-to-date about changes on the site. The more ways that we can find to reach out to people, the more useful the site will be, and the more people will use it.
So, create a system whereby users can a) receive default notifications from the system b) choose to be notified in certain situations and c) manually manage when and how they receive notifications.User stories
- Lindsey creates a new task in a task tracker list. She assigns the task to Joe, a member of her project. When she submits the task, Joe receives an email that the task has been assigned to him; the task also shows up on Joe's "things I'm watching" page.
- Joe decides that he's sick of getting emails about a certain task. He goes to the page for that task and chooses to no longer receive emails about that task. [He may or may not still see them on his "things I'm watching" page]
- Luke logs in to OpenPlans and is directed to his account page. He sees a feed list of all the things he's subscribed to -- wiki pages that have been edited, new members of projects he's on, tasks that have been updated, etc.
- Nick creates a wiki page with a list of all the projects people are working on this iteration. Anytime someone edits this page, he gets an email.
Technical & functional objectives
Inventory of notifications (desired notifs in bold)
- OpenPlans Account
- create accoutn
- password forgotten
- Project membership
- you're invited to a project
- someone's requested to join your project
- confirmation when you've been added to a project
- your invitation has been retracted
- your role has changed [account page message]
- Listen
- your message has been sent to a moderator
- your list membership is awaiting for approval
- messages (this may or may not be a notification)
- Task tracker
- task is assigned / updated
- list or item(s) within a list is updated
- Wiki pages
- watched pages are edited
- watched page is "on fire"
- Project
- pages are edited
- new / removed members
- mailing list activity (?) new list, perhaps
- new / removed task lists
- traffic -- if it hits a certain level
- broken links (crawled by spider)
- new sub-project
- People (aka stalker mode)
- profile updated
- other activity -- page edits, etc.
- new blog post, comment
- Search
- new matches to a query you're watching
Methods of delivery
- In-site message (acct screen or inbox)
- SMS
- AIM/Jabber, etc.
- 3rd party apps (trac, etc.)
- RSS
Questions to consider
- How can we do "smart batching" -- aggregating notifications to go out together, when that makes sense. Perhaps by a weighted priority -- if a high priority notif comes in, the whole batch goes out.
Architecture
someone techy insert a description here=================================================================================
First steps
- Use task tracker notifications as a test case -- notifications are managed on a per-task basis, and on the "items I'm watching" page
- Watch or not watch _all events_ on a given task -- comments, status change, assignment change, overdue notice, description change, completion, etc.
UI considerations
-------------------------
Ways you might want to look at your list of things you're watching:
(a) by project (subdivided into type of thing, and if applicable, category -- so project/tasklist/task)
(b) by date updated
----------------------------
We could transclude onto every page a watch/unwatch button, which links
into the notification system. [transcluding would be really heavy, wouldn't it? wouldn't every page then have to manually include its own watch/unwatch *link* for transcluder to pick up? maybe that's okay? -egj]
Advanced preferences
There's a lot of ways to slice preferences that are possible. None are beautiful. For now, we're just doing top-level and per-page.Twirlip
The notifier is named Twirlip. It will be driven by cabochon events.
=================================================================================
Comments
- rmarianski 9/28/07: Do you think it would be useful to have milestone notifications? For example: openplans hit 2000 users, or 500 projects. Foo project hit 20 members. Bar project created 100 wiki pages. Lammy user has made 50 wiki page updates in the last day. Maybe these are just news articles or blurbs that appear on the home page instead. If not useful for users, I would certainly like to have these kinds of internal notifications.