AndroidTO deck

52
Chris Haseman Building Software in the Mobile Age Building Software in the Mobile Age Chris Haseman Wednesday, October 23, 13

Transcript of AndroidTO deck

Page 1: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Building Software in the Mobile Age

Chris Haseman

Wednesday, October 23, 13

Page 2: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Patterns for developing and releasing Android software

‣ Tricks for designing and building beautiful software

‣ Ways we use to engage with our users and protect our rating

‣ Why New Yorkers are so insufferable

What I’d like to talk about

Wednesday, October 23, 13

Page 3: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Why should you care?

Wednesday, October 23, 13

Page 4: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Re-written from scratch

‣ From a web-view to fully native

‣ Crossed 10 million downloads

‣ From a 3.6 to 4.3 star application

‣ Mobile apps are now a significant amount of Tumblr’s daily traffic

2 years at Tumblr

Wednesday, October 23, 13

Page 5: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Development

Wednesday, October 23, 13

Page 6: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Small Group (3 Full Time Developers)

‣ 1 Designer and 1 Production Designer

‣ 1 Pointy-Haired Manager (me)

‣ No in-house QA

‣ No Project or Product Managers

size matters not...Our Android Team

Wednesday, October 23, 13

Page 7: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Developers should work like managers...

Wednesday, October 23, 13

Page 8: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Developers need large swaths of unscheduled time managers break the day up into hourly chucks

‣ Meeting Windows: On Arrival, Before Lunch, After Lunch, Just before end-of-day

‣ Developers should poll for new information while Managers are interrupt driven. There is a large difference

‣ Be flexible when possible on meeting times

optimizing for different goalsNope

Wednesday, October 23, 13

Page 9: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Scheduling is Easy!

Wednesday, October 23, 13

Page 10: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Programmers always estimate for the best case

‣ When planning, we think only of actually writing the code

‣ Few factor in changes, review, testing, or documentation

‣ Time padding for these is important, but BE CAREFUL

‣ “We’ll ship when it’s ready.” Only works for Blizzard

‣ “The developers set these dates!” is a cop-out

it’s one of the toughest parts of softwareScheduling really is hard

Wednesday, October 23, 13

Page 11: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

It’s ok to deliver a bit late...

Wednesday, October 23, 13

Page 12: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Trust is your only currency. No one understands what you’re working on but you

‣ Gain it by hitting your dates, shipping features with no surprises, and good communication

‣ Lose it by over or under estimating, sneaking in major refactors, hiding or obfuscating bugs, or avoiding responsibility

‣ Learn how to screw up well

as my father always irritated me by sayingYou’re as good as your word

Wednesday, October 23, 13

Page 13: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Maker vs ManagerLearn How to ScheduleBuild and Maintain Trust

Development

Wednesday, October 23, 13

Page 14: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Side effects of doing this well may include:

LeadershipPromotions

or Eventual Management

Wednesday, October 23, 13

Page 15: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Design

Wednesday, October 23, 13

Page 16: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

The designs should be final before developers

build them

Wednesday, October 23, 13

Page 17: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ It’s not finished until it ships

‣ Remember, change requires TIME!

‣ Developers, it’s on you to call out major changes

‣ Pixel perfection is essential, but you should try to polish once

‣ Consistent, correct margins make the difference between good applications and great ones

Good design requires dialogDesigns are never final

Wednesday, October 23, 13

Page 18: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Designers: Customize Everything

Developers: Customize Nothing

Wednesday, October 23, 13

Page 19: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Bad Managers:“Make it look like the iPhone...”

Wednesday, October 23, 13

Page 20: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ 100% adherence to the standards defaults is boring

‣ 100% customization is confusing, particularly with navigation

‣ Designers, be aware of the costs of your customizations

‣ Developers, communicate time concerns

‣ Devs, never say “No”. Designers, never accept “No”.

‣ For Reference: One developer at Tumblr spends one week per release on margins alone. We’re working on fixing that.

