53
Giving technology to the world. Advoca4ng, Showcasing and Explaining Chris4an Heilmann, Yahoo internal talk, Sunnyvale, California, 04/02/2010

Giving Technology To The World

Embed Size (px)

DESCRIPTION

A talk in Yahoo how to write sample code and examples that make people want to use your technology. Audio is available at archive.org: http://www.archive.org/details/GivingTechnologyToTheWorld

Citation preview

Page 1: Giving Technology To The World

Givingtechnologytotheworld.

Advoca4ng,ShowcasingandExplaining

Chris4anHeilmann,Yahoointernaltalk,Sunnyvale,California,04/02/2010

Page 2: Giving Technology To The World

Disclaimer:Iwillinthispresenta4oncomplainaboutsomeexamplesthatareliveonwebsites.IdothiscauseIhaveachancetochangethemandtoencourageustodobeKer.Idorealisethatitiseasytojudgedecisionswiththebenefitouthindsight‐butthisisnotanexcusetorepeatmistakesofthepast.Complacencyistheenemyofinnova4onandcommunica4on.

Page 3: Giving Technology To The World

Wri4nggreattechnologyisathinggooddevelopersdo.

Page 4: Giving Technology To The World

Explainingthetechnologytoothers,makingitunderstandableandmaintainableisatotallydifferentthing.

Page 5: Giving Technology To The World

Thereareafewthingsthatmakeadeveloperabadadvocateoftechnology.

Page 6: Giving Technology To The World

1. WeknowthesubjectmaKer.2. Wearenotknownforour

pa4ence.3. Wehavetogothroughalotof

painandseethisasausefullearningexperienceforeverybody.

4. Thisisallsoobvious!Goodcodeexplainsitself!

Page 7: Giving Technology To The World

Ontheotherhand,salesandmarke4ngpeoplearebadtechadvocates.

Page 8: Giving Technology To The World

1. Thebrandandourproductcomesfirst.

2. Thereisagoodandposi4vestoryineverything.

3. Itisaboutthefun,connec4ngwithotherpeopleanddoinglikecooltechstuff‐andlike,otherstuff.

4. Thereisnocompe44on!

Page 9: Giving Technology To The World

Goodtechadvocacyisamashup.

Page 10: Giving Technology To The World

Tosucceedingivingtechtotheworldyouhavetochangeyourapproach.

Usethis!Itrocks!

Here’saproblemandthisisasolu4on.

Page 11: Giving Technology To The World

Themainthingtoanswertoanyenduseranddeveloperoutthereis:

What is in it for me?

Page 12: Giving Technology To The World

Developersarebusypeopleanddon’thave4metoreadlongdocuments.

Page 13: Giving Technology To The World

Detaileddocumenta4onisneeded,butisonlyusedwhenthingsalreadywentwrong.

Page 14: Giving Technology To The World

Inordertogetpeopletocareandgetthemtoplaywithwhatyouoffer,youneedasimplewayin.

Page 15: Giving Technology To The World

Someexamples.

Page 18: Giving Technology To The World

hKp://isithackday.com/hacks/placemaker/tweet‐loca4ons.php

Page 19: Giving Technology To The World

hKp://icant.co.uk/goohoobi/index.php?research

Page 24: Giving Technology To The World

Bringthedataoutintotheopen‐assoonaspossible.

Page 25: Giving Technology To The World
Page 26: Giving Technology To The World

Keeptheeyeontheendresultandexplainthewaytogetthere.

Page 27: Giving Technology To The World
Page 28: Giving Technology To The World
Page 29: Giving Technology To The World

ThisexpectsmetodownloadtheSDK,getanauthen4ca4oncode,authen4cateandthenIgetsomedata.

Page 30: Giving Technology To The World

select*fromflickr.photos.searchwheretext="panda"limit3select*fromrsswhereurl=”hKp://rss.news.yahoo.com/rss/topstories”and4tlelike"%China%"

Thedata,howeverdoesn’tneedanyauthen4ca4on.

Page 31: Giving Technology To The World

Thisisacommonerror‐packingtoomuchinforma4onintoanexample.

Page 32: Giving Technology To The World

UsingYQLiseasy!(PHP)

Page 33: Giving Technology To The World

UsingYQLiseasy!(JavaScript)

Page 34: Giving Technology To The World

Explainthewaytothedata,don’ttrytogetitalldoneinonestep.

Page 35: Giving Technology To The World

An4cipatestumblingblocks,andwritethestorytothefullresults.

• Here’showtogetpublicdata.• Here’showtogetprivatedata.• Here’showtousethereturnedinforma4on.

Page 36: Giving Technology To The World
Page 37: Giving Technology To The World

hKp://maps.google.com/maps/api/sta4cmap?sensor=false&size=300x300&maptype=roadmap&markers=color:blue|label:I|37.4225,‐122.14246&key={MAPKEY}

Page 38: Giving Technology To The World
Page 39: Giving Technology To The World
Page 40: Giving Technology To The World

Knowyourenvironment.

Page 41: Giving Technology To The World
Page 42: Giving Technology To The World

Knowyourenvironment.

• Writedefensivecode• Checkonlinestatus• Listdependenciesveryearly• Provideabuildandtestscript• Provideademokey

Page 43: Giving Technology To The World

Makeiteasytouseyourcode.• Providealivedemo/showscreencast

• Provideafulldownload(GitHub)• Offerhos4ngifneeded• Documentfulldownloadandlinkbacktoliveexample.

Page 44: Giving Technology To The World

Writeexcellentcopyandpastecode.

• Linkallresources• Providethefullscriptupfront• Validateandsecureyourcode• Usebestprac4ces

Page 45: Giving Technology To The World
Page 46: Giving Technology To The World

Bonustricks:• Showhowyourcodeplayswellwithothers(successfulproducts)

• Giveexampleshowusingyourproductmadeotherssuccessful

• Advocatemaintainableandreusablecodewithyourexamples.

Page 47: Giving Technology To The World

Samplecodeshouldbethecleanestandbestcodeyoueverwriteinyourcareer.

Page 48: Giving Technology To The World

Anythingyoudoinsamplecodewillbeusedandimitated.

Page 49: Giving Technology To The World

Ifyoudoagoodjob,youcanhelpteachgreatdevelopersoftomorrow.

Page 50: Giving Technology To The World

Ifyoudoabadjob,youcausetruisms,badcodingprac4cesandfailatadvoca4ngyourselfandyourcompanyasthoughtleaders.

Page 51: Giving Technology To The World

Themaintricktogreatdocumenta4onandexamplesiscollabora4on.

Page 52: Giving Technology To The World

Workwithsomeonetoaskyoutherightques4onsandchallengeyoutocreatearock‐soliddemo.

Page 53: Giving Technology To The World

Chris4anHeilmannhKp://wait‐4ll‐i.comhKp://developer‐evangelism.comhKp://twiKer.com/codepo8

Thanks!