Just an Incredibly Powerful Music App!

Running involves many dynamics. An important focus in this dynamic is placed on interest and motivation. With many applications made already for the runner include fitness tracking features, not many applications have been made that cater to the entertainment of a runner by the means of active tempo changing and weather tracking playlists, in the very same application. StepTunes is here to make that a new category.

“Tired of boring runs? Want something new that adapts to the weather around you? Time to step into StepTunes!”

Key Stakeholders

Application Users

A typical runner that uses smartphones and/or other devices to keep track of their running data, alongside music playing/streaming applications. Runners refer to the people who involve in outdoor pacing activities such as jogging, sprinting, long-distance running on a regular basis.


Greater the mobile application purchases, greater the revenue for the company. The CEO is also an active member of the running community.


The goal is to create a new generation of runners that can play weather-suited music based on their desired tempo or the impact of their feet without creating a separate library of music.

Things I Can Do

StepTunes begins as a very simple concept of an application that is a music player. What sets it apart is the fact that it streams music from Spotify and plays songs based on the pace of the user. A great feature specific to the determining the pace is that the user can tap the phone in a manner that suggests a tempo, that allows the app to kickstart into playing beats which would match the user’s pace. What makes StepTunes even more unique is that all the music that it suggests is based on moods set according to the local weather.

“StepTunes is able to identify the user’s footsteps, and plays music that matches the pace. Moreover, the music that StepTunes recommends comes from Spotify or Apple Music, and is suggested based on the local weather.”

  • Uses Spotify and Apple Music APIs
  • Recommends music based on your pace
  • Uses tap in Metronome for seting tempo
  • Customize playlists and weather moods
  • Detects your running tempo
  • Play music according to the weather

User Profiles

Katrina Paige - Personal Trainer

- 25 years old
- Single
- College diploma in Health Sciences from Western Sydney University
- Originally from Sydney, Australia

- Katrina has been a personal trainer for the past 2 years and loves her job. She takes time to understand her clients to provide them with a workout and meal plan that is right for them. She feels accomplished when she sees the progress her clients have made.

- Katrina starts her mornings running outside, listening to music, usually at a local park. She says it gives her energy and motivation to start her days.

- She frequently shares her training videos and experiences on social media platforms such as Instagram. She likes that it allows her to connect with people from around the world.

- Katrina constantly travels for work, training different people and never stays in one place for much long. She enjoys spending time on her own exploring each place she visits.

Relationship with technology:
- Katrina has a good grasp on technology, and is comfortable using computers, smartphones, and tablets. She is usually up-to-date with popular applications such as Facebook and other social media platforms. She uses Word to make outlines of each client’s weekly goals. She has no experience programming and her knowledge mostly consists networking applications.

- She spends a good amount of her time on her iPhone using social networking to recruit future clients and motivate current ones. Katrina also spends a lot of her time emailing clients who are interested in training sessions with her.

- Although she has a good grasp on technology, Katrina gets easily frustrated when she cannot get something to work through systems she is not familiar with.

- Katrina is motivated and goal-oriented. She strives to accomplish a task and puts in all of her effort to do so. She can be discouraged when she cannot meet her goal but tries to stay positive and keep going.

- Her current concern is to keep her clients energized and motivated during training sessions and classes.

- Katrina hopes to be more efficient with her training and bring them to the next level. She wants to make the most of her clients’ times.

Joseph Jacobs - Psychologist

- 54 years old
- Married
- Father of 2 children
- Lives in Vancouver, Canada
- Has a PhD in Psychology from Ryerson University

- Joseph spends a lot of time in his office focusing on research. His current study involves participants between the ages of 20-30. He enjoys gathering up as much information as he can before assessing or taking any action.
- In his free time, Joseph enjoys spending time with his children. They have more knowledge with technology and are usually the ones helping him with any questions he has about his computer or smartphone.
- Joseph and his wife appreciate classical and jazz music. They occasionally attend concerts at the local opera house.

