AndroidTO deck

456 views

Published on

  • Be the first to comment

  • Be the first to like this

AndroidTO deck

  1. 1. Building Software in the Mobile Age Chris Haseman Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  2. 2. What I’d like to talk about ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  3. 3. Why should you care? Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  4. 4. 2 years at Tumblr ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  5. 5. Development Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  6. 6. Our Android Team size matters not... ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  7. 7. Developers should work like managers... Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  8. 8. Nope optimizing for different goals ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  9. 9. Scheduling is Easy! Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  10. 10. Scheduling really is hard it’s one of the toughest parts of software ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  11. 11. It’s ok to deliver a bit late... Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  12. 12. You’re as good as your word as my father always irritated me by saying ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  13. 13. Development Maker vs Manager Learn How to Schedule Build and Maintain Trust Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  14. 14. Side effects of doing this well may include: Leadership Promotions or Eventual Management Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  15. 15. Design Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  16. 16. The designs should be final before developers build them Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  17. 17. Designs are never final Good design requires dialog ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  18. 18. Designers: Customize Everything Developers: Customize Nothing Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  19. 19. Bad Managers: “Make it look like the iPhone...” Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  20. 20. Innovate on Purpose Break the rules, learn them first ‣ 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. Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  21. 21. Numbers aren’t essential... Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  22. 22. Numbers are essential Your gut is crap at making software ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  23. 23. Design Communicate about Creativity Customize often but with Care Validate your Assumptions Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  24. 24. Beautiful software takes time, but the payoffs are immense Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  25. 25. The Market Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  26. 26. Nothing beyond this point is helpful unless you... Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  27. 27. Do Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  28. 28. not Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  29. 29. build Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  30. 30. shitty Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  31. 31. android Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  32. 32. applications Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  33. 33. ...seriously Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  34. 34. Talk to your users! the play store is the only tool you have ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  35. 35. Mobile teams should be deploying to production constantly... Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  36. 36. Nope ‣ 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 Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  37. 37. Rating Nags are Annoying Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  38. 38. they are also effective ...incredibly effective ‣ 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! Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  39. 39. Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  40. 40. Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  41. 41. The Market Engage your Users Beta Test, Slow Roll, Watch Ask your users to show some love Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  42. 42. Treat your users well, and they will reward you Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  43. 43. I’m tired of developers being black boxes Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  44. 44. Programmers, learn to communicate. As a boss, help your programmers get better at it Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  45. 45. I am sick of seeing ugly Android software Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  46. 46. It can be beautiful, spend the time to make it so Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  47. 47. I hate it when good applications get a bad name Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  48. 48. Ask your users for help when it’s appropriate. Use data to recognize and ignore the trolls Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  49. 49. Lastly, I have some bad news... Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  50. 50. Android development is Hard You, in this room, help eachother! Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  51. 51. Make incredible things, none of you has any excuse to do otherwise Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13
  52. 52. Thank you! haseman@tumblr.com haseman.tumblr.com @haseman Chris Haseman Building Software in the Mobile Age Wednesday, October 23, 13

×