SlideShare ist ein Scribd-Unternehmen logo
1 von 100
Downloaden Sie, um offline zu lesen
Fuel for a
great web
experience.


   Christian Heilmann | http://wait-till-i.com | http://scriptingenabled.org

                         La Cantine, Paris, April 2009
As web developers our job is
to build interfaces.
Interfaces that allow people
to reach their goals easily.
Today I am here to talk to you
about tools that make it easy
for you to do that.
All of which are part of what
we offer you.
And are free for you to use.
For all this, you need to
remember one URL:
http://developer.yahoo.com
I will talk about 7 things we
offer and how to use them.
1
We provide a great online
      experience.
Yahoo’s products are built by
teams of experts who are
passionate about their jobs.
We try our hardest to make
things work for everybody
out there.
This means first and foremost
to take the time and think
about what we are trying to
achieve.
Analyse what users want to
do here:
             Define type of search,
                enter search term,
                     submit form.
Then use what allows them to
do exactly that.
How about this one?
Analyse what data
you display, and find
the easiest way to
show it.
Then make it look the
way you want it to.
Sometimes you need to make
technologies work by
building workarounds.
Screenshots of uk.video.yahoo.com with and
            without JavaScript




    http://uk.video.yahoo.com/
We build things using
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
Once we found out the goals
of our users, we drive for
excellence.
http://finance.yahoo.com/currency-converter?
           u#from=USD;to=EUR;amt=1
http://developer.yahoo.net/blog/archives/
    2009/01/accessible_converter.html
2
We share the data that drives
      this experience.
Our research with users
resulted in patterns that we
apply to help people reach
their goals as quickly as
possible.
These patterns are available
for you to apply to your own
products.
http://developer.yahoo.com/ypatterns
http://developer.yahoo.com/ypatterns/wireframes/
Under the hood, our systems
are driven by APIs to make
sure we can scale products to
our size.
These are available to you,
too.
http://developer.yahoo.com/everything.html
3
We share the research we’ve
 done to make it a smooth
       experience.
The exceptional performance
section of YDN provides
detailed information on how
to make your products
behave faster.
http://developer.yahoo.com/performance/
4
We provide building blocks to
    build your own great
         experience.
http://developer.yahoo.com/yui/
The Yahoo User Interface
library is a CSS and JavaScript
framework to build working
web applications and sites.
http://developer.yahoo.com/yui/grids/builder/
Unlike other frameworks YUI
is not a catch-all solution but
is cut up into modules, each
fulfilling one job.
You can use any of these
modules on their own, even
together with other libraries.
We’ve used these modules to
create reusable widgets
based on out design patterns.
http://ui.jquery.com/




http://ui.jquery.com
The YUI widgets come with an
own style that can be fully
customised.
http://developer.yahoo.com/yui/articles/skinning/
They all are event driven
which means you can change
their workings without
changing their code.
http://developer.yahoo.com/yui/examples/autocomplete/
                  ac_basic_xhr_log.html
5
We provide tools to improve
      your products.
All our products are built
around a defined
methodology defining
browser support.
http://developer.yahoo.com/yui/articles/gbs/
You can use this
methodology to scope out
client work without over
promising.
One great tool to test the
quality of a web sites is
YSlow.
How can you make it faster?




            http://developer.yahoo.com/yslow/
http://developer.yahoo.com/yui/logger/
http://developer.yahoo.com/yui/profilerviewer/
http://developer.yahoo.com/yui/yuitest/
6
We offer amazingly easy
 interfaces to the web.
First there was Pipes.
http://pipes.yahoo.com
However, Pipes was too
complex and not flexible
enough as you cannot change
a pipe programatically.
So we came up with a query
language for the web: YQL.
Say you want to get photos of
Paris that you are allowed to
show in your own products.
You need to define Paris
 without a doubt.

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

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

