CHIMMP Software Requirement Specification
1. General Product Description
CHIMMP is an online MP3 player, controlled via an instant-messaging text interface. Users shall be able to interactively control a shared playlist and manage their own individual playlists through an instant messaging platform. A user with administrator privileges shall be able to manage the global playlist as well as manage user accounts.
2. Glossary Definitions
2.1 AIM: AOL Instant Messenger
2.2 AOL: America Online
2.3 CHET: Consolidated Hammock suite Ethernet Technology
2.4 CHIMMP: CHet's Instant Message Music Player
3. General Requirements
3.1 CHIMMP shall have the ability to be controlled through AOL's Instant Messenger Service.
3.2 Registered users of CHIMMP shall be able to: control playing media, manage playlists, manage users (administrators only).
4. Functional Requirements
4.1 Playlist Management
4.1.1 Global Playlist Management
4.1.1.1 There shall be a regulation mechanism to prevent a single user from dominating the playlist.
4.1.1.2 A user shall be able to skip a song which he or she submitted.
4.1.1.3 A user shall be able to change volume of current song.
4.1.1.4 A user shall be able to view information about the current song.
4.1.1.5 A user shall be able to view the playlist.
4.1.1.6 A user shall be able to advance the position of his or her song in the global playlist.
4.1.1.7 A user shall be able to submit music files to be added to CHIMMP's catalogue of playable music.
4.1.2 User playlist management
4.1.2.1 A user shall be able to create and delete playlists.
4.1.2.2 A user shall be able to add songs to and remove songs from his or her own playlists.
4.1.2.3 A user shall be able to view the contents of his or her own and global playlists.
4.2 User customization
4.2.1 A user shall be able to set the verbosity level of text responses from CHIMMP.
4.3 Administration
4.3.1 An administrator shall be able to add and remove media files to CHIMMP’s catalogue playable media.
4.3.2 An administrator shall be able to add and remove users and administrators to the list of those authorized to use CHIMMP.
4.3.3 An administrator shall be able to disable and reenable a user’s ability to use CHIMMP.
4.3.4 An administrator shall be able to manage the current playlist.
4.3.5 An administrator shall be able to skip songs in the current playlist.
4.3.6 An administrator shall be able to start or stop the playback of CHIMMP.
4.3.7 An administrator shall be able to disable the ability of non-administrators to alter volume.
4.4 Search
4.4.1 Searchable Fields
4.4.1.1 A user shall be able to search for media by title.
4.4.1.2 A user shall be able to search for media by artist.
4.4.2 Browseable information
4.4.2.1 A user shall be able to browse media by genre.
4.4.2.2 A user shall be able to browse media by popularity.
4.4.3 Sets of media on which searches may be performed.
4.4.3.1 Global Playlist
4.4.3.2 User's Playlist
4.4.3.3 CHIMMP’s entire catalogue of playable media
4.5 Help
4.5.1 Basic help documentation shall be displayed on request of the user.
5. Non-Functional Requirements
5.1 CHIMMP shall run on Linux.
5.2 CHIMMP shall be written in a modularized fashion to facilitate adding control by other instant messaging platforms at a later date.
5.3 CHIMMP shall be compatible with AIM.