SlideShare uma empresa Scribd logo
1 de 35
Mashing Up Google Apps Tony Hirst Dept of Communication and Systems The Open University Wiring Before http://www.flickr.com/photos/kelp/4894023263
Google Apps as a mashup environment
(Interaction and Display) Native Functions Google Apps Script APIs
Heavy lifting done by pre-existing applications or code libraries with each stage acting on naturally expressed representations of data from the preceding stage in the pipeline  Mashups as pipelines…
Google Apps as a mashup environment Scripted integration of Google Apps Glue in “free form” data driven mashups
Scripted integration of Google Apps
‘ We have a spreadsheet of OU broadcast campaigns – can you get them into a calendar?’
 
Google spreadsheet + Google Apps Script Into Google Calendar
Google Apps Script provides a way of working with representations that have a natural expression in a user facing application
 
http://www.rsc-ne-scotland.org.uk/mashe/category/google-apps/ http://bit.ly/gqAX17 Martin Hawksey's JISC RSC MASHe   blog
Collect/backup tweets in a Google Spreadsheet [Twitteralytics v2] Linking a Google Form with data from the responses in the Spreadsheet [Event/Resource Booking] gEVS – An idea for a Google Form/Visualization mashup for electronic voting The best Google Spreadsheet Event Manager (w/h Sites, Contact, Calendar integration) ever, ever, ever Convert time stamped data to timed-text (XML) subtitle format using Google Spreadsheet Script
Glue in “free form” data driven mashups
Google spreadsheet Google Apps script Google Visualisation API Google Spreadsheets as a mashup environment
Getting stuff in...
Creating a database on the fly…
Scraping multiple pages… var ss = SpreadsheetApp.getActiveSpreadsheet(); for ( page in pages ) ss.insertSheet( name( pages[ page ] ], 1 ); sheet = ss.getSheetByName( sname ); addTableImporter( sheet, I ) function addTableImporter( ss, n ) { var sc = ss.getActiveCell(); var c = []; c[0] = “=importHTML(‘”++”’)  ; var arr = []; arr[ 0 ] = c; var destinationRange = ss.getRange( 1, 1, 1, 1 ); destinationRange.setValues( arr ); } ,[object Object],[object Object],[object Object],var ss = SpreadsheetApp.getActiveSpreadsheet() ss.insertSheet( sname ) sheet = ss.getSheetByName( sname );
Formulae
= googlelookup ("Brazil", "capital")
linked data Linked Data
= OUdata_courses ( coursecode , [ properties] )
function OUdata_courses(cc,props) {   var args = _OUdata_SPARQL(‘courses’,cc,props)   var sparqlResult =   UrlFetchApp.fetch(   'http://data-gov.tw.rpi.edu/ws/sparqlproxy.php',   {method: 'post', payload: args}   );   return _handleSPARQLresult( sparqlResult ); }
Google Spreadsheets as a database
 
=QUERY('ISO Country Codes'!A2:B268,   "select A,B where A contains 'FRANCE' limit 1")))
"Events, dear boy, events..."
 
 
...getting stuff out
DataStore Explorer
The art of the mashup lies in breaking a problem down into a series of discrete functional steps, each of which can be handled by something that already exists.
Creating an effective mashup requires cunning, laziness, and a playful attitude…
… which is to say, a willingness to use as building blocks things that may not have originally been intended as such, such as Google Apps…
@psychemedia http://blog.ouseful.info

Mais conteúdo relacionado

Mais procurados

Activity 2 create new document
Activity 2 create new documentActivity 2 create new document
Activity 2 create new document
swallmatt
 

Mais procurados (6)

Smarter data analysis with JavaScript and Azure ML functions in Excel
Smarter data analysis with JavaScript and Azure ML functions in ExcelSmarter data analysis with JavaScript and Azure ML functions in Excel
Smarter data analysis with JavaScript and Azure ML functions in Excel
 
Covid-19 dashboards created with Microsoft Power BI
Covid-19 dashboards created with Microsoft Power BICovid-19 dashboards created with Microsoft Power BI
Covid-19 dashboards created with Microsoft Power BI
 
Activity 2 create new document
Activity 2 create new documentActivity 2 create new document
Activity 2 create new document
 
Graph db - Pramati Technologies [Meetup]
Graph db - Pramati Technologies [Meetup]Graph db - Pramati Technologies [Meetup]
Graph db - Pramati Technologies [Meetup]
 
Talk on Google Charts API at GDays Bangladesh
Talk on Google Charts API at GDays BangladeshTalk on Google Charts API at GDays Bangladesh
Talk on Google Charts API at GDays Bangladesh
 
