Amarok is a music player and manager. The Media Device (MD) Synchronization (sync) sub-feature allows users to synchronize their music collection on their computer (also referred to as the 'local collection') with their media devices (ipod, other mp3 players, etc). Synchronize means easily and automatically (optional) copy all or a subset of their local collection to a device. The MD sync feature's primary goal is to make the process of choosing this subset of tracks/playlists easy.
- List of types (groups) of users
- User groups can be organized based on any type of dimension
- Some groups may be broken down in to sub groups
- Sometimes it is easy to identify who the application is not for
- This can help keep the scope of the project under control
User Profile 1: For each group of users identified (or primary groups, or particularly special groups if many groups are defined), write a description of that user's characteristics based on a real user you know.
An American teenage girl who loves using her ipod when she is out with her other typically teenaged friends. She doesn't see the need in keeping your collection organized (nor her bedroom for that matter), so she tends to have all her music dumped into various playlists with such spontaneous names as Untitled Playlist 1, 2, 3, and 4. She wants her ipod to automatically mirror her computer in terms of these playlists, though if you ask her she'd say, "Well, like, I just want my ipod to, like, have my playlists.".
Her attention span is short and her threshold for frustration is very low, so she will absolutely not do a bunch of configuring to set her ipod up.
A podcast fanatic, John starts every day with a large french press and BBCs daily morning podcast. Throughout the day John almost always has his earbuds in listening to some podcast or another, whether he's in the subway or in his cubicle at a large tech company. He wants his portable media device to always have his latest subscriptions. He has some music for those days when he runs out of podcasts early, but by-and-large he wants his podcasts to be synchronized hassle free.
Since he uses several different computers throughout the day, he also wants his playback positions saved and synchronized via his device, so he does not have to seek to his position in a 70 minute podcast.
Chris has a huge music collection. Huge, mainly because he's a self labeled music connoisseur. He is the guy who seems to be going to every concert - the big ones and the obscure live music shows in dingy dive bars. The social web has helped him discover even more music he loves, and with his large disposable income his collection just keeps growing.
He's resigned himself to the fact that he'll not find a media device large enough to hold all of his music. But, he concedes, "I'm never listening to all my music at any one period anyway, just the latest genre or group of artists I'm in to.", he explains in a matter of fact tone. The trick, he realized, is to identify which music he'll want to listen to out on the road, and sync just those tracks.
Of course Chris is a busy guy, so he can't be bothered to track his own listening habits and manually tick off artists/albums from a list of thousands. He expects Amarok to help him out here, though he is willing to put in a little time to tweak his synch results to just the way he wants it.
- 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
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.
- List of environmental conditions for the user or the application to consider
- For example, an Internet-capable application would require an Internet connection