being cleverly lazy

68
How being lazy makes you a be2er developer. Christian Heilmann – Web 2.0 Expo, Prague – October 2009 cleverly

Post on 12-Sep-2014

7.887 views

Category:

Technology


1 download

DESCRIPTION

My presentation at the Web Expo in Prague, Czech Republic about making our lives easier as developers by using libraries and building reusable components.

TRANSCRIPT

Page 1: Being Cleverly Lazy

How being lazy makes you a be2er developer.

Christian Heilmann – Web 2.0 Expo, Prague – October 2009

cleverly

Page 2: Being Cleverly Lazy

I am a developer evangelist.

Page 4: Being Cleverly Lazy

<dfn>cleverly lazy</dfn>

Lazy:“I don’t want to do that.”

Cleverly lazy:“I don't want to do that ever   again so I do it right this Eme.”

Page 5: Being Cleverly Lazy

Lazily build products:

Do the job, but are impossible to maintain.

Page 6: Being Cleverly Lazy

Cleverly lazily build products:

Do the job, are easy to understand, extend and are built on a solid base.

Page 7: Being Cleverly Lazy

Our job: evolving the web

Page 8: Being Cleverly Lazy

To do this, we need to be free to do new things.

Page 9: Being Cleverly Lazy

Problem is that as developers, we stand on our own way.

Page 10: Being Cleverly Lazy

The biggest developer trap.

h"p://www.flickr.com/photos/snappa2006/3194326965/

Page 11: Being Cleverly Lazy

Complex

Simple

Feedback

Features

The feature loop

Page 12: Being Cleverly Lazy

We don't develop the web ‐ we fill it up with soluEons to the same problem all of which are half done.

Page 13: Being Cleverly Lazy

This is my soluEon, and it is be2er than anybody elses, because...

Page 14: Being Cleverly Lazy

Short a2enEon span.

Page 15: Being Cleverly Lazy

Code wrecks are a security issue!

h"p://www.flickr.com/photos/paleontour/2489523776/

Page 16: Being Cleverly Lazy

Browsers suck!

Page 17: Being Cleverly Lazy

Things you need to know as a web developer:★ The technologies involved★ How browsers deal with these technologies and how 

they fail to support them★ Security concerns and a2ack vectors★ Usability and accessibility of the product★ InternaEonalisaEon of our products ★ Performance concerns★ MulEple plaXorm support ★ Flexibility of the interface 

Page 19: Being Cleverly Lazy

A solid foundaEon.

h"p://www.flickr.com/photos/mangpages/2111892822/

Page 20: Being Cleverly Lazy

Building with components.

http://www.flickr.com/photos/seven13avenue/2080281038/

Page 21: Being Cleverly Lazy

A good debugging environment.

h"p://www.flickr.com/photos/anijdam/3587129389/

Page 22: Being Cleverly Lazy

Planning for extension.

h"p://www.flickr.com/photos/anniemole/103641208/

Page 23: Being Cleverly Lazy

Write documentaEon.

h"p://www.flickr.com/photos/tnarik/366393127/

Page 26: Being Cleverly Lazy

http://ui.jquery.com/

http://ui.jquery.com

Page 27: Being Cleverly Lazy
Page 29: Being Cleverly Lazy

DocumentaEon.

Page 32: Being Cleverly Lazy
Page 33: Being Cleverly Lazy
Page 36: Being Cleverly Lazy

Using the web.

CMS

Page 37: Being Cleverly Lazy
Page 38: Being Cleverly Lazy

Using APIs.

Page 39: Being Cleverly Lazy

The Yahoo Query Language, or short YQL is a unified interface language to the web.

h2p://developer.yahoo.com/yql/

Page 40: Being Cleverly Lazy

select {what} from {source} where {conditions} | {filters}

Page 42: Being Cleverly Lazy

For example:

select * from geo.places where text='london,uk'

Page 43: Being Cleverly Lazy
Page 44: Being Cleverly Lazy
Page 45: Being Cleverly Lazy

Get only the where on earth ID

select woeid from geo.places where text='london,uk'

Page 46: Being Cleverly Lazy

Then mix:

select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4

Page 47: Being Cleverly Lazy

Then mix:

select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4

Page 48: Being Cleverly Lazy

And get all the info...

select * from flickr.photos.info where photo_id in (select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4)

Page 49: Being Cleverly Lazy
Page 50: Being Cleverly Lazy
Page 51: Being Cleverly Lazy
Page 52: Being Cleverly Lazy
Page 53: Being Cleverly Lazy

http://isithackday.com/hacks/cantine/index.php?loc=covent+garden

Display the results in a few lines...

http://isithackday.com/hacks/ajaxexperience/flickrgeophotos.html

Page 54: Being Cleverly Lazy

http://isithackday.com/hacks/cantine/index.php?loc=covent+garden

h2p://isithackday.com/hacks/canEne/

Or use already exisEng widgets

Page 56: Being Cleverly Lazy
Page 57: Being Cleverly Lazy
Page 58: Being Cleverly Lazy
Page 59: Being Cleverly Lazy
Page 60: Being Cleverly Lazy
Page 61: Being Cleverly Lazy

Learn YQL by doing

http://developer.yahoo.com/yql/console/

Page 62: Being Cleverly Lazy

Any data will do...

select * from

atomcsvfeedhtmljsonmicroformatsrssxml

Page 63: Being Cleverly Lazy

Any data will do...

http://www.dcs.gla.ac.uk/~joy/fun/jokes/TV.html

Page 65: Being Cleverly Lazy
Page 67: Being Cleverly Lazy
Page 68: Being Cleverly Lazy

Christian Heilmann

http://wait-till-i.com

http://developer-evangelism.com

http://twitter.com/codepo8

Thanks!

h2p://www.flickr.com/photos/mringlein/3463288828/