Slide 1

Slide 1 text

Tips for Library Development From a startup developer* Lisa wray @lisawrayz Present *In the style of xkcd

Slide 2

Slide 2 text

Actual famous keynote speakers

Slide 3

Slide 3 text

gradle file, day 1 dependencies { implementation appcompat-v7 implementation constraint-layout testImplementation junit androidTestImplementation espresso-core }

Slide 4

Slide 4 text

gradle file, day 7

Slide 5

Slide 5 text

why do this thing, for free, on the internet?!

Slide 6

Slide 6 text

self-interest community
 interest

Slide 7

Slide 7 text

How can a library benefit *me*?

Slide 8

Slide 8 text

How about we take *this* module out? Oh god App jenga Modularity

Slide 9

Slide 9 text

Community help AKA “Other people write your code for free”

Slide 10

Slide 10 text

Apollo GraphQL Ivan (sav007) Mike (FriendlyMike) Brian (BrianPlummer) Shopify AirBNB New York Times ... AND MANY MORE!! FOR ANDROID

Slide 11

Slide 11 text

bare necessity Tee hee!

Slide 12

Slide 12 text

Learn something new KotliN This is so much fun!! Ew.

Slide 13

Slide 13 text

so, you want to make a library

Slide 14

Slide 14 text

Google Facebook JetBrains Square You (62,000) (17,000) (700) (600) Android React Native, LITHO Kotlin Retrofit, OKHttp ? Size Complexity *Not to scale

Slide 15

Slide 15 text

You ?

Slide 16

Slide 16 text

Cyril Northcote Parkinson, 1955 “work expands so as to fill all available time.”

Slide 17

Slide 17 text

Parkinson, Cyril Northcote (19 November 1955). "Parkinson's Law". The Economist. London.
 http://www.economist.com/node/14116121 100(2km + p) yn Parkinson’s law: % bureaucrat increase over time K = staff seeking promotion P = career length M = (man) hours worked N = number of units Y = original Staff %

Slide 18

Slide 18 text

README.md Coffeemaker Compile ‘com.xwray:coffeemaker:1.5.2 How to use it: New Coffeemaker().brew(Coffee) Watch 50 Star 1,076 FORK 94 lisawray/Coffeemaker <> Code Issues 21 Pull requests 3 Some other tabs I THINK brews a hot, caffeinated beverage from coffee beans.

Slide 19

Slide 19 text

README.md Coffeemaker Compile ‘com.xwray:coffeemaker:1.5.2 How to use it: New Coffeemaker() .setFilter(Filter.standard) .setGrindtype(Grindtype.NORMAL) .setWaterTemperature(195) .setDripspeed(Dripspeed.NORMAL) .brew(Coffee)

Slide 20

Slide 20 text

README.md Coffeemaker Compile ‘com.xwray:coffeemaker:1.5.2 How to use it: New CoarseGrindCoffeemaker() .brew(Coffee) New SlowDripCoffeemaker() .brew(Coffee)

Slide 21

Slide 21 text

README.md Coffeemaker Compile ‘com.xwray:coffeemaker:1.5.2 How to use it: New Coffeemaker() .setFilter(new Filter()) .setGrindER(New Grinder()) .setWaterHEATER(new heater()) .setpump(new pump()) .brew(Coffee)

Slide 22

Slide 22 text

Feature requests

Slide 23

Slide 23 text

Watch 50 Star 1,076 FORK 94 lisawray/Coffeemaker <> Code Issues 21 Pull requests 3 Some other tabs I THINK Add pasta cooking capability #23 ! Open Julie commented on Oct 2 I’m using this library to make spaghetti and it’s not working well.

Slide 24

Slide 24 text

Be your own user technically, It’s *His* dogfood

Slide 25

Slide 25 text

Honesty

Slide 26

Slide 26 text

Blazing fast! Insanely performant! README.md

Slide 27

Slide 27 text

Better than those other stupid libraries! README.md

Slide 28

Slide 28 text

SMALL, EASY LIBRARY TO MAKE COFFEE. DOESN’T AIM TO MAKE ALL TYPES OF BEVERAGES. README.md

Slide 29

Slide 29 text

2 . 5 . 1 Breaking Changes Bug fix New features

Slide 30

Slide 30 text

2 . 5 . 0 - alpha 1

Slide 31

Slide 31 text

Questions Some other stuff How to make coffee on android? I’ve tried to make coffee on android, but I can only Seem to make toast. Can someone help me? I made a library that does this for you!! Check out coffeemaker!

Slide 32

Slide 32 text

Google search I’m feeling lucky Google Android library make coffee

Slide 33

Slide 33 text

Testing

Slide 34

Slide 34 text

Watch 50 Star 1,076 FORK 94 lisawray/Coffeemaker <> Code Issues 21 Pull requests 3 Some other tabs I THINK CONVERSATION 5 Commits 1 Files Changed 2 Julie commented on Oct 19 Fix filter leak #57 Fixes problem where coffee can contain bits of grounds Fix coffee filter leak 2d686e0 Open

Slide 35

Slide 35 text

CONVERSATION 5 Commits 1 Files Changed 2 Julie commented on Oct 19 Fix filter leak #57 Fixes problem where coffee can contain bits of grounds Fix coffee filter leak 2d686e0 Open All checks have passed

Slide 36

Slide 36 text

ownership

Slide 37

Slide 37 text

We own everything You make! Big company Also you get tons Of money, Three free meals A day, massages, laundry, a gym on Campus And a new puppy

Slide 38

Slide 38 text

We own everything You make! Medium company Probably. We’ll Change it. Please Don’t Leave us Did your lawyers Leave that in Accidentally?

Slide 39

Slide 39 text

Small company You can wear Batman pajamas To work

Slide 40

Slide 40 text

Competition

Slide 41

Slide 41 text

Type-safe beverage maker for android by hexagon, inc Watch 110 Star 6,032 FORK 479 Hexagon/Coffee <> Code Issues 4 Pull requests 8 README.md Coffee Compile ‘com.hexagon:coffee:1.1.0

Slide 42

Slide 42 text

Deprecation

Slide 43

Slide 43 text

No library is too small

Slide 44

Slide 44 text

Thank you! Lisa wray @lisawrayz Present