Requirements for the CS 383 S16 Project
- Capable of supporting editing, compilation, and execution of Java
programs. Programs to be composed as projects and support multiple
source code files across multiple directories within a shared top-level
directory.
- Ability to import/export AND/OR function on projects/source code stored
in the ordinary local file system.
- Syntax coloring; visual indication to see who coded what.
- Multiuser, up to >= 32 users can share an IDE session.
- Shared sessions should allow people to move around their view
(read-only, at least) independently, and to quickly jump to where
other users are looking.
- Users can text chat to individuals, transient shared session members,
persistent project member lists, and all logged in users.
User profiles should include persistent data including project ownerships
and memberships, friends, e-mail, profile image.
- Users should have easy access (background?) awareness information
of other users, especially friends and members
of shared projects.
- Resource defense strategy that includes not subjecting any sQuire server to
becoming unresponsive due to a runaway program, and not allowing any
sQuire server to give up shell access via an executing program in sQuire.
Additional Considerations
- Indication of who coded what could be background color, underline color,
sidebar color, shade/fill pattern, or icon/avatar. Since multiple people
might edit a given line over its history, support for past history or
anyhow multiple persons in this indication is strongly recommended.
- Teams should decide whether write access to shared editing should be
turn-based or simultaneous
- Teams should decide if voice or video is essential.
Voice, if supported, might be restricted as to number of listeners and/or
number of simultaneous transmitters.
Video, if supported, might be restricted as to number of viewers and/or
number of simultaneous.