1 / 40

Performance Challenges for the Open Web

Performance Challenges for the Open Web. Stanford CS193H 29 September 2008. Background: making the web work better. I’ve been abusing web browsers for 15 years http://josephsmarr.com I used to work on AJAX / JS performance

carter-boyd
Download Presentation

Performance Challenges for the Open 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. Performance Challenges for the Open Web Stanford CS193H 29 September 2008

  2. Background: making the web work better • I’ve been abusing web browsers for 15 years • http://josephsmarr.com • I used to work on AJAX / JS performance • http://josephsmarr.com/2007/07/25/high-performance-javascript-oscon-2007 • Video:http://developer.yahoo.net/blogs/theater/archives/2007/08/joseph_smarr_highperformance_j.html • Now I’m helping open up the social web • http://josephsmarr.com/2008/09/22/tying-it-all-together-implementing-the-open-web-web-20-expo-new-york • Weekly video podcast: thesocialweb.tv • Open Web has new performance challenges • Making multiple sites play well together • Privacy, transparency, flexibility, simplicity

  3. In a world with lots of socially-aware sites…

  4. …and lots of “open social web” building blocks…

  5. …how do the pieces fit together? …and what will the new Social Web look like?

  6. Reminder: The social web today is broken… • On each site, we still have to: • Re-create an account • Re-enter our profile info • Re-find our friends • Re-establish our relationships • New social apps have limited options: • Create yet-another-silo (and start from scratch) -or- • Make a widget inside an existing walled garden

  7. …but we know how to make things better!

  8. Create a portable, durable online identity • OpenID • Sign up / sign in with an existing account • Link / share your profile data between sites

  9. Example: Sign up for Plaxo with OpenID

  10. Create a portable, durable online identity • OpenID • Sign up / sign in with an existing account • Link / share your profile data between sites • rel=me (XFN) • Consolidate your online identity with me-links • Social Graph API • See what your users said about themselves

  11. Build and maintain real relationships • Contact APIs • Find people from your current address book • Leverage previously established relationships • OAuth • Share private data between trusted sites • Friends-list portability • Continuous discovery across multiple sites

  12. “A periodic check of new people from your networks on other sites”

  13. Stay up-to-date with the people you know • OpenSocial • Build social apps that can run anywhere

  14. OpenSocial

  15. OpenSocial: Large and Growing Rapidly

  16. Stay up-to-date with the people you know • OpenSocial • Build social apps that can run anywhere • RSS / Atom • Syndicate your activity to share with others • Jabber (XMPP) • Real-time update stream between sites

  17. Building blocks in action: contacts portability • User signs in with an OpenID • Site fetches OpenID URL  looks for X-XRDS-Location • Site parses XRDS-Simple doc to discover available APIs Site tries to access contacts API  gets a 401 • WWW-Authenticate response header specifies OAuth • OAuth Discovery (via XRDS) provides OAuth endpoints Site sends user though OAuth flow to grant access • User returns to site with authorized access token • Site can now access users’ contacts data via API + token

  18. Performance Challenges • Minimizing round trips • Discovery, Association, OpenID, OAuth, etc. • Combining steps vs. small pieces loosely joined • JSON-RPC in OpenSocial (batching API calls) • Caching: freshness vs. performance • Policies for how long to store personal data • Social Graph API: cached web crawl • Server-alerted notifications

  19. Performance Challenges (cont.) • Pull vs. push: aggregating activity • Polling is easy but inefficient & doesn’t scale (1000 users every 15 min > 1 hit per sec) • XMPP & Gnip: receive update notifications • Integrating 3rd party content • Server-side (proxied) vs. client-side (JS onload) • Iframe vs. inline • New techniques: XFBML, Caja, etc.

  20. …so how do these building blocks fit together?

More Related