Thesis Final Presentation
Thesis Final PresentationThesis Final Presentation
Thesis Final Presentation
 

Destaque

Ili2011 Appropriate IT
Ili2011 Appropriate ITIli2011 Appropriate IT
Ili2011 Appropriate IT
Tony Hirst
 
Google Apps for Ed and the Gagne Model
Google Apps for Ed and the Gagne ModelGoogle Apps for Ed and the Gagne Model
Google Apps for Ed and the Gagne Model
drezac
 
Uncourse to shortcourse
Uncourse to shortcourseUncourse to shortcourse
Uncourse to shortcourse
Tony Hirst
 
Lincoln2013 feb
Lincoln2013 febLincoln2013 feb
Lincoln2013 feb
Tony Hirst
 
Infoskills challenges
Infoskills challengesInfoskills challenges
Infoskills challenges
Tony Hirst
 
Jibs keynote (draft)
Jibs keynote (draft)Jibs keynote (draft)
Jibs keynote (draft)
Tony Hirst
 
Social digitalresearcher
Social digitalresearcherSocial digitalresearcher
Social digitalresearcher
Tony Hirst
 
Open standards and open data
Open standards and open dataOpen standards and open data
Open standards and open data
Tony Hirst
 

Destaque (15)

Ili2011 Appropriate IT
Ili2011 Appropriate ITIli2011 Appropriate IT
Ili2011 Appropriate IT
 
Google Apps Ed3
Google Apps Ed3Google Apps Ed3
Google Apps Ed3
 
Google Apps to Engage Reading & Writing
Google Apps to Engage Reading & WritingGoogle Apps to Engage Reading & Writing
Google Apps to Engage Reading & Writing
 
Google Apps for Ed and the Gagne Model
Google Apps for Ed and the Gagne ModelGoogle Apps for Ed and the Gagne Model
Google Apps for Ed and the Gagne Model
 
Uncourse to shortcourse
Uncourse to shortcourseUncourse to shortcourse
Uncourse to shortcourse
 
Lincoln2013 feb
Lincoln2013 febLincoln2013 feb
Lincoln2013 feb
 
Devxs
DevxsDevxs
Devxs
 
Tso ucas
Tso ucasTso ucas
Tso ucas
 
Infoskills challenges
Infoskills challengesInfoskills challenges
Infoskills challenges
 
Jibs keynote (draft)
Jibs keynote (draft)Jibs keynote (draft)
Jibs keynote (draft)
 
Social digitalresearcher
Social digitalresearcherSocial digitalresearcher
Social digitalresearcher
 
Open standards and open data
Open standards and open dataOpen standards and open data
Open standards and open data
 
Exploiting Structured Course Materials
Exploiting Structured Course MaterialsExploiting Structured Course Materials
Exploiting Structured Course Materials
 
090218 Madtech Google Apps
090218 Madtech Google Apps090218 Madtech Google Apps
090218 Madtech Google Apps
 
Google Apps Overview
Google Apps OverviewGoogle Apps Overview
Google Apps Overview
 

Semelhante a Guug11 mashing up-google_apps

Semelhante a Guug11 mashing up-google_apps (20)

Data visualization in python/Django
Data visualization in python/DjangoData visualization in python/Django
Data visualization in python/Django
 
Google apps script introduction
Google apps script introductionGoogle apps script introduction
Google apps script introduction
 
shiny.pdf
shiny.pdfshiny.pdf
shiny.pdf
 
BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!
 
Programming Google apps with the G Suite APIs
Programming Google apps with the G Suite APIsProgramming Google apps with the G Suite APIs
Programming Google apps with the G Suite APIs
 
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides, Apps Scri...
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides, Apps Scri...Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides, Apps Scri...
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides, Apps Scri...
 
Tactical data engineering
Tactical data engineeringTactical data engineering
Tactical data engineering
 
Streamlining data analysis through environmental alerts how to integrate ambe...
Streamlining data analysis through environmental alerts how to integrate ambe...Streamlining data analysis through environmental alerts how to integrate ambe...
Streamlining data analysis through environmental alerts how to integrate ambe...
 
PyCon India 2010 Building Scalable apps using appengine
PyCon India 2010 Building Scalable apps using appenginePyCon India 2010 Building Scalable apps using appengine
PyCon India 2010 Building Scalable apps using appengine
 
Data Science on Google Cloud Platform
Data Science on Google Cloud PlatformData Science on Google Cloud Platform
Data Science on Google Cloud Platform
 
PyCon SG x Jublia - Building a simple-to-use Database Management tool
PyCon SG x Jublia - Building a simple-to-use Database Management toolPyCon SG x Jublia - Building a simple-to-use Database Management tool
PyCon SG x Jublia - Building a simple-to-use Database Management tool
 
