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 user names 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.
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 she 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.
V. Related Links
VI.A. Requirements: The Data Model
10 The Data Model
- 10.10 Chat Rooms
10.10.10 Chat rooms have unique display names within each instance.
10.10.20 Chat rooms have option to archive all chat messages or not archive.
10.10.30 Chat rooms have active and deactivate status.
10.10.40 Chat rooms have auditing information (creation user, creation date).
10.10.50 Chat rooms should be associated with permissions levels
for message posting. "Moderated mode" chat room will be such that each
message posted shall require approval from the administrator for that room
before being accessible to other chat users. "Unmoderated mode" chat rooms
will be such that messages posted to that room are immediately accessible
to other chat users.
10.10.60 Chat rooms could either be private or public.
- All register users automaticly grant permission to enter and participate in public chat room.
- Users/groups must be explicitly grant permission to enter and particate in private chat room by a room admin.
- 10.20 Chat messages
10.20.10 Each log message has auditing information.
10.20.20 The chat room to which a message belongs shall be identified.
10.20.30 A toggle value should be in place to indicate whether
the message is in plain text or HTML format.
10.20.40 A toggle value should be in place to indicate whether
the message has been approved by the moderator.
VI.B. Requirements: User Interface
-
20.10 Chat Administration Interface
20.10.10 Administrator should be able to create, edit, and
delete a chat room.
20.10.20 Administrator should be able to delete all messages
from a chat room.
20.10.40 Administrator should be able to add and remove moderators
for a given room.
20.10.40 Administrator should be able to grant or revoke group
privilege to a chat room.
20.10.50 Administrator should be able to active and deactivate
a particular chat room.
-
20.20 Moderator Interface
20.20.10 Moderator should be able to post messages directly
in a moderated chat room without the need for moderator (self-) approval.
20.20.20 Moderator should be able to accept or reject messages
from other users in the moderate chat rooms.
20.20.30 Moderator should be able to suspend or revoke chat privileges
from chat room users.
-
20.30 Regular User Interface
20.30.10 User should only be able to enter a public chat
room accessible to this user's user group.
20.30.20 User should be able to automatically invite another
user to join them in a chat room by supplying an email address.
20.30.30 User should be able to do a private chat with other user.
20.30.40 If a chat room is moderated, then the user's message
will not go live immediately.
20.30.50 There is a refresh link to ensure they receive the latest messages.
20.30.60 The user should see all other users that post messages
in the last specified number of minutes
20.30.70 A user should be able to chat privately with another
user.
VII. Revision History
Document Revision # |
Action Taken, Notes |
When? |
By Whom? |
0.1 |
Created |
2000-10-03 |
Joshua Finkler |
0.2 |
Minor revision |
2000-11-08 |
David Dao |
jfinkler@arsdigita.com
Last modified: January 10 2001 12:00 PST 2000