SlideShare a Scribd company logo
1 of 104
Download to read offline
Things to use, find
and share.




      Christian Heilmann | http://icant.co.uk | http://wait-till-i.com
                Yahoo7 Open Session, Sydney, Australia April 2009
Hi there, I am Chris.
I am right now on a pretty
mental schedule giving talks
down south.
Last week I flew from home
(London, UK) to Hong Kong,
Taipei, drove to Hsinchu, back
to Taipei, onwards to Sydney
via Hong Kong, then to
Melbourne and now back to
Sydney.
All with the mission to share
good info to make web
development easier.
Doing that and not sleeping
much does things to you.
You see hidden messages.
...and you misinterpret others.
I live in London, England
Spring                    Summer




The snow flake that spells the end of public transport


                               *




   Autumn                          Winter
Originally I am German
FIRST!
Humour.
I   building great interfaces to
     access and find data.
And I love making them work
for everybody.
The problem is that for years
it was quite a job to make this
is a reality.
Nowadays we are very lucky
as developers.
It is increasingly easy to
develop great products.
The trick is to build them with
parts that are proven to work.
And these parts are readily
available for us.
Over the last years a
revolution happened.
Companies and individuals
started realizing the power of
giving things out to the
public.
By allowing people to use
your products and keep an
open ear you have a great
opportunity to improve them.
And this is exactly what we
do at the Yahoo Developer
Network.
Basically almost everything
you see in use on Yahoo’s
sites is available to you to
build your solutions on.
This starts with the thing
great products are built on:
user research.
http://developer.yahoo.com/ypatterns
The pattern library contains
information on how users
told us they reach their goals
on our sites the easiest.
The information is licensed
creative commons, which
means you can use and alter
it.
If you want to plan your
interfaces based on these
results, you even get them as
stencils.
http://developer.yahoo.com/ypatterns/wireframes/
Once you planned your
product, the next problem is
ensuring it works.
For this, we need to somehow
make sense of the crazy
world of user agents
(browsers, really).
Trying to build web products
that look and work the same
for every browser out there is
not possible...
...unless you limit yourself to
a terrible user experience.
As we didn’t want this, we
came up with a methodology
to define “support”.
http://developer.yahoo.com/yui/articles/gbs/
Once this was done, we had a
chance to fix problems and
build a solid base to work on.
http://developer.yahoo.com/yui/
The Yahoo User Interface
Library starts with making
the creation of predictable
designs easy.
CSS
CSS reset gets rid of browser
differences.
CSS fonts allow you to create
predictable and scalable
typography across browsers.
And CSS grids allow you to
create multi-column layouts.
Even for *very* lazy developers:




http://developer.yahoo.com/yui/grids/builder/
Once the CSS was less
confusing, we tackled
JavaScript and browser
confusions.
And with this arsenal we built
reusable widgets to mix and
match.
http://ui.jquery.com/




http://ui.jquery.com
All of the widgets can be
extended and styled the way
you want them to.
http://developer.yahoo.com/yui/articles/skinning/
You can extend the widgets
by listening for events that
happen to them.
http://developer.yahoo.com/yui/examples/autocomplete/
                  ac_basic_xhr_log.html
They are built with ideas I
very much subscribe to, like
progressive enhancement.
Without JavaScript                       With JavaScript




http://developer.yahoo.com/yui/examples/autocomplete/ac_basic_array_clean.html
Without JavaScript




With JavaScript



  http://developer.yahoo.com/yui/examples/datatable/dt_enhanced.html
We provide the bricks,
you build the product.




          http://www.flickr.com/photos/seven13avenue/2080281038/
All of this is open source, fully
documented and you can
either host it yourself or get it
from a high speed distributed
network (even Google’s).
Another thing to consider is
how your products perform.
Fast and smooth products
make users happy.
http://developer.yahoo.com/performance/
You can test your products
easily with YSlow.




            http://developer.yahoo.com/yslow/
This solves most of our issues
these days.
And allows you to quickly
create products that work.
This solves most of our issues
these days.



   http://tweeteffect.com/
How about reaching out and
finding data in other
resources?
http://developer.yahoo.com/search/boss/
Using Yahoo BOSS you can
build own search engines
based on Yahoo’s search
index.
Results include news, images
or web results.
Including keywords,
microformats, RDF, social
bookmarking data, incoming
links...
Thus you can create niche
search products.
Thus you can create niche
search products.



 http://keywordfinder.org/
Thus you can create niche
search products.



 http://icant.co.uk/sandbox/unsafe.html
What if you want to reach
even further?
I personally have this crazy
idea of the web.
Users see the web as an
interface.
Developers have x-ray vision
and see code
I see something different.
*




Sweet data to pick and mix.
                   http://www.flickr.com/photos/25802865@N08/3195857208/
We’ve provided a way to
access this data for quite a
while now.
http://pipes.yahoo.com
However, this was all visual.
How about doing this on a
language basis?
Say you want to get photos of
Sydney that you are allowed
to show in your own products.
You need to define Sydney,
Australia without a doubt.

    select woeid from
     geo.places where
     text='sydney,au'
Then find photos that were
taken there.

select id from flickr.photos.search
 where woe_id in (select woeid from
 geo.places where text='sydney,au')
Check that they have the
right license.

select id from flickr.photos.search
 where woe_id in (select woeid from
 geo.places where text='sydney,au')
            and license=4
And get all the information
 about them.
   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='sydney,au') and license=4)
