Support/Live Chat/Web Client PRD: Difference between revisions

category -> Support Archive
mNo edit summary
(category -> Support Archive)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==OBSOLETE PAGE==
use [https://wiki.mozilla.org/Support/Live_Chat Support/Live Chat]
==Introduction==
==Introduction==


Line 31: Line 34:
* Frustration with Spark: Helpers can accidentally close tabs before they are done, forget to respond to chats, or not realize that a chat is still going.  We need more effective notifications and confirmations before a chat is closed, both to increase user satisfaction and decrease helper frustration.
* Frustration with Spark: Helpers can accidentally close tabs before they are done, forget to respond to chats, or not realize that a chat is still going.  We need more effective notifications and confirmations before a chat is closed, both to increase user satisfaction and decrease helper frustration.


==Requirements, proof-of-concept==
* Beginnings of new framework, refactoring functionality into discrete components
* Simple client consisting of a web page that can:
** Join a Fastpath workgroup
** Join the Contributors conference
** Receive/accept chat offers
** All chats displayed in a single tabbed interface, animated via jquery, with basic notification of active tabs.
==Requirements, milestone 1 (Quarter 3, 2009)==
* Should use the existing [http://viewvc.svn.mozilla.org/vc/projects/livechat/trunk/webchat Fastpath Webchat] framework to save time and make use of existing Fastpath functionality.
** This client is currently structured as a Java Servlet which uses '''Smack''' to make connections to an Openfire XMPP server.  All interaction with the web client is currently through simple JSP pages that use [http://www.directwebremoting.org DWR] for communication with the servlet.
** Needed structural changes: Add unit testing, separate Fastpath functionality into discrete components, abstract ajax client interaction into widgets, add internationalization support.
* User connections to the client must be persistent.
** Replace current JSP pages for each feature with abstract 'widget' code, as multiple features need to be displayed at once without iframes.
** The internal state of each feature must be stored in the servlet, so that session restore can be implemented in milestone 2.
* Support for notifications.
** Notification bar should pop up on invitations, chat offers, and other important events.
** Audible notifications on invitations, chat offers, new messages
* Support for multiple chatrooms in tabbed interface
* Support for most important Fastpath agent functionality
** Receiving chat offers
** Automatically joining Contributors conference
** Canned responses
** Display chat metadata.  (Question data, plugins, etc)
** Personal status.  (Away, available, etc)
==Requirements, milestone 2==
* Existing webchat code (for users seeking help) should be adjusted for the new framework, with no regressions from production.
** Other [https://wiki.mozilla.org/Support/Live_Chat/Roadmap#Parallel_with_web_client_development items from the live chat roadmap] should be fixed simultaneously.
* Basic session restore support.  (An agent must be able to close the window, log in again, and be rejoined to all chat rooms)
* Switch to XML configuration files for all SUMO and Mozilla-specific text and functionality.
* Support for chat roster (contact list)
** Show helpers currently online, as well as the status for each helper.  Double clicking on a user should open a private message.
* Implement status widgets
** Metrics page showing current number of chats in queue, etc.  (In screenshot below)
** Chat status widget showing all chats currently active.
* Additional Fastpath functionality
** Room monitoring
** UI for chat tags.  (Currently used via bot commands)
* Fastpath improvements for helper retention
** "Cold transfers" back to queue
** Integrate KB search into client.
** "Transfer to forum" button.  (Should automatically add helper to the new thread's watch list, as well as alert Contributors when the user posts)
** UI for setting maxchats.
== Requirements, milestone 3  ==
*Should be stable and comfortable to use on a daily basis
*Color coded chat tabs to allow agents to reply to older messages first.
*All milestone 1-2 features should be functional and QA tested, with no regressions from Spark.
*Integration with modules from Contributor Home Page. (Show modules in web client when live chat is closed, and show chat status on contributor home page)
==Requirements, future==
* Integration with either SUMO (tiki) login or with LDAP login, depending on webdev plan.
* Improve helper experience
** Auto-complete tags and KB article names
** Integrate with scheduling solution (see live chat roadmap)
==Mock-ups, milestones 1+2==
'''Log-in screen'''


==Ideas==
[[Image:livechat-mockup9.png]]


'''Mock-up of client for contributors'''
[[Image:sumo-webclient2.png]]
'''Initial pen drawing mockup of concepts'''
[[Image:sumo-webclient1.jpg]]
'''Asking a new question'''
[[Image:livechat-mockup3.png]]
'''Waiting in queue'''
[[Image:livechat-mockup4.png]]
'''Talking to agent'''
[[Image:livechat-mockup5.png]]
'''Transferred back to queue'''
[[Image:livechat-mockup6.png]]
'''Chat ended'''
[[Image:livechat-mockup7.png]]
'''Continue chat'''
[[Image:livechat-mockup8.png]]




Line 39: Line 136:
The Live Chat web client will need to be based off of the current Fastpath Webchat codebase, written in Java.  Most of the coding will be in Java or in Javascript using the DWR framework.  The estimated time requirement is at least 60 hours, with several tasks that will likely need to be done by me.
The Live Chat web client will need to be based off of the current Fastpath Webchat codebase, written in Java.  Most of the coding will be in Java or in Javascript using the DWR framework.  The estimated time requirement is at least 60 hours, with several tasks that will likely need to be done by me.


* Upgrade DWR to latest version (Bug ??????, Matthew, 3-4 hours)
* (Done) Upgrade DWR to latest version (Bug ??????, Matthew, 3-4 hours)
* Code refactoring to support expanded functionality (Matthew, 10-20 hours)
* (In progress) Code refactoring to support expanded functionality (Matthew, 10-20 hours)
** Session restore
** Session restore
** Implement modes for client.  (User, helper, monitor, admin, etc)
** Implement modes for client.  (User, helper, monitor, admin, etc)
Line 64: Line 161:
** Embed a rotation of objects from Contributor Home Page (eg. forum posts) when chat is closed.
** Embed a rotation of objects from Contributor Home Page (eg. forum posts) when chat is closed.
* Testing, bug fixing, polish, UI (at least 10 hours)
* Testing, bug fixing, polish, UI (at least 10 hours)
[[Category:Support Archive]]
1,241

edits