2010/5/4 Martín Soto
<donsoto@xxxxxxxxx>
Hello everyone:
I just tried to collect some use cases (user stories) based on our recent discussion about volume control. Here they are:
* Mary often listens to music from the computer in her room, while
she's chatting with friends and browsing the web. She needs
a quick way to set the volume to adapt it to her mood and to the
recording level of the current song.
This case is flawed. We can automate this. Mary shouldn't have to give two flips about the volume of her IM client sounds. Mary just wants to listen to music, and be alerted when her friend Jane sends her a new message. What the hell does volume of an IM client mean anyway? That idea in itself is confusing.
This use case should be adapted to target some changes to pulseaudio. Pulse should be able to identify transient streams, such as IM notification sounds, and adjust their volume to be audible above the other currently playing streams, without blowing out Mary's ears. Now Mary is just happy, and didn't have to do anything.
* Betty frequently uses an Internet telephone application to
communicate with her daughter, who lives overseas. She needs an
expedite way to set the playback volume of the phone program to
adapt it to the amount of noise in the surrounding environment as
well as to variations in communication quality.
Yeah, definitely.
* Javier works at home and uses Internet chat intensively to
communicate with colleagues and clients. Since this is part of his
job, it is very important for him to hear the audible signals when
chat messages arrive. He's often worried about playing music from
the computer because he fears that the music may prevent him from
noticing an important message.
What's the difference between this case and Mary's case?
* Gerhardt listens to music from his office computer all day while
he's working. If the telephone rings (Gerhard uses both the
telephone in his desk and an Internet phone application) or someone
knocks on the door, he's glad to have a quick way to mute the music
for a while until the conversation is over.
Yeah, definitely.
* Axel spends hours every evening talking with his girlfriend on the
Internet phone. Sometimes, he wants to play music while he's
talking, and would appreciate to have an easy way to set up the
volume so that he can listen to the music without missing parts of
the conversation.
I think Axel's girlfriend would prefer him paying full attention to her, but it's their relationship, not mine .. :P
This is pretty much the same as Betty's.
* Karolina loves playing games from the Internet, but often finds
their music abhorrent. She would like to be able to mute the music
(and eventually listen to her own music) while still being able to
play the game.
Yeah, I guess can get down with this. The issue here is that Karolina is almost definitely going to just adjust the volume present in the game on the internet, she probably won't think "oh I should turn down firefox".
These were certainly helpful. I think you've nailed a lot of the sound related use cases.
I think the take home message of this is that there are two distinct types of sound streams. I'm going to use the analogy we've been using in notifications- Synchronous and Asynchronous.
- Synchronous streams are those that are user initiated. Banshee, Empathy Voice/Video chat, Youtube videos, etc. Streams that come from explicitly user initiated actions.
- Asynchronous streams are those that are not user initiated, and are triggered by environment events. Incoming IM sounds, alert noises.
Asynchronous streams should be handled by the system, but we should design a means of allowing users to adjust the volume of synchronous streams.