Relationship with technology:
- Joseph is comfortable using a computer for his researches, primarily to deal with data analysis. He uses his computer and smartphone on a daily basis but is still slow when operating them.
- Joseph is able to call, text, and check his email on his smartphone but is still learning its other functionalities and applications
- Joseph does not mind that it takes him time to understand functionalities of unfamiliar technology. He is keen to learn until he has a fair grasp on how the system works.

- Joseph is driven and patient. He is constantly engaged with his work and hopes to put more time aside for himself to relax.
- Joseph hopes to familiarize himself with his smartphone, especially with understanding how to use various applications
- Joseph is not that active and is currently trying to have a healthier lifestyle. He is starting to eat healthier meals and reducing his sugar intake. He hopes to spend more time doing outdoor activities and going on walks.

User Needs

From the user profiles, users are looking for a system that will allow them to relax as well as be motivated. Katrina is constantly travelling for work therefore she would prefer a system that is compact so that she can use it anywhere she goes. The system should be simple and easy to learn especially with users like Katrina who are easily frustrated. Although, Katrina already has a good understanding of technology, it would help if the system had a clear status visibility in case she is unfamiliar with some functionalities.

Users such as Joseph would also benefit from a simple and easy-to-learn system since it takes him a good amount of time to understand concepts and functionalities especially in regards to technology. Since he spends a lot of his time at work but wants to spend more time to relax, it would be ideal for the system to take his mind off of work. A clear visibility of the systems’ status would allow Joseph to have a better understanding on what he is doing with each action. He likes to explore so that he can learn more about the system. Therefore, a system that allows him a quick exit from an unintentional situation would make it much easier for him.

User Requirements


The purpose of this document is to provide a detailed description of the requirements for the beat matching and weather-based music application, Steptunes. This document states what it is the user should expect from Steptunes and what features the developers should develop for.

General Description

Steptunes will be able to recognize the impact of the user’s steps and based on that impact will play music that matches that beat. It will also be able to recommend music to the user based on the current weather. The Steptunes will get data from the stock weather app for the weather related feature and the stock health app or pedometer for the beat of the feet. It will also be integrated with Spotify for the music and the playlists.

Functional Requirements

  1. Download Steptunes: The user needs to be able to download Steptunes from the application store on their phones.

  2. User registration: The user needs to create an account to access Steptunes. The user will need to provide a username, a password and an email address.  Username must be unique and user will receive an error prompt if username is already in use or if the email entered already has an account associated with it.

  3. Logging into Steptunes: After the user has created an account, they should be able to use their login information to access the application. The login information will be stored and the user will be able to login automatically in the future should they choose that option.

  4. Updates: When a new update is available for download, the user will be able to update Steptunes the same way they downloaded it in the first place, through the application store.

  5. Retrieve lost/forgotten password: Since the user has registered for an account with an email address, the user should be able to retrieve the password through an email that is sent to them.

  6. Suggested playlists: When the user logs in there will be suggested playlists for the different weather events. These are the default predetermined playlists offered by Steptunes.

  7. Search for playlists: The users will be able to search for playlists that are already made and available. They can either search for playlists by genre or by typing in the name of an existing playlist.

  8. No results found: If the user inputs a search query that returns no results, the user will be notified and will stay on the search page in case they want to search for another song or playlist.

  9. Create playlists: Users can create a playlist with the songs that they wish to listen to.

  10. Alter playlists: Users will have the ability to change the contents of a playlist by adding or removing songs as they see fit.

  11. Alter choices: If the users are not happy with the suggested playlist for each weather, they can then choose the playlist that they feel fits their mood for that specific weather.

  12. Change beat: If the user feels that the music currently being played does not match the beat they are running or walking at, then they can change the beat the music is picked on by using the metronome feature. This allows the user to tap with their finger at the beat they would like and that beat will be recorded and used for music selection.

  13. Security: The communications of the login information will need to be encrypted, so that the user’s login information is not obtainable by others.

