google devfest 2009 argentina - google and the social web
DESCRIPTION
Google Devfest 2009 Argentina - Google and the Social WebTRANSCRIPT
![Page 1: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/1.jpg)
![Page 2: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/2.jpg)
Google and the social Web Patrick Chanezon @chanezon Google Mauro Gonzalez @gmaurol Globant 11/16/09 Post your questions for this talk on Twitter #devfest09 #opensocial
![Page 3: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/3.jpg)
“The web is better when it's social.” David Glazer, Google Engineering Director
![Page 4: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/4.jpg)
4
Clock
![Page 5: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/5.jpg)
5
Movies
![Page 6: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/6.jpg)
6
Stocks
![Page 7: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/7.jpg)
Google is Better When it’s Social
![Page 8: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/8.jpg)
8
Collaboration is social
Google Docs
![Page 9: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/9.jpg)
9
Sharing is social
Google Reader
![Page 10: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/10.jpg)
10
Communication is social
Google Groups, Google Talk, Gmail
![Page 11: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/11.jpg)
11
Updates are social
YouTube
![Page 12: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/12.jpg)
Implicit Social Graphs
![Page 13: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/13.jpg)
13
Google Contacts – Contacts lets users manage relationships
![Page 14: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/14.jpg)
14
Profiles – Let users create a persona
– Public image on the web
– Available in search
![Page 15: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/15.jpg)
15
More users
Increased usage
More revenue
What's Google Getting with Social?
• Richer web apps
![Page 16: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/16.jpg)
16
Use the same approach
The result is more powerful, more useful applications
Recommendations for the Social Web
– Interact with your friends where you are and where they are
– Don't lock users into a single site
– Take advantage of implicit social graphs
![Page 17: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/17.jpg)
How Developers Benefit
![Page 18: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/18.jpg)
18
How Developers Benefit
– Use Google's social graph • In your own apps
• To integrate with our apps
• To add features to our apps
– Several technologies to accomplish these goals…
![Page 19: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/19.jpg)
19
OpenSocial
– Common APIs for accessing social data • People
• Activities
• App Data
– JavaScript, REST, and RPC implementations
– Newest version, 0.9, just released
![Page 20: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/20.jpg)
20
Supporting products
OpenSocial
![Page 21: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/21.jpg)
21
Portable Contacts – The coolest technology without a logo
– Fully compatible with opensocial.Person API
– Pulls the user's social graph into a 3rd party site (with the user's permission)
![Page 22: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/22.jpg)
22
Google Friend Connect – Uses OpenSocial (gadgets, REST/RPC)
– Allows site owners to mix in social data to existing sites
– Cut and paste or
– Deep integrations
![Page 23: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/23.jpg)
23
Back to OpenSocial…
![Page 24: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/24.jpg)
24
What They Have in Common
– Millions of users with a shared focus and demands
– Common social graph and social data • Uses the 'Friends' group in Contacts
• App data is shared between app instances
• The same endpoint is used for the REST/RPC protocols
![Page 25: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/25.jpg)
25
OpenSocial iGoogle
– Provides 'home' and 'canvas' views
– requestShareApp and Updates for organic growth
![Page 26: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/26.jpg)
26
OpenSocial
Gmail
– Provides 'nav' and 'canvas' views
– Enabled as a Gmail Labs feature
![Page 27: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/27.jpg)
27
OpenSocial Google Calendar
– Early preview
– Provides 'nav' and 'canvas' views
– Includes google.calendar API extensions, eg: • google.calendar.showEvent
• google.calendar.subscribeToDates
• google.calendar.getUserEvents
![Page 28: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/28.jpg)
28
OpenSocial Google Calendar
– Gadgets are all about making Calendar extensible
– Bringing apps into Calendar
– Private whitelist for now, open to developers in the near future
– Check out the Developer Sandbox at I/O for a closer look at more details
![Page 29: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/29.jpg)
29
Leverage social graph
Quick data entry
Dashboard view
Container-specific extensions
Container Cheat Sheet
![Page 30: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/30.jpg)
30
Quartermile: An Example Gadget
![Page 31: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/31.jpg)
Quartermile: An Example Gadget
![Page 32: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/32.jpg)
32
Gadget overview
Quartermile
– Track exercise with others
– View stats
– Quick, "smart" data entry box
– Google App Engine backend
![Page 33: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/33.jpg)
33
Architecture
Signed request
JSON
Quartermile
![Page 34: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/34.jpg)
34
Designing for iGoogle
Leverage social graph
Quick data entry
Dashboard view
Container-specific extensions
Quartermile
![Page 35: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/35.jpg)
35
Joining a team Quartermile
– Load VIEWER_FRIENDS
– Send result to backend
– Return set of "interesting" teams
![Page 36: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/36.jpg)
36
var batch = osapi.newBatch(). add('viewer', osapi.people.getViewer()). add('friends', osapi.people.get({ userId: '@viewer', groupId: '@friends' })); batch.execute(callback);
Retrieving friends (client) Quartermile
![Page 37: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/37.jpg)
37
var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest('VIEWER'), 'viewer'); var friends = opensocial.newIdSpec({ 'userId':'VIEWER', 'groupId':'FRIENDS' }); req.add(req.newFetchPeopleRequest(friends), 'friends'); req.send(callback);
Retrieving friends (compared with 0.8)
Quartermile
![Page 38: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/38.jpg)
38
// ['2001', '2003', '3000'] function getInterestingTeams(ids) { var request = { 'method':'get_interesting_teams', 'data':ids }; osapi.http.post(SERVER, { body: gadgets.json.stringify(request) }). execute(displayTeams); }
Getting a team list (client) Quartermile
![Page 39: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/39.jpg)
39
// team_ids = [2001, 2003, 3000]
teams = model_get_by_id(models.Team, team_ids)
gql = models.Team.gql("ORDER BY count DESC") interesting_teams = gql.fetch(Settings.MAX_INTERESTING_TEAMS)
return teams + interesting_teams
Getting a team list (server) Quartermile
![Page 40: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/40.jpg)
40
//[{'team_id':2001, 'team_name':'Fitness Nuts'}, // {'team_id':2003, 'team_name':'Code Runners'}]
function displayTeams(data) { var teams = data.teams; for (i in teams) { $('#interesting').append(jQuery('<li>' + teams[i].team_name + '</li>'); } }
Displaying the list of teams (client) Quarter Mile
![Page 41: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/41.jpg)
41
Designing for Gmail
Leverage social graph
Quick data entry
Dashboard view
✓
Container-specific extensions
Quartermile
![Page 42: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/42.jpg)
42
Recording an exercise Quartermile
– User enters an activity
– Gadget sends request to server
– Response is rendered in the activity list
![Page 43: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/43.jpg)
43
// 'walked 1 mile' function saveExercise(text) { var request = { 'method':'create_activity', 'data':text }; osapi.http.post(SERVER, { body: gadgets.json.stringify(request) }). execute(updateExercises); }
Recording an exercise (client) Quartermile
![Page 44: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/44.jpg)
44
Designing for Gmail part two
Leverage social graph
Quick data entry
Dashboard view
✓
✓
Container-specific extensions
Quartermile
![Page 45: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/45.jpg)
45
Displaying a dashboard Quartermile
![Page 46: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/46.jpg)
46
gadgets.views.requestNavigateTo('canvas');
Navigating to the canvas view (client)
Quartermile
![Page 47: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/47.jpg)
47
var table = new google.visualization.DataTable(); table.addColumn('string', 'Timestamp'); for (i in data.accounts) { ... } var chart = new google.visualization.ColumnChart( document.getElementById('dash_chart')); chart.draw(table, {isStacked:true, width:600, height:400, legend:'bottom'});
Rendering charts (client) Quartermile
![Page 48: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/48.jpg)
48
Designing for Calendar
Leverage social graph
Quick data entry
Dashboard view
✓
✓
✓
Container-specific extensions
Quartermile
![Page 49: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/49.jpg)
49
Viewing a slice of data Quartermile
– User loads Calendar
– User switches between dates or daily, weekly, or monthly view
– List of activities updates based on the current view range
![Page 50: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/50.jpg)
50
function changeDateView(dateRange) { var startTime = dateRange.startTime; var endTime = dateRange.endTime;
updateRange(startTime, endTime); }
google.calendar.subscribeToDates(changeDateView);
Quartermile
Specifying a date callback (client)
![Page 51: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/51.jpg)
51
Finished gadget
Quartermile
Leverage social graph
Quick data entry
Dashboard view
✓
✓
✓
✓ Container-specific extensions
![Page 52: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/52.jpg)
52
Getting users
Quarter Mile
– Submit to container directory
– Use available API calls for organic growth • requestShareApp, Updates
– Cross promote
– Advertise
![Page 53: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/53.jpg)
53
Out to the Social Web
![Page 54: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/54.jpg)
54
Signed request
JSON
Out to the Social Web
![Page 55: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/55.jpg)
Google Friend Connect Integrations
• Wordpress
• Drupal
55
![Page 56: Google Devfest 2009 Argentina - Google and the Social Web](https://reader033.vdocuments.net/reader033/viewer/2022042700/555798bdd8b42aa3378b4fac/html5/thumbnails/56.jpg)
Q & A