/WaterLoggforWear

Log water consumption to Fitbit via voice on Android Wear

Primary LanguageJava

WaterLogg for Wear - update your Fitbit profile on your wrist...via voice or touch!

A utility integrating Fitbit with Android Wear

WaterLogg for Wear lets you update your Fitbit profile with Android Wear using voice commands or a list of tappable values WaterLogg for Wear notifies you when you've successfully updated your Fitbit profile

Genesis

Fitbit is one of the most fun wearable computing devices around, and it's frequently used in hackathons as the base for neat ideas. This is an expansion of another wearble technology project I maintain, WaterLogg for Google Glass.

Still, the one use case that wasn't working for me was having to repeatedly log intake in Fitbit's mobile and web apps gets laborious and often takes the user away from doing more important things. This is precisely the problem that Android Wear solves - decoupling you from technology and not taking you out of the moment! This simple service is an Android Studio project using the Message API lets you use handsfree voice dictation to post updates everytime you hydrate, which updates your Fitbit profile.

Usage

After you've granted access to your Google and Fitbit profiles, use the "OK Google...Start WaterLogg...33" command on your connected Android Wwar device (like a smartwatch), and then speak the volume of water you've just consumed. It'll be reflected on your Fitbit dashboard.

Libraries/APIs

This app uses the following libraries and APIs:

  • Android SDK Message API to send messages from the wearable device to th connected handheld device, which then handles the update with the cloud
  • Android's Speech Recognizer which transcribes spoken free-form input into text...it handles numerics incredibly well!
  • WearableListenerService an extended class allows for messages to be recieved and processed
  • WearableListView extends the ability to scroll through pre-seeded values in a list and select them when using voice isn't possible (like in line at the bank, in court, in a crowd, at the library, etc.)
  • GoogleApiClient for integration with Google Play Services, needed for the cross-device communication
  • Temboo's Fitbit library to manage the OAuth 1.0 flow and credentials and make the necessary HTTP requests to communicate with the Fitbit API. Once you generate the app keys and credentials on Temboo's site and grant access in a desktop browser, they can be copied over into your project in a single step without needing to use an embedded authorization URL in a WebView. However, you can still rebuild the OAuth flow by using Temboo's libs.

Disclaimer: This was written as a personal utility and for public demonstration purposes, but I don't work for Google, Fitbit, or Temboo. I'm just a total fanboy.


You can find out more Glassware tips in my book, Designing and Developing for Google Glass, by O'Reilly & Associates. Thanks for your support! :)