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

What's hot

Secondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManagerSecondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManager
CommonsWare
 
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
BeMyApp
 
Best Practices in Media Playback
Best Practices in Media PlaybackBest Practices in Media Playback
Best Practices in Media Playback
GDG Korea
 
Android Development: The 20,000-Foot View
Android Development: The 20,000-Foot ViewAndroid Development: The 20,000-Foot View
Android Development: The 20,000-Foot View
CommonsWare
 
Droidcon2013 miracast final2
Droidcon2013 miracast final2Droidcon2013 miracast final2
Droidcon2013 miracast final2Droidcon Berlin
 
"Open Source licensing and software quality" by Monty Michael Widenius @ eLib...
"Open Source licensing and software quality" by Monty Michael Widenius @ eLib..."Open Source licensing and software quality" by Monty Michael Widenius @ eLib...
"Open Source licensing and software quality" by Monty Michael Widenius @ eLib...
eLiberatica
 
Video Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesVideo Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devices
Matteo Bonifazi
 
The unconventional devices for the video streaming in Android
The unconventional devices for the video streaming in AndroidThe unconventional devices for the video streaming in Android
The unconventional devices for the video streaming in Android
Alessandro Martellucci
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
Espen Riskedal
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JS
Ryan Stewart
 
ExoPlayer for Application developers
ExoPlayer for Application developersExoPlayer for Application developers
ExoPlayer for Application developers
Hassan Abid
 
Android part1
Android part1Android part1
Android part1
Aman Agarwal
 
Embedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIEmbedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIOpersys inc.
 
Should I Build With Open Source Software?
Should I Build With Open Source Software?Should I Build With Open Source Software?
Should I Build With Open Source Software?
joelevy1776
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App Engine
Jl_Ugia
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momentaapps4allru
 
Developing Cross platform apps in flutter (Android, iOS, Web)
Developing Cross platform apps in flutter (Android, iOS, Web)Developing Cross platform apps in flutter (Android, iOS, Web)
Developing Cross platform apps in flutter (Android, iOS, Web)
Priyanka Tyagi
 
Open Source Jumpstart Tooling Up Intro
Open Source Jumpstart Tooling Up IntroOpen Source Jumpstart Tooling Up Intro
Open Source Jumpstart Tooling Up Intro
Skills Matter
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TV
Stefano Sanna
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Nick Landry
 

What's hot (20)

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

Viewers also liked

Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Andy Davies
 
Android Navigation Anti-Patterns
Android Navigation Anti-PatternsAndroid Navigation Anti-Patterns
Android Navigation Anti-Patterns
Swapnil Borkar
 
Android Anti Patterns
Android Anti PatternsAndroid Anti Patterns
Android Anti Patterns
Abhishek Nandi
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Andy Davies
 
High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010
Nicholas Zakas
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Nicholas Zakas
 

Viewers also liked (6)

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

Similar to Getting Android Developers for Your Wearables

What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16
GBG Mumbai
 
Google TV: Thoughts From Left Field
Google TV: Thoughts From Left FieldGoogle TV: Thoughts From Left Field
Google TV: Thoughts From Left Field
CommonsWare
 
Android Oreo - An Introduction
Android Oreo - An Introduction Android Oreo - An Introduction
Android Oreo - An Introduction
Somo
 
Focus on (the Right) Content - Oracle Developer Community Day 2017
Focus on (the Right) Content - Oracle Developer Community Day 2017Focus on (the Right) Content - Oracle Developer Community Day 2017
Focus on (the Right) Content - Oracle Developer Community Day 2017
Mano Marks
 
Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year  Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year
Moon Technolabs Pvt. Ltd.
 
Google TV For Fun
Google TV For FunGoogle TV For Fun
Google TV For Fun
CommonsWare
 
Presentation
PresentationPresentation
Presentation
allanchristiancarlos
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)
IsraelSoga
 
Android ppt
Android pptAndroid ppt
Android ppt
VENGADESH P
 
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13CDI Apps for Good
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1
ShepHertz
 
Complete guide to flutter app development
Complete guide to flutter app developmentComplete guide to flutter app development
Complete guide to flutter app development
Concetto Labs
 
Eindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup SlidesEindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup Slides
Chris Key
 
Introduction to android - SpringPeople
Introduction to android - SpringPeopleIntroduction to android - SpringPeople
Introduction to android - SpringPeople
SpringPeople
 
Game Republic - Yorkshire Building Awesome games for Windows
Game Republic - Yorkshire Building Awesome games for WindowsGame Republic - Yorkshire Building Awesome games for Windows
Game Republic - Yorkshire Building Awesome games for Windows
Lee Stott
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
Opersys inc.
 
Pender presentation 2.0
Pender presentation 2.0 Pender presentation 2.0
Pender presentation 2.0
PhoneGap
 
JAKT Portfolio
JAKT PortfolioJAKT Portfolio
JAKT Portfolio
Anthony Tumbiolo
 
5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing
Perfecto by Perforce
 

Similar to Getting Android Developers for Your Wearables (20)

What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16
 
Google TV: Thoughts From Left Field
Google TV: Thoughts From Left FieldGoogle TV: Thoughts From Left Field
Google TV: Thoughts From Left Field
 
Android Oreo - An Introduction
Android Oreo - An Introduction Android Oreo - An Introduction
Android Oreo - An Introduction
 
Focus on (the Right) Content - Oracle Developer Community Day 2017
Focus on (the Right) Content - Oracle Developer Community Day 2017Focus on (the Right) Content - Oracle Developer Community Day 2017
Focus on (the Right) Content - Oracle Developer Community Day 2017
 
Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year  Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year
 
Google TV For Fun
Google TV For FunGoogle TV For Fun
Google TV For Fun
 
Presentation
PresentationPresentation
Presentation
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1
 
Complete guide to flutter app development
Complete guide to flutter app developmentComplete guide to flutter app development
Complete guide to flutter app development
 
FirstMeetupSlides
FirstMeetupSlidesFirstMeetupSlides
FirstMeetupSlides
 
Eindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup SlidesEindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup Slides
 
Introduction to android - SpringPeople
Introduction to android - SpringPeopleIntroduction to android - SpringPeople
Introduction to android - SpringPeople
 
Game Republic - Yorkshire Building Awesome games for Windows
Game Republic - Yorkshire Building Awesome games for WindowsGame Republic - Yorkshire Building Awesome games for Windows
Game Republic - Yorkshire Building Awesome games for Windows
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
 
Pender presentation 2.0
Pender presentation 2.0 Pender presentation 2.0
Pender presentation 2.0
 
JAKT Portfolio
JAKT PortfolioJAKT Portfolio
JAKT Portfolio
 
5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing
 

More from CommonsWare

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

More from CommonsWare (20)

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

Recently uploaded

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.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