wearables, things & apps - mobile dev + test '15
TRANSCRIPT
Wearables, Things & Apps
Chris BeauchampDeveloper @WhitewaterLabsEvangelist @Crittercism@cjbeauchamp
Using apps to help users experience IOT devices
bit.ly/CritterDevTest
The Disconnected Thing
• Disconnected from all other
things
• Limited functionality
– Data collection
• Wearables, sensors
– User control
• Automation, functional controls
• Some things have WiFi or connections
• Large, expensive, not always feasible
The Connected Thing
• Connected to many other things
– Wifi, Bluetooth, NFC, etc
Making the connection
• BLE enables data transfer to/from phone
• NFC (Near Field Communication)
• Wired options (plugging into USB port)
• Headphone jacks
Interfacing with the thing
• We have two devices and a data
connection between them, what next?
• Need to install our own logic on both
devices to add value
Custom Logic :: Thing
• Keep the logic lightweight
• Resource constrained
– CPU
– Memory
– Storage
– Battery
• Keep the thing doing what it does best
• Data transmission
Custom Logic :: Hub [Phone]
• Receive data from the thing
• Do… something… with it
– Display data
– Communicate with services
– Store information
– Configuration
Why an app?
• Functional
– Apps and phones are a powerful and flexible
combination – leverage them!
• CPU, memory, push, GPS, large batteries
• Engage users
– Always one touch away
– Larger interface than most wearables
and things
• [Relatively] easy to develop
So. Many. Apps.
There’s an app for everything… there needs
to be an app for YOUR thing!
Apple Watch
BREAKING NEWS: APPLE LAUNCHING SMART WATCH
Apple Watch
• Requires the presence of an iPhone
– GPS/Cell Data/Wifi
– Battery life
• Multiple types of application interfaces
– App, Glance and Notification
– Allows various use cases & variable
investment
• Easy-to-use APIs for interface between
watch & app / device
Apple Watch
Communicating with the iPhone
Responding to the watch request
Learn More
Full Demo (w/ Source Code) available at:
bit.ly/CritterDevTest
General Structure
=> Hub
IOT Device
Phone App Use Cases (pt1)
• Thing generates data – show it!
• Managing and connecting user accounts
– Somebody’s gotta do it
• Thing configuration and updates
– Push changes to keep the thing current
Phone App Use Cases (pt2)
• Use the phone to upload and download
data to and from the cloud
– Data processing, sharing, analysis, etc
– Offloads CPU cycles, memory, battery from
the thing
– Use this data to ‘teach’ the device about the
user so it’s customized to them
Use Case :: SPG (Starwood Hotels)
• Get reservation info• Check in• Unlock door
Use Case :: American Airlines
• Flight Status• Check in• Boarding pass
Use Case :: Nike Running
• Start/manage workout• Check times/status• Easy access
What do these apps have in common?
Form
– Users should love using your app
• A lot of engineers here… hug your designers!
– Keep it simple
• You have lots of cool content and functionality…
highlight it!
• Don’t make the user do too much – or squint!
• Make smart use of space
• Swipe instead of a button? Pinch instead of a slider?
• Only show what’s necessary!
not actual size*
What do these apps have in common?
Function
– Quick, easy-to-use
information
– Alerts and
notifications keep
interactions fast
– Formatted data
allows for easy
access
What do these apps have in common?
Leverage Data
– What do users really want to see/do?
– Can’t add it all, so use data tools to see
what’s most popular
What do these apps have in common?
PerformanceHow they interact with
the outside world
What happens when things break?
Performance Monitoring
• What happens if your deployed app…
– Breaks on a user?
– Runs slow?
– Drops a connection with your thing?
– Crashes?
• Left in the dark unless the user tells you
– Bad reviews are no good!
App Store Feedback & Analysis
SDK for App Performance
Crittercism
• Remotely diagnose issues happening with
your app
• Make it more stable, faster, more reliable
• Provide your users with a great user
experience
Crittercism – Crash Reporting
Crittercism – Crash Reporting
Crittercism + Apple Watch
SDK automatically
monitors connections
Crittercism – Transaction Monitoring
Crittercism – Transaction Monitoring
Make it work!
• Connectivity between devices is key
– Have a solid layer to manage exceptions,
errors and interference or device malfunctions
• Test, test, test, test, sleep, test
– Devices, settings, configurations, everything
Breakdown
• Leverage smartphones and apps – they’re
powerful!
• Don’t forget about design
• Test until you can’t test anymore – and then test!
• Leverage tools to help you get feedback and fix
issues
Finishing Up
http://crittercism.com
bit.ly/CritterDevTest
Chris BeauchampDeveloper @WhitewaterLabsEvangelist @Crittercism@cjbeauchamp