SlideShare a Scribd company logo
Getting Android
Developers for
Your Wearables
Copyright © 2014 CommonsWare, LLC
Developers! Developers! Developers!
â—Ź

You Want 'Em
â—Ź

â—Ź

â—Ź

Mass-market wearables: the ones with the most
apps wins
Niche-market wearables: ensure experts are
available as needed

We Got 'Em
â—Ź

Android is #1 in shipped devices, markets
dominated, apps... and presumably, developers

Copyright © 2014 CommonsWare, LLC
No Duh
â—Ź

Objective: No Perceived Barriers to Developers
â—Ź

â—Ź

Little cost required

â—Ź

â—Ź

Little time required
Little hassle required

IOW, Supporting Your Wearable Should Be a
“No Duh” Decision

Copyright © 2014 CommonsWare, LLC
No Duh: Not Always Possible
â—Ź

Extreme Form Factors
â—Ź

â—Ź

â—Ź

Augmented spectacles (Google Glass, etc.) require
distinct UI from wrist wearables
In turn, requires more development work

Extreme Business Conditions
â—Ź

â—Ź

You sold your soul to a firm with draconian
distribution and licensing policy
By definition, barriers to developer adoption

Copyright © 2014 CommonsWare, LLC
Three (Not So) Easy Pieces
â—Ź

The APIs

â—Ź

The Support Infrastructure

â—Ź

The Distribution Possibilities

Copyright © 2014 CommonsWare, LLC
“If the mountain won't come to Mohammed, then
Mohammed must go to the mountain”
Sir Francis Bacon, 1625

Copyright © 2014 CommonsWare, LLC
APIs: Existing vs. Custom
â—Ź

Existing
â—Ź

Find ways to have your wearable appear to
developers as simply part of the Android API
ecosystem
–
–

â—Ź

Accessories
Devices

Custom
â—Ź

Devise own dedicated API specifically for working
with your wearable

Copyright © 2014 CommonsWare, LLC
Why Use Existing APIs
â—Ź

Ideal: No Changes Required
â—Ź

â—Ź

Next-Best Thing: Use Stuff They Know
â—Ź

â—Ź

Existing apps “just work” with your wearable,
without modification
NASCAR drafting, API style

Bonus: Collaboration with Competition
â—Ź

Better for smaller mass-market competitors to
band together to get developer attention, compete
on other aspects

Copyright © 2014 CommonsWare, LLC
Existing APIs: App Widgets
â—Ź

Scenario: Wearable with Traditional Screen
â—Ź

“Traditional” = “not Glass”

â—Ź

Objective: App Adoption with Existing Code

â—Ź

Solution: Wearable as App Widget Host

Copyright © 2014 CommonsWare, LLC
Existing APIs: App Widgets
â—Ź

App Widgets
â—Ź

Interactive bits of Android home screen, published by apps

Google Play Music
TripIt
Ambling Book Player
TuneIn Pro

Copyright © 2014 CommonsWare, LLC
Existing APIs: App Widgets
â—Ź

App Widget Characteristics
â—Ź

Small UI
–
–

â—Ź

As little as 40dp x 40dp
Physical size comparable to wearables

Limited input
–
–

â—Ź

Taps on widgets, delivered to app
Scrolling/swiping of widgets, handled by host

Designed for “anywhere access”
–

Surface information without opening app

–

Control background app behavior

Copyright © 2014 CommonsWare, LLC
Existing APIs: App Widgets
â—Ź

App Widget Mechanics
â—Ź

â—Ź

â—Ź

â—Ź

â—Ź

App advertises to OS that app widget(s) available
Home screen allows users to add, move, resize app
widgets
App publishes RemoteViews UI description, which
home screen renders
Home screen receives touch events, forwards select
ones on to the app
Android mediates communications

Copyright © 2014 CommonsWare, LLC
Existing APIs: App Widgets
â—Ź

Anything Can Be an App Widget Host
â—Ź

Home screen

â—Ź

Keyguard

â—Ź

Your wearable!

Copyright © 2014 CommonsWare, LLC
Existing APIs: App Widgets
â—Ź

Wearable Accessory or Non-Android Device
â—Ź

â—Ź

â—Ź

Your bridge app runs on Android device, serves as
AppWidgetHost
Renders RemoteViews to a bitmap, pushes to
wearable, interprets touch events

Wearable Android Device
â—Ź

App “container” for hosting app widgets, exposed
to user as if they are ordinary apps

