SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Beyond web services
   Supporting mashup artists at Yahoo!




Chad Dickerson
Sr. Director, Yahoo! Developer Network
Why I’m particularly glad to be
       here in Dublin
I love technology
. . . but I also love beer

(search for “how to make a
        kegerator”)
Thanks for the step-by-step instructions of
the kegerator. By far the best on the web.

                 - Tim D.
We also really like the “camp”
      concept at Yahoo!
But mostly we like to make
  difficult things easy for
         developers
The web is “the most hostile
 programming environment
       ever devised”
    Douglas Crockford, Yahoo!
        (creator of JSON)
To make it easier for you,
      we provide:
Key building blocks for mashups
Pipes: a tool to mashup the web
Practical lessons/tools for scale
Access to experts
Key building blocks for mashups
developer.yahoo.com

• User interface
  – Yahoo! User Interface Libraries (YUI)
  – ASTRA (ActionScript Toolkit for Rich
    Applications)
  – Yahoo! Design Patterns
• Web services
• Lots of RSS feeds
  – http://developer.yahoo.com/rss/
Web services




       del.icio.us



plus 20+ more
Yahoo! User Interface Libraries (YUI)

 Industrial strength
 cross-browser
 JavaScript and CSS


 Generous BSD
 license


            http://developer.yahoo.com/yui/
The Yahoo! User Interface Library
Tree Control      AutoComplete          Slider
   Calendar
                        TabView       Menu Control
   Control
         Logger Control      DHTML Windowing

         Animation           Drag & Drop

         Connection
                             Event Utility
         Manager (Ajax)

                     Dom Collection

               CSS Reset, Fonts, Grids
ASTRA: Flash components
Tree           Menu         TabBar




                              Chart


             AutoComplete
All under a liberal
    BSD License
Yahoo! Design Patterns


a pattern describes an optimal solution to a
common problem within a specific context


Yahoo’s design patterns emerge from a rigorous
design process




       http://developer.yahoo.com/ypatterns/
Example: Writing a review
Writing a review (cont.)
Yahoo! Design Patterns
•Search                       •Interact
  – Search pagination             – Invitation
                                  – Transition (animate,
•Navigate
                                    brighten, collapse,
  – Breadcrumbs
                                    dim, etc)
  – Links
  – Tabs
                              •Give Feedback
•Read                             – Ratings and reviews
  – Page Grids
                              •Customize
  – Pagination
                                  – Drag and drop
•Select
                              •Many more. . . .
  – Auto Complete
  – Calendar Picker
          http://developer.yahoo.com/ypatterns/
Pipes: a tool to mashup the web
Apt near Park



How do you find
an apartment
near a park?
Apt near Park



Craigslist apartment listings
  •   For each apartment:
      •   Click on map link
      •   Check distance to a park on the map
Tedious
Apt near Park


Data is available
   •   Craigslist apartment RSS feed
   •   Yahoo! Local API to find Parks
Can do it in about 50 lines of Perl code
#!/usr/bin/perl -w
    use strict;
    use LWP::Simple;
    use XML::Simple;
    ...
Apt near Park

Basically combine feeds + web
services
Yet another custom mashup
•   HousingMaps, ChicagoCrime, ...


Would be nice if there was an
easier way...
Pipes

A free online service that lets you remix
data and create mashups using a visual
editor

                 Craigslist




               Yahoo! Local
Demo



Apartment near Something
Unix Pipes


grep -iv yahoo.com squid.log |
sort | uniq -c | sort -n >
top_sources.txt

Unix Pipes for the Web
Build useful applications from simple
primitives
Any Input


Craigslist

 Yahoo!

 Google

  Ebay

Your data
  here!
Any Output


             RSS Readers

               Badges

               HTML

              Your app
               here!
Any Process


                    Yahoo! Local
Fetch




        Your Web Service
             Here!




             Sort
Open


Craigslist
                                              RSS Readers
 Yahoo!                        Yahoo! Local
             Fetch
                                                Badges
 Google
                      Your Web
                                                HTML
                     Service Here!
  Ebay
                                               Your app
                       Sort
                                                here!
Your data
  here!
Why use Pipes?

Middleware for mashing data without
   having your own web server
Rapid prototyping
     Quick to write pipes - no coding or
     plugins required