select id from flickr.photos.search
where woe_id in (select woeid from
geo.places where
text='paris,france') 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='paris,france') 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%27paris%2Cfrance%27)%20and
%20license%3D4)
You have the data, now you
can build a nice interface to
show it.
http://isithackday.com/hacks/cantine/index.php?loc=paris,france
All without having to spend
hours on reading either the
Flickr or the GeoPlanet API
docs :)
Using YQL and YUI you can
create a whole web site
maintained elsewhere.
YQL makes access to all kind
of APIs very easy.
What if you want to add
yours?
YQL has a concept of “Open
Tables”.
This means you can tell us
about your API endpoint and
parameters in an XML
schema...
...point to this schema and
use it as a table in YQL.
For example: Twitter.
use "http://github.com/spullara/yql-tables/raw/
4832c92c38389e98f5ceef017f61d59a9e027664/twitter/
twitter.user.timeline.xml" as twitter;
select title,link from twitter where id='codepo8'
There’s a repository of open
tables available on github.
http://github.com/spullara/yql-tables/tree/master
Add yours, get people to use
your API and get famous :)
7
We offer our search index to
 tailor to vertical markets.
http://developer.yahoo.com/search/boss/
http://ask-boss.appspot.com/
http://ask-boss.appspot.com/
view=searchmonkey_feed


                      view=searchmonkey_rdf


   http://developer.yahoo.com/search/boss/
              structureddata.html
http://keywordfinder.org
So there you have it – 7 things
we offer you as developers to
use and learn from.
We’re improving our work by
getting your feedback and
seeing your implementations.
And you can build much
better products by basing
them on working solutions
and concentrating on the
delivery of your products
rather than problems we
already had to solve for you.
Come and grab and show us
what you can do!
Thanks.
Any questions?
Christian Heilmann
http://icant.co.uk
http://wait-till-i.com
http://scriptingenabled.org
http://twitter.com/codepo8

Weitere ähnliche Inhalte

Was ist angesagt?

Prototyping mobile apps_with_adobe
Prototyping mobile apps_with_adobePrototyping mobile apps_with_adobe
Prototyping mobile apps_with_adobe
Stefano Virgilli
 
Comparative Display Technologies
Comparative Display TechnologiesComparative Display Technologies
Comparative Display Technologies
jiali zhang
 

Was ist angesagt? (20)

Managing and evolving JavaScript Code
Managing and evolving JavaScript CodeManaging and evolving JavaScript Code
Managing and evolving JavaScript Code
 
Internship Presentation 1 Web Developer
Internship Presentation 1 Web DeveloperInternship Presentation 1 Web Developer
Internship Presentation 1 Web Developer
 
DF Global Gathering PuneWIT
DF Global Gathering PuneWITDF Global Gathering PuneWIT
DF Global Gathering PuneWIT
 
Prototyping mobile apps_with_adobe
Prototyping mobile apps_with_adobePrototyping mobile apps_with_adobe
Prototyping mobile apps_with_adobe
 
Application Programming Interface Implementation For Building Software Applic...
Application Programming Interface Implementation For Building Software Applic...Application Programming Interface Implementation For Building Software Applic...
Application Programming Interface Implementation For Building Software Applic...
 
API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIs
 
Writing code samples for API/SDK documentation
Writing code samples for API/SDK documentationWriting code samples for API/SDK documentation
Writing code samples for API/SDK documentation
 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Junior.next(BathDigitalFestival)
Junior.next(BathDigitalFestival)Junior.next(BathDigitalFestival)
Junior.next(BathDigitalFestival)
 
Internship presentation
Internship presentationInternship presentation
Internship presentation
 
Job manager 2020 in Angular
Job manager 2020 in AngularJob manager 2020 in Angular
Job manager 2020 in Angular
 
Ecommerce Mini Project / Group Project Design
Ecommerce Mini Project / Group Project DesignEcommerce Mini Project / Group Project Design
Ecommerce Mini Project / Group Project Design
 
