45
Assistance With Android: Tactical to Strategic by Mark Murphy, CommonsWare

Assistance with Android: Tactical to Strategic

Embed Size (px)

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

Page 1: Assistance with Android: Tactical to Strategic

Assistance With Android:Tactical to Strategic

by Mark Murphy, CommonsWare

Page 2: Assistance with Android: Tactical to Strategic

Overview

• The Android ecosystem

• Getting assistance for engineers

• Getting assistance for businesses

Page 3: Assistance with Android: Tactical to Strategic

The Way It Was

• Proprietary mobile operating systems

• Few experts, all internal

• Low expectations from users

• No extensibility

Page 4: Assistance with Android: Tactical to Strategic

The Age of Android

• Smartphones...

• ...and beyond

• Tablets

• TVs and set-top boxes

• Cars, etc.

Page 5: Assistance with Android: Tactical to Strategic

The Good, The Bad, and the Ugly

• Good: More experts

• Bad: Higher expectations

• Ugly: More competition

Page 6: Assistance with Android: Tactical to Strategic

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

Page 7: Assistance with Android: Tactical to Strategic

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

Page 8: Assistance with Android: Tactical to Strategic

Axes of Help

• Speed

• Live vs. asynchronous

• Backing

• Official, professional, community

• Cost

• Free, paid

Page 9: Assistance with Android: Tactical to Strategic

Android Google Groups

• SDK Development

• android-beginners

• android-developers

• Source Code/Platform Development

• android-platform

• android-porting

• All Moderated!

Page 10: Assistance with Android: Tactical to Strategic

StackOverflow

• Posting Tips

• Use #android tag

• Provide a nice source listing – will be formatted

• Include stack traces, screenshots, etc.

Page 11: Assistance with Android: Tactical to Strategic

StackOverflow

• Interaction Tips

• Unrelated questions: post new

• Accept answers!

• Use comments wisely

Page 12: Assistance with Android: Tactical to Strategic

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

Page 13: Assistance with Android: Tactical to Strategic

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

Page 14: Assistance with Android: Tactical to Strategic

Miscellaneous Channels

• ForceClose

• Smaller community boards

• Android issue tracker

•http://b.android.com

Page 15: Assistance with Android: Tactical to Strategic

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

Page 16: Assistance with Android: Tactical to Strategic

Issue Reporting Tips

• Sample Code

• Fragments at worst

• Complete demonstration projects where possible

• Outside of StackOverflow, consider using a code-paste site

Page 17: Assistance with Android: Tactical to Strategic

Issue Reporting Tips

• Stack Traces

• adb logcat, DDMS, DDMS perspective in Eclipse

• Need the “Caused by” portion of trace

• Other Symptoms

• Screenshots?

Page 18: Assistance with Android: Tactical to Strategic

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

Page 19: Assistance with Android: Tactical to Strategic

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

Page 20: Assistance with Android: Tactical to Strategic

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)

Page 21: Assistance with Android: Tactical to Strategic

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

Page 22: Assistance with Android: Tactical to Strategic

Tips for Asking Questions

• Patience is a Virtue

• Timing

• Groups, StackOverflow not immediate

• Easy on the “bumps”

• IRC real-time but perhaps limited

Page 23: Assistance with Android: Tactical to Strategic

Tips for Asking Questions

• Patience is a Virtue

• Answers

• Not all answers are created equal, in terms of quality

• Try to avoid being dogmatic

Page 24: Assistance with Android: Tactical to Strategic

Tips for Asking Questions

• Follow Through

• StackOverflow: accept answers

• Groups/IRC: thank those who provide good answers

Page 25: Assistance with Android: Tactical to Strategic

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

Page 26: Assistance with Android: Tactical to Strategic

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?

Page 27: Assistance with Android: Tactical to Strategic

Device Firmware

• What You Need

• Targeted assistance in getting you past driver issues, etc.

• Full “cradle to grave” assistance with device development and manufacture

Page 28: Assistance with Android: Tactical to Strategic

Device Firmware

• What You Should Look For

• Prior experience with altering the firmware

• Full-scale support with the right relationships, plus the Android expertise

Page 29: Assistance with Android: Tactical to Strategic

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

Page 30: Assistance with Android: Tactical to Strategic

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

Page 31: Assistance with Android: Tactical to Strategic

Security Model

• What You Need

• Help in making Android enterprise-ready

• Remote wipe

• Usage monitoring

• Reduced end-user configurability

Page 32: Assistance with Android: Tactical to Strategic

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

Page 33: Assistance with Android: Tactical to Strategic

App Preloads / Remixes

• What You Need

• More apps than come with Android by default

• Apps targeted to your particular market or usage model

Page 34: Assistance with Android: Tactical to Strategic

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

Page 35: Assistance with Android: Tactical to Strategic

Google Acceptance

• What You Need: the Android Market

• Pass the CTS

• Faithfully run third-party applications

• Work within “Google Experience” limitations

Page 36: Assistance with Android: Tactical to Strategic

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

Page 37: Assistance with Android: Tactical to Strategic

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

Page 38: Assistance with Android: Tactical to Strategic

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

Page 39: Assistance with Android: Tactical to Strategic

Open Source

• What You Need: clear understanding of your obligations

• Kernel modifications (GPLv2)

• Contributions to Android open source project (contribution agreement)

Page 40: Assistance with Android: Tactical to Strategic

Open Source

• What You Should Look For

• OSS experience

• Legal

• Internal development

• Collaborative development expertise

Page 41: Assistance with Android: Tactical to Strategic

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

Page 42: Assistance with Android: Tactical to Strategic

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

Page 43: Assistance with Android: Tactical to Strategic

All The Other Things...

• Revenue model

• Sales/marketing

• Distribution and channels

• Buzz (PR, social networks, etc.)

Page 44: Assistance with Android: Tactical to Strategic

Summary

• Getting assistance has two ingredients

• Knowing what questions you should be asking

• Knowing where to get the answers

Page 45: Assistance with Android: Tactical to Strategic

Contact Info

• http://commonsware.com

[email protected]

• http://commonsware.com/blog

• Twitter: commonsguy

• +1.484.350.4004