Copyright © 2014 CommonsWare, LLC
Existing APIs: App Widgets
â—Ź

Ideal: App Widgets “Just Work”
â—Ź

â—Ź

No code changes required

Nearly Ideal: New App Widget UI Layouts
â—Ź

â—Ź

â—Ź

Square versus rectangular
Smaller size and resizeable

Pretty Darn Decent: New App Widget
â—Ź

Benefits users of phones/tablets as well

Copyright © 2014 CommonsWare, LLC
Existing APIs: Other Candidates
â—Ź

Remote Playback and MediaRouter

â—Ź

DisplayManager and VirtualDisplay

â—Ź

Notifications

â—Ź

Live Wallpapers and Daydreams

â—Ź

MTP/PTP

Copyright © 2014 CommonsWare, LLC
Custom API: Layer Atop Existing
â—Ź

Start with Existing API as Base
â—Ź

â—Ź

â—Ź

E.g., app widgets
Aim to get most (but not all) development for your
wearable to be something familiar

Extend the Protocol
â—Ź

â—Ź

Additional app widget metadata
Subclass of AppWidgetProvider and additional
broadcasts for other events (e.g., button pushes)

Copyright © 2014 CommonsWare, LLC
Custom API: Layer Atop Itself
â—Ź

Different Strokes for Different Folks

â—Ź

High-Level API
â—Ź

â—Ź

â—Ź

E.g., Glass Mirror API
Easy, but limited

Low-Level API
â—Ź

E.g., GDK

â—Ź

Powerful, but complex

â—Ź

High-level API implemented atop low-level API

Copyright © 2014 CommonsWare, LLC
Custom API: Think New
â—Ź

API Design = DX
â—Ź

â—Ź

Developer eXperience, vs. User eXperience

Consider Modern API Designs
â—Ź

â—Ź

â—Ź

Fluent or “builder-style”
Event-driven, to tie into event buses or RxJava

Easy on the Baggage
â—Ź

As few dependencies as possible, lest there be
conflicts

Copyright © 2014 CommonsWare, LLC
Custom APIs: Think Wrappers
â—Ź

Clean JARs/AARs with Clean APIs
â—Ź

Versus low-level Intent instructions

â—Ź

For Your Protection
–

â—Ź

Interface versus implementation

For Developer Sanity
–

Easier for you to validate inputs, throw meaningful
exceptions, etc. to ensure that developers are not
screwing up too bad

Copyright © 2014 CommonsWare, LLC
APIs: Think Tools
â—Ź

Yesterday: Eclipse and Ant
â—Ź

â—Ź

Today: Gradle
â—Ź

â—Ź

JARs or source-based Android library projects
JAR or AAR artifacts in Maven-style repositories

Tomorrow: Android Studio
â—Ź

Next-generation IDE

â—Ź

Uses Gradle for build system

Copyright © 2014 CommonsWare, LLC
APIs: Think Documentation
â—Ź

JavaDocs

â—Ź

High-Level Implementation Guides

â—Ź

Sample Code and Walkthroughs

â—Ź

UI/UX Guidelines

â—Ź

Branding Guidelines

â—Ź

Distribution Requirements

â—Ź

...the more, the merrier!

Copyright © 2014 CommonsWare, LLC
APIs: Think Licenses. No, Really.
â—Ź

Open Source, Where Possible
â—Ź

â—Ź

Licenses are Brochures
â—Ź

â—Ź

Practical over philosophical
Indicate to developers how you want the
relationship to be

Hear From Both Sides
â—Ź

Legal counsel and “focus group” of customers

Copyright © 2014 CommonsWare, LLC
Support: StackOverflow, Please
â—Ź

Developers are already there

â—Ź

Developers will ask questions there
â—Ź

…whether you like it or not

â—Ź

Adopt a tag

â—Ź

Monitor the questions
â—Ź

â—Ź

â—Ź

Email
RSS feed

No infrastructure to maintain

Copyright © 2014 CommonsWare, LLC
Support: Go Where the Developers Are
â—Ź

StackOverflow

â—Ź

Google+ Community

â—Ź

Specialty Communities for Your Market

â—Ź

Augment Only As Needed
â—Ź

Collaboration spaces

Copyright © 2014 CommonsWare, LLC
Support: No Question Left Behind
â—Ź

â—Ź

Clearly identify where you are providing
support
Answer all legitimate questions
â—Ź

â—Ź

...even if the answer is “sorry”

