SlideShare a Scribd company logo
1 of 74
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/

More Related Content

Viewers also liked (8)

20 Cambios en el Marketing Móvil en los Pròximos Años
20 Cambios en el Marketing Móvil en los Pròximos Años20 Cambios en el Marketing Móvil en los Pròximos Años
20 Cambios en el Marketing Móvil en los Pròximos Años
 
Cti prospectus
Cti prospectusCti prospectus
Cti prospectus
 
Social Day October 2011
Social Day October 2011Social Day October 2011
Social Day October 2011
 
ESRI UC 2010 - ArcGIS Server Virtualization and High-Performance Computing
ESRI UC 2010 - ArcGIS Server Virtualization and High-Performance ComputingESRI UC 2010 - ArcGIS Server Virtualization and High-Performance Computing
ESRI UC 2010 - ArcGIS Server Virtualization and High-Performance Computing
 
Cti prospectus
Cti prospectusCti prospectus
Cti prospectus
 
Cal. provas 2010
Cal. provas 2010Cal. provas 2010
Cal. provas 2010
 
Introduction to W3C I18N Best Practices
Introduction to W3C I18N Best PracticesIntroduction to W3C I18N Best Practices
Introduction to W3C I18N Best Practices
 
Setting Up Facebook Ads
Setting Up Facebook AdsSetting Up Facebook Ads
Setting Up Facebook Ads
 

Similar to UCLA HACKU'11

Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Pierre Joye
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
Hyun-woo Park
 

Similar to UCLA HACKU'11 (20)

Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
Yahoo xtra Open Technolgies
Yahoo xtra Open TechnolgiesYahoo xtra Open Technolgies
Yahoo xtra Open Technolgies
 
Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to Linux
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016
 
Intro to WordPress Plugins
Intro to WordPress PluginsIntro to WordPress Plugins
Intro to WordPress Plugins
 
CommonJS Everywhere (Wakanday 2011)
CommonJS Everywhere (Wakanday 2011)CommonJS Everywhere (Wakanday 2011)
CommonJS Everywhere (Wakanday 2011)
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
Walter api
Walter apiWalter api
Walter api
 
GoralSoft
GoralSoftGoralSoft
GoralSoft
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in Production
 
R Programming Overview
R Programming Overview R Programming Overview
R Programming Overview
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application Development
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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...
 
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, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

UCLA HACKU'11

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n