Release Candidate

Release Candidate

Code Review

Overview

The module we decided to code review was MusicianDirectory. Note that this is the file before review.

The module post review: MusicianDirectory New

This module is responsible for dynamically loading the Musician classes, their icons, and other metadata on start up.

It's worthy of code review because it executes non-trivial introspective, pattern-matching and directory walking operations, and makes 2 goals of the project possible:

Feedback

Changes

User Studies

Overview:

We performed several user studies, using people who are completely new to the Robot Rock and outside of the CSE department. Our main takeaways are to make our controls more simplistic (such as key and time), as well as to make the delete button more clear and to add musicians that are more melodic.

Most people found the application fairly simple to use and intuitive, and the areas of confusion mostly involved areas requiring musical knowledge.

Besides the changes already implemented, our most improvements based on user feedback are: * Improved instrument quality and selection * Hiding the more advanced controls from the interface * Improving the instrument selection menu * Show user how instruments may be moved to change their performance.

User: 21 year old male, minimal to nonexistent music experience

Background: Electrical Engineering Major

Initial Playthrough:

Feedback:

What was the most frustrating?

What was most enjoyable?

Other notes

What I Learned

User: Female, 27.

Besides whistling daily, not a musician. Instructed to "go to town".

Observations:

Feedback:

My thoughts:

User: 20 year old male, little to no music experience. Statistics major

Tasks performed:

  1. Add a musician:

    • User went directly to the drop down menu and button.
  2. Begin playing:

    • Directly to play button, no problem.
  3. Pause/Stop:

    • Believed red 'X' was a stop button at first, then used the pause button.
  4. Delete a musician:

    • See above, red 'X' was confusing. After initial confusion, user correctly deleted a musician using the 'X'.
  5. Adjust musician parameters:

    • Had to be told that musicians are draggable.
    • Was not certain why musicians appeared where they did (random)

At this point, the user added several more musicians and began arranging them to produce some vaguely interesting music.

  1. Change tempo:

    • Used tempo slider, did not try the text line.
    • Worked fine, other than the reported bug of tempo not increasing beyond ~120
  2. Change key:

    • Assumed that unchecked minor box implied a major key
      • (should this be explicit somehow?)
    • Was able to change key using drop down menu and hear the changes
  3. Change time signature:

    • Had to explain what 'beats per bar' meant. In explaining, I used the metronome musician to demonstrate when bars ended/began.
  4. Quit application:

    • Closed the window, which correctly closes the program.

Overall impressions:

Had to be told:

Guessed:

Mistakes:

User: Male 21 year old. Music hobbyist, no formal training.

Observations:

Feedback:

Changes:

User 1: 18 year old female, no musical experience (does not understand what 'tempo' is)

User 2: 20 year old female, significant musical experience (pianist, clarinetist, saxophonist)

Users were present at the same time

Initial Playthrough:

Feedback:

What was the most frustrating?

What was most enjoyable?

Other notes

What I Learned