http://developer.yahoo.com/yql
     http://developer.yahoo.com/yql/console/?q=select%20*%20from
%20flickr.photos.info%20where%20photo_id%20in%20(select%20id%20from
  %20flickr.photos.search%20where%20woe_id%20in%20(select%20woeid
%20from%20geo.places%20where%20text%3D%27sydney%2Cau%27)%20and
                            %20license%3D4)
YQL gets the data, caches it
and gives you information
about the retrieval time.
The results are available in
XML or JSON and can be
filtered down to the bare
necessities.
Using this you can get all the
data you spread on the web...
...and collate it in a single
interface.
You can also use YQL to help
people like me to get and use
data provided by you using
this interface.
The trick is to tell us with a
schema where your data is.
And then use the schema in a
query inside YQL as an “open
table”
use 'http://eatyourgreens.org.uk/yql/nmm-
search.xml' as nmm;
select * from nmm where category = 'art'
and searchterm = 'quot;tower bridgequot;'
A lot of companies already
start doing that.
http://github.com/spullara/yql-tables/tree/master
So, go and grab and use and
give back and we’ll all make
the web the best it can be.
THANKS!
Christian Heilmann
http://icant.co.uk
http://wait-till-i.com
                          Text
http://scriptingenabled.org
http://twitter.com/codepo8

More Related Content

What's hot

The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
Wesley Lindamood
 

What's hot (7)

Web2.0: from "I know nothing" to "I know something" in 2 hours (what?!?)
Web2.0: from "I know nothing" to "I know something" in 2 hours (what?!?)Web2.0: from "I know nothing" to "I know something" in 2 hours (what?!?)
Web2.0: from "I know nothing" to "I know something" in 2 hours (what?!?)
 
HAX - Chaotic Good
HAX - Chaotic GoodHAX - Chaotic Good
HAX - Chaotic Good
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
HTML 5: The Future of the Web
HTML 5: The Future of the WebHTML 5: The Future of the Web
HTML 5: The Future of the Web
 
Practically Web 2.0
Practically Web 2.0Practically Web 2.0
Practically Web 2.0
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
 
[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design
 

Viewers also liked (9)

Guessing game wild animals.pps
Guessing game wild animals.ppsGuessing game wild animals.pps
Guessing game wild animals.pps
 
Powerpoint 32 animal uses
Powerpoint 32 animal usesPowerpoint 32 animal uses
Powerpoint 32 animal uses
 
Describing objects in English
Describing objects in EnglishDescribing objects in English
Describing objects in English
 
Describing objects
Describing objectsDescribing objects
Describing objects
 
My blog power point describing animals
My blog power point describing animalsMy blog power point describing animals
My blog power point describing animals
 
Describing objects
Describing objectsDescribing objects
Describing objects
 
Animal guessing
Animal guessingAnimal guessing
Animal guessing
 
DESCRIBING OBJECTS
DESCRIBING OBJECTSDESCRIBING OBJECTS
DESCRIBING OBJECTS
 
Power Point Animals
Power Point AnimalsPower Point Animals
Power Point Animals
 

Similar to Things to use, find and share

Fuel for a great web experience.
Fuel for a great web experience.Fuel for a great web experience.
Fuel for a great web experience.
elliando dias
 
Georgia Tech hacking Accessibility
Georgia Tech hacking AccessibilityGeorgia Tech hacking Accessibility
Georgia Tech hacking Accessibility
Christian Heilmann
 

Similar to Things to use, find and share (20)

Fuel for a great web experience.
Fuel for a great web experience.Fuel for a great web experience.
Fuel for a great web experience.
 
Fuel for a great web experience
Fuel for a great web experienceFuel for a great web experience
Fuel for a great web experience
 
OSDC - Open and Accessible
OSDC - Open and AccessibleOSDC - Open and Accessible
OSDC - Open and Accessible
 
Working In The Now - Paris Web
Working In The Now - Paris WebWorking In The Now - Paris Web
Working In The Now - Paris Web
 
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008
 
Technical Introduction to YDN
Technical Introduction to YDNTechnical Introduction to YDN
Technical Introduction to YDN
 
Georgia Tech Hack Day
Georgia Tech Hack DayGeorgia Tech Hack Day
Georgia Tech Hack Day
 
Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with libraries
 
Hacking For Innovation
Hacking For InnovationHacking For Innovation
Hacking For Innovation
 
Open Hack London - Introduction to YQL
Open Hack London - Introduction to YQLOpen Hack London - Introduction to YQL
Open Hack London - Introduction to YQL
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
Yahoo For You - Services and Libraries
Yahoo For You - Services and LibrariesYahoo For You - Services and Libraries
Yahoo For You - Services and Libraries
 
Purple Hack Fodder - my presentation at mashed08
Purple Hack Fodder - my presentation at mashed08Purple Hack Fodder - my presentation at mashed08
Purple Hack Fodder - my presentation at mashed08
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
Georgia Tech hacking Accessibility
Georgia Tech hacking AccessibilityGeorgia Tech hacking Accessibility
Georgia Tech hacking Accessibility
 
Topsy Turvy Design
Topsy Turvy DesignTopsy Turvy Design
Topsy Turvy Design
 
Introduction to YUI
Introduction to YUIIntroduction to YUI
Introduction to YUI
 
RWD - Bootstrap
RWD - BootstrapRWD - Bootstrap
RWD - Bootstrap
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the Wild
 

More from Christian Heilmann

The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 

More from Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 

Things to use, find and share