Bassoon Fingering Finder

Overview This project is a continued effort to improve upon the Bassoon Fingering Finder Web Application. The application was designed as a UI Senior Capstone Computer Science project starting back in Fall 2011. Team Two Buffoons with a Bassoon was the last group to work on the project during Fall 2013 semester. The purpose of the application was to aid both student and professional bassoonists giving them an efficient way of looking up note fingerings. By creating a virtual database of fingerings to search from, bassoonists will have access to a plethora of fingerings removing the inconvenience of using a fingering book, which tend to be bulky and costly to buy.

Current Functionality The Bassoon Fingering Finder is a web application hosted by Heroku. It is primarily written in Ruby on Rails in combination with CSS formatting. Through the two semesters of development that has already taken place, the Bassoon Fingering Finder project has reached a point of high usability and relative stability. Current features/functionalities will be outlined here. The web application includes user accounts that can be created and managed. As it currently stands, there is no access to the bassoon fingering database until a user has created an account and logged in with their corresponding credentials. The amount of information gathered for the user’s “profile” is very limited and not used to determine anything about their experience. There are admin accounts that have additional capabilities (such as approving fingerings).

 The application has 3 main pages that serve most of the functionality of the site. Search Fingerings: This page has a note slider that allows the user to select a note on the scale. Additionally, the user can click on the cleft to swap from bass -> tenor -> treble cleft. Another feature is the ability to choose between standard and alternate fingerings. Add a Fingering: This page allows any user to create a fingering guide by clicking on each button corresponding to a particular key on the bassoon. Consecutive pushes on the same button will cycle between the various potential states of each finger placement. Once submitted the fingering will await approval from any administrative accounts and keeps track of who submitted it and the date it was submitted. In addition to this, the page features a broken/unused up-vote system.  All Fingerings: This page contains a list of each note and the number of fingerings available for that note. The note name is clickable and takes you to the first fingering, allowing to cycle through other available fingerings for that note by pressing a next or previous button.  

Proposed Development

For the Spring 2014 semester, I will continue to build and improve upon previous development of the BFF. Here is the breakdown of the work we plan to complete this semester:

Phase 1: Fix Bugs There are a number of unresolved and new bug reports on the repository that represent issues that Dr. Hess has found during her use of the application. The bugs that I will be predominately focusing on are related to duplication of fingerings in the database. More specifically, it is intended to inform the admin account user whenever a duplicate is submitted. However, this is both sporadic and undesirable, as this should be taken care of without having to bother Dr. Hess (or other administrator) each time. I will also be revisiting what has been done with a mobile optimized version of the application. There was significant work done in this area by previous groups, but it was all removed before final submission and posting to Heroku. Evaluating the usability of what is there and determining if mobile optimization is going to be within my capabilities will be my chief priorities. I will expect to run into minor bugs left over from previous groups throughout development on project and intend to fix any unforeseen problems as I encounter them throughout future phases.

Phase 2: Improve Past Features I will also be revisiting what has been done with a mobile optimized version of the application. There was significant work done in this area by previous groups, but it was all removed before final submission and posting to Heroku. Evaluating the usability of what is there and determining if mobile optimization is going to be within my capabilities will be my chief priorities. In my discussions with my client Dr. Hess, I discovered that there are a number of features that are a little off the mark from her expectation. Design: There are some spacing issues when adding and searching for fingerings using the scale with the sliding note. If a sufficiently low note is chosen it collides with the top of the fingering diagram. To resolve this, I will be doing two things. First, increasing the space between the staff and the diagram by a small margin, and secondly, enforcing that the proper number of ledger marks and spaces are allowed above and below the staff for each corresponding cleft. For tenor cleft, I need three ledger marks and four spaces. Bass Cleft needs to have four ledger marks and five spaces available. Treble cleft need only have one space above the staff. Help/Info: Currently there is a lack of useful help documentation available for users, I be adding a number of tooltips and a help page to resolve this issue. Profile Visibility: Currently the profile is used to log in but is never really used for anything after that. I will be increasing the useful information gathered for a profile and displaying that more prominently for the user and those who have access to view their profile. Additional information will be based on skill level (Beginner, Intermediate, Advanced, or Professional). Additional Notes I will also be adding the ability to have more than two notes in trill fingering. This was recently suggested by Dr. Hess because trills will often contain more than two fingerings.

Phase 3: Add New Functionality After I have polished up and corrected/improved some aspects of the user experience, I will be seeking to add a number of new features. A Profile-Driven Experience: As mentioned, I will be slightly modifying the profile and improving its visibility. In the end, I will make the user experience much more profile-driven than it currently is. When a user logs in, they will be presented with the option to check some of their most recently/most often viewed fingerings based on viewing history and the addition of a “favorites” system. This will allow them to the mark a checkbox on a fingering that they would like to be able to view in subsequent visits without having to search the database. Along with these profile connected features, I will be adding a number of things that will happen automatically based on profile information. For example, beginning players use the bass cleft exclusively, so it makes sense for all fingerings to be shown in the bass cleft if a user has chosen the “beginner” status. This will translate to a series of default settings based on that information which should reduce the intimidation that users face when attempting to look at fingerings. I will also be removing the currently broken up-vote system that is attached to each individual fingering. This will be replace with a user rating, when they submit fingerings that are approved by an admin they will be recognized as a reliable source of good fingerings. This will allow Dr. Hess and other admins to identify positive contributors and point users away from negative contributors. Interface What is currently the “All Fingerings” page is considered an ineffective use of page space and an unsatisfying user interface. A list of all the fingerings is sufficient for an admin to cycle through and approve or delete submitted fingerings. So this page will be moved to show only on admin accounts and be listed as the “Approvals” page. To replace this page, I will be doing adding a page where all notes on the chromatic scale are visually represented and selectable, with the corresponding information (number of fingerings, alternate fingerings available, etc). Mobile Unfortunately, I are not yet able to assess my status on mobile optimization because I are unsure of the previous semesters progress (as it was chopped from the final product). I will be constantly searching for ways to make the application mobile-friendly.

About Me

Screenshots Concept Development