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

Introduction to Mobile App Development

Rob Stearn
February 29, 2016

Introduction to Mobile App Development

The slide deck from a talk I gave at Google Campus on 29th Feb 2016, on behalf of the fine folks at General Assembly.
The goal was to help people from any background understand how they can play a part in app development.

Rob Stearn

February 29, 2016
Tweet

More Decks by Rob Stearn

Other Decks in Programming

Transcript

  1. WHAT DO WE MEAN BY APP? ▸ A program that

    does one thing and does it as well as possible. ▸ Something a person interacts with. ▸ Something other software interacts with. ▸ Installs on a mobile device 6 — © Rob Stearn, 2016
  2. "You've got to start with the customer experience and work

    back toward the technology - not the other way around." Steve Jobs 8 — © Rob Stearn, 2016
  3. "Can I use my skills to play a part in

    the development of an app?" 9 — © Rob Stearn, 2016
  4. "Can I use my skills to play a part in

    the development of an app?" ▸ Design it. ▸ Build it. ▸ Test it. ▸ Release it. ▸ Measure it. 10 — © Rob Stearn, 2016
  5. DESIGN GUIDELINES ▸ Apple Human Interface Guidelines. ▸ Android Material

    Design Guide. ▸ Microsoft Mobile Design Guide. 13 — © Rob Stearn, 2016
  6. DATA > INCOMING ▸ User Input ▸ Hardware Sensors ▸

    OS & Apps on device ▸ Data feeds 23 — © Rob Stearn, 2016
  7. DATA > OUTGOING ▸ External APIs & Servers ▸ Social

    Media ▸ Display ▸ OS & Apps on device 24 — © Rob Stearn, 2016
  8. DESIGN > BUILD HABITS ▸ Update content regularly ▸ Communicate

    that change: notifications, email ▸ Incentivise usage: recognition vs reward ▸ Build community ▸ Give value: value creates desire 28 — © Rob Stearn, 2016
  9. DESIGN ▸ Respect the platform you're on ▸ Write user

    stories & requirements ▸ Consider data flow ▸ Test with prototypes ▸ Build habits with your users 31 — © Rob Stearn, 2016
  10. BUILD > LANGUAGES ▸ iOS: Objective-C, Swift*, C, C++ ▸

    Android: Java, Kotlin, Go*, C++, C ▸ Windows Mobile: C#, C++, C, HTML/CSS/JS 33 — © Rob Stearn, 2016
  11. BUILD > LEARNING self guided learning ▸ Online Tutorials: Ray

    Wenderlich, Big Nerd Ranch, Lynda.com ▸ Resources: Stack Overflow, Forums, Developer Documentation ▸ Community: Meetups, hackathons, Conferences ▸ Books: O'Reilly, Sybex, Wiley etc... 36 — © Rob Stearn, 2016
  12. BUILD > LEARNING Guided learning ▸ Online Courses: Coursera, iTunes

    U, Codeacademy ▸ Institutions: General Assembly, Birkbeck, UoW 37 — © Rob Stearn, 2016
  13. BASIC > DESIGN > AEROSPACE > RETAIL > SYSADMIN >

    WEB > SUPPORT > RETAIL > IOS DEV 41 — © Rob Stearn, 2016
  14. BUILD > HIRING ▸ Personal Experience ▸ Personal Recommendation ▸

    Developer Community ▸ Online Contributions - Github, Stack Overflow ▸ Recruiters 43 — © Rob Stearn, 2016
  15. BUILD > HIRING ▸ Experience vs Flexibility ▸ Broad vs

    Deep ▸ Remote vs Local ▸ Contract vs Permanent 44 — © Rob Stearn, 2016
  16. BUILD > WORKFLOW ▸ Set a coding standard ▸ Insist

    on Unit Tests* ▸ Define what 'Done' means ▸ Select a planning tool ▸ Embrace a version control system 47 — © Rob Stearn, 2016
  17. TECHNICAL DEBT WILL ALWAYS EXIST IT'S ONLY A PROBLEM IF

    YOU DON'T HAVE A REPAYMENT PLAN 49 — © Rob Stearn, 2016
  18. BUILD ▸ Learn you can build it yourself ▸ Hire

    flexibility & fit over cheap & flashy ▸ Implement coding standards & processes ▸ Plan for technical debt ▸ Ensure code is localised and accessible 51 — © Rob Stearn, 2016
  19. TEST > WHAT SHOULD YOUR APP DO? UNIT TESTS TEST

    EACH FUNCTION IN THE CODE WRITE THE TESTS BEFORE THE CODE 53 — © Rob Stearn, 2016
  20. TEST > WHAT SHOULD YOUR APP DO? INTEGRATION TEST THE

    FLOW THROUGH THE CODE SCRIPTING THE USER STORIES 54 — © Rob Stearn, 2016
  21. TEST > WHAT DOES YOUR APP DO? ANALYTICS ADD LIVE

    MEASUREMENT TO THE CODE REQUIRES CAREFUL PLANNING 56 — © Rob Stearn, 2016
  22. TEST > WHAT DOES YOUR APP DO? BETA TESTING TEST

    WITH REAL HUMANS ON REAL TASKS TRY FORMAL AND INFORMAL SESSIONS 57 — © Rob Stearn, 2016
  23. TEST ▸ use unit tests to assess code quality ▸

    begin with the test and work toward the code ▸ follow the path of execution with integration ▸ consider what to measure and what not to ▸ value the feedback from users most of all 58 — © Rob Stearn, 2016
  24. RELEASE > BUILD RELATIONSHIPS ENGAGE WITH THE GATEKEEPERS ▸ Communicate

    ▸ Attend events ▸ Study the press 61 — © Rob Stearn, 2016
  25. RELEASE > BUILD RELATIONSHIPS JOIN THE COMMUNITY ▸ Go to

    meetups ▸ Publish ▸ Stuff! 63 — © Rob Stearn, 2016
  26. REVENUE MODELS ▸ DOWNLOAD - FREE - PAID ▸ IN-APP

    PURCHASE - NONE - CONSUMABLE - NON-CONSUMABLE - SUBS ▸ PASSIVE IN-APP - NONE - AD-SUPPORTED - AFFILIATES ▸ EXTERNAL PURCHASE - NONE - SALES - COMMISSION 67 — © Rob Stearn, 2016
  27. RELEASE ▸ Cultivate relationships ▸ Publicise the process and the

    result ▸ Create anticipation and desire ▸ Assess your revenue model 70 — © Rob Stearn, 2016
  28. MEASURE > 'TEMPERATURE' ▸ Twitter/Facebook/Other statistics ▸ Site visits ▸

    Communication from users 72 — © Rob Stearn, 2016
  29. MEASURE > THE RETURN OF ANALYTICS INTEGRATING INFORMATION @ NOTHS

    ▸ App Reviews display in Slack ▸ HockeyApp creates tickets for bugs in Pivotal Tracker ▸ Git commits contain ticket refs from Pivotal Tracker ▸ HockeyApp sends daily digests of crash reports via Email ▸ Xcode Server reports results of Integration tests in Slack 76 — © Rob Stearn, 2016
  30. MEASURE > THE RETURN OF ANALYTICS > ETHICS TAKING RESPONSIBILITY

    FOR DATA If you decided to use a free analytics library: ▸ what are their privacy policies? ▸ Are your users paying with their data and yours? ▸ Are you ensuring that peoples data is anonymous? ▸ Are you asking for their permission and acting on their answer? 78 — © Rob Stearn, 2016
  31. DID YOU KNOW? THE T&CS FOR GOOGLE ANALYTICS REQUIRE YOU

    TO PROVIDE A WAY FOR USERS TO OPT OUT? 79 — © Rob Stearn, 2016
  32. MEASURE ▸ Don't rue every user who opts out as

    missed data. ▸ Make it point of pride that you respect peoples privacy. ▸ Respect anonymity requests. ▸ Be transparent about data usage and dependencies. ▸ Fulfil your obligations. ▸ Remember statistics can be manipulated 80 — © Rob Stearn, 2016
  33. SUMMARY ▸ Design ▸ Build ▸ Test ▸ Market ▸

    Measure ▸ Repeat 83 — © Rob Stearn, 2016
  34. "Can I use my skills to play a part in

    the development of an app?" 84 — © Rob Stearn, 2016
  35. "Can I use my skills to play a part in

    the development of an app?" YES 85 — © Rob Stearn, 2016