Extracting Youtube Videos Using SAS

Total Page:16

File Type:pdf, Size:1020Kb

Extracting Youtube Videos Using SAS Extracting YouTube videos using SAS Dr Craig Hansen Craig Hansen has been using SAS for 15 years within the health research setting. He gained his doctorate in epidemiology at the University of the Sunshine Coast and since then has worked at • the University of Queensland School of Medicine (Australia) – working in cardiovascular research • the United States Environmental Protection Agency (USEPA) – working in air pollution research • the Centers for Disease Control and Prevention (CDC, USA) – working in birth defects research • Kaiser Permanente Center for Health Research (USA) – working on health studies using electronic medical records. He recently accepted a position at the South Australian Health and Medical Research Institute as Senior Epidemiologist within the Wardliparingga Aboriginal Health Unit. Dr Craig Hansen Extracting YouTube Videos using SAS By Craig Hansen, PhD South Australian Health & Medical Research Institute Overview YouTube API SAS Proc HTTP SAS XML Mapper Example – medications during pregnancy Questions Have you ever wanted to “scrape” all the information from YouTube videos? Length Uploader Views Date Comments You can……using YouTube Data API and SAS! YouTube Data API (Metadata for videos) Proc HTTP XML File XML Mapper SAS Datasets YouTube API – Video feed example • https://gdata.youtube.com/feeds/api/videos?q=surfing Google's APIs allows you to integrate YouTube videos and functionality into websites or applications. Examples: YouTube Analytics API YouTube Data API YouTube Player API XML File of all the videos found with the search term “surfing” Only allows 25 videos per XML file Only allows 500 videos in total per search term XML • “Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format which is both human- readable and machine-readable” • A structured (“tree-like”) text that can be used to store information in a hierarchical format See the “structure” based on tags < > …..text …..</> This is what SAS XML Mapper reads <?xml version='1.0' encoding='UTF-8'?> <feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:gml='http://www.opengis.net/gml' xmlns:georss='http://www.georss.org/georss' xmlns:media='http://search.yahoo.com/mrss/' xmlns:batch='http://schemas.google.com/gdata/batch' xmlns:yt='http://gdata.youtube.com/schemas/2007' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;CE4EQH47eCp7ImA9WxRQGEQ.&quot;'> <id>tag:youtube.com,2008:standardfeed:global:most_popular</id> <updated>2008-07-18T05:00:49.000-07:00</updated> <category scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/> <title>Most Popular</title> <id>tag:youtube,2008:video:ZTUVgYoeN_b</id> <published>2008-07-05T19:56:35.000-07:00</published> <updated>2008-07-18T07:21:59.000-07:00</updated> <category scheme='http://gdata.youtube.com/schemas/2007/categories.cat' YouTube XML SCHEMA term='People' label='People'/> <title>Shopping for Coats</title> (only a snippet) <content type='application/x-shockwave-flash' src='http://www.youtube.com/v/ZTUVgYoeN_b?f=gdata_standard...'/> <link rel='alternate' type='text/html' href='https://www.youtube.com/watch?v=ZTUVgYoeN_b'/> <author> <name>GoogleDevelopers</name> <uri>https://gdata.youtube.com/feeds/api/users/GoogleDevelopers</uri> <yt:userId>_x5XG1OV2P6uZZ5FSM9Ttw<</yt:userId> <yt:aspectRatio>widescreen</yt:aspectRatio> <yt:duration seconds='79'/> <yt:uploaded>2008-07-05T19:56:35.000-07:00</yt:uploaded> <yt:uploaderId>UC_x5XG1OV2P6uZZ5FSM9Ttw</yt:uploaderId> <yt:videoid>ZTUVgYoeN_b</yt:videoid> </media:group> <gd:rating min='1' max='5' numRaters='14763' average='4.93'/> <yt:recorded>2008-07-04</yt:recorded> <yt:statistics viewCount='383290' favoriteCount='7022'/> <yt:rating numDislikes='19257' numLikes='106000'/> </entry> </feed> SAS PROC HTTP • Issues Hypertext Transfer Protocol (HTTP) requests • YouTube API search (https://developers.google.com/youtube/v3/) FILENAME myxml "C:\Current Work\YT.xml" encoding="UTF-8"; PROC HTTP out=myxml url="https://gdata.youtube.com/feeds/api/videos?q=surfing" method="get"; RUN; SAS XML Mapper • We now need to parse all the text in the XML into a dataset Perfect, we can use this to “map” all the structured text in the XML into a dataset – it does all the work for you! SAS XML Mapper reads in the XML or Schema file and interprets the “structure” based on the tags <> ….text….</> **Download SAS XML Mapper from SAS website SAS XML Mapper – Create a map XML window XML Map window Source window SAS XML Mapper – Create a map Open XML XML file or Schema The datasets it will create XML map generated – save this map SAS XML Mapper – Creating Datasets See how the datasets are linked by ID variables Information available about Datasets • Feed information • Duration • Title • Number of views • Description • Ratings • Author • Comments (links to another API) • Date published • Restrictions • Category • URL SASSAS Code Code FILENAME test1 " C:\Current Work\Surf.xml " encoding="UTF-8"; PROC HTTP out=test1 url="https://gdata.youtube.com/feeds/api/videos?q=surfing" method="get"; RUN; FILENAME YOUTUBET 'C:\Current Work\Surf.xml' ; FILENAME SXLEMAP ' C:\Current Work\YouTubeGetData.map'; LIBNAME YOUTUBET xmlv2 xmlmap=SXLEMAP ACCESS=READONLY; This will create all the linked datasets generated from the map Merge the datasets based on the linked IDs My project – Medications during Pregnancy • Assess the following: • How many videos have information on medications during pregnancy • The source of these videos • The popularity of these videos • The information in the videos (manual review) • Enter additional information in a database upon review Challenges • 25 videos per XML • You can pull in videos based on start index = SAS macro • 500 per search term • Pull in the 500 videos using a SAS macro • Repeat using variations on each search term = 500 per each variation • Duplicates = that’s ok because you cast a wide net and clean these later 2023 search terms %MACRO YOUTUBE; %DO k = 1 %TO &MAXID. %BY 1; 2023 search terms PROC SQL NOPRINT; SELECT DISTINCT LEFT(TRIM(MEDSEARCH)) INTO :MEDSEARCH FROM SEARCH_TERMS WHERE ID=&k.; QUIT; %DO i = 1 %TO 500 %BY 20; Increments of 20 videos for each xml %LET URL = "https://gdata.youtube.com/feeds/api/videos?q=&MEDSEARCH%nrstr(&max)-results=20%nrstr(&start)-index=&i"; [insert the proc http I showed before] PROC SQL; CREATE TABLE VIDEOS&i. AS SELECT DISTINCT Outer Macro [insert some SQL joins] Inner Macro ; Loops through QUIT; Increments through the Search terms PROC SQL NOPRINT; start index getting 20 SELECT COUNT(*) INTO :NOBS FROM VIDEOS&i.; QUIT; videos until 500 are PROC APPEND DATA=VIDEOS&i. BASE=videos FORCE; retrieved RUN; PROC DATASETS LIB=WORK NOLIST; DELETE VIDEOS&i.; Append the videos from each QUIT; RUN; iteration of the inner/outer macros %IF &NOBS.=0 %THEN %GOTO EXIT; %END; %EXIT: %END; %MEND YOUTUBE; %YOUTUBE; Import into ACCESS database Results – What I learned? Medication+Pregnancy • A lot of non-relevant videos Search Terms, n= 2023 YouTube API Data Feed Excluded • Duplicates within each iteration n=97,480 records Duplicate Records of videos extracted n = 3812 Distinct Videos n=41,438 • Same video but different title (93,668 records) Medication or Pregnancy Search Term not in • Title or Description Need to have a ‘selection criteria’ Distinct Videos n=30,976 videos to identify relevant videos (e.g. n=10,462 some additional data cleaning) Medication+Pregnancy Search Term in Title • YouTube ‘category’ variable is not n=651 videos Not Relevant Videos Total = 336 reliable No mention of med = 243 Manual Review Duplicate = 70 Not avail./no sound = 13 • Lag time between metadata and Not English = 5 Legal Process = 5 Final Analyses actual time (data on YouTube) n=315 videos Useful Resources Jason Secosky: Executing a PROC from a DATA Step http://support.sas.com/resources/papers/proceedings12/227-2012.pdf George Zhu: Accessing and Extracting Data from the Internet Using SAS http://support.sas.com/resources/papers/proceedings12/121-2012.pdf Eric Lewerenz: An Example of Website “Screen Scraping” http://www.mwsug.org/proceedings/2009/appdev/MWSUG-2009-A09.pdf SAS PROC HTTP http://support.sas.com/documentation/cdl/en/proc/65145/HTML/default/viewer.htm#n197g47i7j66x9n15xi0gaha8o v6.htm Google APIs https://developers.google.com/apis-explorer/#p/ YouTube APIs https://developers.google.com/youtube/ Thank you – I love SAS! • Questions • Feedback • Thumbs up? • Thumbs down? WRAP UP • Survey – Please complete & hand back for Lucky Draw • IAPA Chapter Meeting • SANZOC – SAS Australia & New Zealand Online Community www.communities.sas.com • Questions / Suggestions [email protected] • Thank you • Lucky Draw Copyright © 2012, SAS Institute Inc. All rights reserved. ADELAIDE CHAPTER MEETING: ENSEMBLES OF 20,000 MODELS IN THE ATO Guest Speaker: Dr Graham Williams, Head of Corporate Analytics, ATO www.iapa.org.au/Events Copyright © 2012, SAS Institute Inc. All rights reserved..
Recommended publications
  • Xbook: Redesigning Privacy Control in Social Networking Platforms
    xBook: Redesigning Privacy Control in Social Networking Platforms Kapil Singh∗ Sumeer Bhola∗ Wenke Lee SchoolofComputerScience Google SchoolofComputerScience Georgia Institute of Technology [email protected] Georgia Institute of Technology [email protected] [email protected] Abstract in social networks. Social networking websites have recently evolved from With the advent of Web 2.0 technologies, web appli- being service providers to platforms for running third cation development has become much more distributed party applications. Users have typically trusted the so- with a growing number of users acting as developers and cial networking sites with personal data, and assume that source of online content. This trend has also influenced their privacy preferences are correctly enforced. However, social networks that now act as platforms allowing de- they are now being asked to trust each third-party applica- velopers to run third-party content on top of their frame- tion they use in a similar manner. This has left the users’ work. Facebook opened up for third-party application private information vulnerable to accidental or malicious development by releasing its development APIs in May leaks by these applications. 2007 [22]. Since the release of the Facebook platform, In this work, we present a novel framework for build- several other sites have joined the trend by supporting ing privacy-preservingsocial networking applications that Google’s OpenSocial [10], a cross-site social network de- retains the functionality offered by the current social net- velopment platform. works. We use information flow models to control what These third-party applications further escalate the pri- untrusted applications can do with the information they vacy concerns as user data is shared with these applica- receive.
    [Show full text]
  • 7.4, Integration with Google Apps Is Deprecated
    Google Search Appliance Integrating with Google Apps Google Search Appliance software version 7.2 and later Google, Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 www.google.com GSA-APPS_200.03 March 2015 © Copyright 2015 Google, Inc. All rights reserved. Google and the Google logo are, registered trademarks or service marks of Google, Inc. All other trademarks are the property of their respective owners. Use of any Google solution is governed by the license agreement included in your original contract. Any intellectual property rights relating to the Google services are and shall remain the exclusive property of Google, Inc. and/or its subsidiaries (“Google”). You may not attempt to decipher, decompile, or develop source code for any Google product or service offering, or knowingly allow others to do so. Google documentation may not be sold, resold, licensed or sublicensed and may not be transferred without the prior written consent of Google. Your right to copy this manual is limited by copyright law. Making copies, adaptations, or compilation works, without prior written authorization of Google. is prohibited by law and constitutes a punishable violation of the law. No part of this manual may be reproduced in whole or in part without the express written consent of Google. Copyright © by Google, Inc. Google Search Appliance: Integrating with Google Apps 2 Contents Integrating with Google Apps ...................................................................................... 4 Deprecation Notice 4 Google Apps Integration 4
    [Show full text]
  • How to Generate P12 Key
    Lepide Active Directory Self Service Generate P12 Key This document explains the steps to successfully install SSL security. Lepide Active Directory Self Service Generate P12 Key How to generate P12 key Lepide Active Directory Self Service allows Password Synchronization of Google Apps and IBM accounts. In order to enable Google Apps Password synchronization, you need to generate a P12 key by making certain settings in your Google service account. Follow the below mentioned steps to generate the P12 key for Google App Service Account. 1. Open Google Developer Console Project for Google Cloud Platform - https://console.developers.google.com/project in Web browser, preferably Google Chrome. 2. Enter the email address of your Google Service Account and click "Next". © Lepide Software Pvt. Ltd. Page 2 Lepide Active Directory Self Service Generate P12 Key 3. Enter the password of your Google Service Account and click "Sign In". It takes you to the Google Service Projects page. 4. Click "Create Project" to access "New Project" pop-up. © Lepide Software Pvt. Ltd. Page 3 Lepide Active Directory Self Service Generate P12 Key 5. The Project ID is assigned as per the project name. If you want to provide a manual project ID, click "Edit" link. You can also click "Show advanced options..." to access the advanced options. 6. Enter the Project Name, Project ID, and select the advanced option. Click "Create" to create the project. © Lepide Software Pvt. Ltd. Page 4 Lepide Active Directory Self Service Generate P12 Key 7. Once created, the dashboard comes up. Click "Enable and Manage APIs" in "Use Google APIs" section.
    [Show full text]
  • Monitoring Google Cloud Platform
    Monitoring Google Cloud Platform Google Cloud Platform *BETA* PowerPack version 100 Table of Contents Introduction 3 What is Google Cloud Platform? 3 What Does the Google Cloud Platform *BETA* PowerPack Monitor? 4 What are GCP Regions and Zones? 4 Installing the Google Cloud Platform *BETA* PowerPack 5 Configuring Google Cloud Platform for Monitoring 7 Creating a Google Cloud Platform Service Account 7 Enabling Google Cloud Platform APIs 9 Creating an SSH/Key Credential for Google Cloud Platform 10 Creating a Google Cloud Platform Virtual Device 12 Aligning the Google Cloud Platform Dynamic Applications 13 Discovering Google Cloud Platform Component Devices 13 Viewing Google Cloud Platform Component Devices 15 Relationships Between Component Devices 17 Chapter 1 1 Introduction Overview This manual describes how to monitor Google Cloud Platform (GCP) resources in the ScienceLogic platform using the Google Cloud Platform *BETA* PowerPack. The following sections provide an overview of GCP and the Google Cloud Platform *BETA* PowerPack: What is Google Cloud Platform? 3 What Does the Google Cloud Platform *BETA* PowerPack Monitor? 4 What are GCP Regions and Zones? 4 Installing the Google Cloud Platform *BETA* PowerPack 5 NOTE: ScienceLogic provides this documentation for the convenience of ScienceLogic customers. Some of the configuration information contained herein pertains to third-party vendor software that is subject to change without notice to ScienceLogic. ScienceLogic makes every attempt to maintain accurate technical information and cannot be held responsible for defects or changes in third-party vendor software. There is no written or implied guarantee that information contained herein will work for all third-party variants.
    [Show full text]
  • Jeffrey Scudder Google Inc. March 28, 2007 Google Spreadsheets Automation Using Web Services
    Jeffrey Scudder Google Inc. March 28, 2007 Google Spreadsheets Automation using Web Services Jeffrey Scudder Google Inc. March 28, 2007 2 Overview What is Google Spreadsheets? • Short Demo What is the Google Spreadsheets Data API? • Motivations (Why an API?) • Protocol design • Atom Publishing Protocols • GData • List feed deconstructed How do I use the Google Spreadsheets Data API? • Authentication • Longer Demo Questions 3 What is Google Spreadsheets? Let’s take a look 4 What is Google Spreadsheets? Why not ask why • Spreadsheets fits well with our mission… – “Organize My Information… and… – Make it Accessible and Useful… – With whomever I choose (and nobody else, thanks)” • In other words…. – Do-it-yourself Content Creation – Accepted/Familiar Interface of Spreadsheets and Documents – Accessibility from anywhere (…connected) – Easy-to-use Collaboration – Do-it-yourself Community Creation 5 What is the Google Spreadsheets Data API? Motivations • Foster development of specific-use apps • Allow users to create new UIs • To extend features offered • To integrate with 3rd party products • To offer new vertical applications 6 What is the Google Spreadsheets Data API? Protocol design based on existing open standards • Deciding on design principles – Use a RESTful approach – Reuse open standards – Reuse design from other Google APIs • The end result – REST web service based on GData – Data is in Atom XML and protocol based on the Atom Publishing Protocol (APP) – GData is based on Atom and APP and adds authentication, query semantics, and more
    [Show full text]
  • Com Google Gdata Client Spreadsheet Maven
    Com Google Gdata Client Spreadsheet Maven Merriest and kinkiest Casey invent almost accelerando, though Todd sucker his spondulicks hided. Stupefied and microbiological Ethan readies while insecticidal Stephen shanghais her lichee horribly and airts cherubically. Quietist and frostbitten Waiter never nest antichristianly when Stinky shook his seizin. 09-Jun-2020 116 24400 google-http-java-client-findbugs-1220-lp1521. It just gives me like a permutation code coverage information plotted together to complete output panel making mrn is com google gdata client spreadsheet maven? Chrony System EnvironmentDaemons 211-1el7centos An NTP client. Richard Huang contact-listgdata. Gdata-mavenmaven-metadataxmlmd5 at master eburtsev. SpreadsheetServiceVersionsclass comgooglegdataclientspreadsheet. Index of sitesdownloadeclipseorgeclipseMirroroomph. Acid transactions with maven coordinates genomic sequences are required js code coverage sequencing kits and client library for com google gdata client spreadsheet maven project setup and table of users as. Issues filed for googlegdata-java-client Record data Found. Uncategorized Majecek's Weblog. API using Spring any Spring Data JPA Maven and embedded H2 database. GData Spreadsheet1 usages comgooglegdataclientspreadsheet gdata-spreadsheet GData Spreadsheet Last feather on Feb 19 2010. Maven dependency for Google Spreadsheet Stack Overflow. Httpmavenotavanopistofi7070nexuscontentrepositoriessnapshots false. Gdata-spreadsheet-30jar Fri Feb 19 105942 GMT 2010 51623. I'm intern to use db2triples for the first time fan is a java maven project. It tries to approve your hours of columns throughout the free software testing late to work. Maven Com Google Gdata Client Spreadsheet Google Sites. Airhacksfm podcast with adam bien Apple. Unable to build ODK Aggregate locally Development ODK. Bmkdep bmon bnd-maven-plugin BNFC bodr bogofilter boinc-client bomber bomns bonnie boo books bookworm boomaga boost1710-gnu-mpich-hpc.
    [Show full text]
  • Download the Index
    Dewsbury.book Page 555 Wednesday, October 31, 2007 11:03 AM Index Symbols addHistoryListener method, Hyperlink wid- get, 46 $wnd object, JSNI, 216 addItem method, MenuBar widget, 68–69 & (ampersand), in GET and POST parameters, addLoadListener method, Image widget, 44 112–113 addMessage method, ChatWindowView class, { } (curly braces), JSON, 123 444–445 ? (question mark), GET requests, 112 addSearchResult method JUnit test case, 175 SearchResultsView class, 329 A addSearchView method, MultiSearchView class, 327 Abstract Factory pattern, 258–259 addStyleName method, connecting GWT widgets Abstract methods, 332 to CSS, 201 Abstract Window Toolkit (AWT), Java, 31 addToken method, handling back button, 199 AbstractImagePrototype object, 245 addTreeListener method, Tree widget, 67 Abstraction, DAOs and, 486 Adobe Flash and Flex, 6–7 AbstractMessengerService Aggregator pattern Comet, 474 defined, 34 Jetty Continuations, 477 Multi-Search application and, 319–321 action attribute, HTML form tag, 507 sample application, 35 Action-based web applications Aggregators, 320 overview of, 116 Ajax (Asynchronous JavaScript and XML) PHP scripts for building, 523 alternatives to, 6–8 ActionObjectDAO class, 527–530 application development and, 14–16 Actions, server integration with, 507–508 building web applications and, 479 ActionScript, 6 emergence of, 3–5 ActiveX, 7 Google Gears for storage, 306–309 Add Import command Same Origin policy and, 335 creating classes in Eclipse, 152 success and limitations of, 5–6 writing Java code using Eclipse Java editor,
    [Show full text]
  • Sakai and GWT.Pdf
    Sakai and GW T Toward Improved UX and Easy Web 2.0 D evelopment all in Java Claude Coulombe Sacha Leprêtre Université de Montréal CRIM & Sakai Québec OpenSyllabus: O ld fashioned web - Click and wait! W eb 2.0 : User Experience (UX ) W eb 2.0 : User Experience (UX ) • Perceived 2nd generation of web sites and services • Improved UX is what W eb 2.0 is all about • Students ask for responsive and dynamic web interfaces and web interface similar to desktop interface • Sakai must evolve toward W eb 2 and deliver a better UX • Improving UX more complex GUI more work for developers • How to keep happy users & developers? • But, great technology doesn't give great UX … • The real magicians are the UI designers O penSyllabus - Short D emo • W hat we have done with O penSyllabus… AJAX – A breakthrough! AJAXAJAX The first use of the term in public was by Jesse James Garrett in February 2005 AJAX – A breakthrough! • Ajax eliminates painful page loading! • Ajax stands for Asynchronous JavaScript and X ML • X MLHttpRequest JavaScript O bject allows asynchronous requests for data to the server and updates the web page without doing a full page reload • Invented by Microsoft • W ithout Ajax we were still stuck with click and wait interface • The result is more responsive and dynamic W ebapps • But, Ajax is based on Client-side JavaScript Looking for a silver bullet… • Hundreds of JavaScript Libraries and Ajax Frameworks • W hich one will be the good one? • Survey of Sakai’s Ajax and alternative technologies: - UX Richness of the libraries - Easy dev, quick learning curve - Easy integration with Sakai - O pen Source License - D ocumentation - Endorsement - Cross browsing compatibility - Java based - D ev tools / ID E (eclipse) - D ebugging/Test Problems with JavaScript… So, he didn't know JavaScript well enough..
    [Show full text]
  • Ray Cromwell
    Building Applications with Google APIs Ray Cromwell Monday, June 1, 2009 “There’s an API for that” • code.google.com shows 60+ APIs • full spectrum (client, server, mobile, cloud) • application oriented (android, opensocial) • Does Google have a Platform? Monday, June 1, 2009 Application Ecosystem Client REST/JSON, GWT, Server ProtocolBuffers Earth PHP Java O3D App Services Media Docs Python Ruby Utility Blogger Spreadsheets Maps/Geo JPA/JDO/Other Translate Base Datastore GViz Social MySQL Search OpenSocial Auth FriendConnect $$$ ... GData Contacts AdSense Checkout Monday, June 1, 2009 Timefire • Store and Index large # of time series data • Scalable Charting Engine • Social Collaboration • Story Telling + Video/Audio sync • Like “Google Maps” but for “Time” Monday, June 1, 2009 Android Version 98% Shared Code with Web version Monday, June 1, 2009 Android • Full API stack • Tight integration with WebKit browser • Local database, 2D and 3D APIs • External XML UI/Layout system • Makes separating presentation from logic easier, benefits code sharing Monday, June 1, 2009 How was this done? • Google Web Toolkit is the Foundation • Target GWT JRE as LCD • Use Guice Dependency Injection for platform-specific APIs • Leverage GWT 1.6 event system Monday, June 1, 2009 Example App Code Device/Service JRE interfaces Guice Android Browser Impl Impl Android GWT Specific Specific Monday, June 1, 2009 Shared Widget Events interface HasClickHandler interface HasClickHandler addClickHandler(injectedHandler) addClickHandler(injectedHandler) Gin binds GwtHandlerImpl
    [Show full text]
  • Brisbin Google Apis for Biodiversity.Pdf
    Use of Google APIs for Biodiversity Informatics Kathryn Hurley, Rebecca Shapley Google Fusion Tables Team Current Usage - Google Maps Protected Planet* Mountain Biodiversity Portal BioGeomancer GBIF *in progress Current Usage - App Engine Map of Life / GeoPhylo Engine VertNet* *in progress Many, many Google APIs HTTP (REST) HTML/JS Extension/App Storage Visualization Google Earth BigQuery Maps Picasa Prediction Language GWT Fusion Tables App Engine Latitude Android Buzz 77 APIs!! http://imagine-it.org/google/apistimeline.html Many, many Google APIs HTTP (REST) HTML/JS Extension/App Storage Visualization Google Earth BigQuery Maps Picasa Prediction Language GWT Fusion Tables App Engine Latitude Android Buzz 77 APIs!! http://imagine-it.org/google/apistimeline.html Problem - Sharing Data Nice data! Can I have a copy? I've got data about that, too! Happy to share, but I'm still making the data better... Solution - Virtual data join in Fusion Tables Solution - Virtual data union in Fusion Tables Problem - Mapping data John has data on several species of butterflies in North America. He would like to create several maps using the data. Solution - Fusion Tables Why Use it Upload data to Fusion Tables. Select a subset of the data to display on a map Place the map on an HTML page! Find out more http://code.google.com/apis/fusiontables/ More mapping with Fusion Tables Problem - Sharing apps, but not data John created an App Engine app to collect his butterfly data. Pete and Sharon really like this app and would love to use it for collecting their own data. Butterfly Collector Name: Description: Image: Select..
    [Show full text]
  • Building the Polargrid Portal Using Web 2.0 and Opensocial
    Building the PolarGrid Portal Using Web 2.0 and OpenSocial Zhenhua Guo, Raminderjeet Singh, Marlon Pierce Community Grids Laboratory, Pervasive Technology Institute Indiana University, Bloomington 2719 East 10th Street, Bloomington, Indiana 47408 {zhguo, ramifnu, marpierc}@indiana.edu ABSTRACT service gateway are still useful, it is time to revisit some of the Science requires collaboration. In this paper, we investigate the software and standards used to actually build gateways. Two feasibility of coupling current social networking techniques to important candidates are the Google Gadget component model science gateways to provide a scientific collaboration model. We and the REST service development style for building gateways. are particularly interested in the integration of local and third Gadgets are attractive for three reasons. First, they are much party services, since we believe the latter provide more long-term easier to write than portlets and are to some degree framework- sustainability than gateway-provided service instances alone. Our agnostic. Second, they can be integrated into both iGoogle prototype use case for this study is the PolarGrid portal, in which (Google’s Start Page portal) and user-developed containers. we combine typical science portal functionality with widely used Finally, gadgets are actually a subset of the OpenSocial collaboration tools. Our goal is to determine the feasibility of specification [5], which enables developers to provide social rapidly developing a collaborative science gateway that networking capabilities. Standardization is useful but more incorporates third-party collaborative services with more typical importantly one can plug directly into pre-existing social networks science gateway capabilities. We specifically investigate Google with millions of users without trying to establish a new network Gadget, OpenSocial, and related standards.
    [Show full text]
  • Google Apps Technical Transition Guide for Business, Education, and Government
    Google Apps Technical Transition Guide For Business, Education, and Government Google, Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 www.google.com Part number: GATTG_1.4 August 12, 2015 © Copyright 2015 Google, Inc. All rights reserved. Google, the Google logo, Google Apps, Google Apps Mail, Google Docs, Google Calendar, Google Sites, Google Video, Google Talk, Gmail, Google Message Filtering, Google Message Security, Google Message Discovery are trademarks, registered trademarks, or service marks of Google Inc. All other trademarks are the property of their respective owners. Use of any Google solution is governed by the license agreement included in your original contract. Any intellectual property rights relating to the Google services are and shall remain the exclusive property of Google, Inc. and/or its subsidiaries (“Google”). You may not attempt to decipher, decompile, or develop source code for any Google product or service offering, or knowingly allow others to do so. Google documentation may not be sold, resold, licensed or sublicensed and may not be transferred without the prior written consent of Google. Your right to copy this manual is limited by copyright law. Making copies, adaptations, or compilation works, without prior written authorization of Google. is prohibited by law and constitutes a punishable violation of the law. No part of this manual may be reproduced in whole or in part without the express written consent of Google. Copyright © by Google Inc. Google provides this publication “as is” without warranty of any either express or implied, including but not limited to the implied warranties of merchantability or fitness for a particular purpose.
    [Show full text]