Platform:
  • iOS 9.0 and above
  • iPhone 5 and newer, iPad 2 and newer
Languages Used:
  • Objective-C
Software tools used:
  • XCode 8
Technologies and concepts used:
  • Core Data
  • iCloud
  • HealthKit
  • Split view controller
  • AV Foundation
  • Info Center Support & Remote Control
  • UIKit
  • Photoshop
  • GarageBand
External links:
Meditations are built by dragging and dropping checkpoint sound effects from the collection view to the meditation timeline. The clean design and darker colors make for a fantastic meditation experience. A split view controller is used to maximize the usefulness of the iPad version. The clean design and darker colors make for a fantastic meditation experience. Original prototype drawing of Zen Builder made during the design process.
Click an image to enlarge.

Description

After becoming quite capable with the Swift language, Zen Builder was my first foray into making a complete app with Objective-C.

Zen Builder is a meditation and relaxation timer, available for iPhone and iPad. Create and save as many different custom meditation sessions as you want with varying durations, background sounds, and checkpoint sounds. Zen Builder's advanced interface allows the user to drag and drop 20 different checkpoint sound effects to a visual timeline of the meditation to help alert the user to wrap up the meditation or to change phases of the meditation. The app provides 20 different soothing sound loops, or the user may opt to just relax to silence. Zen Builder is ‌Apple Health compatible. It logs mindfulness minutes using HealthKit. iCloud support ensures that meditations instantly synchronize amongst all of a user's iOS devices. Lastly, the app tracks meditation history and keeps a count of total meditations completed. ‌



Lessons learned and obstacles overcome

This app was a very good learning experience for me. New concepts used in this app for me include the Objective-C language, iCloud, and HealthKit.

I decided to build this app in Objective-C to practically learn and use the language, and to round out my iOS development skill set. I found the transition from Swift to be a pretty easy one. Many of the concepts and frameworks remain the same, so once I found my legs with the language syntax, I was able to become proficient in a reasonable time.

I have been wanting to implement iCloud in an app for a while, and I am glad that I was finally able to do so with Zen Builder. Overall, implementation of iCloud was pretty simple. A small amount of work yeilded an impressive result. As changes are made to a meditation on one device, the modifications are displayed almost instantaneously on the user's other devices. I feel the implementation of iCloud in this app will be a great benefit to the users.

Zen Builder uses HealthKit to write mindfulness minutes data to the Apple Health app. Apple made incorporating HealthKit into my app very easy and I am certainly happy to be able to provide more features. This was also the first time I have written a privacy policy for an app - an interesting learning experience as well.