Sound decisions start with a
Hearing Loss Test.
TLDR: An iOS app to monitor and identify events causing temporary hearing loss, helping users avoid permanent damage.
*No longer available on app store as of January, 2024
My Role:
UX Engineer
Stack:
Swift
Xcode
XCTest
SQLite3
Design tools: Balsamiq Figma draw.io
Project Overview
Mission Statement
At Noise Pollution Clearinghouse, our mission is to revolutionize auditory well-being through innovation and accessibility. We're committed to providing an intuitive iOS app that delivers precise and individualized temporary hearing loss tests, empowering users to prioritize and maintain optimal hearing health with ease and convenience.
Initial Research
A critical first step to beginning the design process is to understand the market. What apps are already available? What do users think about them? What are the pros and cons? I began by selecting a few similar apps available on the iOS app store with the most downloads/reviews. The data was compiled into summary cards like so:
This step will be extremely helpful as we move forward by letting us understand the competition and how we can differentiate. For example, users complained that the 'Mimi' test gave inconsistent results, while the 'Hear Me' test provides visual feedback during the test that could compromise results. This starts to give us some design challenges to target for producing a superior product.
Target Users
Our ideal target users fall into four distinct categories.
Industrial Workers
Musicians
Audiologists
Hearing-Impaired Individuals
Personas
With the user profiles and interview information I constructed personas and journey maps.
Requirement Specification
With the initial research and personas well defined, we are ready to specify the requirements for the software component of our product.
User Registration and Profile:Low & High Fidelity Mockups
To begin our ideation in the design phase, I created a flow diagram to represent the system and our user's journey interacting with it. The flow chart takes our initial research, requirements specification, and personas into account to produce a basic blueprint of our system.
User Flow Diagram:
The UX User flow diagram helps us conceive a basic layout for the application, and gives us an idea of what views will be needed for the app. Moving forward with this in mind I created some mock-ups:
Development & Testing
A sprint backlog was built based on the project requirements, which is then converted to a KANBAN board on Jira. Development was conducted in an AGILE cycle of coding, testing and re-assessing to update the board during each sprint.
I began by building the storyboard for the project, based on our UI and flow Diagrams. Starting from the entry view, the early sprints prioritized getting the test functional ASAP. A simple layout was created, leaving most views as basic outlines. I went back to the important views for each sprint to create pixel-perfect UIs of the Figma mockups. This included creating responsive constraints for different device sizes, however I locked the orientation to portrait for simplicity.
With a basic outline of the storyboard, I was ready to begin working on the main functionality of the app: the hearing tests. Our proprietary calibration and testing methods were not difficult to implement, as they were well defined during our specification. The app utilizes a standardized volume with a wide range of pre-generated tones. The calibration test takes longer, and gauges what tones the user can hear. In this way we can reduce the regular testing time and make it more convenient to use.
The user data is stored in a database using sqlite3, and the active user info is stored using NS User Defaults. In this way it is possible to use the device conveniently without registering as a user, or to have a shared device with many users. The data can be accessed through a table on the results page. Here it is possible to delete results, in the case the user took a test under poor conditions or made a mistake. They can also add notes to describe a test and graph the hearing data. With the database all set, I populated it with some semi-random data. Then, using SwiftUI Charts, I implemented a graphing system to display the left and right ear data as a line graph.
One of the last features added to the app was the ability to share your testing data. This was an important part of our audiologist persona and we wanted users to be able to send data to their Doctor. However, we didn't want to require an account or registration. The solution I devised for this scenario was to utilize iOS's build in email system. Using an HTML template, the database would be queried and iterated to create a formatted table of the user's data. Once generated the app calls the email app and auto-populates the body with the table.
Testing was integrated using Xcode's built in XCTest to ensure each test was producing the correct output and recommendations to the user.Beta Testing:
To test our app with potential end-users, we contacted the audiology department at the University of Hartford to meet with a group of graduate students. We provided an overview of the app, however we avoided providing any specific direction regarding its usage; the purpose being to not influence their interaction with the app by avoiding pre-conceived information. Our feedback was mostly positive. The most common issue mentioned was difficulty finding a quiet enough space to take the test properly. We knew that would be a difficulty before we began, and the type of earbuds or headphones would also impact the testability.
Final Product & Reflection
Our final product was a hearing app with several distinct advantages over the other options available on the market.
Easy set-up:
Easy to set up, no registration required, start right away as a default user (if you are the only user on the device).
Superior Calibration:
Calibrates to any output device. Calibration is a one-time test. You will not need to re-calibrate unless you changed devices or your hearing changes.
Shorter test time:
our test takes less time, approximately 2 ½ minutes compared to the 6 suggest by our competitor. This is because of our refined test methodology and calibration to only play the tones you need.
Less susceptible to user manipulation:
Our test plays sounds in randomized order, random ears, and with uneven intervals.
Final Thoughts
Our product eventually got several thousand downloads and saw a modest growth in usage after launch. Our main channel of marketing was the organizations founder promoting it at numerous conferences. It received mostly positive reviews, outlining many of the above points. However, due to unfortunate circumstances, which are not related to the product itself, it has been discontinued from the app store.
Nevertheless I am proud of the work we accomplished on it and believe that our design and development process truly did produce a superior product.