ArsDigita Archives

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

Last modified: January 10 2001 12:00 PST 2000