Focus on what you’re trying to build
   without solving the trivial
Faster network access to many APIs
Pipes lets you...


Grab web data sources
  •   RSS, JSON, XML, RDF, ICAL, CSV
Manipulate the data
  •   Mash it up with other data sources
      and data services
View the results
Use the Pipe data however you want
Pipes on the
       iPhone


http://iphone.pipes.yahoo.com
Practical tools/lessons in scale
Numbers from Yahoo!

Unique users per month: 500+ million

8 percent of all page views on the Internet
  globally are on yahoo.com

Pipes numbers:
• 6 million pipes / day
• 170,000 unique sources of data
We live and breathe scale.

      Every second.

       Every day.
You can use some of the same
 tools and methods we use to
         achieve scale




   http://developer.yahoo.com/performance/
The Performance Golden Rule

  80-90% of the end-user response time is spent
  on the front-end. Start there.


• Greater potential for improvement
• Simpler
• Proven to work

http://developer.yahoo.net/blog/archives/2007/03/high_performanc.html
14 Rules for High Performance Web Sites
 1.    Make fewer HTTP requests
 2.    Use a Content Delivery Network
 3.    Add an Expires header
 4.    Gzip components
 5.    Put CSS at the top
 6.    Move JS to the bottom
 7.    Avoid CSS expressions
 8.    Make JS and CSS external
 9.    Reduce DNS lookups
 10.   Minify JS
 11.   Avoid redirects
 12.   Remove duplicate scripts
 13.   Turn off ETags
 14.   Make AJAX cacheable and small

          More at http://developer.yahoo.com/performance/
YSlow

performance lint tool
grades web pages for each rule
Firefox extension
Yahoo! internal tool




         http://developer.yahoo.com/yslow/
Hosted YUI


All the benefits of YUI described earlier


      Hosted via our CDN, for free

http://developer.yahoo.com/yui/articles/hosting/
Hadoop: the open source grid
•   Doug Cutting (Lucene, Nutch) founded the
    Hadoop project and joined Y! in January
    2006
•   Y! Hadoop team started March 2006
•   Y! continues to make substantial
    contributions to the project
•   http://lucene.apache.org/hadoop/

•   Example usage outside Y!

     –   NY Times wanted to make 1851-1922
         articles available for free as PDF

     –   Needed to assemble a grid

     –   11 million articles processed in under 24
         hours using 100 Amazon EC2 instances
     –   http://open.blogs.nytimes.com/2007/11/01/self-service-
         prorated-super-computing-fun/
Access to experts
Just a couple of Yahoos


Douglas Crockford:
  – “Yoda of lambda programming and
    JavaScript” according to Brendan Eich
    (Inventor of JavaScript)
Rasmus Lerdorf
  – Father of PHP
Books by Yahoo! authors




I want to give a shout-out to Yahoo! here for sharing their knowledge, earned
through hard experience running one of the world's largest web sites.
-Tim O’Reilly
http://radar.oreilly.com/archives/2007/10/high_performance_websites.html
Just launched: YDN Theater




http://developer.yahoo.com/blogs/theater/
(want to chat on camera after
          my talk?)
We provide lots of ingredients

 …but the rest is up to you!
Some inspiration. . .
Yahoo! Mail Web Service: Locamigos.com




          http://www.locamigos.com/
Locamigos in action
delimport




http://www.ianhenderson.org/delimport.html
AIR Search




http://kentbrewster.com/air-search/
Hardware hacks
          Blogging in motion
          • Purse
          • Pedometer
          • Cell phone
          • Flickr API
          •http://www.blogginginmotion.com/




         ybox
         “Simple, friendly, text-based
         widget/channels give quick
         snapshots of personalized info
         downloaded live from the net.”
         http://www.uncommonprojects.com/ybox/
[your mashup here]
Everything you need
 web services & data from Yahoo!
+ Pipes (data and services from the web)
+ YUI (interface code)
+ Y! design patterns
+ scaling know-how
+ expert knowledge
--------------------
= beautiful, fast, awesome mashups
Now it’s your turn. . .
Good luck!
             Contact:
       chadd@yahoo-inc.com

    Yahoo! Developer Network:
   http://developer.yahoo.com/

                Slides:
http://slideshare.net/chaddickerson/
Photo credits
• Crane
   – http://www.flickr.com/photos/david_wilmot/28202190/
