• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Google Devfest 2009 Argentina - Google and the Social Web
 

Google Devfest 2009 Argentina - Google and the Social Web

on

  • 3,096 views

Google Devfest 2009 Argentina - Google and the Social Web

Google Devfest 2009 Argentina - Google and the Social Web

Statistics

Views

Total Views
3,096
Views on SlideShare
3,093
Embed Views
3

Actions

Likes
3
Downloads
26
Comments
0

2 Embeds 3

http://www.slideshare.net 2
http://192.168.6.179 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Google Devfest 2009 Argentina - Google and the Social Web Google Devfest 2009 Argentina - Google and the Social Web Presentation Transcript

    • 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
    • “The web is better when it's social.” David Glazer, Google Engineering Director
    • Clock 4
    • Movies 5
    • Stocks 6
    • Google is Better When it’s Social
    • Google Docs Collaboration is social 8
    • Google Reader Sharing is social 9
    • Google Groups, Google Talk, Gmail Communication is social 10
    • YouTube Updates are social 11
    • Implicit Social Graphs
    • Google Contacts –  Contacts lets users manage relationships 13
    • Profiles –  Let users create a persona –  Public image on the web –  Available in search 14
    • What's Google Getting with Social? •  Richer web apps More revenue More users Increased usage 15
    • Recommendations for the Social Web Use the same approach –  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 The result is more powerful, more useful applications 16
    • How Developers Benefit
    • 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… 18
    • OpenSocial –  Common APIs for accessing social data •  People •  Activities •  App Data –  JavaScript, REST, and RPC implementations –  Newest version, 0.9, just released 19
    • OpenSocial Supporting products 20
    • 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) 21
    • 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 22
    • Back to OpenSocial… 23
    • 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 24
    • iGoogle OpenSocial –  Provides 'home' and 'canvas' views –  requestShareApp and Updates for organic growth 25
    • Gmail OpenSocial –  Provides 'nav' and 'canvas' views –  Enabled as a Gmail Labs feature 26
    • Google Calendar OpenSocial –  Early preview –  Provides 'nav' and 'canvas' views –  Includes google.calendar API extensions, eg: •  google.calendar.showEvent •  google.calendar.subscribeToDates •  google.calendar.getUserEvents 27
    • Google Calendar OpenSocial –  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 28
    • Container Cheat Sheet Leverage social graph Quick data entry Dashboard view Container-specific extensions 29
    • Quartermile: An Example Gadget 30
    • Quartermile: An Example Gadget
    • Quartermile Gadget overview –  Track exercise with others –  View stats –  Quick, "smart" data entry box –  Google App Engine backend 32
    • Quartermile Architecture Signed request JSON 33
    • Quartermile Designing for iGoogle Leverage social graph Quick data entry Dashboard view Container-specific extensions 34
    • Quartermile Joining a team –  Load VIEWER_FRIENDS –  Send result to backend –  Return set of "interesting" teams 35
    • Quartermile Retrieving friends (client) var batch = osapi.newBatch(). add('viewer', osapi.people.getViewer()). add('friends', osapi.people.get({ userId: '@viewer', groupId: '@friends' })); batch.execute(callback); 36
    • Quartermile Retrieving friends (compared with 0.8) 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); 37
    • Quartermile Getting a team list (client) // ['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); } 38
    • Quartermile Getting a team list (server) // 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 39
    • Quarter Mile Displaying the list of teams (client) //[{'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>'); } } 40
    • Quartermile Designing for Gmail Leverage social graph ✓ Quick data entry Dashboard view Container-specific extensions 41
    • Quartermile Recording an exercise –  User enters an activity –  Gadget sends request to server –  Response is rendered in the activity list 42
    • Quartermile Recording an exercise (client) // 'walked 1 mile' function saveExercise(text) { var request = { 'method':'create_activity', 'data':text }; osapi.http.post(SERVER, { body: gadgets.json.stringify(request) }). execute(updateExercises); } 43
    • Quartermile Designing for Gmail part two Leverage social graph ✓ Quick data entry ✓ Dashboard view Container-specific extensions 44
    • Quartermile Displaying a dashboard 45
    • Quartermile Navigating to the canvas view (client) gadgets.views.requestNavigateTo('canvas'); 46
    • Quartermile Rendering charts (client) 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'}); 47
    • Quartermile Designing for Calendar Leverage social graph ✓ Quick data entry ✓ Dashboard view ✓ Container-specific extensions 48
    • Quartermile Viewing a slice of data –  User loads Calendar –  User switches between dates or daily, weekly, or monthly view –  List of activities updates based on the current view range 49
    • Quartermile Specifying a date callback (client) function changeDateView(dateRange) { var startTime = dateRange.startTime; var endTime = dateRange.endTime; updateRange(startTime, endTime); } google.calendar.subscribeToDates(changeDateView); 50
    • Quartermile Finished gadget Leverage social graph ✓ Quick data entry ✓ Dashboard view ✓ Container-specific extensions ✓ 51
    • Quarter Mile Getting users –  Submit to container directory –  Use available API calls for organic growth •  requestShareApp, Updates –  Cross promote –  Advertise 52
    • Out to the Social Web 53
    • Out to the Social Web Signed request JSON 54
    • Google Friend Connect Integrations •  Wordpress •  Drupal 55
    • Q&A