Lessons Learned in Developing for the Smallest Screen - Smart Watches Adrian Lee-Kwen Android Software Inventor @augmentedtraff Robert Heese @smartwatchplus
Jan 28, 2015
Presentation Title | Month 2012 | 1
Lessons Learned in Developing for the Smallest Screen- Smart Watches
Adrian Lee-KwenAndroid Software Inventor@augmentedtraff
Robert Heese@smartwatchplus
Presentation Title | Month 2012 | 3
• Smart Watches Overview
• Use Cases
• Android Specific Discussions
• Lessons Learned – Augmented SmartWatch Pro
• iOS Specific Discussions (Robert)
• Lessons Learned - SmartWatch+ (Robert)
Overview
Presentation Title | Month 2012 | 4
Smart Watches – Key Factors to Consider
• Environmental
• Battery Life
• Connectivity
• Software Capability
• At a glance / Hands-free
Presentation Title | Month 2012 | 5
Smart Watches – Environmental
• Outdoor Readability
• Water Resistance
• Durability
• Quality of hardware
Presentation Title | Month 2012 | 6
Smart Watches – Battery Life
• How often do we need to charge them
• Varies from a couple days (Sony) to a week (Pebble)
to a few months/year (G-Shock)
• Type of charger
Presentation Title | Month 2012 | 7
Smart Watches – Connectivity
• Do they need to connect directly to Smart Phones or
does it work as a stand-alone?
• Reliability of connection
• Inter-operability with Bluetooth – which may vary
depending on Android version/vendor
• Stability over time – requires a reboot
• iOS or Android?
• Sony is Android only
• Support may vary between iOS and Android
• Wifi 3/4G Bluetooth
Presentation Title | Month 2012 | 8
Smart Watches – Software Capability
• Typically the hardware is more advanced than the software
• Software needs to catch up
• Vendor’s focus may be hardware
• Software quality
• Many subtle issues (especially on Android)
• Getting send/subject/preview of email
• Accessibility bug in Samsung
• Grabbing notification info from 3rd party app
Presentation Title | Month 2012 | 9
Smart Watches – At a Glance & Hands-Free
• Always on watch
• Dynamic info
• Highly Personal &
• Contextually Aware
• Vibration and notification alerts
Presentation Title | Month 2012 | 10
One Watch-face – Changes over 24 hours
Presentation Title | Month 2012 | 11
Sony SW2
© 2012, Genesys Telecommunications Laboratories, Inc. All rights reserved.
Presentation Title | Month 2012 | 12
MotoACTV Pebble MetaWatch Sony SmartWatch 2
(SW2)
Sony SmartWatch 1 (MN1)
Environmental ***** *** *** ***** **
Battery * **** *** *** **
Connectivity ** *** ** **** ***
Software Capability
* ***** ** **** *****
“At a glance” & Hands-Free
** **** **** *** ***
Overall ** **** *** **** ***
Presentation Title | Month 2012 | 13
Smart Watches – Killer Use Cases?
• Real-time Notifications
• “Hands-Free” and “At a Glance”
• Real-time Control – phone calls, music, home
automation, Powerpoint/Chromecast on remote PC
• Use case - two watches connect to the same Android
• Accessibility
Presentation Title | Month 2012 | 14
Smart Watches – Killer Use Cases?
• Swappable watch bands
• NMA vs IMO
Presentation Title | Month 2012 | 18
• Challenges
• Opportunities
• Pebble Development
• Sony Development
• Augmented SmartWatch Pro Architecture
• Canvas & Augmented – Plug-in Architecture for Pebble
Presentation Title | Month 2012 | 19
Android Specific Challenges
• Something simple like getting sender/subject from an email is not so simple:
• Multiple apps for email (Gmail, K9, Exchange, Touchdown, Enhanced Mail, …)
• Multiple Versions of the Email App
• Multiple Versions of Android
• Multiple methods of getting Notification info in Android
• 1st Email vs 2nd unread email
Presentation Title | Month 2012 | 20
Android Opportunity
• Multiple Methods of Extracting Notification info
• Varies by app/version/Android
• At least 4 methods (including reading app DB via root)
• Ability to “Optimize for specific Apps”
• Filter out duplicates (Spotify)
• Filter out frequent updates (Google Navigation)
• Filter out “noise” ongoing call notifications (Skype, Viber)
• Ability to reformat info to condense into Smart Watch Limited Space:
• Remove Special Characters/Spaces
• Reformat with pertinent info at the start (Google Now)
Presentation Title | Month 2012 | 21
Android - Pebble Specific
• 3rd Software Ecosystem –Pebble biggest’s advantage
• Three Software Models:
• Android App – communicate via Intents to Pebble software
• Can send notifications to Pebble or override the music app info
• 2-way info possible only via Music App (buttons via BT)
• Pebble Watchface App – Runs on Pebble watch using Pebble SDK
• Best for 2-way control, flexibility
• Need to develop in C
• Hybrid – Combination of the two
Presentation Title | Month 2012 | 22
Android - Pebble Specific
• Canvas Watch-Face – 3rd Party Plug-in approach
• 1-way only (send info to Pebble)
• Innovative approach
• Suggestion to 3rd Party Developers
• Plug-in approach as Canvas but as a Pebble App to allow 2-way communication
Presentation Title | Month 2012 | 23
Android – Sony Specific
• Android App only via Sony SDK
• Render a bitmap/layouts -> sent to Sony Watch for display
• Touch/button input (swipe, double tap, position-sensitive)
• No programmatic access to side button
• Concept of widget vs App mode – no vibration in widget
• Colour advantage
• Issues
• Touch is not as reliable as buttons
• SmartWatch 1 display is not viewable in sunlight
• Initially “at a glance and hands free” difficult to implement
Presentation Title | Month 2012 | 24
Android – Sony Specific
• Initially – auto display of any bitmap challenging to do
• Show Icon was the most common approach – not hands-free
• It is possible to do this:
Intent i = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
i.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME,whichApp);
if (Utils.isSonyWirelessHeadsetRunning(this))
i.setPackage("com.sonyericsson.extras.smartwirelessheadsetpro");
else
i.setPackage("com.sonyericsson.extras.smartwatch");sendBroadcast(i, Registration.HOSTAPP_PERMISSION);
Presentation Title | Month 2012 | 25
Android – Sony SmartWatch 2
• New SDK is compatible with the older watch (simultaneous notifications and widget mode not there yet)
• 220x176 display resolution
• Will scale up the older 128x128 apps (default)
• Highly recommended to optimize for newer display size
• Additional “buttons” accessible to app options/back
• Native support for additional building blocks (lists etc) to rapidly build richer apps
• Lack of 3rd party APIs for Watchfaces (hence cannot be a Pebble killer yet)
• low power mode may offer a potential solution
Presentation Title | Month 2012 | 26
Architecture of Augmented SmartWatch Pro
• Key Objectives
• Support Open APIs (both into Augmented and into other apps)
• Concurrent Support for Multiple SmartWatches
• Integration with Tasker (Key 3rd party automation app)
Presentation Title | Month 2012 | 27
Android Broadcasts(SMS, Incoming Calls,
Dock, Power Connected, K9,
Alarms, Network, Pebble Connect)
3rd Party Apps/Tasker
Intent API com.alk.k9.add.action
Presentation Title | Month 2012 | 29
Pebble Canvas Plug-In Integration
• Future of the WatchFace
• Dynamic, Contextual, High Personal
• Simple APIs:
• Registration of Plug-ins
• Refresh of Data
• On-Demand Data (text or image)
• Interface Class (reuse as-is from Canvas Author, just copy into your project)
• Provide implementation of above APIs (plus any extensions)
• Highly recommended
Presentation Title | Month 2012 | 30
Augmented Plug-In Extensions for Canvas
• Dynamic WatchFace based on notification content
• Dynamic Image based on sender/Notification
• Dynamic content (notification alert vs post-alert)
• Tasker/3rd party Intent API
• Multiple Asynchronous Plug-ins for Text info
• Dynamic horizontal bars – to convey state info
• Fitbit, Klout + Withings Info
Presentation Title | Month 2012 | 31
Lessons Learned
Presentation Title | Month 2012 | 32
Lessons Learned - Augmented SmartWatch Pro
• Origins of the App
• Key App Stats
• Pricing
• App Sales
Presentation Title | Month 2012 | 33
Origins - Augmented SmartWatch Pro
• Initial use case
• Sony break-thru
• Reduce Tech Support issues - > Paid app
Presentation Title | Month 2012 | 34
Android App Stats -
Presentation Title | Month 2012 | 35
Key App Stats
• Downloads – 7000+
• Installs to Downloads Ratio – 60%
• Ratings – 4.1
• No ability to determine breakdown by Smart Watch – No Analytics (on purpose)
Presentation Title | Month 2012 | 36
Pricing an Application?
I think pricing in the Android ecosystem is weird. If you would have charged $15 for it I wouldn’t have bought it.
Not because it’s a lot of money but because hardly anyone does that besides the productivity suites.
…
Send me your PayPal and I’ll send you $10. I checked and the above address isn’t registered.
Presentation Title | Month 2012 | 37
Pricing an Application?
THIS APP IS WAY WAY WAY TO OVER PRICED AND YOU INTEND TO
INCREASE IT. GET IT WORKING AT 100% PERCENT B 4 OVER PRICING
GREEDY ONE.REPLYS WILL NOT B SEEN BECAUSE THEY WILL JUST BE
HYPOCRITE RESPONSES TO BEING SCHOOLED.
Presentation Title | Month 2012 | 38
Raising the price by 60% Accelerated Downloads!
Presentation Title | Month 2012 | 39
App Sales
Tip - Appmonger app to track sales
Price Changes impact
Refunds – 17% refunds (@1 out of every 7)
Refunds after 15 minute window
Purchasing outside of Play store
Holiday sales spike?
• don’t decrease the price increase it
Presentation Title | Month 2012 | 40
App Sales – By Day of Week & Country
Presentation Title | Month 2012 | 41
Smart Watches – Conclusions
• There is no dominant player today
• Highly personal – use cases depend on the individual
• Software is terribly lacking – hardware is advanced
• Great opportunity for developers (call to action)
@augmentedtraff