- 1 Project User Research Profile
- 1.1 Who is the application for?
- 1.2 What kinds of tasks will they complete
- 1.3 Environment Conditions & Requirements
Project User Research Profile
Kopete is an instant messenger supporting AIM, ICQ, MSN, Yahoo, Jabber, IRC, Gadu-Gadu, Novell GroupWise Messenger, and more. It is designed to be a flexible and extensible multi-protocol system suitable for personal and enterprise use.
Who is the application for?
- Instant messaging hardcore users
- Time independent: They're online, always.
- Location independent: At home, at work, with different protocols / accounts
- Favorite communication: They prefer IM over email, telephone, SMS, ...
- Five friends: Start the IM client, arrange dinner with some friends, quit it for the day
- Myspacers: Animated smileys and custom chat styles to rule them all
Who is the application not for
- "Managers" and people looking for an "all-in-one" communication solution that automatically imports contacts/history from other applications (outlook, skype, ...) and synchronizes different devices (mobile phone, laptop, pda, ...)
Sample User Profiles
A couple of Windows and MacOS workstations are used in the small office Pablo (34) works at as the system administrator. The jabber server he installed back two years ago was a natural choice as the IM server for the office, and Kopete is the client Pablo uses to chat with his co-workers. Occasionally he takes his laptop home, where he shuts down his work identity and goes online using his private identity. This one contains a couple of accounts for different IM protocols his friends and relatives happen to use.
The latex plugin is just what Chad (22) needs to discuss mathematics with his friends from college when he doesn't see them personally. He usually keeps Kopete running in the background and likes its configurability that allows him to suppress most messages when he is actually studying, yet is always alerted of new messages otherwise. This way he never misses the opportunity to spend an evening out with his friends at some pub, concert or other event.
Working as a freelancer for two local newspapers, Carol (40) spends quite some time on the road as well as writing up things at home. Her laptop is always with her, and around noon she usually fires up kopete to make an appointment with one of her friends for lunch.
Suzie (14) just discovered the internet with all its goodness of youtube, myspace etc. Right after school she checks whether she can use her elder brother's PC where she uses kopete to chat with her friends from school and myspace. Just like her myspace profile, she configured kopete to her liking with many animated smileys and custom chat styles.
What kinds of tasks will they complete
- List of common tasks users will complete
- This does not have to be a complete functional specification, but major tasks and specialty tasks should be listed
- Include functionality that is planned but not yet implemented to help keep the future in focus
(What kinds of functionality will the application not support)
- List tasks or functionality the application will not address
- Sometimes it is useful to list this unintended functionality to help keep the scope of the application
- For example, a certain functionality may not be implemented because it is out of scope with the primary goals of the project, another application with a different focus does it better, or it is an extreme edge case for a user type which is not primary
Sample Use Scenarios and Cases
Use Scenario 1: For each task identified (or major tasks, or particularly special tasks if many tasks are defined), write a description of how that user would accomplish the task independent of how they would complete it within the application.
Use Case 1: If a use scenario has been implemented, include a matching use case which describes how the task use scenario can be completed in the application. There may be branching or multiple ways to complete the task, and this is a good way to document it.
Environment Conditions & Requirements
- List of environmental conditions for the user or the application to consider
- For example, an Internet-capable application would require an Internet connection