Proj 03: Android Skeleton (Group 13)
Milestone 1
Application Flowchart:
Flowchart link here.
Design Iteration:
After reading over peer reviews, we realized that we needed to appeal to our target user a bit more. During our presentation, it was not clear which group we were targeting. Our intended audience is novice and beginner guitar players, and we needed to improve the application interaction to reflect that.
Therefore, in this iteration, we included more "friendly" applications to clarify the chords on the watch application. Now, when playing different chords, the finger indicators animate from string to string to make it easier to understand how to position your fingers and transition. Additionally, many of our novice users found it annoying that the different songs lacked a "difficulty rating". Therefore, in the main list view, we added a color indicator to easily signify the level of difficulty of the song. We used red to indicate "difficult", yellow to indicate "intermediate", and green to indicate "beginner". Hopefully with this change, novice users can more easily locate novice-friendly songs to learn.
Below, you can see three iterations of the "difficulty indicator" feature. We're still testing with users to see which one is the most clear and unobtrusive design.
Milestone 2
View Interactions:
List View (HomeActivity) --- onClick ---> Song View (SongActivity)
Song View (SongActivity) --- swipeRight ---> back to List View (HomeActivity)
Song View (SongActivity) --- onClick ---> open on watch (PlayActivity)
Play View (PlayActivity) [on watch] --- onClick ---> advance to next chord
Instead of ImageButtons, we used ImageViews and attached onTouchEvent listeners to change the views.
Here is the commit history:
For convenience, here is the Github Repo again.
Here is the demo video showing the interactions:
Milestone 3
Our programming challenges were
- Allowing gestures to advance and go back chords on the watch.
- Allowing gestures to advance and go back chords on the watch. Video below shows the accelerometer in the watch allowing this interaction to occur.
For #1, we made considerable progress. We finished writing a class, GuitarPartyClient.java, which GETs via the GuitarParty API and retrieves a song and its chord directions. We also wrote a class song.java which parses the JSON data that we retrieve and stores the song lyrics and accompanying chord data inside data structures. The data structures we chose to use are ArrayLists. Our next step is integrating this data and allowing users to search from the Guitar Party library.
The code for this functionality can be found below:
For #2, we also programmed the watch to listen to the accelerometer and either advance to the next chord or go back a chord. The video below demonstrates the progress we've made.
Comments