UCLA HACKU’11


  Gopal Venkatesan a.k.a g13n
          Yahoo! Inc.
Hello friends!
whoami
whoami
• about.me/g13n
whoami
• about.me/g13n
• Yahoo
whoami
• about.me/g13n
• Yahoo
• F2E and Web performance evangelist
whoami
• about.me/g13n
• Yahoo
• F2E and Web performance evangelist
• Loves Unix and JavaScript (weird?)
whoami
• about.me/g13n
• Yahoo
• F2E and Web performance evangelist
• Loves Unix and JavaScript (weird?)
• Loves talking on I18n and L10n
whoami
• about.me/g13n
• Yahoo
• F2E and Web performance evangelist
• Loves Unix and JavaScript (weird?)
• Loves talking on I18n and L10n
• Hacker :-)
Overview
Overview

• Introduction to Yahoo! Developer Network
  (YDN)
Overview

• Introduction to Yahoo! Developer Network
  (YDN)
• YQL - the language for the Web
Overview

• Introduction to Yahoo! Developer Network
  (YDN)
• YQL - the language for the Web
• Hacking (on) Yahoo! Mail
Yahoo! Developer Network
Yahoo! loves developers
... and Yahoo! is open
developer.yahoo.com
One place for all of
Yahoo! Public APIs
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
APIs, Tools, Libraries,
  Frameworks, ...
All APIs speak JSON and
          XML
Here be dragons
YQL is the answer,
what’s your question?
Lets admit, there are
     too many Apps
providing too many APIs
YQL - Whirlwind Intro
YQL - Whirlwind Intro
• It is a web service providing a SQL like
  language to interface with APIs
YQL - Whirlwind Intro
• It is a web service providing a SQL like
  language to interface with APIs

• Supports query, filter, join, and update
  across all those innumerable APIs
YQL - Whirlwind Intro
• It is a web service providing a SQL like
  language to interface with APIs

• Supports query, filter, join, and update
  across all those innumerable APIs

• You can transform RSS, XML to JSON
  and vice-versa
You want some RSS
  feed in JSON?
You want some RSS
           feed in JSON?
http://query.yahooapis.com/v1/public/yql?q=select%20*
%20from%20rss%20where%20url%3D'http%3A%2F
%2Frss.news.yahoo.com%2Frss%2Ftopstories'&format=json
You want some RSS
           feed in JSON?
http://query.yahooapis.com/v1/public/yql?q=select%20*
%20from%20rss%20where%20url%3D'http%3A%2F
%2Frss.news.yahoo.com%2Frss%2Ftopstories'&format=json


               Looks scary? Well that’s just
       select * from rss where url=‘your-rss-feed’
http://developer.yahoo.com/yql/console
Please to be contributing,
http://github.com/yql/yql-tables/
Yahoo! Mail Applications
Lets developers extend
 Yahoo! Mail through a
  Simple JavaScript API
What’s possible
What’s possible
• Dynamically change how messages are
  rendered
What’s possible
• Dynamically change how messages are
  rendered
• Call external WebServices to enhance e-mail
  messages
What’s possible
• Dynamically change how messages are
  rendered
• Call external WebServices to enhance e-mail
  messages
• Launch your App specific UI within Yahoo!
  Mail chrome
What’s possible
• Dynamically change how messages are
  rendered
• Call external WebServices to enhance e-mail
  messages
• Launch your App specific UI within Yahoo!
  Mail chrome
• Completely customize compose and read
  messages using events
Here’s an App ...
I have masked the order details
Pre-requisites
Pre-requisites

• PHP (5.x is better)
• Although not pre-requisite a Unix-like OS
  is always better
• ymdt (Yahoo! Mail Developer Toolkit) - go
  download from here
First Step
Building your First App
Testing our First App
Testing our First App (contd.)
Testing our First App (contd.)
The readme.txt in the project
directory briefly describes the project
   files and the directory structure
Other Skeleton Apps
One more thing ...
One more thing ...

• Use “ymdt dev” to enable dev-o-matic
  mode
One more thing ...

• Use “ymdt dev” to enable dev-o-matic
  mode
 • Syncs code with Yahoo! Mail development
    server
One more thing ...

• Use “ymdt dev” to enable dev-o-matic
  mode
 • Syncs code with Yahoo! Mail development
    server
 • Continuously monitors the App directory
    for changes and updates server
Resources


• YQL - http://developer.yahoo.com/yql/
• Mail Applications - http://
  developer.yahoo.com/mailapplications/
Don’t delay, HACK today
g{tàËá tÄÄ yÉÄ~á4
Image Credits
• http://discoverlosangeles.com/photos.html
• http://picsbox.biz/key/ucla%20clothing
  %20prices
• http://www.flickr.com/photos/phploveme/
  2957594315/sizes/l/in/photostream/
• tipsfromgeek.com
• http://www.websoftwareqa.com/2010/07/

UCLA HACKU'11