Giving technology to the world.Advoca4ng, Showcasing and ExplainingChris4an Heilmann, Yahoo internal talk, Sunnyvale, California, 04/02/2010
Disclaimer:I will in this presenta4on complain about some examples that are live on web sites. I do this cause I have a chance to change them and to encourage us to do beKer.I do realise that it is easy to judge decisions with the benefit out hindsight ‐ but this is not an excuse to repeat mistakes of the past.Complacency is the enemy of innova4on and communica4on.
Wri4ng great technology is a thing good developers do.
Explaining the technology to others, making it understandable and maintainable is a totally different thing.
There are a few things that make a developer a bad advocate of technology.
1. We know the subject maKer. 2.We are not known for our pa4ence. 3.We have to go through a lot of pain and see this as a useful learning experience for everybody. 4.This is all so obvious! Good code explains itself!
On the other hand, sales and marke4ng people are bad tech advocates.
1.The brand and our product comes first. 2.There is a good and posi4ve story in everything. 3.It is about the fun, connec4ng with other people and doing like cool tech stuff ‐ and like, other stuff. 4. There is no compe44on!
Good tech advocacy is a mashup.
To succeed in giving tech to the world you have to change your approach.Here’s a problem Use this! and this is a It rocks! solu4on.
The main thing to answer to any end user and developer out there is: What is in it for me?
Developers are busy people and don’t have 4me to read long documents.
Detailed documenta4on is needed, but is only used when things already went wrong.
In order to get people to care and get them to play with what you offer, you need a simple way in.
Some examples.
hKp://keywordfinder.org/
hKp://icant.co.uk/geomaker/index.php
hKp://isithackday.com/hacks/placemaker/tweet‐loca4ons.php
hKp://icant.co.uk/goohoobi/index.php?research
hKp://developer.yahoo.com/yui/grids/builder/
hKp://developer.yahoo.com/yui/grids/builder/
hKp://developer.yahoo.com/yui/ar4cles/hos4ng/#configure
YQL hKp://developer.yahoo.com/yql/console/
Bring the data out into the open ‐ as soon as possible.
Keep the eye on the end result and explain the way to get there.
This expects me to download the SDK, get an authen4ca4on code , authen4cate and then I get some data.
The data, however doesn’t need any authen4ca4on.select * from flickr.photos.search where text="panda" limit 3select * from rss where url=”hKp://rss.news.yahoo.com/rss/topstories” and 4tle like "%China%"
This is a common error ‐packing too much informa4on into an example.
Using YQL is easy! (PHP)
Using YQL is easy! (JavaScript)
Explain the way to the data , don’t try to get it all done in one step.
An4cipate stumbling blocks, and write the story to the full results. •Here’s how to get public data.•Here’s how to get private data.•Here’s how to use the returned informa4on.
hKp://maps.google.com/maps/api/sta4cmap?sensor=false&size=300x300&maptype=roadmap&markers=color:blue|label:I|37.4225,‐122.14246&key={MAPKEY}
Know your environment.
Know your environment. •Write defensive code •Check online status •List dependencies very early •Provide a build and test script• Provide a demo key
Make it easy to use your code. •Provide a live demo / show screencast •Provide a full download (GitHub) •Offer hos4ng if needed •Document full download and link back to live example.
Write excellent copy and paste code. • Link all resources •Provide the full script upfront •Validate and secure your code •Use best prac4ces
Bonus tricks: •Show how your code plays well with others (successful products) •Give examples how using your product made others successful •Advocate maintainable and reusable code with your examples.
Sample code should be the cleanest and best code you ever write in your career.
Anything you do in sample code will be used and imitated.
If you do a good job, you can help teach great developers of tomorrow.
If you do a bad job, you cause truisms, bad coding prac4ces and fail at advoca4ng yourself and your company as thought leaders.
The main trick to great documenta4on and examples is collabora4on.
Work with someone to ask you the right ques4ons and challenge you to create a rock‐solid demo.
Chris4an Heilmann hKp://wait‐4ll‐i.com Thanks! hKp://developer‐evangelism.com hKp://twiKer.com/codepo8
This slideshow was converted by Easy Slideshare.
The original slides can be found on Slideshare.
Slide content copyright by cheilmann