1 / 157

OpenSocial a standard for the social web

Explore the concept of social web and its implications for education at Colloque MATI in Montreal. Discover OpenSocial's goal of making the web more social and its impact on online interactions.

dha
Download Presentation

OpenSocial a standard for the social web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OpenSocial a standard for the social web Colloque MATI - Le Web 2.0 et l'éducation Montreal March 19 2009 Patrick Chanezon chanezon@google.com

  2. OpenSocial’s goal: Make the web more social 2

  3. Making the web better by making it social What does social mean?

  4. What does “social” mean? “Eliette, what do you do with your friends?”

  5. What does “social” mean? This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License

  6. “We look at each other”

  7. What does “social” mean? This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License

  8. “Talking” 8

  9. What does “social” mean? This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License

  10. “Laughing” 10

  11. What does “social” mean? This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License

  12. “We help each other” 12

  13. What does “social” mean? This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License

  14. “We read together” 14

  15. What does “social” mean? This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License

  16. “We do projects together” 16

  17. Raoul: a social object for Charlotte (3 year old)

  18. Jaiku’s Jyri Engeström's 5 rules for social networks: social objects 1. What is your object? 2. What are your verbs? 3. How can people share the objects? 4. What is the gift in the invitation? 5. Are you charging the publishers or the spectators? http://tinyurl.com/yus8gw

  19. How do we socialize objects onlinewithout having to create yet another social network?

  20. The social internet • A social website.. • Provides a feature that becomes more engaging as the number of users grows. • Uses relationships between people to present users interesting information.

  21. The social internet Some social websites...

  22. The social internet • A social website.. • Has overhead to manage users and relationships. • Grows slowly because users must sign up to use the site. • What if we remove • the overhead? • Developers can focus on providing features, not managing users.

  23. The social internet • A social network.. • Manages large numbers of users and relationships. • Is slow to add new features.

  24. The social internet Many social networks...

  25. The social internet • How do we add new features to social networks? • Make the social network a platform. • Give creative developers the tools to add the features themselves.

  26. The social internet • A social application... • Lets the social network manage users and relationships. • Adds new features to the social network. • Lets users “install” the application without signing up for new accounts. • Grows quickly because users are already communicating with each other.

  27. The social internet Lots of social apps...

  28. Need for a social API How do we put apps in social networks? 29

  29. A day in the life of a social app developer

  30. A day in the life of a social app developer

  31. A day in the life of a social app developer

  32. A day in the life of a social app developer

  33. A day in the life of a social app developer

  34. A day in the life of a social app developer

  35. Introduction to OpenSocial • Numbers: • 19+ implemented Containers • 40+ committed Containers • 3000+ applications • 400,000,000+ of users In Thailand: 8 M users

  36. Today: 600 Million User Reach

  37. OpenSocial “Containers”

  38. Live Developer Sandboxes: • iGoogle • imeem • CityIN • Tianya • Plaxo Pulse • Mail.ru • lokalisten • Viadeo • 51.com – • MyAOL! - Where is OpenSocial live today? Live to Users: MySpace orkut hi5 Freebar Friendster Webon from Lycos IDtail YiQi Netlog Hyves LinkedIn Ning Full List: http://opensocial.org/

  39. The OpenSocial APIs • Versions: • 0.6 - Client-side APIs introduced • 0.7 - Server-side APIs introduced • 0.81 (current) - Server-side APIs finalized • Client-side: • Gadgets XML • Gadgets JavaScript • OpenSocial JavaScript • Server-side: • RESTful protocol • RPC protocol

  40. Gadgets Not widgets, not sprockets, not gidgets, not wadgets 41

  41. Gadgets • A gadget spec: • Is an XML file. • Defines metadata about an OpenSocial app. • Is highly cacheable and does not need a high performance server. • Gadgets use existing web standards • XML to define metadata. • HTML for markup. • JavaScript for interactivity. • CSS for presentation.

  42. Gadgets • A gadget server: • Takes the gadget spec as input. • Performs optimizations on the gadget spec. • Outputs HTML, JavaScript, and CSS as one document.

  43. Gadgets • A container: • Displays the social network’s user interface. • Opens an IFrame to the rendered gadget. Containers and gadget servers are both run by the social network, but do not need to be on the same machine, or even domain.

  44. Gadgets • Example gadget XML spec: • Uses HTML to print “Hello World”. • Colors the text red with CSS. • Dynamically adjusts the height of the gadget with JavaScript. • <?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Hello World!"> <Require feature="dynamic-height" /> </ModulePrefs> <Content type="html"> <![CDATA[ <h1>Hello World</h1> • <style type="text/css"> • h1 { color: #dd0000; } • </style> • <script type="text/javascript"> • gadgets.window.adjustHeight(); • </script> ]]> </Content></Module>

  45. Gadgets • Requesting the gadget XML spec: • The client requests an app to be rendered.

  46. Gadgets • Requesting the gadget XML spec: • The client requests an app to be rendered. • The container fetches the gadget XML spec from its host.

  47. Gadgets • Requesting the gadget XML spec: • The client requests an app to be rendered. • The container fetches the gadget XML spec from its host. • The container renders the gadget into HTML, which is displayed to the client.

  48. Gadgets • Requesting the gadget XML spec: • Because the gadget spec is simple, it can be cached easily. • Caching reduces the load on your server, great when you have millions of users.

  49. Gadgets • Requesting a cached gadget XML spec: • The client requests an app to be rendered. The container already has a copy of the spec stored in its cache.

More Related