Chat Application Requirements

by Joshua Finkler and David Dao

I. Introduction

This document explains the requirements for the Chat application for the ArsDigita Community System.

II. Vision Statement

The chat application provides a mechanism for multiple users to post messages, associate usernames with these messages, and display and update the last several messages so that chat visitors can follow the ongoing discussion. Such chat sessions need to be organized by topics so that users can find sessions relevant to their interests. The application should allow for multiple user as well as one-on-one sessions. Fine grain permissions customization should be available to keep information inaccessible to those users without appropriate authorization.

III. System/Application Overview

The chat application will consist of a user, group administrator and site-wide administrator interface. Chat sessions will be separated into rooms. Messages posted to each room will be archived and stored in a database. This archival method will integrate with the ACS so as to allow a comprehensive overview of a particular chat user's posting history. Chat rooms will be able to be created and dropped in conjunction with the creation or dropping of user groups or other database structures. The application must be reliable and scalable.

IV. Use-cases and User-scenarios

Saul Service-Employee wants to be able to interact with his customers over the Web while they are working on their computers, perhaps to help them diagnose their computer-related problems. He would like to be able to maintain several sessions simultaneously, so as to optimize his service efficacy. Saul would also like to be able to drop canned responses into a chat session when the customer asks a frequently asked question, thereby freeing up even more of his valuable time. By using the chat application to interact with his customers, Saul should be able to achieve each of these goals.

 Bertha Bosslady wants to be able to keep tabs on the performance of service employees like Saul. By using the database backed chat application, Bertha should be able to ensure that has a complete record of Saul and his coworkers customer interactions. These records should also be able to be used to evaluate the legitimacy of future customer complaints or praises of Saul's performance. Aggregating the information found in these records should allow Bertha get a broad picture of the performance of her service team in general. Scraping these records should help Bertha identify frequently asked questions for which a canned response would be appropriate.

 Chatty Cathy, a member of a role-playing fantasy community, wants to initiate a discussion with other gamers on the topic "Which is the better allegiance for cleric dwarves: chaotic good or lawful evil?" She should be able to search the site's chat rooms and find an appropriately entitled one, e.g., "Advanced Dungeons and Dragons". She should be able to join the chat discussion, post her question, get other interested nerds to respond, and have her desired discussion.

 Edward Expatriate has moved far away from his homeland but still wishes to keep in touch with his friends and family. Long distance phone calls are out of the question due to their expense. Using the chat application, Ed should be able to set up scheduled chats or log on in the hope of an impromptu chat session with these people, thereby keeping in touch while keeping costs down.

The Conglomo Corporation has a scheduled guest chat with Dr. Erudite. The chat room is open to the public, however, to prevent  profanity and offensive question content,  submitted questions do not go live immediately. Mark Moderator oversees the chat room and screens each question before approving them for inclusion in the chat.   Since Dr. Erudite is the guest, all his answers and comments go live immediately.  The day after the chat, Mark receives a request for a  transcript of the chat from one of his site users who was unable to follow the chat live.  Mark creates a transcript using a tool provided by the application which allows him to clean up some formatting issues and save it as a file.  Now a nice properly formatted transcript of the chat with Dr. Erudite is available to each site member.

Carl Consumer could not find a product at Shop.com. Frustrated after spending the better part of an hour engaged in an unsuccessful search, Joe decides to leave the site and go to another competitive site. Just before doing so, he sees a link offering to allow him to chat with a customer service representative.  He decides to give it one last try and so enters the chat and types "help!".  The Shop.com representative is notified of the incoming message by an audio alert.  Within the minute a Shop.com representative guides Joe to the product that he seeks. 

V. Related Links

VI.A. Requirements: The Data Model

10 The Data Model

VI.B. Requirements: User Interface