Feel free to steer questions to appropriate
locations
â—Ź

E.g., issue tracker as Q&A forum

Copyright © 2014 CommonsWare, LLC
Support: Community as Force Multiplier
â—Ź

Ensure community can answer questions too
â—Ź

...but make sure that official answers are
identifiable as such

â—Ź

Promote a consistent hashtag

â—Ź

If swamped, consider two-tier support
â—Ź

â—Ź

Key community members handling front-line
questions
Escalation process for stuff that stumps the
community experts

Copyright © 2014 CommonsWare, LLC
Distribution: Self-Fulfilling Prophecy
â—Ź

Successful Platforms Get More Apps

â—Ź

Successful Platforms Have More Apps

â—Ź

Net: Apps Beget Apps

â—Ź

Cycle: Virtuous or Vicious?

Copyright © 2014 CommonsWare, LLC
Distribution: Mind the Store
â—Ź

Play Store
â—Ź

â—Ź

Can you license it?

Own Store
â—Ź

â—Ź

â—Ź

...but what about Play Services?
...but what about enterprise?

Others?

Copyright © 2014 CommonsWare, LLC
Summary
â—Ź

For Small Wearables Firms...
â—Ź

â—Ź

â—Ź

...developers are the mountain
...you are Mohammed

Address All The Pieces
â—Ź

APIs

â—Ź

Support

â—Ź

Distribution

Copyright © 2014 CommonsWare, LLC

More Related Content

PDF
When Microwatts Are Precious: Battery Tips for Wearable Apps
PDF
Gradle and Your Android Wearable Projects
PDF
Android Security: Defending Your Users
PDF
EclipseCon Europe 2012 Tabris Workshop
PPTX
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
PDF
Using the Presentation API and external screens on Android
PDF
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
PDF
Second-Screen Support in Android 4.2
When Microwatts Are Precious: Battery Tips for Wearable Apps
Gradle and Your Android Wearable Projects
Android Security: Defending Your Users
EclipseCon Europe 2012 Tabris Workshop
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
Using the Presentation API and external screens on Android
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
Second-Screen Support in Android 4.2

What's hot (20)

PDF
Secondary Screen Support Using DisplayManager
PDF
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
PDF
Best Practices in Media Playback
PDF
Android Development: The 20,000-Foot View
PDF
Droidcon2013 miracast final2
PDF
"Open Source licensing and software quality" by Monty Michael Widenius @ eLib...
PDF
Video Streaming: from the native Android player to uncoventional devices
PDF
The unconventional devices for the video streaming in Android
PDF
Targeting Android with Qt
PDF
PhoneGap: Building Mobile Applications with HTML/JS
PDF
ExoPlayer for Application developers
PDF
Android part1
PDF
Embedded Android Workshop at AnDevConII
ODP
Should I Build With Open Source Software?
PDF
Build your cross-platform service in a week with App Engine
PDF
Jose l ugia 6 wunderkinder, momenta
PDF
Developing Cross platform apps in flutter (Android, iOS, Web)
PDF
Open Source Jumpstart Tooling Up Intro
PDF
Enlarge your screen: introducing the Google TV
PDF
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Secondary Screen Support Using DisplayManager
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
Best Practices in Media Playback
Android Development: The 20,000-Foot View
Droidcon2013 miracast final2
"Open Source licensing and software quality" by Monty Michael Widenius @ eLib...
Video Streaming: from the native Android player to uncoventional devices
The unconventional devices for the video streaming in Android
Targeting Android with Qt
PhoneGap: Building Mobile Applications with HTML/JS
ExoPlayer for Application developers
Android part1
Embedded Android Workshop at AnDevConII
Should I Build With Open Source Software?
Build your cross-platform service in a week with App Engine
Jose l ugia 6 wunderkinder, momenta
Developing Cross platform apps in flutter (Android, iOS, Web)
Open Source Jumpstart Tooling Up Intro
Enlarge your screen: introducing the Google TV
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Ad

Viewers also liked (6)

PDF
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
PPTX
Android Navigation Anti-Patterns
PDF
Android Anti Patterns
PDF
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
PDF
High Performance JavaScript - jQuery Conference SF Bay Area 2010
PDF
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Android Navigation Anti-Patterns
Android Anti Patterns
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
High Performance JavaScript - jQuery Conference SF Bay Area 2010
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Ad

Similar to Getting Android Developers for Your Wearables (20)

