waterlogg - a fitbit mashup (and a wearable technology love story)
TRANSCRIPT
Hi! I’m @jasonsalas.
- Product manager, news anchor, college football analyst, filmmaker
- Co-author of Designing & Developing for Google Glass
- That Guy who likes Godfather: Part III best
“When you create a solution for a problem that doesn’t exist, THAT’S invention.”
Great moments in thinking
“When you create a solution for a problem that doesn’t exist, THAT’S invention.”
Me, some obscure graduate school paper, circa 1999 AD
Great moments in thinking
Inefficiency epiphany
● I drink A LOT of water ○ Large daily volume ○ Multiple “transactions”
● Fussing with Fitbit’s mobile & web apps is often laborious ○ Constantly posting via phone, tablet & browser○ Keeps me from doing other things
● A Glass/Fitbit mashup ○ Head-mounted client largely without a UI
● RESTful application○ Cloud service doesn’t require native app startup/shutdown
● Voice is the perfect input mechanism○ 4 seconds versus 20 seconds○ Android’s Speech Recognizer is excellent with numbers
EUREKA! WaterLogg is born
● Tell Glass how much water you drink○ ...literally!
● Track how much you’ve consumed○ ...constantly!
● Continue to live in the moment○ ...conveniently!
● Leverage the Internet of Things○ ...totally!
Handsfree program control
Use case
● Drink water at the office, in the car, at a restaurant, while exercising, doing dishes, folding laundry, lying on the couch...
● “OK Glass - post an update to - WaterLogg - thirty-three”● Audio transcribed as numeric text & pushed to the cloud● Fitbit profile updated & synced across platforms/devices● Confirmation card inserted into Glass timeline
● This is precisely the behavior where wearables rock○ Doesn’t take users away out of the real world○ Caters to microinteractions: quick, lightweight sessions
● A completely subjective solution○ Nothing existing addressed my specific need○ High impact, low intrusion, stupidly simple○ Rapid production time
Opportunities
● Mirror API○ Static cards, menu items, voice command, sharing contact
● Google APIs Client Library for Python○ OAuth 2.0 flow
● App Engine ○ Task Queue
● Temboo○ Insanely useful libs supporting 100+ APIs, devices & databases ○ Proxies authorized requests to remote services
Server-side semantics
- Callback needs to respond to notification pings ASAP- Let a managed service handle processing (like multithreading)- Adopt this pattern in all Glassware, no matter how trivial
Use a job queue for async processing
Roadmap
● Smartwatch integration○ Same idea, but designed for the wrist
■ Swipeable list with commonly-used volumes, too!○ Using voice is sometimes awkward
■ At a gig, in church, in line at the bank, at the movies, in court● Contextual awareness
○ What I’m doing, where I am, what time it is, who I’m with, who’s near me, what’s going on around me
● No data connection on the watch○ Communicates with paired phone
● Architecture is much different○ Input captured on wearable, then pushed to handheld over
Bluetooth, then to the cloud● Android Wear SDK
○ 100% Java○ Node API, Message API, Data Layer API
Platform gotchas
Takeaways
● Big win isn’t next-gen technical alchemy ○ Not just Glassware for the sake of Glassware
● Enhancing value by delivering real utility○ Creating an effective solution to do something better
● Fluency of the wearable UX ○ Right tool for the right job○ Leveraging microinteractions
Get the code
Explore, clone, fork & improve!https://github.com/jasonsalas/WaterLoggforGlass
https://github.com/jasonsalas/WaterLoggforWear
Shameless self-promotion FTW
@jasonsalasgoogle.com/+JasonSalas
#ThinkForGlass