Non-Functional Requirements

  1. Internet connection: Steptunes will need to be connected to the internet in order for it to work.

  2. Access to stock apps: Steptunes needs to be able to access the stock apps (Weather app, Health app) to gather necessary information for choosing the music.

  3. Compatibility: Steptunes must run on both iOS and Android operating systems.


  • Katrina hears about Steptunes and decides to download it. She likes the idea of music being played to the beat of the training sessions. She thinks it would be something that will help make her training sessions more interesting and enjoyable. Joseph is trying to get back into shape. He likes listening to music while running but since he is just starting out, he can’t find music that fits with the pace of his workout. When he hears about Steptunes he decides he wants to download it as it will help pick the songs that fit for him. They both pick up their phones and access the application store that comes with their phone. They search for Steptunes and once they find it, they tap the install button. Then they complete the verification needed by the application store. Since Steptunes is free, it will start downloading straight away. Katrina informs her clients that they should download Steptunes as well since they will be using it during the training sessions.

  • They of course must be connected to the internet either through a wireless connection or by using cellular data. Steptunes will ask them for permission to access the health app and the weather app to gather necessary data. They both allow the permission by tapping accept when they are prompted by Steptunes.

  • They open Steptunes and see the login and signup buttons. Since this is the first time they open the app. They tap the signup button, they are prompted with the fields to enter an email, a username and a password. After filling them in and hitting submit, the accounts are created. They must be connected to the internet either through a wireless connection or by using cellular data.

  • After signing up, they want to access Steptunes for the first time. They open Steptunes and are prompted to enter their username and password. After entering the information, Katrina chooses the option that allows Steptunes to remember her login information while Joseph doesn’t as he didn’t notice the option. Katrina will now be automatically signed into Steptunes the next time she opens it.

  • Katrina gets a notification on her phone, informing her that there is a new version of Steptunes that is available for download. Since the update will improve her experience with Steptunes and it will also add some new features that will help her with her training sessions. she decides to update. She opens the application store and goes to the updates tab. She taps the update button and the download begins.

  • Joseph didn’t choose the sign in automatically option. One day when he opens Steptunes and is asked to sign in, he realizes that he forgot his login information. He taps “forgotten username or password” and is asked to enter the email that he used when signing up. A couple of moments later, he receives an email with instructions on how to regain access to his account. After following these instructions he is able to log back into Steptunes with his new login information.

  • After Joseph has logged in for the first time, he finds a list of the weather events and by pressing a certain one there is a playlist that is already set to play when that weather takes place. Since Joseph is still new to Steptunes and is not familiar with it, Joseph decides that he is happy with the playlists that have been suggested and doesn’t want to make any changes to the songs or playlists.

  • After Joseph has spent sometime exploring the functionality of Steptunes, he no longer wishes to listen to pop music when the weather is rainy and decides that they want a different genre. He chooses the option for rainy weather and removes the playlist that was chosen to play. Joseph feels that he wants to listen to Jazz instead. So he decides to search by genre. He chooses the jazz genre but doesn’t find a playlist that he is content with. A friend of his tells him that he recently made a jazz playlist that he should check out and that he will most probably like it. He gives him the name and Joseph searches for it by name. He finds the playlist and chooses it as the playlist for rainy weather.

  • Katrina tries searching for a new playlist to introduce something new to her training sessions so that her clients don’t get bored and stay motivated. She has a certain idea in her mind and she searches for what she wants but Steptunes doesn’t return any results for her search. After trying a couple of different searches with different search queries, she decides that the best thing to do is to create her own playlist. She searches for the songs that she see will fit her new idea and creates a new playlist containing these songs, which she will now be able to use for her training sessions.

  • During one of Katrina’s training sessions, one of her clients tells her that she feels the music Steptunes is playing is not accurate enough with the beat of her steps. Using the metronome feature of Steptunes, Katrina tells her client to tap the beat that she would like the music to be matched to. Once the client starts tapping, Steptunes stops tracking the beat from tracking the steps from the stock health app, and picks up the beat from the client’s tapping. Once the tapping stops, music that matches that beat will start playing.

