Support/Live Chat/Requirements: Difference between revisions

drop offers from UI
(drop offers from UI)
Line 37: Line 37:


===Chatting with an agent===
===Chatting with an agent===
When  the user's chat is accepted by an agent, both the user and the agent should join a multiuser chat.  Other agents may join this chat if they are invited or have "room monitor" access.
When  the user's chat is accepted by an agent, both the user and the agent should join a multiuser chat.  Other agents may join this chat freely, and people with "Room Monitor" permission can watch without joining.
*'''Both sides must be able to type messages to each other'''
*'''Both sides must be able to type messages to each other'''
*Both sides should see when the other is typing (P2 requirement)
*Both sides should see when the other is typing (P2 requirement)
Line 62: Line 62:


===Before accepting chats===
===Before accepting chats===
*Set his/her status to available or away (optional, may be dropped)
*'''Set his/her chat multiplier, to control how many people are allowed into the queue'''
*Set his/her maximum number of chats (optional, may be dropped)
*'''See questions in the queue, ideally on the chat dashboard'''
*'''See questions in the queue, ideally on the chat dashboard'''
*'''Get notifications upon chat offers, invitations, and messages'''
*'''Get notifications upon chat offers, invitations, and messages'''
===Upon receiving a chat offer===
*Receive a notification that a chat is being offered, showing the question details and time remaining to accept. (optional, may be dropped)
**Implementation note: offers may be kept internally, but they should be fully transparent if we have them.
*'''Automatically join a multiuser chat room when accepting a chat.'''


===Upon accepting a chat===
===Upon accepting a chat===
*'''See chat details (OS, plugins, version, question, etc)'''
*'''See chat details (OS, plugins, version, question, etc)'''
*'''See canned responses in a dropdown menu, which can be sent to a user'''
*'''See canned responses in a dropdown menu'''
*Add tags to the chat (P2 requirement)
*Add tags to the chat (P2 requirement)
*'''Invite other agents to the chat'''
*'''Invite other agents to the chat'''
Line 83: Line 77:
** why exactly 50? it seems like a really big number if this is per agent. needs clarification on what kind of UI misbehaving we want to avoid -djst
** why exactly 50? it seems like a really big number if this is per agent. needs clarification on what kind of UI misbehaving we want to avoid -djst
*** Matthew's record for most chats at one time in Spark is 50, so this seems like an upper bound.
*** Matthew's record for most chats at one time in Spark is 50, so this seems like an upper bound.
*See notifications showing which chats need attention.  (eg. chat tabs should appear red if they have an unread response and blink red if gone unanswered for X seconds) (P2 requirement)
*'''See some sort of notification (blinking tab, notification text) when chats need attention.''' (This is replacing the invitations as a P1)
*Be able to communicate with other helpers via a contributors conference (eg. integrate #sumo) and/or by private instant message (P2 requirement)
**'''Username mentioned in a chat'''
**'''User activity in a chat that has no agent activity for X minutes'''
**Private message received
*'''Be able to communicate with other helpers via a contributors conference (eg. integrate #sumo) and/or by private instant message.'''
*See the chat interface integrate with SUMO without popup window(s) (P2 requirement)
*See the chat interface integrate with SUMO without popup window(s) (P2 requirement)
**Ideas for how this might work at [[Support/Live Chat/UI]]


==Chat queue==
==Chat queue==
'''All questions that make it through the chat ask-a-question process must be added to a queue, so we can answer older ones first.'''
'''All questions that make it through the chat ask-a-question process must be added to a queue, so we can answer older ones first.'''
*'''The maximum number that can be in the queue is set to a configurable multiplier times the number of active agents'''
*'''The maximum number that can be in the queue is set to the sum of all helpers' chat multipliers.  The default multiplier is 2, but can be bumped up to allow more into the queue.'''
*'''The entire queue should be displayed on the chat dashboard'''
*'''The entire queue should be displayed on the chat dashboard'''
*Offers from the top of the queue should be offered to available agents with  chats below their limit.  The agent must have an exclusive period of  time (20-30sec) during the offer where only he/she can take that chat. (optional, may be dropped entirely)
*'''Questions  in the queue for more than X minutes should time out, and the user should be informed that we regrettably couldn't chat with them.'''
*'''Questions  in the queue for more than X minutes should time out, and the user should be informed that we regrettably couldn't chat with them.'''
**Note: messaging on /chat/ should set user expectations appropriately
**Note: messaging on /chat/ should set user expectations appropriately
*'''All helpers in the "Live Chat helpers" group must be able to pick any question from the queue'''
*'''Helpers must be able to join chats in progress.  Helpers without queue permission should be able to "knock" on a room to request permission to join.


==Permissions==
==Permissions==
All of these permissions should be configurable, so we can change which groups have which permissions.  The groups below may change with future policy decisions.
===Unregistered users===
===Unregistered users===
*'''Ask a question'''
*'''Ask a question'''
Line 104: Line 105:
*'''See the chat dashboard'''
*'''See the chat dashboard'''
*"Knock" (request to join) on a question being answered (P3)
*"Knock" (request to join) on a question being answered (P3)
*'''If invited to a chat session, see the full history and question details of that session'''
*'''When joining a chat session, see the full history and question details of that session'''
*Join #sumo via the Live Chat interface (P2)
*Join #sumo via the Live Chat interface (P2 requirement)


===Live Chat helpers group===
===Live Chat helpers group===
Line 126: Line 127:
*'''Edit canned responses'''
*'''Edit canned responses'''
*Edit templates used on /chat/ and in the queue waiting page
*Edit templates used on /chat/ and in the queue waiting page
*Set agents' chat limits (may be dropped)
*'''Set agents' chat multipliers'''
*See chat metrics and be able to search the chat logs (P5 requirement)
*See chat metrics and be able to search the chat logs (P5 requirement)


canmove, Confirmed users
382

edits