Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Chris Haseman - Building software in the Mobile Age

Chris Haseman - Building software in the Mobile Age

Working in the mobile industry for the last ten years has taught me one thing: Producing great software is hard. There are, however, more than a few ways to make it easier and more accessible. Over the course of this talk I'd like to go over some of the small things you can do to make the process less daunting. I'll give developers some guidelines on fighting and getting releases out on time. We'll talk about how to get the most out of designers (and how designers can get the most out of engineers). Last, I'll let the marketing folks in on a few tactics we've used at Tumblr to get our rating above 4 stars.

AndroidTO 2013

October 17, 2013
Tweet

More Decks by AndroidTO 2013

Other Decks in Technology

Transcript

  1. Chris Haseman Building Software in the Mobile Age Building Software

    in the Mobile Age Chris Haseman Wednesday, October 23, 13
  2. 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
  3. 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
  4. 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
  5. Chris Haseman Building Software in the Mobile Age Developers should

    work like managers... Wednesday, October 23, 13
  6. 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 goals Nope Wednesday, October 23, 13
  7. 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 software Scheduling really is hard Wednesday, October 23, 13
  8. Chris Haseman Building Software in the Mobile Age It’s ok

    to deliver a bit late... Wednesday, October 23, 13
  9. 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 saying You’re as good as your word Wednesday, October 23, 13
  10. Chris Haseman Building Software in the Mobile Age Maker vs

    Manager Learn How to Schedule Build and Maintain Trust Development Wednesday, October 23, 13
  11. Chris Haseman Building Software in the Mobile Age Side effects

    of doing this well may include: Leadership Promotions or Eventual Management Wednesday, October 23, 13
  12. Chris Haseman Building Software in the Mobile Age The designs

    should be final before developers build them Wednesday, October 23, 13
  13. 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 dialog Designs are never final Wednesday, October 23, 13
  14. Chris Haseman Building Software in the Mobile Age Designers: Customize

    Everything Developers: Customize Nothing Wednesday, October 23, 13
  15. Chris Haseman Building Software in the Mobile Age Bad Managers:

    “Make it look like the iPhone...” Wednesday, October 23, 13
  16. 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 first Innovate on Purpose Wednesday, October 23, 13
  17. 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 software Numbers are essential Wednesday, October 23, 13
  18. Chris Haseman Building Software in the Mobile Age Communicate about

    Creativity Customize often but with Care Validate your Assumptions Design Wednesday, October 23, 13
  19. Chris Haseman Building Software in the Mobile Age Beautiful software

    takes time, but the payoffs are immense Wednesday, October 23, 13
  20. Chris Haseman Building Software in the Mobile Age Nothing beyond

    this point is helpful unless you... Wednesday, October 23, 13
  21. 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 have Talk to your users! Wednesday, October 23, 13
  22. Chris Haseman Building Software in the Mobile Age Mobile teams

    should be deploying to production constantly... Wednesday, October 23, 13
  23. 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
  24. Chris Haseman Building Software in the Mobile Age Rating Nags

    are Annoying Wednesday, October 23, 13
  25. 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 effective they are also effective Wednesday, October 23, 13
  26. Chris Haseman Building Software in the Mobile Age Engage your

    Users Beta Test, Slow Roll, Watch Ask your users to show some love The Market Wednesday, October 23, 13
  27. Chris Haseman Building Software in the Mobile Age Treat your

    users well, and they will reward you Wednesday, October 23, 13
  28. Chris Haseman Building Software in the Mobile Age I’m tired

    of developers being black boxes Wednesday, October 23, 13
  29. 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
  30. Chris Haseman Building Software in the Mobile Age I am

    sick of seeing ugly Android software Wednesday, October 23, 13
  31. Chris Haseman Building Software in the Mobile Age It can

    be beautiful, spend the time to make it so Wednesday, October 23, 13
  32. Chris Haseman Building Software in the Mobile Age I hate

    it when good applications get a bad name Wednesday, October 23, 13
  33. 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
  34. Chris Haseman Building Software in the Mobile Age Lastly, I

    have some bad news... Wednesday, October 23, 13
  35. Chris Haseman Building Software in the Mobile Age Android development

    is Hard You, in this room, help eachother! Wednesday, October 23, 13
  36. Chris Haseman Building Software in the Mobile Age Make incredible

    things, none of you has any excuse to do otherwise Wednesday, October 23, 13