Support/Live Chat/Requirements

From MozillaWiki
Jump to navigation Jump to search

Getting to Live Chat

We must have multiple ways for users on SUMO to get into live chat

  • Clicking an option from the ask a question page or ask a question form
  • After pressing "No" on the survey of specific articles
    • Can't we just replace the current /chat page as P1 and work on the deeper integrations as P2? -djst

Asking a question

Before joining the queue

The chat system must allow users to ask questions. Ideally, this would be integrated with our existing Questions app for Kitsune as much as possible. Before beginning the chat, a user must see:

  • Whether the queue is Open, Closed, or Full.
  • The estimated wait time. (Based on the higher of a static multiplier times the number waiting in the queue or the current maximum wait time in the queue)
  • A link or button for starting a chat

At some point before joining the queue, the user must be asked:

  • What the question is
  • Which OS (autodetect)
  • Which Firefox version (autodetect)
  • Which extensions are used
  • Which plugins are used (autodetect)
  • When the problem started to occur (selectable option)
  • How often the problem happens (selectable option)
  • Article/search used to get to chat (autodetect)

In the chat queue

At some point after providing the question details, the user must have a chance to join the chat queue. If the queue is full, the user should be able to keep trying to join without retyping the question. The user must be see:

  • Current queue position and wait time
  • A template containing rules and top issues
  • Links to KB articles that the user might want to read while waiting. (search results from question) (P3 requirement)

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.

  • Both sides must be able to type messages to each other
  • Both sides should see when the other is typing (P2 requirement)
  • URLs sent by the agent must be linkified and must open in a new window, so as to not end the chat
  • The entire chat session must be logged to the database
  • There must be a button to end the chat session
  • Basic wiki markup for '''bold''', ''italic'', and [[KB article names]] sent by the agent should be parsed. (P2 requirement)
  • Variables like %agent%, %nick%, and %forum% should be parsed into the agent's username, the user's nickname, and a link to follow up in the forum. (P3 requirement)

After the chat has finished

When the chat session ends, the user must see:

  • A message thanking them for using the service
  • An ability to get an e-mailed transcript. If not a logged in user, an opportunity to type in an e-mail address must be presented.
  • A post-chat survey
  • A button for following up to the forum (P3 requirement)

When following up to the forum, via a link from the agent or the post-chat button, the following must happen:

  • All fields typed into the chat question must be transferred here
  • An option to put the entire (collapsed) chat log into the forum post
  • The original chat agent should be notified by e-mail

Answering questions

The core requirements for a chat contributor (agent) are:

Before accepting chats

  • Set his/her status to available or away
  • Set his/her maximum number of chats (chat limit) (default: 2)
  • See questions in the queue, ideally on a chat dashboard
  • 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.
  • Automatically join a multiuser chat room when accepting a chat.

Upon accepting a chat

  • See chat details (OS, plugins, version, question, etc)
  • See canned responses in a dropdown menu, which can be sent to a user
  • Add tags to the chat (P2 requirement)
  • Invite other agents to the chat
  • Confirm his/her intent before closing the chat

Other

  • Handle up to 50 chats at a time without the UI misbehaving.
  • 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)
  • Be able to communicate with other helpers via a contributors conference (eg. integrate #sumo) and/or by private instant message (P2 requirement)
  • See the chat interface integrate with SUMO without popup window(s) (P2 requirement)

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.

  • The maximum number that can be in the queue is set by the sum of all agents' chat limit
  • The entire queue should be displayed on the chat dashboard (P3 requirement)
  • 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.
  • 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.

Room monitoring

Trusted helpers in the Room Monitors group must be able to click any current chat from the chat dashboard (or other location where current chat sessions are listed) and monitor or join the chat. When monitoring, neither the agent nor the user should see the monitor's presence.

These trusted users must also be able to open/close the chat queue. If the P3 feature for sending messages to everyone in the queue is implemented, these users should have access to do so.


Administration

Administrators should be able to

  • Edit canned responses
  • Edit templates used on the chat landing page and waiting in queue page
  • Set agents' chat limits
  • Have all Room Monitor permissions
  • See chat metrics and be able to search the chat logs