• Pipes
   – http://www.flickr.com/photos/monoglot/275958740/
• Speedometer
   – http://www.flickr.com/photos/maxim303/41509420/
• Apartments near park
   – http://www.flickr.com/photos/paytonc/67399288/
• Doug Crockford
   – http://www.flickr.com/photos/livenature/412141721/
• Rasmus Lerdorf
   – http://www.flickr.com/photos/chrys/56838713/


                     (All Creative Commons)

Weitere ähnliche Inhalte

Was ist angesagt?

RESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignRESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignDave Olsen
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Ryan Price
 
HTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a treeHTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a treebrucelawson
 
Responsive Design Tools & Resources
Responsive Design Tools & ResourcesResponsive Design Tools & Resources
Responsive Design Tools & ResourcesClarissa Peterson
 
Navigation in Responsive Design
Navigation in Responsive DesignNavigation in Responsive Design
Navigation in Responsive Designopenchamp
 
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...Codemotion
 
Clase 03
Clase 03Clase 03
Clase 03rodcul
 
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]Aaron Gustafson
 
Web Standards And Protocols
Web Standards And ProtocolsWeb Standards And Protocols
Web Standards And ProtocolsSteven Cahill
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 
Using Google For Online Learning
Using Google For Online LearningUsing Google For Online Learning
Using Google For Online LearningJanet Clarey
 
Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Aaron Gustafson
 
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]Aaron Gustafson
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native codeJoakim Kemeny
 

Was ist angesagt? (20)

RESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignRESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web Design
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
HTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a treeHTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a tree
 
Responsive Design Tools & Resources
Responsive Design Tools & ResourcesResponsive Design Tools & Resources
Responsive Design Tools & Resources
 
Navigation in Responsive Design
Navigation in Responsive DesignNavigation in Responsive Design
Navigation in Responsive Design
 
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
 
Old Dog, New Tricks
Old Dog, New TricksOld Dog, New Tricks
Old Dog, New Tricks
 
Clase 03
Clase 03Clase 03
Clase 03
 
Web Design
Web DesignWeb Design
Web Design
 
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
 
Project management
Project managementProject management
Project management
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3
 
Seven Reasons for Code Bloat
Seven Reasons for Code BloatSeven Reasons for Code Bloat
Seven Reasons for Code Bloat
 
Web Standards And Protocols
Web Standards And ProtocolsWeb Standards And Protocols
Web Standards And Protocols
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
Using Google For Online Learning
Using Google For Online LearningUsing Google For Online Learning
Using Google For Online Learning
 
Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]
 
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
 

Andere mochten auch

You are the BOSS - HackU 2011
You are the BOSS - HackU 2011You are the BOSS - HackU 2011
You are the BOSS - HackU 2011Balaji Narayanan
 
OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011
OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011
OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011Balaji Narayanan
 
Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...
Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...
Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...P.K. ☮♫♬ ♪♩♭♪☮
 
Code as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at EtsyCode as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at EtsyChad Dickerson
 
The Little Book of IDEO: Values
The Little Book of IDEO: ValuesThe Little Book of IDEO: Values
The Little Book of IDEO: ValuesTim Brown
 

Andere mochten auch (8)

You are the BOSS - HackU 2011
You are the BOSS - HackU 2011You are the BOSS - HackU 2011
You are the BOSS - HackU 2011
 
OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011
OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011
OAuth Dance - Yahoo! Open Hack Day Bangalore, 2011
 
The artistic world
The artistic worldThe artistic world
The artistic world
 
Little red ridinghood
Little red ridinghoodLittle red ridinghood
Little red ridinghood
 
Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...
Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...
Girls of Games – beautiful girls from W.C. 2010 with Michelle Branch & Santan...
 
Code as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at EtsyCode as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at Etsy
 
The Little Book of IDEO: Values
The Little Book of IDEO: ValuesThe Little Book of IDEO: Values
The Little Book of IDEO: Values
 
Culture
CultureCulture
Culture
 

Ähnlich wie Beyond web services: supporting mashup artists at Yahoo!

Y Pipes Mashup Camp
Y Pipes Mashup CampY Pipes Mashup Camp
Y Pipes Mashup CampJinho Jung
 
Yahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The CloudYahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The CloudConSanFrancisco123
 