Notes (2012-06-08)
Notes (2012-06-08)Notes (2012-06-08)
Notes (2012-06-08)
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKit
 
API Workshop: Deep dive into code samples
API Workshop: Deep dive into code samplesAPI Workshop: Deep dive into code samples
API Workshop: Deep dive into code samples
 
Comparative Display Technologies
Comparative Display TechnologiesComparative Display Technologies
Comparative Display Technologies
 
Maintainable design
Maintainable designMaintainable design
Maintainable design
 
Web, Native & Hybrid Apps Overview
Web, Native & Hybrid Apps OverviewWeb, Native & Hybrid Apps Overview
Web, Native & Hybrid Apps Overview
 
Boquet manager
Boquet managerBoquet manager
Boquet manager
 

Andere mochten auch (7)

Building with XUL
Building with XULBuilding with XUL
Building with XUL
 
Wildlife conservation project management adri jovin
Wildlife conservation project management  adri jovinWildlife conservation project management  adri jovin
Wildlife conservation project management adri jovin
 
Web 2.0 And Ajax
Web 2.0 And AjaxWeb 2.0 And Ajax
Web 2.0 And Ajax
 
セミナ汗なし涙なしFacebookページ
セミナ汗なし涙なしFacebookページセミナ汗なし涙なしFacebookページ
セミナ汗なし涙なしFacebookページ
 
Ranking Web Pages
Ranking Web PagesRanking Web Pages
Ranking Web Pages
 
Queue N Cache
Queue N CacheQueue N Cache
Queue N Cache
 
Deployment de Rails
Deployment de RailsDeployment de Rails
Deployment de Rails
 

Ähnlich wie Fuel for a great web experience.

YUI introduction to build hack interfaces
YUI introduction to build hack interfacesYUI introduction to build hack interfaces
YUI introduction to build hack interfaces
Christian Heilmann
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
 

Ähnlich wie Fuel for a great web experience. (20)

Fuel for a great web experience
Fuel for a great web experienceFuel for a great web experience
Fuel for a great web experience
 
Technical Introduction to YDN
Technical Introduction to YDNTechnical Introduction to YDN
Technical Introduction to YDN
 
Things to use, find and share
Things to use, find and shareThings to use, find and share
Things to use, find and share
 
Yahoo for the Masses
Yahoo for the MassesYahoo for the Masses
Yahoo for the Masses
 
Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with libraries
 
OSDC - Open and Accessible
OSDC - Open and AccessibleOSDC - Open and Accessible
OSDC - Open and Accessible
 
Introduction to YUI
Introduction to YUIIntroduction to YUI
Introduction to YUI
 
YUI introduction to build hack interfaces
YUI introduction to build hack interfacesYUI introduction to build hack interfaces
YUI introduction to build hack interfaces
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
Hacking For Innovation Delhi
Hacking For Innovation DelhiHacking For Innovation Delhi
Hacking For Innovation Delhi
 
Hacking For Innovation
Hacking For InnovationHacking For Innovation
Hacking For Innovation
 
HTML5 Up and Running
HTML5 Up and RunningHTML5 Up and Running
HTML5 Up and Running
 
How to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java PortalsHow to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java Portals
 
Joomla Website Development Company
Joomla Website Development CompanyJoomla Website Development Company
Joomla Website Development Company
 
Wordpress as a framework
Wordpress as a frameworkWordpress as a framework
Wordpress as a framework
 
Integrate Shindig with Joomla
Integrate Shindig with JoomlaIntegrate Shindig with Joomla
Integrate Shindig with Joomla
 
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
 
User Experience Bootcamp for Developers
User Experience Bootcamp for DevelopersUser Experience Bootcamp for Developers
User Experience Bootcamp for Developers
 
Yahoo For You - Services and Libraries
Yahoo For You - Services and LibrariesYahoo For You - Services and Libraries
Yahoo For You - Services and Libraries
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 

Mehr von elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

Mehr von elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 

Fuel for a great web experience.