Assistance With Android:Tactical to Strategic
by Mark Murphy, CommonsWare
Overview
• The Android ecosystem
• Getting assistance for engineers
• Getting assistance for businesses
The Way It Was
• Proprietary mobile operating systems
• Few experts, all internal
• Low expectations from users
• No extensibility
The Age of Android
• Smartphones...
• ...and beyond
• Tablets
• TVs and set-top boxes
• Cars, etc.
The Good, The Bad, and the Ugly
• Good: More experts
• Bad: Higher expectations
• Ugly: More competition
Flattening the Learning Curve
• You need answers -- that’s understandable
• More importantly, you need to climb the learning curve quickly
• Outside assistance to flatten that curve
Tactical to Strategic
• Tactical: What engineers need to get their job done
• Strategic: What managers and executives need to make right decisions for Android adoption
• Spectrum between them, not polar states
Axes of Help
• Speed
• Live vs. asynchronous
• Backing
• Official, professional, community
• Cost
• Free, paid
Android Google Groups
• SDK Development
• android-beginners
• android-developers
• Source Code/Platform Development
• android-platform
• android-porting
• All Moderated!
StackOverflow
• Posting Tips
• Use #android tag
• Provide a nice source listing – will be formatted
• Include stack traces, screenshots, etc.
StackOverflow
• Interaction Tips
• Unrelated questions: post new
• Accept answers!
• Use comments wisely
IRC
• Internet Relay Chat
• irc.freenode.net, #android-dev channel
• Monitored by real live Googlers!
• Office hours
• Standard Netiquette
• Don't barge in on a discussion – tough to follow
Contacting Google
• Not Easy
• Device Manufacturers: should already have channels established
• Big ISVs: probably already have ways to reach into Google
• Small ISVs: work with a device manufacturer
Miscellaneous Channels
• ForceClose
• Smaller community boards
• Android issue tracker
•http://b.android.com
What Not To Do
• Direct Semi-Random Contact
• Googlers
• Other folk
• Expect Something for Nothing Always
• More likely to get answers if you give answers from time to time
• Be Overly Abstract
Issue Reporting Tips
• Sample Code
• Fragments at worst
• Complete demonstration projects where possible
• Outside of StackOverflow, consider using a code-paste site
Issue Reporting Tips
• Stack Traces
• adb logcat, DDMS, DDMS perspective in Eclipse
• Need the “Caused by” portion of trace
• Other Symptoms
• Screenshots?
Tips for Asking Questions
• Choose Proper Question Level
• Down-in-the-weeds
• Good for very tactical questions
• Only works if you are really comfortable with the material and are having some API difficulties
Tips for Asking Questions
• Choose Proper Question Level
• High-level development approach
• Better if this is an area you know little about
• Allows others to contribute corresponding high-level advice
Tips for Asking Questions
• Tie Into Your Identity Strategy and Tactics
• Public Disclosure
• “Brand names” likely to get more help
• May get incoming questions (e.g., device manufacturers)
Tips for Asking Questions
• Tie Into Your Identity Strategy and Tactics
• Personal Email
• Not recommended, particularly if you have a unique name
• Unique Email
• Best if you need to shroud your identity
Tips for Asking Questions
• Patience is a Virtue
• Timing
• Groups, StackOverflow not immediate
• Easy on the “bumps”
• IRC real-time but perhaps limited
Tips for Asking Questions
• Patience is a Virtue
• Answers
• Not all answers are created equal, in terms of quality
• Try to avoid being dogmatic
Tips for Asking Questions
• Follow Through
• StackOverflow: accept answers
• Groups/IRC: thank those who provide good answers
Tips for Asking Questions
• Turnabout is Fair Play
• Try to figure out how you can contribute back
• In kind: answer questions from others
• Other “returns on investment”
• Pay it forward
Strategic Support
• More involved
• Not just a question here or there
• Two key questions
• What do you need?
• What do you look for in assistance?
Device Firmware
• What You Need
• Targeted assistance in getting you past driver issues, etc.
• Full “cradle to grave” assistance with device development and manufacture
Device Firmware
• What You Should Look For
• Prior experience with altering the firmware
• Full-scale support with the right relationships, plus the Android expertise
Firmware Modifications
• What You Need
• Help in creating custom UI layer (HTC Sense, MOTOBLUR, SE Rachael, etc.)
• Help in modifying standard apps
• Help in advancing Android proper
• Example: dual camera support
Firmware Modifications
• What You Should Look For
• Experience in working on the firmware outside of device drivers
• Mobile UX expertise, if not supplied by you
Security Model
• What You Need
• Help in making Android enterprise-ready
• Remote wipe
• Usage monitoring
• Reduced end-user configurability
Security Model
• What You Should Look For
• Deep ties to core Android dev team
• Solution that has a chance of being widely adopted or incorporated into mainstream Android
App Preloads / Remixes
• What You Need
• More apps than come with Android by default
• Apps targeted to your particular market or usage model
App Preloads / Remixes
• What You Should Look For
• Well-respected apps on the Android Market
• For the apps
• For the authors
• Solid UX and experience to do more of the same
Google Acceptance
• What You Need: the Android Market
• Pass the CTS
• Faithfully run third-party applications
• Work within “Google Experience” limitations
Google Acceptance
• What You Should Look For
• Firms that have helped others build production devices that were granted the Android Market
• Firms with good working relationships with Google
Alternative Markets
• What You Need
• Way to capture revenue for you and your partners, instead of for Google and Google’s partners
• Way to deal with not getting the Android Market
Alternative Markets
• What You Should Look For
• Firms with existing markets or demonstrated market technology
• Device portion is comparatively easy!
• Firms demonstrating ability to recruit developers to list on their markets
Open Source
• What You Need: clear understanding of your obligations
• Kernel modifications (GPLv2)
• Contributions to Android open source project (contribution agreement)
Open Source
• What You Should Look For
• OSS experience
• Legal
• Internal development
• Collaborative development expertise
Developer Relations
• What You Need
• Developers interested in creating apps that work well on your device
• Unique hardware characteristics
• Developers interested in creating apps that work well for your market
• Specific target languages
Developer Relations
• What You Should Look For
• Minimum: people with demonstrated ability to recruit, retain developer communities
• Ideal: rock star = somebody whose name brings you credibility at grassroots level
All The Other Things...
• Revenue model
• Sales/marketing
• Distribution and channels
• Buzz (PR, social networks, etc.)
Summary
• Getting assistance has two ingredients
• Knowing what questions you should be asking
• Knowing where to get the answers
Contact Info
• http://commonsware.com
• http://commonsware.com/blog
• Twitter: commonsguy
• +1.484.350.4004