According to balpha's answer:
The only time "@marc" will generate a notification for you is when we can't find anyone else who we consider to be a better match, i.e. someone called "Marc" who was in the room during the past seven days, or someone called "Marc Gravell" who was here in the past two days.
However, given a recent ping notification I had, I think the system could be improved.
The notification I received was because someone used @James in PHP chat room; however, at the time of the ping:
- I was not in the room, and had not been for days
- Another James was in the room (exact username match)
- Other James had commented 7 mins prior to the ping ("@James")
It seems illogical to notify someone who's not in a chat room when someone with the same username is in the chat room and has just commented.
It seems overkill notifying users who've been in a chat room within the last 2 or 7 days.
Users involved in various chat activity are either in the rooms most of the time, or in and out enough that someone can message them when they return.
In any scenario, anything beyond 2 hours and surely they have left the chat room for some reasons, and so likely don't want to be or need to be notified of a ping?
Proposal
I know the system will be more complex than the proposal below, these are just some ideas for additional checks within the current system which checks who to notify of a ping.
"multiple users" = users with matching username
"single user" = only one user with a given username
Presume that a ping to a user has occurred (ie @whoever)
Do not notify any users who left chat room over 2 hours ago *
Notify all/multiple users when:
- Multiple users in room
- Multiple users left room within last 2 hours
- At least one user in room AND at least one user left within last 2 hours
Notify one/single user when:
- Single user in room AND no users left within 2 hours
- No users in room AND single user left within 2 hours
EDIT
* Re 2 hour ping limit
Scimonster stated it's useful being able to ping users beyond 2 hours, however if a user wants to be involved in chat, then they should be in the chat room, otherwise, let people leave and do other things.
If someone has just left (i.e. up to 2 hours ago) then sure there might be an extension to their conversation, but after 2 hours, they've left chat so "are no longer active in chat".
7 days is a well excessive to "disturb" people. I think 2 hours after leaving a chat room is enough "grace time" to quickly grab someone who might be needed from a previous discussion.
Otherwise, they have left chat, leave them be!
Why should we be "on call" for an entire week?