Giving Technology To The World

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




Jump directly to slide:

    Easy Slideshare by Christian Heilmann, licensed with BSD License.