Hierarchical Task Analysis

  1. To Install the Application

    1. Open the Application Store
    2. Type ‘Steptunes’ in the search bar
    3. Select Steptunes app from search results
    4. Tap the install button
    5. Complete verification prompt
    6. Steptunes is installed on the smartphone
  2. To Allow Access to Weather and Health Apps for more Functionality

    1. Open Steptunes for the first time
    2. Allow permission to access Health and Weather apps
  3. Create Account

    1. Open Steptunes
    2. Tap the ‘Signup’ button
    3. Enter a username, password and email
    4. Tap ‘Create Account’
  4. Access Account

    1. Open Steptunes
    2. Enter unique login information
    3. Select ‘Remember me’ to save login information
    4. Select ‘Log in’
  5. Plan 1: For users who want their information to be saved on the device follow steps 1-2-3-4
    Plan 2: For users who do not want to save their login information follow steps 1-2-4

  6. Update Application

    1. Open Application Store
    2. Select Updates tab
    3. Select Steptunes
    4. Tap Update button
  7. Retrieve Account if Forgotten Username or Password

    1. Open Steptunes
    2. Tap ‘Forgot Username or Password’
    3. Enter email used to sign up
    4. Follow instructions in the email to Reset password
  8. Listen to Weather Playlists

    1. Open Steptunes
    2. Log in using unique login information
    3. Select weather event from list eg. ‘Rainy’
    4. Listen to default playlist for that specific weather event
  9. Plan 1: For users who clicked “Remember me” for their login information follow steps 1-3-4
    Plan 2: For users who did not save their login information follow steps 1-2-3-4

  10. Change Default Weather Event Playlist

    1. Open Steptunes
    2. Log in using unique losing information
    3. Select weather event from list eg. ‘Rainy’
    4. Remove default playlist for weather event
    5. Search for desired playlist by name or genre
    6. Select playlist as playlist for chosen weather event
  11. Plan 1: For users who clicked “Remember me” for their login information follow steps 1-3-4-5-6
    Plan 2: For users who did not save their login information follow steps 1-2-3-4-5-6

  12. Create New Playlist

    1. Open Steptunes
    2. Log in using unique Login information
    3. Tap ‘Create New Playlist’
    4. Enter name for new playlist
    5. Enter search query with the name of the desired song to add to playlist
    6. Select song
    7. Tap 'Add to Playlist'
    8. Select newly created playlist
    9. Repeat steps 5,6,7,8 to add more songs to playlist
  13. Plan 1: For users who clicked “Remember me” for their login information follow steps 1-3-4-5-6-7-8-9
    Plan 2: For users who did not save their login information follow steps 1-2-3-4-6-7-8-9

  14. Use Metronome Feature

    1. Open Steptunes
    2. Log in using unique login information
    3. Select Metronome
    4. Tap screen 6-10 times at the desired tempo using one finger
    5. Click ‘Play’ to listen to songs using updated metronome tempo
  15. Plan 1: For users who clicked “Remember me” for their login information do 1-3-4-5
    Plan 2: For users who did not save their login information do 1-2-3-4-5


Usability Goals

  • Free and compact
  • Placement of buttons and options should be intuitive allowing first time users to begin using the app and understand some of the basic functions in under 5 minutes
  • Users must be able to easily exit out of an unintentional situation to avoid frustration

User Experience Goals

  • Customizable
  • Sleek and smooth design
  • Compatibility with multiple apps such as Spotify and Apple Music


Phase 1

Contributions to phase 1 of the Steptunes project include the two user profiles, the main goals of each user profile, the users’ needs for the system, and found the HTML template.
I am a third year computer science student. I worked on gathering user requirements and the creating a scenario for each requirement.
I am a third year Computer Science student with a minor in Music. I came up with the idea of the metronome feature as well as the name of the application. I contributed to Phase 1 of the project by compiling the Hierarchical Task Analysis and the User Experience and Usability goals. Further, I also aided in the final edits and proofreading.
I am a second year Software Engineering student. I worked in on the introduction, edited the HTML document to lay the requirements on to it, and made final revisions.