Assistance with Android: Tactical to Strategic

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