Building Web Applications Using Yahoo!

Web Services
Jeffrey McManus Director, Yahoo! Developer Network March, 2006

About this talk

About Yahoo! Web services
- How to build a .NET application using Y! Web services - Using ASP.NET Atlas with Y! Web services

 

About the Yahoo! User Interface Libraries and Ajax technologies A look ahead


Our Goals: Building a Developer Ecosystem on the Yahoo! Platform  Provide as many compelling products for developers as possible
- Web service APIs, tools, libraries, etc. - Create and grow a developer community
 

Disseminate information about our developer offerings Provide exceptional support for developers


Developer Momentum

 

We entered 2005 with a smattering of thirdparty developers (mostly private partnerships, negotiated on a one-off basis) We exited 2005 with a community of tens of thousands of developers We will continue to make integrating with Yahoo! easier and easier on both a technical and a business level

Maps Developer Community Growth 2005

November 2005 Flash Maps, AJAX Maps, Geocoding, and Traffic APIs Launched

June 2005 Simple Maps API Launched











Search Web Services

Audio Search
Album Search Artist Search Podcast Search Download Location Song Search

    

MyWeb Search News Search Site Explorer Video Search Web Search
- Context Search - Related Queries - Spelling Suggestion

  

Autos Custom Content Analysis Image Search Local Search


Web Search API: Inputs
  

     

 

query region type (all, any, phrase) # of results start position format (html, msword, pdf, ppt, etc.) language country site subscription license (creative commons) output (xml, json, php) callback (json)

Web Search API: Outputs
 

    

totalResultsAvailable, totalResultsReturned Title Summary Url ClickUrl MimeType ModificationDate Cache (Url + size)

Use Martin Brown’s .NET Wrapper Classes to Call Search Web Services

Downloads and parses search results from most of our search APIs
- No HTTP-handling or XML-parsing necessary - Generated from schema using xsd.exe - Full source code (C# and VB.NET) included


Example: Performing a Web Search Using the Brown Wrapper

This is a “traditional” request/response example (no Ajax stuff...yet)


Simple Maps API

Plot up to 100 points on a Yahoo! map without programming and without limits Add geoRSS tags to an existing RSS feed to plot RSS data points on a map


Demo: Simple Maps


Ajax Maps API


Flash Maps API
  Example:


Maps “Building Block” APIs
 

Geocoding API Map Image API Traffic API Local Search API
- Returns long/lat for plotting on maps


Music Engine Plug-Ins

Yahoo! Music Engine provides personalized streaming radio, music purchase, and unlimited subscription music The music client application is pluggable
- Create plug-ins written in C++ or JavaScript - Applications run in embedded IE within the Music Engine client

 

Trip Planner API

 

Return information on where to go and what to do from Yahoo! Trip Planner ( Retrieve trips planned from a specific Yahoo! user Example: ?appid=YahooDemo&query=las+vegas


Shopping API

Retrieve product and pricing information from our database of products Example: ch?appid=YahooDemo&query=creative+zen


Shopping API 2.0

New features for the Yahoo! comparison shopping API
- Search-narrowing options
• Shoes >> Men’s Shoes >> Size 9

- Build a product hierarchy based on that of - Variable product image sizes to fit your layout


Shopping Paid Syndication Beta

Make money by referring traffic to Yahoo! Shopping advertising partners Now accepting beta applications:


Flickr API

 

Flickr is a photo-sharing community that makes it easy to upload, organize/tag, and share photos Flickr API makes it easy to build applications that incorporate Flickr


Event-sharing community
- Joined Yahoo! in 2005


MyWeb and
 

Save your bookmarks to the Web Tag, label, share URLs with your friends has an API today, MyWeb has search today with read/write coming soon


New: JavaScript Developer Center

Provides assistance with scripting and AJAX development JSON Web services support give JavaScript developers the ability to easily handle data without parsing XML
- Facilitates rapid development and creation of AJAX applications

Design Pattern Library

Solutions and guidance to common Web user interface problems Techniques reflect years of experience and user testing
- Includes solutions for such issues as accessibility

 

Provided under a Creative Commons license


New: Javascript User Interface Library

A collection of JavaScript libraries you can use in your Web development
- Complex user interface controls - A cross-browser Ajax library - Drag-drop and event libraries

 

To be updated frequently Free and open-source (BSD license)

Yahoo! JavaScript UI Components


 

Animation Connection Manager DOM Drag and Drop Event

Calendar Slider TreeView


JSON Serialization

Provides a way to retrieve Web
- Excellent way to write Ajax applications because the data is in native JavaScript format - This happens to be the same way that Atlas communicates between client and server

Referencing a JSON-emitting service in a <script> tag enables you to consume data without parsing or proxying
- Be careful that the source of the JSON is trustworthy



Yahoo’s Mission

To help users:
Find Use Share Expand ...all human knowledge


Building a Participation Platform

Today we provide a number of “find” services that are usable on and off Yahoo!
- Now we must address “use,” “share” and “expand” - This will enable a new wave of user participation based on the Yahoo! platform

Services we provide to facilitate this must be:
- Bidirectional - Personalized - Secure

Authentication and personal information

One of the strengths of Yahoo! is personalization
- Enabling users to create, store and share information, and to personalize their experience

 

We are now extending this to third-party applications and Web sites Through secure authentication, we will enable Yahoo! users to get access to Yahoo! data in a way that is ubiquitous, easy, open, and secure

Your application or Web site

Retrieve Web search results

Yahoo! Search


Your application or Web site

Retrieve photos

Upload, organize, tag and share photos

Yahoo! Photos


Browser-Based Authentication for Yahoo! Web Services
 

Provides access to Yahoo! Web services through third-party Web sites How it works:
- User discovers a third-party Web site - User authenticates with Yahoo! (not the third-party developer) - Yahoo! sends a token to the developer that enables her to make API calls on the user’s behalf - Yahoo! never shares the user name and password with the third-party developer - User can revoke permission from the third-party developer at any time

How Browser-Based Authentication Works




Yahoo! Application Gallery

The Yahoo! Developer Network’s first consumer-oriented site Showcases applications built using Yahoo! technology
- Widgets, Web sites, plug-ins, etc.

Unifies the (many) disparate collections of applications that have been maintained here and there throughout Yahoo!
- Flickr, Search, Widgets, Maps, etc., etc.

Application Gallery Features

Developers can submit links and descriptions of their applications Add tags to assist with discovery of applications, sites and widgets Users can rate and review applications
- We’ll feature the highest-rated apps and developers

Search for applications powered by the greatest search engine in the world, Yahoo! Search


What’s Next?

Many of the simple, obvious, read-only integration points with Yahoo! are completed and available today However: What we’ve done to date is only the tip of the iceberg


Coming Soon: Calendar API

Yahoo! Calendar enables users to store calendar events, scheduled recurring appointments, share calendars across multiple users, and set alerts The Yahoo! Calendar API enables Calendar integration with your Web site
- Will utilize Browser-Based Authentication - JSON and iCal support coming soon - Other formats will appear later in the year

Coming Soon: Yahoo! Photos API

A read/write API for the most popular photosharing site in the world, Yahoo! Photos Will utilize Browser-Based Authentication


Questions? Comments?

 

Yahoo! Developer Network: My blog: These slides: Contact me:


Sign up to vote on this title
UsefulNot useful