SleepScore is a health/lifestyle app that accurately measures sleep and provides personalized lifestyle advice to help users meet their specific sleep goals such as fall asleep faster, sleep longer, or wake up feeling more refreshed. Sleep tracking is an absolutely critical step in the user journey because it is the only way to unlock core features such as data reports and improvement advice. It provides detailed and accurate insights into whether the user is sleeping well compared to recommendations provided by the National Sleep Foundation.
After the app was launched in June 2018, I took over as design lead, then, after 2 months, sole designer. Working with one product manager, I focused on improving sleep-tracking engagement by redesigning the onboarding and pre-tracking experience. This effort took place over four 2-week design sprints, spaced out over 4 months.
I took lead on designing screens and positioning content strategy, working with data scientists to track and interpret analytics from GA and Amplitude. As a result of these redesigns, we improved first night engagement from 27% to 43%.
Making the most of a limited research budget and fast-paced release schedule, our Agile Design process relied heavily on data analytics to inform and test hypotheses. For example, we were able to identify which screens were causing friction when we saw high drop-off rates. However, without speaking directly to users, we could only speculate why this was the case. To close these gaps in communication, we would frequently hold dogfooding sessions that included a wide range of SleepScore employees from sleep science to marketing.
Through analytics, we observed high drop-off rates (~50%) within the onboarding funnel–that is, before the user ever sees any app features. Our hypothesis is that the overwhelming amount of text (and its illegibility) caused users to tune out or give up.
By talking to a handful of users and relying on UX best practices, we were able to map out user goals and friction points. Using this journey map as a jumping off point, we held UX Forum Workshops where we encouraged the larger team to contribute ideas and co-create.
Before diving into wireframing, we did a rigorous proxy study of apps such as Garmin, Strava, and MyFitnessPal to understand how other apps tackle onboarding. We quickly noticed that each app followed a similar formula: 1) visually communicate basic app mechanics, 2) focus on lifestyle benefits, and 3) allow users to explore the app to understand permissions requests and interactions in context.
1. Through qualitative interviews, we were able to verify that users felt comfortable with the amount of context they received.
2. Making the bedtime setter an exporable feature (though reduced friction in onboarding) caused decreased percentage of users who gave push notification permissions, therefore causing many people to forget to sleep track.
To verify improvement, we measured and compared average % of tutorial information naive users retained in both the old and new versions of the tutorial. We saw an increase from 46% to 78%. We also a decrease in the number of flagged records (records where the algorithm detected obstructions or highly inconsistent/irregular patterns).
Empty states are a tried-and-true way to motivate users to act–from posting a status to documenting a meal. We wanted to incorporate this into the SleepScore app, but there aren’t a lot of opportunities to do so aside from the history page. This was a good place to start for a quick win.
We also received some feedback that users were forgetting to track their sleep because setting a bedtime was optional in previous versions, so we added it back in to onboarding.
Percentage of first nights tracked steadily improved, particularly in users who downloaded the app in the daytime.
Through analytics, we noticed that many users would launch the pre-sleep tracking screen in the evening, and stay on this screen through the morning. This tells us that users think tapping “track” in the tab bar would automatically initialize sleep tracking, equating the popping of a modal to the initialization of sleep tracking. From an architecture standpoint, it also doesn’t make sense to pop a modal from a tab.
To resolve this confusion, I designed a pre-tracking screen where users could set their alarm and view the tutorial before launching sleep tracking. This way, the modal behavior matches the user’s intuitive expectations.
This was the most impactful change we made in this entire project. We hypothesized that this was likely because users now have a clearer idea what to do straight out of onboarding.
Although this project led to a sizeable increase in percentage of first nights tracked (27% to 43%), weekly and monthly engagement remained fairly low. This might indicate a gap between user needs and app features. We interviewed 4 users to investigate, asking each why they chose not to track a second night. To see this project, click here!