Support/Kitsune/LiveChat Roadmap

From MozillaWiki
Jump to: navigation, search

Roadmap for Live Chat

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Requirements: Support/Live Chat/Requirements

  • [in progress] Phase 0 - Backend Architecture
    • Choose a python implementation for socketio: Gevent-socketio vs Tornadio
      • Create a simple proof of concept using Tornadio (with bruvka as the redis client) and compare code/result to the one we did with gevent-socketio.
    • Development setup
      • Something easy like `./manage.py runchat` for doing chat development. Auto-reload on code change is very desirable.
    • 1-2 weeks
  • Phase 1 - Group Chat
    • A basic chatroom with some notifications (mentions, etc)
    • Private instant messaging
    • ~2 weeks
  • Phase 2 - Basic Queue
    • Barebones queue to get started
    • ~1 week
  • Phase 3 - 1:1 Chat
    • Helper can pick a user off queue
    • They can chat
    • Event notifications
    • ~3 weeks
  • Phase 4 - Chat Monitor
    • An admin helper can join an existing 1:1 chat in monitoring mode.
    • ~2 weeks
  • "ALPHA"
  • Phase 5 - Enqueue Workflow
    • The form(s) that lead up to getting in the queue
    • Estimated waiting times
    • ~2 weeks
  • "BETA"
  • Phase 6 - End of chat features
    • Thank you message
    • Post chat survey
    • Access to transcript
    • [P3] Workflow at the end of chat to refer user over to AAQ with chat information transferred over.
    • ~2 weeks
  • Phase 7 and beyond - UI Polish, Dashboards, Moderation
  • [ongoing]
    • UX
    • Figure out deployment setup (reverse proxy, etc.)
      • How does websockets/keepalive work with zeus?
    • InfraSec audit
    • Chat logging: choose a data store
    • IRC connector?