Slide 1

Slide 1 text

Introduction to MOBILE APP Development 1 — © Rob Stearn, 2016

Slide 2

Slide 2 text

Rob Stearn MOBILE APP DEVELOPER NOTONTHEHIGHSTREET 2 — © Rob Stearn, 2016

Slide 3

Slide 3 text

"Can I develop an app?" "Do I need coding experience?" 3 — © Rob Stearn, 2016

Slide 4

Slide 4 text

YES & YES 4 — © Rob Stearn, 2016

Slide 5

Slide 5 text

"IT'S COMPLICATED..." 5 — © Rob Stearn, 2016

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

WHAT DO WE MEAN BY DEVELOP? 7 — © Rob Stearn, 2016

Slide 8

Slide 8 text

"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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

"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

Slide 11

Slide 11 text

▶︎ DESIGN IT. 11 — © Rob Stearn, 2016

Slide 12

Slide 12 text

DESIGN: RESPECT THE PLATFORM 12 — © Rob Stearn, 2016

Slide 13

Slide 13 text

DESIGN GUIDELINES ▸ Apple Human Interface Guidelines. ▸ Android Material Design Guide. ▸ Microsoft Mobile Design Guide. 13 — © Rob Stearn, 2016

Slide 14

Slide 14 text

Example: CINEMA CLUB 14 — © Rob Stearn, 2016

Slide 15

Slide 15 text

15 — © Rob Stearn, 2016

Slide 16

Slide 16 text

16 — © Rob Stearn, 2016

Slide 17

Slide 17 text

17 — © Rob Stearn, 2016

Slide 18

Slide 18 text

DESIGN: USER STORIES 18 — © Rob Stearn, 2016

Slide 19

Slide 19 text

WHAT ✔ HOW ✘ 19 — © Rob Stearn, 2016

Slide 20

Slide 20 text

DESIGN: REQUIREMENTS 20 — © Rob Stearn, 2016

Slide 21

Slide 21 text

WHAT ✔ HOW ✔ 21 — © Rob Stearn, 2016

Slide 22

Slide 22 text

DESIGN: DATA 22 — © Rob Stearn, 2016

Slide 23

Slide 23 text

DATA > INCOMING ▸ User Input ▸ Hardware Sensors ▸ OS & Apps on device ▸ Data feeds 23 — © Rob Stearn, 2016

Slide 24

Slide 24 text

DATA > OUTGOING ▸ External APIs & Servers ▸ Social Media ▸ Display ▸ OS & Apps on device 24 — © Rob Stearn, 2016

Slide 25

Slide 25 text

PROTOTYPING STATIC & dynamic 25 — © Rob Stearn, 2016

Slide 26

Slide 26 text

POP PROTOTYPING ON PAPER 26 — © Rob Stearn, 2016

Slide 27

Slide 27 text

BUILD habits WITH YOUR USERS 27 — © Rob Stearn, 2016

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Psychology is more powerful than common sense 29 — © Rob Stearn, 2016

Slide 30

Slide 30 text

STORY 30 — © Rob Stearn, 2016

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

▶︎ BUILD IT. 32 — © Rob Stearn, 2016

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

BUILD > TOOLS 34 — © Rob Stearn, 2016

Slide 35

Slide 35 text

THERE'S NEVER BEEN A BETTER TIME TO learn to code. 35 — © Rob Stearn, 2016

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

BUILD > LEARNING Guided learning ▸ Online Courses: Coursera, iTunes U, Codeacademy ▸ Institutions: General Assembly, Birkbeck, UoW 37 — © Rob Stearn, 2016

Slide 38

Slide 38 text

BE BETTER THAN YOU WERE YESTERDAY 38 — © Rob Stearn, 2016

Slide 39

Slide 39 text

STORY 39 — © Rob Stearn, 2016

Slide 40

Slide 40 text

40 — © Rob Stearn, 2016

Slide 41

Slide 41 text

BASIC > DESIGN > AEROSPACE > RETAIL > SYSADMIN > WEB > SUPPORT > RETAIL > IOS DEV 41 — © Rob Stearn, 2016

Slide 42

Slide 42 text

BUILD > HIRING Hiring is hard 42 — © Rob Stearn, 2016

Slide 43

Slide 43 text

BUILD > HIRING ▸ Personal Experience ▸ Personal Recommendation ▸ Developer Community ▸ Online Contributions - Github, Stack Overflow ▸ Recruiters 43 — © Rob Stearn, 2016

Slide 44

Slide 44 text

BUILD > HIRING ▸ Experience vs Flexibility ▸ Broad vs Deep ▸ Remote vs Local ▸ Contract vs Permanent 44 — © Rob Stearn, 2016

Slide 45

Slide 45 text

