SlideShare a Scribd company logo
1 of 66
Google APIs By Mohammed Farrag Shibin Al-Kawm GTUG Admin
What is API ?! About Google API. Start Using Google API. Google API in different languages. Manage your business using Google API. How Google builds API ?! Future of Google API. Google API Code Explorer. Google API Periodic Table. Google Competitions. Be Googler !! Overview
Google API
Allows search over Google’s entire index of billions of web pages. Enabling developers to give customers more information with the interactivity consumers and business users expect. Uses SOAP - Simple Object Access Protocol   – used for information exchange (esp. http). Google APIs
• But:   – Limit of 1,000 queries per day (without special arrangement).   – Limit of 10 results per query (top 10) • Can be overcome somewhat through query refinement).
• Register http://code.google.com/intl/ar/apis/base/signup.html • Agree to terms and conditions • Get key   – A 32 byte code   – Needed for each query submission   – E-mailed to you • Download API Getting Started
Google Java API • API for Java is an executable jar • Set appropriate classpath • Some sample code: import com.google.soap.search.*; … GoogleSearchgoogs = new GoogleSearch(); googs.setKey(myGoogleKey); googs.setQueryString(“TREC 2005 papers"); GoogleSearchResultgoogResults = googs.doSearch(); GoogleSearchResultelementr.getResultElements(); max = googResults.getEstimatedTotalResultsCount(); GoogleSearchResultElementmyresults[] = googResults.getResultElements(); String a_URL = (String) myresults[1].getURL(); Google Java API
So How do I Query Google? #!/usr/local/bin/perl –w use SOAP::Lite; # Configuration $key   = "Your Key Goes Here"; # Initialize with local SOAP::Lite file $service = SOAP::Lite     -> service('file:GoogleSearch.wsdl'); $query= “duluth”;
Search Contd… $result = $service     -> doGoogleSearch(                       $key,                              # key                       $query,                          # search query                       0,                                   # start results                       10,                                # max results                       "false",                          # filter: boolean                       "",                                  # restrict (string)                       "false",                          # safeSearch: boolean                       "",                                  # lr                       "",                                  # ie                       ""                                   # oe                       );
Limit is 1,000 queries   – Catch GoogleSearchFault, or,   – Local counter to track   – In any case, put thread to sleep for 24 hrs.    • Google server may get overloaded   – In error processing, capture “Please try again in 30 seconds”   – Put in 30 second sleep, and retry query Programming Notes
getEstimatedTotalResultsCount max = googResults.getestimatedTotalresultsCount(); – max could be more than 10     – max is an estimate; could be wrong • Search only over main index (no GoogleScholar, Froogle, etc..).
Geo-Google
The world is 3D! Users implicitly understand 3D from... the real world! Very effective in communicating geospatial information. Google Geo APIs
Google Maps http://code.google.com/intl/ar/apis/maps/
A Year In Maps API Time Wikipedia and Panoramio API Layers Find IP-based location through API Maps API for Flash AIR Support 17 new areas covered by StreetView API Monetize your mashup with Googlebar (Local Search) Mashups work in iPhone browser Earth API Launches Walking Directions Added to API February March April May May June July August September October November December January Enable API sites to easily replicate maps.google.com  Reverse Geocoding API Launched SSL support in Maps API Premier Maps API for Flash Launches MapMaker tiles in API Maps API exits beta Static Maps API Support Satellite Tiles MarkerClusterer Launches 16
A Year in Maps API Time: More Security Location August 2008: Launched SSL for Maps API Premier <Insert great example of totally secure site here that wants us to broadcast their site to everyone> 17
A Year in Maps API Time: More Layers September 2008: Launched GLayer for Wikipedia and Panoramio 18
19 A Year In Maps API Time: More Imagery/Data September 2008: Static Maps API Supports Satellite, Hybrid, and Terrain AND Geoeye-1 Launches
A Year in Maps API Time: More Geocoding October 2008: Launched reverse geocoding in the API 20
A Year in Maps API Time: More Flash November 2008: Launched AIR Support in Maps API for Flash 21
A Year in Maps API Time: More Data (MapMaker) December 2008: Launched MapMaker tiles in the API Lahore, Pakistan in Google Maps(circa Where 2.0 2008) Lahore, Pakistan in Google Maps(circa Where 2.0 2009) 22
A Year in Maps API Time: More Platforms January 2009: Existing mashups work in iPhone browser ,[object Object]
JavaScript Maps API (iPhone)
MapView for Android applications
Apple Announces Launch of iPhone SDK 3.0 with MapKit23
Example
http://code.google.com/ http://www.google.com/apis/maps Google-Maps-API Developer Forum: http://groups.google.com/group/Google-Maps-API?lnk=li Maps API blog: http://googlemapsapi.blogspot.com/ Mike William’s tutorials: http://www.econym.demon.co.uk/googlemaps/ http://del.icio.us/chanezon/google+maps Google Maps Resources
Google Earth API http://code.google.com/intl/ar/apis/earth/
1. Search panel - Use this to find places and directions and manage search results. Google Earth EC may display additional tabs here. 2. Overview map - Use this for an additional perspective of the Earth. 3. Hide/Show sidebar - Click this to conceal or the display the side bar (Search, Places and Layers panels). 4. Placemark - Click this to add a placemark for a location. 5. Polygon - Click this to add a polygon. 6. Path - Click this to add a path (line or lines). 7. Image Overlay - Click this to add an image overlay on the Earth.
8. Measure - Click this to measure a distance or area size. 9. Email - Click this to email a view or image. 10. Print - Click this to print the current view of the Earth. 11. Show in Google Maps - Click this to show the current view in Google Maps in your web browser 12. Navigation controls - Use these to tilt, zoom and move around your viewpoint (see below). 13. Layers panel - Use this to display points of interest. 14. Places panel - Use this to locate, save, organize and revisit placemarks.
15. 3D Viewer - View the globe and its terrain in this window. 16. Status bar - View coordinate, elevation and imagery streaming status here.
View an image of your home, school or any place on Earth - Click Fly To. Enter the location in the Go on a tour of the world  Get driving directions from one place to another and fly (follow) the route - See Getting Directions View other cool locations and features created by other Google Earth users - In the Layers panel.  Go Through Streets, See live show. What I can do with Google Earth ?!
Watch This !! What about streets ?!
Google geo products aim to utilize the effectiveness of 3D The world is 3D!
Building Maker - create 3D SketchUp - refine 3D 3D warehouse - store 3D Earth - present 3D Google API for 3D
Building Maker sketchup.google.com/3dwarehouse/buildingmaker SketchUp sketchup.google.com 3D warehouse sketchup.google.com/3dwarehouse Earth earth.google.com Geo 3D Pipeline
Google AJAX Search API http://code.google.com/intl/ar/apis/loader/signup.html
function OnLoad() { var sc = new GSearchControl(); sc.addSearcher(new GlocalSearch()); sc.addSearcher(new GwebSearch()); sc.addSearcher(new GvideoSearch()); sc.addSearcher(new GblogSearch()); sc.draw(searchContainer); sc.execute(“Seattle Mariners”); } <body onload=“OnLoad()”> <div id=“searchContainer”/> </body> “Hello World”
Architecture Block Diagram
Example
Google Wave http://code.google.com/intl/ar/apis/wave/
Wave is collaboration on: Business documents, processes, meetings Education learning, research, projects Consumer photo albums, party planning, community groups, hobbies What is Google Wave?
Wave is communication that streamlines your collaboration. Wave is live and real-time. Simply, It’s Facebook + MediaFire + Yahoo Messenger + Elearning.
What is rich content? Any external content added to a wave. photos, music, video documents, diagrams, charts, tables custom file types: text, xml, csv
With rich content, users want to ... import it view it play it share it edit it convert it export it publish it synchronize it and more...
Google Analytics Web Interface http://code.google.com/intl/ar/apis/analytics/
Google Analytics Web Interface
AdWords API AdSense API Google Checkout Fast, secure checkout across the Web YouTube API Google Translate API And many more !! Other Google APIs
Users can write programs and applications to perform functions in each of these five areas: Account management – change user preferences such as email address, password and more at the account level. Campaign management – manage bids, update creative and other campaign operations Reporting – generate reports to integrate directly into local databases Traffic estimation – receive traffic estimates for individual keywords Keyword generation – generate keywords from a base keyword or a web page AdWords API
REST == Representational State Transfer Client and servers transferring resource representations Good for cached and layered systems (like the web) In HTTP, this means verbs acting on resource URIs GET http://gdata.youtube.com/feeds/api/channels How Google Builds API ?!
SOAP is language independent
WSDL Web Services Description Language The standard format for describing a web service.  Expressed in XML, a WSDL definition describes how to access a web service and what operations it will perform.  This is the most important file (only) to use  the API with Perl.
SOAP – Simple Object Access Protocol SOAP stands for Simple Object Access Protocol  SOAP is a communication protocol  SOAP is for communication between applications  SOAP is a format for sending messages  SOAP is designed to communicate via Internet  SOAP is platform independent  SOAP is based on XML  SOAP will be developed as a W3C standard
Future of Google API
Tool to test your API without the need to download it. It does not include all the APIs but Google is working on it. Can be accessed from https://code.google.com/apis/explorer/ Google API Explorer
Google API Periodic Table http://code.google.com/intl/ar/more/table/

More Related Content

Viewers also liked

第12週-2
第12週-2第12週-2
第12週-2fudy9015
 
Collaborative Assessment: Working Together Toward Institutional Change
Collaborative Assessment: Working Together Toward Institutional ChangeCollaborative Assessment: Working Together Toward Institutional Change
Collaborative Assessment: Working Together Toward Institutional ChangeElizabeth Nesius
 
Kenzy klauser vet speech and preso
Kenzy klauser vet speech and presoKenzy klauser vet speech and preso
Kenzy klauser vet speech and presoDavid R. Klauser
 
Oracle Exec Summary 7000 Unified Storage
Oracle Exec Summary 7000 Unified StorageOracle Exec Summary 7000 Unified Storage
Oracle Exec Summary 7000 Unified StorageDavid R. Klauser
 
people hacking: opensource biz etiquette
people hacking: opensource biz etiquettepeople hacking: opensource biz etiquette
people hacking: opensource biz etiquettesarahnovotny
 
Europa Del Settecento
Europa Del SettecentoEuropa Del Settecento
Europa Del Settecentomapaa
 
Lecture 5 Kernel Development
Lecture 5 Kernel DevelopmentLecture 5 Kernel Development
Lecture 5 Kernel DevelopmentMohammed Farrag
 
Is it Hard Money or Hard to Get Money?
Is it Hard Money or Hard to Get Money? Is it Hard Money or Hard to Get Money?
Is it Hard Money or Hard to Get Money? Joseph Andahazy
 
Soc. Unit I, Packet 2
Soc. Unit I, Packet 2Soc. Unit I, Packet 2
Soc. Unit I, Packet 2NHSDAnderson
 
Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Mike Willbanks
 
Welcome to msp information night 2013
Welcome to msp information night 2013Welcome to msp information night 2013
Welcome to msp information night 2013Bret Biornstad
 
Knowing your trainees
Knowing your traineesKnowing your trainees
Knowing your traineesHamdan Hashim
 
Dg Analysis Haiti Earthquake 15 Jan2010
Dg Analysis Haiti Earthquake 15 Jan2010Dg Analysis Haiti Earthquake 15 Jan2010
Dg Analysis Haiti Earthquake 15 Jan2010Geo Acts
 
Marriott Miami Airport Campus Updated
Marriott Miami Airport Campus UpdatedMarriott Miami Airport Campus Updated
Marriott Miami Airport Campus Updateddlopez9
 
סטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמהסטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמהIdo Green
 

Viewers also liked (19)

第12週-2
第12週-2第12週-2
第12週-2
 
Collaborative Assessment: Working Together Toward Institutional Change
Collaborative Assessment: Working Together Toward Institutional ChangeCollaborative Assessment: Working Together Toward Institutional Change
Collaborative Assessment: Working Together Toward Institutional Change
 
Kenzy klauser vet speech and preso
Kenzy klauser vet speech and presoKenzy klauser vet speech and preso
Kenzy klauser vet speech and preso
 
Startup_10_Mosse_140215
Startup_10_Mosse_140215Startup_10_Mosse_140215
Startup_10_Mosse_140215
 
Oracle Exec Summary 7000 Unified Storage
Oracle Exec Summary 7000 Unified StorageOracle Exec Summary 7000 Unified Storage
Oracle Exec Summary 7000 Unified Storage
 
people hacking: opensource biz etiquette
people hacking: opensource biz etiquettepeople hacking: opensource biz etiquette
people hacking: opensource biz etiquette
 
Europa Del Settecento
Europa Del SettecentoEuropa Del Settecento
Europa Del Settecento
 
0 to enterprise
0 to enterprise0 to enterprise
0 to enterprise
 
Odissea per a 4 rt de la eso
Odissea per a  4 rt de la esoOdissea per a  4 rt de la eso
Odissea per a 4 rt de la eso
 
Lecture 5 Kernel Development
Lecture 5 Kernel DevelopmentLecture 5 Kernel Development
Lecture 5 Kernel Development
 
Is it Hard Money or Hard to Get Money?
Is it Hard Money or Hard to Get Money? Is it Hard Money or Hard to Get Money?
Is it Hard Money or Hard to Get Money?
 
Soc. Unit I, Packet 2
Soc. Unit I, Packet 2Soc. Unit I, Packet 2
Soc. Unit I, Packet 2
 
Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012
 
Welcome to msp information night 2013
Welcome to msp information night 2013Welcome to msp information night 2013
Welcome to msp information night 2013
 
Knowing your trainees
Knowing your traineesKnowing your trainees
Knowing your trainees
 
Dg Analysis Haiti Earthquake 15 Jan2010
Dg Analysis Haiti Earthquake 15 Jan2010Dg Analysis Haiti Earthquake 15 Jan2010
Dg Analysis Haiti Earthquake 15 Jan2010
 
Marriott Miami Airport Campus Updated
Marriott Miami Airport Campus UpdatedMarriott Miami Airport Campus Updated
Marriott Miami Airport Campus Updated
 
סטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמהסטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמה
 
5th Grade
5th Grade5th Grade
5th Grade
 

Similar to Google APPs and APIs

Google Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 yearsGoogle Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 yearsPatrick Chanezon
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIsPamela Fox
 
The Future of SEO #LearnInbound
The Future of SEO #LearnInboundThe Future of SEO #LearnInbound
The Future of SEO #LearnInboundBritney Muller
 
South America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and MediaSouth America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and MediaPatrick Chanezon
 
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIsFrom Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIsApigee | Google Cloud
 
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...Rif Kiamil
 
"Managing API Complexity". Matthew Flaming, Temboo
"Managing API Complexity". Matthew Flaming, Temboo"Managing API Complexity". Matthew Flaming, Temboo
"Managing API Complexity". Matthew Flaming, TembooYandex
 
Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...
Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...
Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...Salvatore Iaconesi
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxNgLQun
 
[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps APIGoogle Cloud Platform - Japan
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsRomain Guy
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformApigee | Google Cloud
 
Actions On Google - How? Why?
Actions On Google - How? Why?Actions On Google - How? Why?
Actions On Google - How? Why?Ido Green
 
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014Green Light for the Apps with Calaba.sh - DroidCon Paris 2014
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014Jean-Loup Yu
 
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011traactivity
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathonmarvin337
 

Similar to Google APPs and APIs (20)

Google Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 yearsGoogle Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 years
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIs
 
The Future of SEO #LearnInbound
The Future of SEO #LearnInboundThe Future of SEO #LearnInbound
The Future of SEO #LearnInbound
 
South America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and MediaSouth America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and Media
 
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIsFrom Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
 
Swift meetup22june2015
Swift meetup22june2015Swift meetup22june2015
Swift meetup22june2015
 
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
 
"Managing API Complexity". Matthew Flaming, Temboo
"Managing API Complexity". Matthew Flaming, Temboo"Managing API Complexity". Matthew Flaming, Temboo
"Managing API Complexity". Matthew Flaming, Temboo
 
Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...
Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...
Cross Media design scenarios: smartphones and tablets, a workshop at ISIA Des...
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
Google Developers Overview Deck 2015
Google Developers Overview Deck 2015Google Developers Overview Deck 2015
Google Developers Overview Deck 2015
 
[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb Highlights
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps Platform
 
Actions On Google - How? Why?
Actions On Google - How? Why?Actions On Google - How? Why?
Actions On Google - How? Why?
 
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014Green Light for the Apps with Calaba.sh - DroidCon Paris 2014
Green Light for the Apps with Calaba.sh - DroidCon Paris 2014
 
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 

More from Mohammed Farrag

Resume for Mohamed Farag
Resume for Mohamed FaragResume for Mohamed Farag
Resume for Mohamed FaragMohammed Farrag
 
Mum Article Recognition for Mohamed Farag
Mum Article Recognition for Mohamed FaragMum Article Recognition for Mohamed Farag
Mum Article Recognition for Mohamed FaragMohammed Farrag
 
Artificial Intelligence Programming in Art by Mohamed Farag
Artificial Intelligence Programming in Art by Mohamed FaragArtificial Intelligence Programming in Art by Mohamed Farag
Artificial Intelligence Programming in Art by Mohamed FaragMohammed Farrag
 
The practices, challenges and opportunities of board composition and leadersh...
The practices, challenges and opportunities of board composition and leadersh...The practices, challenges and opportunities of board composition and leadersh...
The practices, challenges and opportunities of board composition and leadersh...Mohammed Farrag
 
Confirmation letter info tech 2013(1)
Confirmation letter info tech 2013(1)Confirmation letter info tech 2013(1)
Confirmation letter info tech 2013(1)Mohammed Farrag
 
Lecture 6 Kernel Debugging + Ports Development
Lecture 6 Kernel Debugging + Ports DevelopmentLecture 6 Kernel Debugging + Ports Development
Lecture 6 Kernel Debugging + Ports DevelopmentMohammed Farrag
 
FreeBSD Jail Complete Example
FreeBSD Jail Complete ExampleFreeBSD Jail Complete Example
FreeBSD Jail Complete ExampleMohammed Farrag
 
Lecture 4 FreeBSD Security + FreeBSD Jails + MAC Security Framework
Lecture 4 FreeBSD Security + FreeBSD Jails + MAC Security FrameworkLecture 4 FreeBSD Security + FreeBSD Jails + MAC Security Framework
Lecture 4 FreeBSD Security + FreeBSD Jails + MAC Security FrameworkMohammed Farrag
 
Lecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administrationLecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administrationMohammed Farrag
 
Lecture2 process structure and programming
Lecture2   process structure and programmingLecture2   process structure and programming
Lecture2 process structure and programmingMohammed Farrag
 

More from Mohammed Farrag (16)

Resume for Mohamed Farag
Resume for Mohamed FaragResume for Mohamed Farag
Resume for Mohamed Farag
 
Mum Article Recognition for Mohamed Farag
Mum Article Recognition for Mohamed FaragMum Article Recognition for Mohamed Farag
Mum Article Recognition for Mohamed Farag
 
Create 2015 Event
Create 2015 EventCreate 2015 Event
Create 2015 Event
 
Artificial Intelligence Programming in Art by Mohamed Farag
Artificial Intelligence Programming in Art by Mohamed FaragArtificial Intelligence Programming in Art by Mohamed Farag
Artificial Intelligence Programming in Art by Mohamed Farag
 
The practices, challenges and opportunities of board composition and leadersh...
The practices, challenges and opportunities of board composition and leadersh...The practices, challenges and opportunities of board composition and leadersh...
The practices, challenges and opportunities of board composition and leadersh...
 
Confirmation letter info tech 2013(1)
Confirmation letter info tech 2013(1)Confirmation letter info tech 2013(1)
Confirmation letter info tech 2013(1)
 
[ArabBSD] Unix Basics
[ArabBSD] Unix Basics[ArabBSD] Unix Basics
[ArabBSD] Unix Basics
 
Lecture 6 Kernel Debugging + Ports Development
Lecture 6 Kernel Debugging + Ports DevelopmentLecture 6 Kernel Debugging + Ports Development
Lecture 6 Kernel Debugging + Ports Development
 
FreeBSD Jail Complete Example
FreeBSD Jail Complete ExampleFreeBSD Jail Complete Example
FreeBSD Jail Complete Example
 
Lecture 4 FreeBSD Security + FreeBSD Jails + MAC Security Framework
Lecture 4 FreeBSD Security + FreeBSD Jails + MAC Security FrameworkLecture 4 FreeBSD Security + FreeBSD Jails + MAC Security Framework
Lecture 4 FreeBSD Security + FreeBSD Jails + MAC Security Framework
 
FreeBSD Handbook
FreeBSD HandbookFreeBSD Handbook
FreeBSD Handbook
 
Lecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administrationLecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administration
 
Lecture2 process structure and programming
Lecture2   process structure and programmingLecture2   process structure and programming
Lecture2 process structure and programming
 
Lecture1 Introduction
Lecture1  IntroductionLecture1  Introduction
Lecture1 Introduction
 
Master resume
Master resumeMaster resume
Master resume
 
Mohammed Farrag Resume
Mohammed Farrag ResumeMohammed Farrag Resume
Mohammed Farrag Resume
 

Recently uploaded

ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxRosabel UA
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxruthvilladarez
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 

Recently uploaded (20)

ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 

Google APPs and APIs

  • 1. Google APIs By Mohammed Farrag Shibin Al-Kawm GTUG Admin
  • 2. What is API ?! About Google API. Start Using Google API. Google API in different languages. Manage your business using Google API. How Google builds API ?! Future of Google API. Google API Code Explorer. Google API Periodic Table. Google Competitions. Be Googler !! Overview
  • 4. Allows search over Google’s entire index of billions of web pages. Enabling developers to give customers more information with the interactivity consumers and business users expect. Uses SOAP - Simple Object Access Protocol – used for information exchange (esp. http). Google APIs
  • 5. • But: – Limit of 1,000 queries per day (without special arrangement). – Limit of 10 results per query (top 10) • Can be overcome somewhat through query refinement).
  • 6. • Register http://code.google.com/intl/ar/apis/base/signup.html • Agree to terms and conditions • Get key – A 32 byte code – Needed for each query submission – E-mailed to you • Download API Getting Started
  • 7. Google Java API • API for Java is an executable jar • Set appropriate classpath • Some sample code: import com.google.soap.search.*; … GoogleSearchgoogs = new GoogleSearch(); googs.setKey(myGoogleKey); googs.setQueryString(“TREC 2005 papers"); GoogleSearchResultgoogResults = googs.doSearch(); GoogleSearchResultelementr.getResultElements(); max = googResults.getEstimatedTotalResultsCount(); GoogleSearchResultElementmyresults[] = googResults.getResultElements(); String a_URL = (String) myresults[1].getURL(); Google Java API
  • 8. So How do I Query Google? #!/usr/local/bin/perl –w use SOAP::Lite; # Configuration $key = "Your Key Goes Here"; # Initialize with local SOAP::Lite file $service = SOAP::Lite -> service('file:GoogleSearch.wsdl'); $query= “duluth”;
  • 9. Search Contd… $result = $service -> doGoogleSearch( $key, # key $query, # search query 0, # start results 10, # max results "false", # filter: boolean "", # restrict (string) "false", # safeSearch: boolean "", # lr "", # ie "" # oe );
  • 10. Limit is 1,000 queries – Catch GoogleSearchFault, or, – Local counter to track – In any case, put thread to sleep for 24 hrs. • Google server may get overloaded – In error processing, capture “Please try again in 30 seconds” – Put in 30 second sleep, and retry query Programming Notes
  • 11. getEstimatedTotalResultsCount max = googResults.getestimatedTotalresultsCount(); – max could be more than 10 – max is an estimate; could be wrong • Search only over main index (no GoogleScholar, Froogle, etc..).
  • 13. The world is 3D! Users implicitly understand 3D from... the real world! Very effective in communicating geospatial information. Google Geo APIs
  • 15.
  • 16. A Year In Maps API Time Wikipedia and Panoramio API Layers Find IP-based location through API Maps API for Flash AIR Support 17 new areas covered by StreetView API Monetize your mashup with Googlebar (Local Search) Mashups work in iPhone browser Earth API Launches Walking Directions Added to API February March April May May June July August September October November December January Enable API sites to easily replicate maps.google.com Reverse Geocoding API Launched SSL support in Maps API Premier Maps API for Flash Launches MapMaker tiles in API Maps API exits beta Static Maps API Support Satellite Tiles MarkerClusterer Launches 16
  • 17. A Year in Maps API Time: More Security Location August 2008: Launched SSL for Maps API Premier <Insert great example of totally secure site here that wants us to broadcast their site to everyone> 17
  • 18. A Year in Maps API Time: More Layers September 2008: Launched GLayer for Wikipedia and Panoramio 18
  • 19. 19 A Year In Maps API Time: More Imagery/Data September 2008: Static Maps API Supports Satellite, Hybrid, and Terrain AND Geoeye-1 Launches
  • 20. A Year in Maps API Time: More Geocoding October 2008: Launched reverse geocoding in the API 20
  • 21. A Year in Maps API Time: More Flash November 2008: Launched AIR Support in Maps API for Flash 21
  • 22. A Year in Maps API Time: More Data (MapMaker) December 2008: Launched MapMaker tiles in the API Lahore, Pakistan in Google Maps(circa Where 2.0 2008) Lahore, Pakistan in Google Maps(circa Where 2.0 2009) 22
  • 23.
  • 25. MapView for Android applications
  • 26. Apple Announces Launch of iPhone SDK 3.0 with MapKit23
  • 28. http://code.google.com/ http://www.google.com/apis/maps Google-Maps-API Developer Forum: http://groups.google.com/group/Google-Maps-API?lnk=li Maps API blog: http://googlemapsapi.blogspot.com/ Mike William’s tutorials: http://www.econym.demon.co.uk/googlemaps/ http://del.icio.us/chanezon/google+maps Google Maps Resources
  • 29. Google Earth API http://code.google.com/intl/ar/apis/earth/
  • 30.
  • 31. 1. Search panel - Use this to find places and directions and manage search results. Google Earth EC may display additional tabs here. 2. Overview map - Use this for an additional perspective of the Earth. 3. Hide/Show sidebar - Click this to conceal or the display the side bar (Search, Places and Layers panels). 4. Placemark - Click this to add a placemark for a location. 5. Polygon - Click this to add a polygon. 6. Path - Click this to add a path (line or lines). 7. Image Overlay - Click this to add an image overlay on the Earth.
  • 32. 8. Measure - Click this to measure a distance or area size. 9. Email - Click this to email a view or image. 10. Print - Click this to print the current view of the Earth. 11. Show in Google Maps - Click this to show the current view in Google Maps in your web browser 12. Navigation controls - Use these to tilt, zoom and move around your viewpoint (see below). 13. Layers panel - Use this to display points of interest. 14. Places panel - Use this to locate, save, organize and revisit placemarks.
  • 33. 15. 3D Viewer - View the globe and its terrain in this window. 16. Status bar - View coordinate, elevation and imagery streaming status here.
  • 34. View an image of your home, school or any place on Earth - Click Fly To. Enter the location in the Go on a tour of the world Get driving directions from one place to another and fly (follow) the route - See Getting Directions View other cool locations and features created by other Google Earth users - In the Layers panel. Go Through Streets, See live show. What I can do with Google Earth ?!
  • 35. Watch This !! What about streets ?!
  • 36. Google geo products aim to utilize the effectiveness of 3D The world is 3D!
  • 37. Building Maker - create 3D SketchUp - refine 3D 3D warehouse - store 3D Earth - present 3D Google API for 3D
  • 38. Building Maker sketchup.google.com/3dwarehouse/buildingmaker SketchUp sketchup.google.com 3D warehouse sketchup.google.com/3dwarehouse Earth earth.google.com Geo 3D Pipeline
  • 39. Google AJAX Search API http://code.google.com/intl/ar/apis/loader/signup.html
  • 40. function OnLoad() { var sc = new GSearchControl(); sc.addSearcher(new GlocalSearch()); sc.addSearcher(new GwebSearch()); sc.addSearcher(new GvideoSearch()); sc.addSearcher(new GblogSearch()); sc.draw(searchContainer); sc.execute(“Seattle Mariners”); } <body onload=“OnLoad()”> <div id=“searchContainer”/> </body> “Hello World”
  • 44. Wave is collaboration on: Business documents, processes, meetings Education learning, research, projects Consumer photo albums, party planning, community groups, hobbies What is Google Wave?
  • 45. Wave is communication that streamlines your collaboration. Wave is live and real-time. Simply, It’s Facebook + MediaFire + Yahoo Messenger + Elearning.
  • 46. What is rich content? Any external content added to a wave. photos, music, video documents, diagrams, charts, tables custom file types: text, xml, csv
  • 47. With rich content, users want to ... import it view it play it share it edit it convert it export it publish it synchronize it and more...
  • 48. Google Analytics Web Interface http://code.google.com/intl/ar/apis/analytics/
  • 49. Google Analytics Web Interface
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. AdWords API AdSense API Google Checkout Fast, secure checkout across the Web YouTube API Google Translate API And many more !! Other Google APIs
  • 55. Users can write programs and applications to perform functions in each of these five areas: Account management – change user preferences such as email address, password and more at the account level. Campaign management – manage bids, update creative and other campaign operations Reporting – generate reports to integrate directly into local databases Traffic estimation – receive traffic estimates for individual keywords Keyword generation – generate keywords from a base keyword or a web page AdWords API
  • 56.
  • 57. REST == Representational State Transfer Client and servers transferring resource representations Good for cached and layered systems (like the web) In HTTP, this means verbs acting on resource URIs GET http://gdata.youtube.com/feeds/api/channels How Google Builds API ?!
  • 58. SOAP is language independent
  • 59. WSDL Web Services Description Language The standard format for describing a web service. Expressed in XML, a WSDL definition describes how to access a web service and what operations it will perform. This is the most important file (only) to use the API with Perl.
  • 60. SOAP – Simple Object Access Protocol SOAP stands for Simple Object Access Protocol SOAP is a communication protocol SOAP is for communication between applications SOAP is a format for sending messages SOAP is designed to communicate via Internet SOAP is platform independent SOAP is based on XML SOAP will be developed as a W3C standard
  • 62.
  • 63. Tool to test your API without the need to download it. It does not include all the APIs but Google is working on it. Can be accessed from https://code.google.com/apis/explorer/ Google API Explorer
  • 64.
  • 65. Google API Periodic Table http://code.google.com/intl/ar/more/table/
  • 66.
  • 67. Now.. Google may earn more money from me -except Google business APIs- What About earning money from Google ?! Google offers many competition for developers to earn money. Google supports Open Source Project Development.
  • 68. 1. Google Code Jam 2. Google Summer of Code. 3. Google Internships. Google Competitions
  • 69. Be closer to Google more than ever !! Google Technology User Groups. http://wiki.gtugs.org/so-you-want-to-start-a-gtug Google Ambassador Contact Googlers through the conferences (e.g. G-Egypt)