PPTX
What new in Android n and Tensor Flow - Updates from Google #IO16
PDF
Google TV: Thoughts From Left Field
PDF
Android Oreo - An Introduction
 
PPTX
Focus on (the Right) Content - Oracle Developer Community Day 2017
PDF
Difference Between Native App vs Flutter App Which One is Best.pdf
PDF
Which android app development tools deserve your attention this year
PDF
Google TV For Fun
PPTX
Presentation
PPTX
Mobile Application Development and Types(1)
PPTX
Android ppt
PDF
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
PDF
App42 Student Lab - Android Game Dev Series V 0.1
PDF
MAD Unit - 1 Introduction of Android IT Department
PPTX
Complete guide to flutter app development
PDF
FirstMeetupSlides
PDF
Eindhoven Mobile Development First Meetup Slides
PDF
Introduction to android - SpringPeople
PDF
Game Republic - Yorkshire Building Awesome games for Windows
PDF
Embedded Android Workshop at Embedded World Conference 2013
PDF
Pender presentation 2.0
What new in Android n and Tensor Flow - Updates from Google #IO16
Google TV: Thoughts From Left Field
Android Oreo - An Introduction
 
Focus on (the Right) Content - Oracle Developer Community Day 2017
Difference Between Native App vs Flutter App Which One is Best.pdf
Which android app development tools deserve your attention this year
Google TV For Fun
Presentation
Mobile Application Development and Types(1)
Android ppt
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
App42 Student Lab - Android Game Dev Series V 0.1
MAD Unit - 1 Introduction of Android IT Department
Complete guide to flutter app development
FirstMeetupSlides
Eindhoven Mobile Development First Meetup Slides
Introduction to android - SpringPeople
Game Republic - Yorkshire Building Awesome games for Windows
Embedded Android Workshop at Embedded World Conference 2013
Pender presentation 2.0

More from CommonsWare (20)

