Upload
christian-heilmann
View
3.944
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Presentation at leancamp about re-using Yahoo's free systems like YQL, YUI and Design patterns to build fast, scaling prototypes.
Citation preview
Are you readytorock?
Chris&an HeilmannLeancamp, London, England, May 2010
Some people call me a “Rockstar developer”...
The reason is that I can churn out demos and products really fast.
http://keywordfinder.org/
http://isithackday.com/hacks/guardian/
http://isithackday.com/geoplanet-explorer/geodrilldown.php
http://icant.co.uk/geomaker/index.php
http://github.com/codepo8/QuickTrans
http://icant.co.uk/goohoobi/index.php?research
h;p://uk‐house‐prices.com/
... and I weep for those who take this “Rockstar” hoo-hah serious.
DO WE NEED ROCKSTARS?
No, we need pragmatic thinking.
So you want to release some cool products to the world...
Let me introduce you to some of the technical things you need to face...
Data
Interface
Environment
How do we normally start a new product?
Summoning the inner demon!
And we try to tackle all of it ourselves.
And we fail...
Our users walk out on us...
And we wonder what went wrong.
You were just not lazy enough!
You don’t need to build the perfect product.
You need to build something that people want to use.
Data
Interface
Environment
Data is the most important part of your product.
You either need unique and interesting data...
Or you need to make it dead easy for people to enter theirs.
And you need to have means of allowing people to enhance their data.
You should also think very much about building your product on top of a data API.
The reasons are obvious:
You can change the backend or the frontend when you need to.You build them in parallel.You can have various different interfaces to the same content (mobile, web, iPad...)You give third parties access to your data and not to your system.You crowdsource innovation.
Success stories?
Using other people’s APIs also allows you to enrich your data.
This wasn’t easy and took a while to get into in the past.
Which annoyed us, which is why we created a simple way.
YQL h;p://developer.yahoo.com/yql/console/
YQL h;p://developer.yahoo.com/yql/console/
select {what} from {where} where {condi&ons}
http://winterolympicsmedals.com
http://www.guardian.co.uk/news/datablog/2010/feb/11/winter-olympics-medals-by-country
select * from csv where url="http://spreadsheets.google.com/pub?key=tpWDkIZMZleQaREf493v1Jw&output=csv" and columns="Year,City,Sport,Discipline,Country,Event, Gender,Type" and Year="1924"
http://isithackday.com/csv-to-webservice/
http://github.com/yql/yql-tables
Using YQL has a lot of benefits:
No time wasted reading API docsUsing the console makes creating complex queries dead easy.Data filtering down to the least amount necessary.Fast pipes.Caching + converting Server-side JavaScript
Data
Interface
Environment
Users are strange creatures.
You are not your users.
You are far too close to the subject matter.
Only real user testing will tell you what works with users.
Instructions will be misread.
Only real user testing will tell you what works with users.
You can do cheap and fast user testing.
Or you can build on things that were already tested for you.
http://developer.yahoo.com/ypatterns
http://developer.yahoo.com/ypatterns/wireframes/
Data
Interface
Environment
All browsers secretly hate you.
http://developer.yahoo.com/yui/articles/gbs/
Build a CSS layout that works
http://developer.yahoo.com/yui/grids/builder/
http://isithackday.com/hacks/cantine/index.php?loc=covent+garden
http://isithackday.com/hacks/cantine/
Use already existing widgets
http://isithackday.com/hacks/delhi/
http://developer.yahoo.com/yui/
http://developer.yahoo.com/yui/docs/
http://developer.yahoo.com/yui/examples/
The elevator lift pitchYUI is the system that Yahoo uses to build its web sites. It is constantly tested to work for the largest amount of users, free, open source and covers everything from design patterns to out-of-the-box widgets. It is modular and you can use only what you need. You can either host it yourself or get it from a network of distributed servers.
Are you ready to rock?
Chris&an Heilmann h;p://wait‐&ll‐i.com h;p://developer‐evangelism.com h;p://twi;er.com/codepo8
Cheers