Cross-site Ajax: Challenges and Techniques for Building Rich Web 2.0 Mashups

Joseph Smarr, Architect, Plaxo, Inc.

Track: JavaScript/Ajax
Date: Wednesday, July 26
Time: 2:35pm - 3:20pm
Location: Portland 255

The recent proliferation of Ajax techniques (for building rich, interactive web applications) and light-weight APIs (for building cross-site mashups) has given us the potential to develop a new class of integrated web experiences that draw on multiple services and disparate sources of data. However, many of the standard techniques in use do not work across web sites on different domains because of security restrictions (e.g., cross-domain DOM manipulation and XMLHttpRequests are not allowed). Most widely used web components today either ignore the problem of cross-site communication by simply not talking between sites (e.g., Google Maps) or they proxy the communication in some way (e.g., through the host page’s server for Flickr’s API, or through a Flash tunnel for Yahoo! Maps). These workarounds are all problematic, and none of them deliver on the ultimate promise of pluggable, purely client-side web components that can communicate together.

This talk will explain in detail the challenges of building cross-site Ajax mashups, and present some new techniques for avoiding or circumventing these problems. The solutions discussed come from Plaxo’s recent experiences building web widgets that any web site can include to let their users access their address book data. However, the challenges Plaxo dealt with apply to all web sites that want to enable rich cross-site interaction. These issues deserve more attention if we are to realize the full potential of the remixable web.