PDF
The Action Bar: Front to Back
PDF
Mastering the Master Detail Pattern
PDF
Not Quite As Painful Threading
PDF
Maps V2... And You!
PDF
A Deep Dive Into ViewPager
PDF
Integrate Android Apps and Web Apps
PDF
From Android to the Mobile Web
PDF
X Means Y
PDF
The Wonderful World of Wearables
PDF
Securing User Data with SQLCipher
PDF
Beaming Data to Devices with NFC
PDF
What's New in Jelly Bean
PDF
Making Money at Mobile: 60 Business Models
PDF
AppsWorld Keynote
PDF
App Integration (Revised and Updated)
PDF
Rich Text Editing and Beyond
PDF
App integration: Strategies and Tactics
PDF
Backwards Compatibility: Strategies and Tactics
PDF
Android Hardware That's A Little Bit... Odd
PDF
If I Were Starting Now
The Action Bar: Front to Back
Mastering the Master Detail Pattern
Not Quite As Painful Threading
Maps V2... And You!
A Deep Dive Into ViewPager
Integrate Android Apps and Web Apps
From Android to the Mobile Web
X Means Y
The Wonderful World of Wearables
Securing User Data with SQLCipher
Beaming Data to Devices with NFC
What's New in Jelly Bean
Making Money at Mobile: 60 Business Models
AppsWorld Keynote
App Integration (Revised and Updated)
Rich Text Editing and Beyond
App integration: Strategies and Tactics
Backwards Compatibility: Strategies and Tactics
Android Hardware That's A Little Bit... Odd
If I Were Starting Now

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Modernizing your data center with Dell and AMD
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Monthly Chronicles - July 2025
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Understanding_Digital_Forensics_Presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
Building Integrated photovoltaic BIPV_UPV.pdf
Modernizing your data center with Dell and AMD
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Getting Android Developers for Your Wearables

  • 1. Getting Android Developers for Your Wearables Copyright © 2014 CommonsWare, LLC
  • 2. Developers! Developers! Developers! â—Ź You Want 'Em â—Ź â—Ź â—Ź Mass-market wearables: the ones with the most apps wins Niche-market wearables: ensure experts are available as needed We Got 'Em â—Ź Android is #1 in shipped devices, markets dominated, apps... and presumably, developers Copyright © 2014 CommonsWare, LLC
  • 3. No Duh â—Ź Objective: No Perceived Barriers to Developers â—Ź â—Ź Little cost required â—Ź â—Ź Little time required Little hassle required IOW, Supporting Your Wearable Should Be a “No Duh” Decision Copyright © 2014 CommonsWare, LLC
  • 4. No Duh: Not Always Possible â—Ź Extreme Form Factors â—Ź â—Ź â—Ź Augmented spectacles (Google Glass, etc.) require distinct UI from wrist wearables In turn, requires more development work Extreme Business Conditions â—Ź â—Ź You sold your soul to a firm with draconian distribution and licensing policy By definition, barriers to developer adoption Copyright © 2014 CommonsWare, LLC
  • 5. Three (Not So) Easy Pieces â—Ź The APIs â—Ź The Support Infrastructure â—Ź The Distribution Possibilities Copyright © 2014 CommonsWare, LLC
  • 6. “If the mountain won't come to Mohammed, then Mohammed must go to the mountain” Sir Francis Bacon, 1625 Copyright © 2014 CommonsWare, LLC
  • 7. APIs: Existing vs. Custom â—Ź Existing â—Ź Find ways to have your wearable appear to developers as simply part of the Android API ecosystem – – â—Ź Accessories Devices Custom â—Ź Devise own dedicated API specifically for working with your wearable Copyright © 2014 CommonsWare, LLC
  • 8. Why Use Existing APIs â—Ź Ideal: No Changes Required â—Ź â—Ź Next-Best Thing: Use Stuff They Know â—Ź â—Ź Existing apps “just work” with your wearable, without modification NASCAR drafting, API style Bonus: Collaboration with Competition â—Ź Better for smaller mass-market competitors to band together to get developer attention, compete on other aspects Copyright © 2014 CommonsWare, LLC
  • 9. Existing APIs: App Widgets â—Ź Scenario: Wearable with Traditional Screen â—Ź “Traditional” = “not Glass” â—Ź Objective: App Adoption with Existing Code â—Ź Solution: Wearable as App Widget Host Copyright © 2014 CommonsWare, LLC
  • 10. Existing APIs: App Widgets â—Ź App Widgets â—Ź Interactive bits of Android home screen, published by apps Google Play Music TripIt Ambling Book Player TuneIn Pro Copyright © 2014 CommonsWare, LLC
  • 11. Existing APIs: App Widgets â—Ź App Widget Characteristics â—Ź Small UI – – â—Ź As little as 40dp x 40dp Physical size comparable to wearables Limited input – – â—Ź Taps on widgets, delivered to app Scrolling/swiping of widgets, handled by host Designed for “anywhere access” – Surface information without opening app – Control background app behavior Copyright © 2014 CommonsWare, LLC
  • 12. Existing APIs: App Widgets â—Ź App Widget Mechanics â—Ź â—Ź â—Ź â—Ź â—Ź App advertises to OS that app widget(s) available Home screen allows users to add, move, resize app widgets App publishes RemoteViews UI description, which home screen renders Home screen receives touch events, forwards select ones on to the app Android mediates communications Copyright © 2014 CommonsWare, LLC
  • 13. Existing APIs: App Widgets â—Ź Anything Can Be an App Widget Host â—Ź Home screen â—Ź Keyguard â—Ź Your wearable! Copyright © 2014 CommonsWare, LLC
  • 14. Existing APIs: App Widgets â—Ź Wearable Accessory or Non-Android Device â—Ź â—Ź â—Ź Your bridge app runs on Android device, serves as AppWidgetHost Renders RemoteViews to a bitmap, pushes to wearable, interprets touch events Wearable Android Device â—Ź App “container” for hosting app widgets, exposed to user as if they are ordinary apps Copyright © 2014 CommonsWare, LLC
  • 15. Existing APIs: App Widgets â—Ź Ideal: App Widgets “Just Work” â—Ź â—Ź No code changes required Nearly Ideal: New App Widget UI Layouts â—Ź â—Ź â—Ź Square versus rectangular Smaller size and resizeable Pretty Darn Decent: New App Widget â—Ź Benefits users of phones/tablets as well Copyright © 2014 CommonsWare, LLC
  • 16. Existing APIs: Other Candidates â—Ź Remote Playback and MediaRouter â—Ź DisplayManager and VirtualDisplay â—Ź Notifications â—Ź Live Wallpapers and Daydreams â—Ź MTP/PTP Copyright © 2014 CommonsWare, LLC
  • 17. Custom API: Layer Atop Existing â—Ź Start with Existing API as Base â—Ź â—Ź â—Ź E.g., app widgets Aim to get most (but not all) development for your wearable to be something familiar Extend the Protocol â—Ź â—Ź Additional app widget metadata Subclass of AppWidgetProvider and additional broadcasts for other events (e.g., button pushes) Copyright © 2014 CommonsWare, LLC
  • 18. Custom API: Layer Atop Itself â—Ź Different Strokes for Different Folks â—Ź High-Level API â—Ź â—Ź â—Ź E.g., Glass Mirror API Easy, but limited Low-Level API â—Ź E.g., GDK â—Ź Powerful, but complex â—Ź High-level API implemented atop low-level API Copyright © 2014 CommonsWare, LLC
  • 19. Custom API: Think New â—Ź API Design = DX â—Ź â—Ź Developer eXperience, vs. User eXperience Consider Modern API Designs â—Ź â—Ź â—Ź Fluent or “builder-style” Event-driven, to tie into event buses or RxJava Easy on the Baggage â—Ź As few dependencies as possible, lest there be conflicts Copyright © 2014 CommonsWare, LLC
  • 20. Custom APIs: Think Wrappers â—Ź Clean JARs/AARs with Clean APIs â—Ź Versus low-level Intent instructions â—Ź For Your Protection – â—Ź Interface versus implementation For Developer Sanity – Easier for you to validate inputs, throw meaningful exceptions, etc. to ensure that developers are not screwing up too bad Copyright © 2014 CommonsWare, LLC
  • 21. APIs: Think Tools â—Ź Yesterday: Eclipse and Ant â—Ź â—Ź Today: Gradle â—Ź â—Ź JARs or source-based Android library projects JAR or AAR artifacts in Maven-style repositories Tomorrow: Android Studio â—Ź Next-generation IDE â—Ź Uses Gradle for build system Copyright © 2014 CommonsWare, LLC
  • 22. APIs: Think Documentation â—Ź JavaDocs â—Ź High-Level Implementation Guides â—Ź Sample Code and Walkthroughs â—Ź UI/UX Guidelines â—Ź Branding Guidelines â—Ź Distribution Requirements â—Ź ...the more, the merrier! Copyright © 2014 CommonsWare, LLC
  • 23. APIs: Think Licenses. No, Really. â—Ź Open Source, Where Possible â—Ź â—Ź Licenses are Brochures â—Ź â—Ź Practical over philosophical Indicate to developers how you want the relationship to be Hear From Both Sides â—Ź Legal counsel and “focus group” of customers Copyright © 2014 CommonsWare, LLC
  • 24. Support: StackOverflow, Please â—Ź Developers are already there â—Ź Developers will ask questions there â—Ź …whether you like it or not â—Ź Adopt a tag â—Ź Monitor the questions â—Ź â—Ź â—Ź Email RSS feed No infrastructure to maintain Copyright © 2014 CommonsWare, LLC
  • 25. Support: Go Where the Developers Are â—Ź StackOverflow â—Ź Google+ Community â—Ź Specialty Communities for Your Market â—Ź Augment Only As Needed â—Ź Collaboration spaces Copyright © 2014 CommonsWare, LLC
  • 26. Support: No Question Left Behind â—Ź â—Ź Clearly identify where you are providing support Answer all legitimate questions â—Ź â—Ź ...even if the answer is “sorry” Feel free to steer questions to appropriate locations â—Ź E.g., issue tracker as Q&A forum Copyright © 2014 CommonsWare, LLC
  • 27. Support: Community as Force Multiplier â—Ź Ensure community can answer questions too â—Ź ...but make sure that official answers are identifiable as such â—Ź Promote a consistent hashtag â—Ź If swamped, consider two-tier support â—Ź â—Ź Key community members handling front-line questions Escalation process for stuff that stumps the community experts Copyright © 2014 CommonsWare, LLC
  • 28. Distribution: Self-Fulfilling Prophecy â—Ź Successful Platforms Get More Apps â—Ź Successful Platforms Have More Apps â—Ź Net: Apps Beget Apps â—Ź Cycle: Virtuous or Vicious? Copyright © 2014 CommonsWare, LLC
  • 29. Distribution: Mind the Store â—Ź Play Store â—Ź â—Ź Can you license it? Own Store â—Ź â—Ź â—Ź ...but what about Play Services? ...but what about enterprise? Others? Copyright © 2014 CommonsWare, LLC
  • 30. Summary â—Ź For Small Wearables Firms... â—Ź â—Ź â—Ź ...developers are the mountain ...you are Mohammed Address All The Pieces â—Ź APIs â—Ź Support â—Ź Distribution Copyright © 2014 CommonsWare, LLC