Working With Sharepoint 2013 Apps Development
Working With Sharepoint 2013 Apps DevelopmentWorking With Sharepoint 2013 Apps Development
Working With Sharepoint 2013 Apps Development
 
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
 
Beyond SQL: Speeding up Spark with DataFrames
Beyond SQL: Speeding up Spark with DataFramesBeyond SQL: Speeding up Spark with DataFrames
Beyond SQL: Speeding up Spark with DataFrames
 
Mashups in the Information Technology Classroom
Mashups in the Information Technology ClassroomMashups in the Information Technology Classroom
Mashups in the Information Technology Classroom
 
Using SharePoint's Geolocation Field - SPSUK 2014
Using SharePoint's Geolocation Field - SPSUK 2014Using SharePoint's Geolocation Field - SPSUK 2014
Using SharePoint's Geolocation Field - SPSUK 2014
 
VMWorld 2017 Hackathon training: Getting Started with Clarity
VMWorld 2017 Hackathon training: Getting Started with ClarityVMWorld 2017 Hackathon training: Getting Started with Clarity
VMWorld 2017 Hackathon training: Getting Started with Clarity
 
SSRS - PPS - MOSS Profile
SSRS - PPS - MOSS ProfileSSRS - PPS - MOSS Profile
SSRS - PPS - MOSS Profile
 
API Integration in Web Application
API Integration in Web ApplicationAPI Integration in Web Application
API Integration in Web Application
 
Google Analytics for Developers
Google Analytics for DevelopersGoogle Analytics for Developers
Google Analytics for Developers
 

Mais de Tony Hirst

Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Tony Hirst
 
Lincoln jun14datajournalism
Lincoln jun14datajournalismLincoln jun14datajournalism
Lincoln jun14datajournalism
Tony Hirst
 

Mais de Tony Hirst (20)

15 in 20 research fiesta
15 in 20 research fiesta15 in 20 research fiesta
15 in 20 research fiesta
 
Dev8d jupyter
Dev8d jupyterDev8d jupyter
Dev8d jupyter
 
Ili 16 robot
Ili 16 robotIli 16 robot
Ili 16 robot
 
Jupyternotebooks ou.pptx
Jupyternotebooks ou.pptxJupyternotebooks ou.pptx
Jupyternotebooks ou.pptx
 
Virtual computing.pptx
Virtual computing.pptxVirtual computing.pptx
Virtual computing.pptx
 
ouseful-parlihacks
ouseful-parlihacksouseful-parlihacks
ouseful-parlihacks
 
Gors appropriate
Gors appropriateGors appropriate
Gors appropriate
 
Gors appropriate
Gors appropriateGors appropriate
Gors appropriate
 
Robotlab jupyter
Robotlab   jupyterRobotlab   jupyter
Robotlab jupyter
 
Fco open data in half day th-v2
Fco open data in half day  th-v2Fco open data in half day  th-v2
Fco open data in half day th-v2
 
Notes on the Future - ILI2015 Workshop
Notes on the Future - ILI2015 WorkshopNotes on the Future - ILI2015 Workshop
Notes on the Future - ILI2015 Workshop
 
Community Journalism Conf - hyperlocal data wire
Community Journalism Conf - hyperlocal data wireCommunity Journalism Conf - hyperlocal data wire
Community Journalism Conf - hyperlocal data wire
 
Residential school 2015_robotics_interest
Residential school 2015_robotics_interestResidential school 2015_robotics_interest
Residential school 2015_robotics_interest
 
Data Mining - Separating Fact From Fiction - NetIKX
Data Mining - Separating Fact From Fiction - NetIKXData Mining - Separating Fact From Fiction - NetIKX
Data Mining - Separating Fact From Fiction - NetIKX
 
Week4
Week4Week4
Week4
 
A Quick Tour of OpenRefine
A Quick Tour of OpenRefineA Quick Tour of OpenRefine
A Quick Tour of OpenRefine
 
Conversations with data
Conversations with dataConversations with data
Conversations with data
 
Data reuse OU workshop bingo
Data reuse OU workshop bingoData reuse OU workshop bingo
Data reuse OU workshop bingo
 
Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories Inspiring content - You Don't Need Big Data to Tell Good Data Stories
Inspiring content - You Don't Need Big Data to Tell Good Data Stories
 
Lincoln jun14datajournalism
Lincoln jun14datajournalismLincoln jun14datajournalism
Lincoln jun14datajournalism
 

Último

Último (20)

Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 

Guug11 mashing up-google_apps

Notas do Editor

  1. Scripted integration cf. automation, or the writing of macros