Slide 1

Slide 1 text

WRITE A LIB TODAY! PACO ESTEVEZ

Slide 2

Slide 2 text

WHY SHOULD I WRITE A LIBRARY?

Slide 3

Slide 3 text

LEARN CONCEPTS

Slide 4

Slide 4 text

EXPLORE FRAMEWORKS

Slide 5

Slide 5 text

ANTICIPATE YOUR OWN NEEDS

Slide 6

Slide 6 text

IMPROVE YOUR DOCUMENTATION SKILLS

Slide 7

Slide 7 text

EXPRESS IDEAS

Slide 8

Slide 8 text

GET CHALLENGED

Slide 9

Slide 9 text

TEST YOUR ORGANISATIONAL SKILLS

Slide 10

Slide 10 text

SOMETHING TO TALK WITH OTHER DEVELOPERS

Slide 11

Slide 11 text

HELP YOU FIND A NEW JOB

Slide 12

Slide 12 text

PRESENT AT EVENTS!

Slide 13

Slide 13 text

IT’S JUST FUN

Slide 14

Slide 14 text

WHY SHOULD MY COMPANY WRITE A LIB?

Slide 15

Slide 15 text

“IT DOESN’T GIVE US ANY COMPETITIVE ADVANTAGE”

Slide 16

Slide 16 text

“IT WILL HELP US ATTRACT TALENT”

Slide 17

Slide 17 text

“ENGINEERS FROM OTHER COMPANIES WILL HELP US”

Slide 18

Slide 18 text

“EVEN DISNEY HAS AN OPEN-SOURCE STRATEGY”

Slide 19

Slide 19 text

CHOOSE THE CORRECT LICENSE TO AVOID LIABILITY

Slide 20

Slide 20 text

MAKE THE LIBRARY A DERIVATIVE FROM THE INTERNAL CODE

Slide 21

Slide 21 text

RELEASE UNDER A SEPARATE ORGANISATION

Slide 22

Slide 22 text

PROVISION FOR MAINTENANCE

Slide 23

Slide 23 text

IT’S NOT LEGAL DEPT’S JOB SO MAKE IT WORTH THEIR WHILE

Slide 24

Slide 24 text

WHERE DO I PUBLISH IT?

Slide 25

Slide 25 text

GITHUB

Slide 26

Slide 26 text

HOW DO I SPREAD IT?

Slide 27

Slide 27 text

PUBLISHING A LIBRARY ▸ Is it going to last for the ages, have a community, and be referenced by other libraries? Maven Central or JCenter ▸ Is it a small helper, prototype, or proof of concept? Are you the only contributor? Does it have low maintenance? jitpack.io

Slide 28

Slide 28 text

WHERE DO I PROMOTE IT?

Slide 29

Slide 29 text

PROMOTING YOUR LIBRARY ▸ Android Arsenal ▸ Android Weekly ▸ /r/androiddev ▸ Slack groups ▸ Local android community ▸ Twitter

Slide 30

Slide 30 text

THE FEAR FIGHTING YOURSELF

Slide 31

Slide 31 text

YOU CAN RELEASE ANONYMOUSLY

Slide 32

Slide 32 text

HAVING A COMMUNITY IS OPT-IN

Slide 33

Slide 33 text

EVERYONE’S CODE SUCKED AT SOME POINT

Slide 34

Slide 34 text

EVERYTHING IS OLD IS NEW

Slide 35

Slide 35 text

INCOMPLETE LIBRARIES ARE OKAY TOO* *BUT ALWAYS ADD A README

Slide 36

Slide 36 text

LINKS pacoworks.com/ @fe_hudl github.com/pakoito tinyurl.com/LibDroidcon16 This presentation will be soon available on the droidcon London website at the following link: https://uk.droidcon.com/#skillscasts The Impostor Syndrome https://www.youtube.com/watch?v=eqhUHyVpAwE Android maven grade plugin https://github.com/dcendents/android-maven-gradle- plugin Jitpack https://jitpack.io/ Android Arsenal https://android-arsenal.com/ /r/androiddev https://reddit.com/r/androiddev API design http://www.apibook.com/blog/ Bob Ross - copyright © 1985–2016 by Bob Ross Inc Shenzhen IO - copyright © 2016 by Zachtronics