├── theme └── big.css └── User_APIs.md /theme/big.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #001F3F; 3 | color: #ddd; 4 | font-family: sans-serif; 5 | font-weight: 700; 6 | line-height: 1.2; 7 | } 8 | 9 | .reveal .slides > section { 10 | text-align: left; 11 | } 12 | 13 | .reveal .slides > section h1 { 14 | font-size: 80pt; 15 | margin-bottom: 0.5em; 16 | } 17 | 18 | .reveal .slides > section h2 { 19 | font-size: 60pt; 20 | margin-bottom: 0.5em; 21 | } 22 | 23 | .reveal .slides > section p, .reveal .slides > section li { 24 | font-size: 36pt; 25 | margin: 0.5em 0; 26 | } 27 | 28 | .reveal .slides > section em { 29 | font-style: italic; 30 | } 31 | -------------------------------------------------------------------------------- /User_APIs.md: -------------------------------------------------------------------------------- 1 | # User Driven APIs 2 | 3 | Brenton Cleeland / brntn.me 4 | 5 | --- 6 | 7 | ## Web APIs 8 | 9 | (REST, GraphQL, RPC, whatever...) 10 | 11 | --- 12 | 13 | ## Command Line Interfaces 14 | 15 | --- 16 | 17 | ## Utilities & library code 18 | 19 | --- 20 | ## API Driven Startups 21 | 22 | Twilio, Stripe, Sendgrid 23 | 24 | --- 25 | 26 | They make developer lives easier 27 | 28 | --- 29 | 30 | They care about ease of integration 31 | 32 | --- 33 | 34 | ## Great APIs Drive Growth 35 | 36 | Twitter, Google, Slack 37 | 38 | --- 39 | 40 | Create growth with third party integrations 41 | 42 | --- 43 | 44 | Developers == evangelists 45 | 46 | --- 47 | 48 | ## Command Line Focussed Products 49 | 50 | Docker, Ansible, now.sh 51 | 52 | --- 53 | 54 | Developer experience driven by command line UX 55 | 56 | --- 57 | 58 | Confusing interfaces make adoption hard 59 | 60 | --- 61 | 62 | # 5 simple tips to get you going 63 | 64 | --- 65 | 66 | ## #1: Understand your consumers 67 | 68 | --- 69 | 70 | - Find ways to talk to your users 71 | - Write user-focussed stories 72 | - Think about the tasks they are doing 73 | 74 | --- 75 | 76 | ## #2: Build what they want 77 | 78 | --- 79 | 80 | - Give them the data they need as quickly as possible 81 | - Consistency is key 82 | - Discoverability of new features is important 83 | 84 | --- 85 | 86 | ## #3: Document and test it 87 | 88 | --- 89 | 90 | - An API is nothing without documentation 91 | - Unit tests, integration tests & smoke tests, are great but think about _user testing_ too! 92 | 93 | --- 94 | 95 | ## #4: Follow standards 96 | 97 | --- 98 | 99 | - Use status codes and headers 100 | - Tell the user what they did wrong 101 | - Standard authenication methods 102 | - Return valid responses 103 | - Choose a style guide 104 | 105 | --- 106 | 107 | ## #5: Release, iterate and release 108 | 109 | --- 110 | 111 | - Your users will change, so should your API 112 | - Communicate features and ask for feedback 113 | - Don't be afraid to release new versions 114 | 115 | --- 116 | 117 | - Understand your consumers 118 | - Build what they want 119 | - Document and test it 120 | - Follow standards 121 | - Release, iterate and release 122 | 123 | --- 124 | 125 | # Thanks! 126 | 127 | Brenton Cleeland / brntn.me 128 | --------------------------------------------------------------------------------