We have decided to implement the live musician practice critique idea based on our WOz testing. We were specifically intrigued by the excitement users expressed in being able to have a remote platform devoted to talking about music.
Users were more comfortable with organizing critique sessions/giving feedback to people they knew before, so our app is designed with this in mind as opposed to random chat-roulette type conversations between anonymous listeners. However, we
would like to still keep this possibility in the back of our minds as we continue testing to change the feature set (i.e. add a mode for anonymous musician/listeners where listeners can just listen to audio and not video)
Key Feature Choices & Rationale
Practice Phase
- Start/stop practice button for performer(P): Ps were unclear on when they could start/stop their practice during WOz testing, so we added this to make defining the practicing portion easier for the performer. This way the listeners(L), who were confused about when the other person was going to play, would also be more comfortable with understanding what the other person is doing.
- Live video/audio stream from performer(P) to listener(L): We got feedback that some Ps were distracted by seeing the large webcam stream of Ls, so the video/audio will be primarily one-way for the practice phase, where L can see/hear P, but P only sees a small feed of L to just note that L is there and listening without being distracting.
- Text feedback logging for L: All Ls used text to add more detailed feedback during testing, so we will keep this feature.
- Button commenting for L (customized based on performer instrument, prototype will be based on vocal): Users only used a subset of the ones provided, and commented on the fact that certain critique words were more suited for one instrument than the other.
Critique Phase
- Live video/audio stream from P to L and L to P: The critique was a more personal one-on-one task, which requires a two-way video/audio connection.
- Manipulatable recorded video of practice phase, with controls of video defaulting to listener: Testing revealed that typically the more experienced user (usually the Ls) would want to have control over the playback video so that they can point things out to the other (usually the Ps). However in the equally matched pair, the Ps also manipulated the playback video. Thus, we decided to give the control to the typically “better” Ls, with the option of switching controls if requested (via button on the side that indicates who has the video control).
- L’s text/button comments showing up synchronized/real-time with the playback video: Seeing the comments in real-time with the performance playback triggered the Ls to give more detailed feedback, and pairs were able to critique effectively on specific portions of the piece; we received positive feedback on this feature so we will keep it.
- Ending summary feedback form (not implemented yet): One pair wanted to be able to reflect on their practice session individually as well after the pair session, so we decided to add a feature that would let them record their individual thoughts at the end as part of the practice archive.
User Features
- Users can specify what instrument they play: We found that the most informative feedback sessions for both users was when the performers played the same instrument. We added this feature so performers can request someone who plays their instrument to give them feedback.
- Record/upload own practice clip (not implemented yet): We wanted the users to be able to gauge the abilities of the performers they were going to exchange feedback with, since we found that the performer’s playing ability relative to the listeners’ ability greatly affected what kind of feedback was given. This would be helpful in the cases where the performer/listener do not know each other.
- Home Page with list of all online users they can invite with click: We wanted to make the invitation process as easy as possible, and this online buddy list on the home page was the easiest way to check who was online, much like skype/messenger.
- Home Page with list of past practice sessions the user has practiced/critiqued in: (not implemented) Having a log will allow the users to go back on previous practice sessions and review/grow more; although not strictly communication-related, we realized through WOz that many musicians valued hearing a recording of themselves play to objectively listen and improve on.
Etc
- Invitation system: We did not test this part, but talking to the users revealed that they would want to set up a time beforehand with someone they knew to practice. We have implemented this with a straightforward method in which one user can request a practice session with another online user through their homepage, and the other person, who sees a dynamic pop-up after being invited, can either accept/deny this invitation. When both accept, they are taken to the practice phase page. The musicians we talked to seemed more enthusiastic about asking for people to listen to their practice (as opposed to the listener wanting to provide feedback), so our prototype only gave musicians the ability to invite other online users to be listeners. Eventually, we’re hoping to have a robust messaging system with a calendar so users can schedule practices on the platform itself.
- One issue we plan to address during our user testing is the scope of users we’re trying to target. For example, we found in previous WOz testing that a pair that was more equally matched in playing ability both wanted to use the video slider, whereas a pair with a significantly more experienced listener wanted complete control given to the more experienced listener. Although the implementation in our initial working prototype will not depend heavily on this, other factors in our app (i.e. how to initiate practice sessions, what critique buttons to include) will be informed by this decision.
Implementation Progress
From all the features we have planned on implementing, here is what we want accomplished before user testing. Each feature is listed with a priority number from 1-3 (1 represents most important and 3 means nice to have :
-
Homepage
- We’ve implemented a static navbar which helps users navigate easily throughout the app. (priority: 1)
- Users can either login if returning or create a new account using their email. (priority: 1)
- Upon login users are redirected to the homepage (priority: 1)
- On the homepage users can see who else is online at the moment (priority: 1)
- This list of online users continuously updates (priority: 2)
- Users can directly invite someone else to either perform or watch and critique their performance. (priority: 2)
-
Practice session
- A practice session is initiated by clicking either the “Invite X to watch my rehearsal” or “Request to watch X’s rehearsal” (priority: 1)
- If I invite X to a practice session, they will get a pop-up notifying them of my invitation. They have the option to either accept or decline my invitation. (priority: 1)
- If X accepts my invite we both enter the practice session
- If X declines X returns to their homepage, and I am given the option of returning home or to my profile
- Once both P and C have entered practice session, they are prompted to allow use of their webcams. (priority: 1)
- If both users allow camera use, they begin a two-way live video chat. We used WebRTC to accomplish one and two-way audio/video chat. (priority: 1)
- The musician has a button with the option to “Start Rehearsal”. This button will toggle between start and stop modes. (priority: 1)
- Rehearsal session officially begins when P is ready and clicks button:
- The app begins to record the P’s performance. (priority: 1)
- Audio will be flipped to one-way, so whatever noise C makes doesn’t appear in recording or distract P (priority: 2)
- When P pushes button, the divs with commenting interface appear on C’s end. (priority: 1)
- C’s commenting interface contains both the option to type in commentary and tag (priority: 2)
- There are 4 categories of tag with which C can rate parts of P’s performance: Pitch, Rhythm, Posture, and Tone. Each of these categories have a “Good” tag option or “Bad” tag option. This gives C essentially 8 tagging options (for example “good pitch” or “bad tone”). (priority: 2)
- C’s comments will be saved with a timestamp so they can be synchronized and displayed with the performance playback later. (priority: 1)
- Practice session ends when P hits the “Stop rehearsal” button. Both users are redirected to critique session. (priority: 1)
- Critique session
- There are 4 categories of tag with which C can rate parts of P’s performance: Pitch, Rhythm, Posture, and Tone. Each of these categories have a “Good” tag option or “Bad” tag option. This gives C essentially 8 tagging options (for example “good pitch” or “bad tone”). (priority: 2)
- C’s comments will be saved with a timestamp so they can be synchronized and displayed with the performance playback later. (priority: 1)
- Practice session ends when P hits the “Stop rehearsal” button. Both users are redirected to critique session.(priority: 1)
- Two-way video chat is turned back on (priority: 1)
- Both users can now also see a video recording of P’s rehearsal (priority: 1)
- C has sole control of recorded playback (priority: 2)
- C’s comments appears alongside playback (priority: 1)
- Both P and C can X out of review session when done and return home (priority: 1)
Remaining Implementation/Design issues
- We still have to test which invitation system works the best, and if it would be confusing for listeners to be able to request practice sessions with performers. Based on our results from testing, we may add a button that allows listeners to request a session with performers on the home page as well.
- We need to implement working profiles so that users can document their progress. They will be able to go back and rewatch their recorded rehearsals as well as see past critiques they have made. We also want users to be able to directly message one another through their profiles
- We still need to implement the messaging system so scheduling can occur on the platform itself. Although this was lower priority than the key features we implemented for this milestone, a complete app would have this so the app can stand alone
- We need a better way to identify if users are online. Right now, users are not “not online” when just exit the page, so we need to determine the best way to store this information in firebase.
- We may have to narrow our user target. For example, if we focus only on student/teacher type relationships, we may take out the option to swap video controls in the critique phase. If we focus on equally matched pairs, we may add an additional “jam session” mode where they can just chat about their respective instruments and play with each other with no critique. More testing will help inform this, and we hope to solidify our focus by the next prototype iteration.
- We still need to do some research on what type of critique is adequate for the button comments for certain instruments. We haven’t actually gotten around to identifying which critique categories are relevant for which instrument, so we need to do this in order to create the critique feedback buttons. Eventually these buttons will be dynamic and adjust to the particular instrument being played
- For critique review it would also be nice to allow users to jump to a particular section based on a comment or tag. When watching the playback it would be nice for them to have a full list of the comments with timestamps so they can pinpoint exact problem spots in their performance without having to sift through the whole recording
- During WoZ testing those critiquing expressed a desire to summarize their comments at the end. They wished they had some way to either write down final thoughts or record a video message at the very end of the rehearsal session.
To see a full list of views we need to implement, tagged by their priorities, as well as the database model, click here.
To see our task flow and wireframes, click here.