SlideShare una empresa de Scribd logo
1 de 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/

Más contenido relacionado

Destacado (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 a 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 a 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)
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 

UCLA HACKU'11

Notas del editor

  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