Statement of User Needs
Process impact: The statement of user needs documents and explains the actual desires of stakeholders in roughly their own words. What they desire is never exactly what the product provides. This document is not an informal draft of the SRS; it is different document with a complementary purpose.
The goal of this project is to create a cross-platform desktop tool, written in Java (J2SE 1.5 compliant), which interfaces with the online adventure game, Kingdom of Loathing. The project intends to provide all the user-friendliness of the KoLmelion graphical user interface while giving KoL CLI and other command-line users the scripting flexibility to which they have grown accustomed.
- What is the system's business environment?
- As noted in the target market and benefits document, KoLmafia is directed toward players who would benefit from task automation. Such players often have busy schedules in real life, but enjoy giving back to the community as they wait for newer features of Kingdom of Loathing to be released. Others would like to see their characters develop with a little less effort on their part and would appreciate the option to "manage" their character rather than "be" their character.
- What is the system's physical environment?
- This application runs on modern desktop computers. The users of the system are typically at a home computer.
- What is the system's technology environment (hardware and software)?
- As of October 2004, 61% of computer users connected to the internet have display resolutions of 1024x768 or higher, 34% have display resolutions of 800x600, and 5% have lower or unknown resolutions (w3schools'
- Most modern operating systems and web browsers come equipped with the Java virtual machine. If the user does not have the Java virtual machine installed on their system, it is freely available from Sun Microsystems.
Stakeholders / Actors
- Development Team
- The development team wants a well-documented system that is easy to maintain in light of the fact that Kingdom of Loathing is still growing and developing and likely to experience radical changes in the blink of an eye. The development team also wants an extensible solution so that new features can be easily added to the project without needlessly wasting time worrying about regression test issues. The development team also wants the freedom to grow, so the project must be able to reach out to as many potential developers as possible.
- Program must be open source.
- Program must be cross-platform.
- Program must be well-modularized.
- Players want a clean interface that makes their most common (and monotonous) tasks easy to accomplish. Players also want to see the results of their actions, rather than having to log into the system in order to see these changes. Players also want a way to communicate with other players and record these conversations for future reference.
- Program must provide support for the KoLchat interface.
- Program must provide support for the most common tasks.
- Program must provide a summary of the results of all client activity.
- Administrator (Jick)
- The administrator wants to have control of what happens on their system and with their bandwidth. The administrator, therefore, wants a program that is not resource intensive and makes requests that are roughly the equivalent of a normal user browsing the site. If the program's usage becomes a problem, the administrator would like a way to cleanly disable the program from interfacing with the site.
- Program must be easily identified.
- Program must minimize HTTP requests.