WORKFLOW ! ▶︎ ✏ ▶︎ # ▶︎ $ ▶︎ ☁ 45 — © Rob Stearn, 2016

Slide 46

Slide 46 text

STORY 46 — © Rob Stearn, 2016

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

BUILD > WORKFLOW A FEW WORDS ON TECHNICAL DEBT 48 — © Rob Stearn, 2016

Slide 49

Slide 49 text

TECHNICAL DEBT WILL ALWAYS EXIST IT'S ONLY A PROBLEM IF YOU DON'T HAVE A REPAYMENT PLAN 49 — © Rob Stearn, 2016

Slide 50

Slide 50 text

LOCALISED & ACCESSIBLE 50 — © Rob Stearn, 2016

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

▶︎ TEST IT. 52 — © Rob Stearn, 2016

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

TEST > WHAT SHOULD YOUR APP DO? INTEGRATION TEST THE FLOW THROUGH THE CODE SCRIPTING THE USER STORIES 54 — © Rob Stearn, 2016

Slide 55

Slide 55 text

55 — © Rob Stearn, 2016

Slide 56

Slide 56 text

TEST > WHAT DOES YOUR APP DO? ANALYTICS ADD LIVE MEASUREMENT TO THE CODE REQUIRES CAREFUL PLANNING 56 — © Rob Stearn, 2016

Slide 57

Slide 57 text

TEST > WHAT DOES YOUR APP DO? BETA TESTING TEST WITH REAL HUMANS ON REAL TASKS TRY FORMAL AND INFORMAL SESSIONS 57 — © Rob Stearn, 2016

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

▶︎ RELEASE IT. 59 — © Rob Stearn, 2016

Slide 60

Slide 60 text

BUILD relationships 60 — © Rob Stearn, 2016

Slide 61

Slide 61 text

RELEASE > BUILD RELATIONSHIPS ENGAGE WITH THE GATEKEEPERS ▸ Communicate ▸ Attend events ▸ Study the press 61 — © Rob Stearn, 2016

Slide 62

Slide 62 text

RELEASE > BUILD RELATIONSHIPS SOCIAL MEDIA 62 — © Rob Stearn, 2016

Slide 63

Slide 63 text

RELEASE > BUILD RELATIONSHIPS JOIN THE COMMUNITY ▸ Go to meetups ▸ Publish ▸ Stuff! 63 — © Rob Stearn, 2016

Slide 64

Slide 64 text

Platforms 64 — © Rob Stearn, 2016

Slide 65

Slide 65 text

MARKETSHARE 65 — © Rob Stearn, 2016

Slide 66

Slide 66 text

REVENUE 66 — © Rob Stearn, 2016

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

CHOOSING 68 — © Rob Stearn, 2016

Slide 69

Slide 69 text

Example: GUMTREE 69 — © Rob Stearn, 2016

Slide 70

Slide 70 text

RELEASE ▸ Cultivate relationships ▸ Publicise the process and the result ▸ Create anticipation and desire ▸ Assess your revenue model 70 — © Rob Stearn, 2016

Slide 71

Slide 71 text

▶︎ MEASURE IT. 71 — © Rob Stearn, 2016

Slide 72

Slide 72 text

MEASURE > 'TEMPERATURE' ▸ Twitter/Facebook/Other statistics ▸ Site visits ▸ Communication from users 72 — © Rob Stearn, 2016

Slide 73

Slide 73 text

APP REVIEWS != SUPPORT REQUESTS 73 — © Rob Stearn, 2016

Slide 74

Slide 74 text

THE RETURN OF ANALYTICS 74 — © Rob Stearn, 2016

Slide 75

Slide 75 text

MEASURE > THE RETURN OF ANALYTICS CRASH REPORTING 75 — © Rob Stearn, 2016

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

MEASURE > THE RETURN OF ANALYTICS ETHICS 77 — © Rob Stearn, 2016

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

DID YOU KNOW? THE T&CS FOR GOOGLE ANALYTICS REQUIRE YOU TO PROVIDE A WAY FOR USERS TO OPT OUT? 79 — © Rob Stearn, 2016

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

NO 81 — © Rob Stearn, 2016

Slide 82

Slide 82 text

▶︎ REPEAT. 82 — © Rob Stearn, 2016

Slide 83

Slide 83 text

SUMMARY ▸ Design ▸ Build ▸ Test ▸ Market ▸ Measure ▸ Repeat 83 — © Rob Stearn, 2016

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

THANK YOU to GENERAL ASSEMBLY & GOOGLE CAMPUS 86 — © Rob Stearn, 2016

Slide 87

Slide 87 text

Rob Stearn WWW.COCOADELICA.CO.UK UNWRAPPED.NOTONTHEHIGHSTREET.COM SLIDES BUILT IN @DECKSETAPP 87 — © Rob Stearn, 2016