HTML5: the new frontier of the web
HTML5: the new frontier of the webHTML5: the new frontier of the web
HTML5: the new frontier of the webIvano Malavolta
 
Yahoo Developer Network overview
Yahoo Developer Network overviewYahoo Developer Network overview
Yahoo Developer Network overviewChristian Heilmann
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Commit University
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
Ajax Abuse Todcon2008
Ajax Abuse Todcon2008Ajax Abuse Todcon2008
Ajax Abuse Todcon2008Jesse Rodgers
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Prodosh Banerjee
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash CourseMrAbbas
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash CourseMrAbas
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Nicholas Zakas
 
Putting together a web app
Putting together a web appPutting together a web app
Putting together a web appRyan Lou
 
Simplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and toolsSimplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and toolsRui Carvalho
 

Ähnlich wie Beyond web services: supporting mashup artists at Yahoo! (20)

Y Pipes Mashup Camp
Y Pipes Mashup CampY Pipes Mashup Camp
Y Pipes Mashup Camp
 
Yahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The CloudYahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The Cloud
 
HTML5: the new frontier of the web
HTML5: the new frontier of the webHTML5: the new frontier of the web
HTML5: the new frontier of the web
 
Yahoo Developer Network overview
Yahoo Developer Network overviewYahoo Developer Network overview
Yahoo Developer Network overview
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Ajax Abuse Todcon2008
Ajax Abuse Todcon2008Ajax Abuse Todcon2008
Ajax Abuse Todcon2008
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Web Technology Trends (early 2009)
Web Technology Trends (early 2009)
 
Mashup Y! widget
Mashup Y! widgetMashup Y! widget
Mashup Y! widget
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash Course
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash Course
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
Markup As An Api
Markup As An ApiMarkup As An Api
Markup As An Api
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
 
Putting together a web app
Putting together a web appPutting together a web app
Putting together a web app
 
Technical Introduction to YDN
Technical Introduction to YDNTechnical Introduction to YDN
Technical Introduction to YDN
 
Simplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and toolsSimplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and tools
 

Mehr von Chad Dickerson

Etsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - PortlandEtsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - PortlandChad Dickerson
 
Keeping it real, always: Values-based business at Etsy
Keeping it real, always: Values-based business at EtsyKeeping it real, always: Values-based business at Etsy
Keeping it real, always: Values-based business at EtsyChad Dickerson
 
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackContinuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackChad Dickerson
 
TedX Brooklyn: Hackers and redefining better
TedX Brooklyn: Hackers and redefining betterTedX Brooklyn: Hackers and redefining better
TedX Brooklyn: Hackers and redefining betterChad Dickerson
 
Optimizing for developer happiness
Optimizing for developer happinessOptimizing for developer happiness
Optimizing for developer happinessChad Dickerson
 
Big Company Hacks at Yahoo!
Big Company Hacks at Yahoo!Big Company Hacks at Yahoo!
Big Company Hacks at Yahoo!Chad Dickerson
 
Hacking Developer Relations at Yahoo! Developer Network
Hacking Developer Relations at Yahoo! Developer NetworkHacking Developer Relations at Yahoo! Developer Network
Hacking Developer Relations at Yahoo! Developer NetworkChad Dickerson
 

Mehr von Chad Dickerson (10)

Etsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - PortlandEtsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - Portland
 
Keeping it real, always: Values-based business at Etsy
Keeping it real, always: Values-based business at EtsyKeeping it real, always: Values-based business at Etsy
Keeping it real, always: Values-based business at Etsy
 
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackContinuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
 
TedX Brooklyn: Hackers and redefining better
TedX Brooklyn: Hackers and redefining betterTedX Brooklyn: Hackers and redefining better
TedX Brooklyn: Hackers and redefining better
 
Finding your courage
Finding your courageFinding your courage
Finding your courage
 
Optimizing for developer happiness
Optimizing for developer happinessOptimizing for developer happiness
Optimizing for developer happiness
 
Scaling startups
Scaling startupsScaling startups
Scaling startups
 
Mashups: Beyond Maps
Mashups: Beyond MapsMashups: Beyond Maps
Mashups: Beyond Maps
 
Big Company Hacks at Yahoo!
Big Company Hacks at Yahoo!Big Company Hacks at Yahoo!
Big Company Hacks at Yahoo!
 
