Monday, May 18, 2015

App V1: Knowing When To Stop

Fishing while taking a break
from building Heart Relay.
I have to stop at some point. The hardest part of shipping software you design and write yourself is shipping it. Like any creative activity, you have to know when to stop.

I had a "working" prototype 3 weeks ago in about 3 hours. It had next to no UI, was not intuitive, had no settings, persisted nothing, did not handle Bluetooth disconnects, and many other missing bits and pieces.

The have been plugging away 2-3 hours a night when I can so I can ship a V1. Here are some of the items holding up shipping:

  • Completing the list of V1 features for Heart Relay. There are not that many, mostly make it intuitive, performant, and not look like it was designed by a code monkey.
  • In relation to one, I am not happy with some of the icons. I should just ship what I have but I want more consistency in the icons and to replace words with icons (harder to understand maybe but I would like the user to not be hit with a screen of text).
  • Animations
    • I wanted to add some custom animations for both the connecting event (instead of using the default activity indicator spinner) and the Heart Rate measurement (a beating heart).
    • Animations and custom icons take time.
  • Testing:
    • While testing, I discovered that in noisy Bluetooth environments (work) the Bluetooth connection sometimes drops. Due to this I needed to work on reconnect and how to help the user to recover from this.
    • Testing takes time.
While doing all this new features have come to mind. Here are things I have cut from V1 or are feature creeps that I will consider for V2.
  • Free, Paid, IAP, or Ads?
    • Free: For V1 launch.
    • Paid: For Pro version later with some whiz-bang additions.
    • IAP: Research shows IAP is not worth the work.
    • Ads: After launch.
  • Heart Rate Zone Tracking
    • Going to keep for Pro version later.
  • Heart Rate Zone Alerts
    • Going to keep for Pro version.
    • Will buzz band when you drop out of or rise above your zone target.
  • Heart Rate Export
    • Going to keep for Pro version.
    • Let you export to CSV so later import to whatever app you want.
So, I am still plugging away.

I am debating if I will redesign the app icon. Probably not for V1.

Ok, back to drilling down some reconnection features.

Tuesday, May 12, 2015

Microsoft Band Kit: Swift Samples for iOS

I just finish posting the latest Swift ports of the Microsoft Band Kit SDK Samples for iOS. You can find the original Objective-C samples at

My ports can be found at:

Monday, May 11, 2015

Microsoft Band Kit: BandTileEvent Sample ported to Swift

If you want to add buttons to your Microsoft Band Kit App tile and are using Swift then head over to GitHub and check out my port of the BandTileEvent sample app:

This sample shows how to add a button to your Microsoft Band Tile and then receive button and tile events for your tile.