View
1.190
Download
1
Category
Tags:
Preview:
DESCRIPTION
On the tactical side, presents the best ways of getting help with Android application development. On the strategic side, presents issues OEMs face when adopting Android and what to look for when finding somebody to help overcome those issues. From a May 2010 presentation in Lund, Sweden.
Citation preview
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
• mmurphy@commonsware.com
• http://commonsware.com/blog
• Twitter: commonsguy
• +1.484.350.4004
Recommended