Break the rules, learn them firstInnovate on Purpose

Wednesday, October 23, 13

Page 21: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Numbers aren’t essential...

Wednesday, October 23, 13

Page 22: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Install Flurry, Localytics, Mixpanel, or Google Analytics

‣ Figure out how to track the behavior you want

‣ Check and see if you made positive user change

‣ Watch out for short term number bias

‣ Invest the time for good, consistent event tracking

‣ Numbers are your only weapon against bad ideas, especially your own

Your gut is crap at making softwareNumbers are essential

Wednesday, October 23, 13

Page 23: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Communicate about CreativityCustomize often but with Care

Validate your Assumptions

Design

Wednesday, October 23, 13

Page 24: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Beautiful software takes time, but the

payoffs are immense

Wednesday, October 23, 13

Page 25: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

The Market

Wednesday, October 23, 13

Page 26: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Nothing beyond this point is helpful unless you...

Wednesday, October 23, 13

Page 27: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Do

Wednesday, October 23, 13

Page 28: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

not

Wednesday, October 23, 13

Page 29: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

build

Wednesday, October 23, 13

Page 30: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

shitty

Wednesday, October 23, 13

Page 31: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

android

Wednesday, October 23, 13

Page 32: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

applications

Wednesday, October 23, 13

Page 33: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

...seriously

Wednesday, October 23, 13

Page 34: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ A good rating requires building a community

‣ dump as much time into responding as possible

‣ learn everything you can from the 1-star reviews

‣ Remember those analytics? Use them to triage the rage

‣ at tumblr... the feels run strong

the play store is the only tool you haveTalk to your users!

Wednesday, October 23, 13

Page 35: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Mobile teams should be deploying to production

constantly...

Wednesday, October 23, 13

Page 36: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Launch betas when feasible

‣ Do not take your beta testers or early adopters for granted

‣ Test before you release anything, internal or external

‣ Use Google’s staged roll-out

‣ Bugs will show up fast, keep a calm head but react quickly

‣ Bake. Your. Software. When it’s ready, put it in the oven for a week

Nope

Wednesday, October 23, 13

Page 37: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Rating Nags are Annoying

Wednesday, October 23, 13

Page 38: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

‣ Our daily average rating went from 3.6 to 4.5, overnight!

‣ Timing is everything catch people at a happy moment

‣ Be glib, positive, and friendly in your language

‣ Never ask them more than once in a 6 month period

‣ Ask for help, don’t demand it, but don’t beg for it either

‣ Your users are rooting for you, help them express it!

...incredibly effectivethey are also effective

Wednesday, October 23, 13

Page 39: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Wednesday, October 23, 13

Page 40: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Wednesday, October 23, 13

Page 41: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Engage your UsersBeta Test, Slow Roll, Watch

Ask your users to show some love

The Market

Wednesday, October 23, 13

Page 42: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Treat your users well, and they will reward

you

Wednesday, October 23, 13

Page 43: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

I’m tired of developers being black boxes

Wednesday, October 23, 13

Page 44: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Programmers, learn to communicate. As a

boss, help your programmers get better

at it

Wednesday, October 23, 13

Page 45: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

I am sick of seeing ugly Android software

Wednesday, October 23, 13

Page 46: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

It can be beautiful, spend the time to make it so

Wednesday, October 23, 13

Page 47: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

I hate it when good applications get a bad

name

Wednesday, October 23, 13

Page 48: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Ask your users for help when it’s appropriate. Use data to recognize and ignore the trolls

Wednesday, October 23, 13

Page 49: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Lastly, I have some bad news...

Wednesday, October 23, 13

Page 50: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Android development is HardYou, in this room, help

eachother!

Wednesday, October 23, 13

Page 51: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

Make incredible things, none of you has any

excuse to do otherwise

Wednesday, October 23, 13

Page 52: AndroidTO deck

Chris Haseman Building Software in the Mobile Age

[email protected]

@haseman

Thank you!

Wednesday, October 23, 13