Open as page Alvin Portfolio / Hirup: Mindful Break

Hirup: Mindful Break

App information

  • Category: iOS Native App
  • Developer Team: iPhonetastic

App Description
Hirup is a mindful breathing app for remote workers to manage their stress. This activity will use the box-breathing technique and vibration as the guide. The app provides a calming atmosphere and mindfulness medium between work breaks to help you achieve the best of your day.

download on app store

The Problems

The development of technology has made remote working possible. Connectivity through technologies has made remote workers always on 24/7. This cause them to receive workload even outside working hours and could result to being stressed out. The distress will reduce rational thinking, productivity, work performance and affect overall well-being.

The Process

My role is as an coder and project manager

I led my team in development phase, I use notion kanban board to help me manage the schedule and work plan, monitor the development process and make adjustment as needed. I also facilitate Scrum framework sprint planning, backlog grooming, daily scrums, sprint reviews and sprint retrospectives.

I made sure the solution was technically feasible, so I did some research berfore selecting Apple frameworks and APIs for integration to the project. I used Swift to code for iOS and watchOS platform. I used Github for version controll and collaborate with my teammates, and also responsible for managing the branches, merging branches and resolving git conflicts. I help troubleshoot my teammates' technical problems and responsible for ensuring the app is successfully published to the App Store and Testflight.

Tools and Technology
  • UIKit

    UIKit is used to create the user interfaces. I chose UIKit because most of my teammates more familiar and comfortable using UIKit.

  • Core Data

    Core Data is used to store the app' themes in the device storage. Plans for the future development, Core Data will integrate with CloudKit, so whenever we want to add another theme, we don't need to resubmit the app to the App Store, so that the app can have downloadable themes feature.

  • Core Animation

    Core Animation is used to create an animation for the circle to behave like a diaphragm (inflate and deflate).

  • HealthKit

    HealthKit is used to create a feature "connect to Apple Health". The purpose is to store users' mindful sessions, so they can check how long they've been practicing mindfulness with Hirup.

  • Gesture/Haptic Feedback

    Haptic Feedback implemented to enhance users breathing experience by feeling the vibration. I adjust the strength and rhythm of the vibration to follow the animation and the breathing steps.

  • AVFoundation

    To help users feel the calming atmosphere, AVFoundation is used to play the background music and also used to generate audio instruction.

  • UserDefaults

    UserDefaults is used to save user settings, such as enable notification, background music, haptic feedback, audio instruction and selected theme. Since settings only contain a small amount of data and not complex, I chose UserDefaults rather than Core Data.

  • UserNotifications

    UserNotifications is used to create daily notification to encourage user practice mindfulness.

  • WatchKit

    WatchKit is used framework to develop the watchOS features.

  • Localizations

    Localization is the process of making your app support other languages. In this case, the app user interface made with English first then localized to Indonesian language.

  • Dark Mode

    In this case, Core Data is used to store light and dark theme and also adopt iOS dark mode by using dynamic colors.

  • GitHub

    GitHub is used for version control and collaborate with my teammates.

Version

Applications are always evolving. In the past 3 months, Hirup has went through changes, upgrade, features additions and removals, etc.
We conducted multiple user testing to help improve app usage and meet the user requirements. As a project manager, I analyze the data we got from user testing, create a new product backlog with product owner, conduct a sprint planning meeting with development team and create the schedule and work plan for the sprint.

Hirup Version
v0.1.0

This version use the 4-7-8 technique to practice breathing. It used countdown timer with 1 minute, 2 minutes and 3 minutes options. The animation behaves like a pulse and has a simple haptic like heart beat. There is also have a schedule (for creating reminder) and progress screen (for checking mindful time). There's still no background because we want to do a user testing for the main feature first.

v0.2.0

In this version, the breathing technique changed to the box breathing technique because most of the users feel exhausting using the 4-7-8 technique. Schedule and progress feature were removed as they were unnecessary. The animation is also much smoother than before, behaving like a diaphragm (inflate and deflate). The watchOS app has been developed in this version.

v0.3.0

In this version, the countdown timer changed to breathing cycle to make it more effective. Provide user preferences such as enabling or disabling the audio instruction, haptic feedback, and background music. Connect to Apple Health is also available in this version. Modified The instruction turned into more friendly words. Create notification and add focus detection feature on the result.

v1.0.0

This is the latest version, but not the last. In this version the circle is immovable as most of the users find it distracting and makes them want to play around with the circle instead of focussing on the breath. A tutorial screen was created as most of the users confused about how to do the breathing activity.

Plans for future development

Make more theme and audio variations (downloadable).
Record audio instruction to make it feel more calmer and not robotic.
Create adjust haptic level on setting.
Create milestone and progress to help encourage user

The Challenges

Applying and facilitating Scrum framework is very challenging for me, because I never apply it before. I learn how to facilitate the scrum meetings, creating a product backlog and also making the work plan from sprint planning. I also found that sprint retrospectives shows great influences in term project, especially in changing the development strategy to get better results in the next sprint.

It was my first time developing an app in watchOS platform. I learn the basic and the infrastructure for creating watchOS apps.

Hirup was my first app to enter the App Store. I tested the app to make sure it didn't crash before submitting it. Thankfully the review went well and Hirup is now available on the App Store.

Skills Learned
  • Collaboration
  • Facilitate Scrum Framework
  • Manage and monitoring project
  • Developing watchOS app
  • Improved skills and knowledge in iOS development.
  • Improved skills in using iOS frameworks such as Core Data, Core Animation, etc.