Hacking Developer Relations at Yahoo! Developer Network
Hacking Developer Relations at Yahoo! Developer NetworkHacking Developer Relations at Yahoo! Developer Network
Hacking Developer Relations at Yahoo! Developer Network
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Beyond web services: supporting mashup artists at Yahoo!

  • 1. Beyond web services Supporting mashup artists at Yahoo! Chad Dickerson Sr. Director, Yahoo! Developer Network
  • 2. Why I’m particularly glad to be here in Dublin
  • 4. . . . but I also love beer (search for “how to make a kegerator”)
  • 5.
  • 6. Thanks for the step-by-step instructions of the kegerator. By far the best on the web. - Tim D.
  • 7.
  • 8. We also really like the “camp” concept at Yahoo!
  • 9.
  • 10. But mostly we like to make difficult things easy for developers
  • 11. The web is “the most hostile programming environment ever devised” Douglas Crockford, Yahoo! (creator of JSON)
  • 12. To make it easier for you, we provide:
  • 13. Key building blocks for mashups
  • 14. Pipes: a tool to mashup the web
  • 17. Key building blocks for mashups
  • 18. developer.yahoo.com • User interface – Yahoo! User Interface Libraries (YUI) – ASTRA (ActionScript Toolkit for Rich Applications) – Yahoo! Design Patterns • Web services • Lots of RSS feeds – http://developer.yahoo.com/rss/
  • 19. Web services del.icio.us plus 20+ more
  • 20. Yahoo! User Interface Libraries (YUI) Industrial strength cross-browser JavaScript and CSS Generous BSD license http://developer.yahoo.com/yui/
  • 21. The Yahoo! User Interface Library Tree Control AutoComplete Slider Calendar TabView Menu Control Control Logger Control DHTML Windowing Animation Drag & Drop Connection Event Utility Manager (Ajax) Dom Collection CSS Reset, Fonts, Grids
  • 22. ASTRA: Flash components Tree Menu TabBar Chart AutoComplete
  • 23. All under a liberal BSD License
  • 24. Yahoo! Design Patterns a pattern describes an optimal solution to a common problem within a specific context Yahoo’s design patterns emerge from a rigorous design process http://developer.yahoo.com/ypatterns/
  • 27. Yahoo! Design Patterns •Search •Interact – Search pagination – Invitation – Transition (animate, •Navigate brighten, collapse, – Breadcrumbs dim, etc) – Links – Tabs •Give Feedback •Read – Ratings and reviews – Page Grids •Customize – Pagination – Drag and drop •Select •Many more. . . . – Auto Complete – Calendar Picker http://developer.yahoo.com/ypatterns/
  • 28. Pipes: a tool to mashup the web
  • 29. Apt near Park How do you find an apartment near a park?
  • 30. Apt near Park Craigslist apartment listings • For each apartment: • Click on map link • Check distance to a park on the map Tedious
  • 31. Apt near Park Data is available • Craigslist apartment RSS feed • Yahoo! Local API to find Parks Can do it in about 50 lines of Perl code #!/usr/bin/perl -w use strict; use LWP::Simple; use XML::Simple; ...
  • 32. Apt near Park Basically combine feeds + web services Yet another custom mashup • HousingMaps, ChicagoCrime, ... Would be nice if there was an easier way...
  • 33. Pipes A free online service that lets you remix data and create mashups using a visual editor Craigslist Yahoo! Local
  • 35.
  • 36. Unix Pipes grep -iv yahoo.com squid.log | sort | uniq -c | sort -n > top_sources.txt Unix Pipes for the Web Build useful applications from simple primitives
  • 37. Any Input Craigslist Yahoo! Google Ebay Your data here!
  • 38. Any Output RSS Readers Badges HTML Your app here!
  • 39. Any Process Yahoo! Local Fetch Your Web Service Here! Sort
  • 40. Open Craigslist RSS Readers Yahoo! Yahoo! Local Fetch Badges Google Your Web HTML Service Here! Ebay Your app Sort here! Your data here!
  • 41. Why use Pipes? Middleware for mashing data without having your own web server Rapid prototyping Quick to write pipes - no coding or plugins required Focus on what you’re trying to build without solving the trivial Faster network access to many APIs
  • 42. Pipes lets you... Grab web data sources • RSS, JSON, XML, RDF, ICAL, CSV Manipulate the data • Mash it up with other data sources and data services View the results Use the Pipe data however you want
  • 43. Pipes on the iPhone http://iphone.pipes.yahoo.com
  • 45. Numbers from Yahoo! Unique users per month: 500+ million 8 percent of all page views on the Internet globally are on yahoo.com Pipes numbers: • 6 million pipes / day • 170,000 unique sources of data
  • 46. We live and breathe scale. Every second. Every day.
  • 47. You can use some of the same tools and methods we use to achieve scale http://developer.yahoo.com/performance/
  • 48. The Performance Golden Rule 80-90% of the end-user response time is spent on the front-end. Start there. • Greater potential for improvement • Simpler • Proven to work http://developer.yahoo.net/blog/archives/2007/03/high_performanc.html
  • 49. 14 Rules for High Performance Web Sites 1. Make fewer HTTP requests 2. Use a Content Delivery Network 3. Add an Expires header 4. Gzip components 5. Put CSS at the top 6. Move JS to the bottom 7. Avoid CSS expressions 8. Make JS and CSS external 9. Reduce DNS lookups 10. Minify JS 11. Avoid redirects 12. Remove duplicate scripts 13. Turn off ETags 14. Make AJAX cacheable and small More at http://developer.yahoo.com/performance/
  • 50. YSlow performance lint tool grades web pages for each rule Firefox extension Yahoo! internal tool http://developer.yahoo.com/yslow/
  • 51.
  • 52. Hosted YUI All the benefits of YUI described earlier Hosted via our CDN, for free http://developer.yahoo.com/yui/articles/hosting/
  • 53. Hadoop: the open source grid • Doug Cutting (Lucene, Nutch) founded the Hadoop project and joined Y! in January 2006 • Y! Hadoop team started March 2006 • Y! continues to make substantial contributions to the project • http://lucene.apache.org/hadoop/ • Example usage outside Y! – NY Times wanted to make 1851-1922 articles available for free as PDF – Needed to assemble a grid – 11 million articles processed in under 24 hours using 100 Amazon EC2 instances – http://open.blogs.nytimes.com/2007/11/01/self-service- prorated-super-computing-fun/
  • 55. Just a couple of Yahoos Douglas Crockford: – “Yoda of lambda programming and JavaScript” according to Brendan Eich (Inventor of JavaScript) Rasmus Lerdorf – Father of PHP
  • 56. Books by Yahoo! authors I want to give a shout-out to Yahoo! here for sharing their knowledge, earned through hard experience running one of the world's largest web sites. -Tim O’Reilly http://radar.oreilly.com/archives/2007/10/high_performance_websites.html
  • 57. Just launched: YDN Theater http://developer.yahoo.com/blogs/theater/
  • 58. (want to chat on camera after my talk?)
  • 59. We provide lots of ingredients …but the rest is up to you!
  • 61. Yahoo! Mail Web Service: Locamigos.com http://www.locamigos.com/
  • 65. Hardware hacks Blogging in motion • Purse • Pedometer • Cell phone • Flickr API •http://www.blogginginmotion.com/ ybox “Simple, friendly, text-based widget/channels give quick snapshots of personalized info downloaded live from the net.” http://www.uncommonprojects.com/ybox/
  • 67. Everything you need web services & data from Yahoo! + Pipes (data and services from the web) + YUI (interface code) + Y! design patterns + scaling know-how + expert knowledge -------------------- = beautiful, fast, awesome mashups
  • 68. Now it’s your turn. . .
  • 69. Good luck! Contact: chadd@yahoo-inc.com Yahoo! Developer Network: http://developer.yahoo.com/ Slides: http://slideshare.net/chaddickerson/
  • 70. Photo credits • Crane – http://www.flickr.com/photos/david_wilmot/28202190/ • Pipes – http://www.flickr.com/photos/monoglot/275958740/ • Speedometer – http://www.flickr.com/photos/maxim303/41509420/ • Apartments near park – http://www.flickr.com/photos/paytonc/67399288/ • Doug Crockford – http://www.flickr.com/photos/livenature/412141721/ • Rasmus Lerdorf – http://www.flickr.com/photos/chrys/56838713/ (All Creative Commons)