I first began developing social applications when Facebook opened up its developer platform in 2007, giving people like me a taste of the extensive social data that an application can use to improve growth and target personalization settings. At the time, I was building social fantasy sports applications for CBSSports.com, pulling user information to enrich that fantasy sports data into a highly personalized state.
It wasn’t until 2008, when I joined the partner integrations team in the Yahoo! Developer Network, that I got my first peek at an open source approach to social application development through OpenSocial. What attracted me to OpenSocial was not the fact that you could build an application once and deploy to numerous OpenSocial containers (which proved to be a faulty notion), but rather that through an open source approach I could build social applications on a container and understand how these platforms worked from a core level. I developed a deep drive to explore how the relationships that people form on the Web can enrich and personalize their online lives. This was the starting point of my career advocating open source social technologies.
OpenSocial was the gateway specification for me, leading me to explore the Shindig OpenSocial container, OpenID and OAuth (for authentication and authorization, respectively), the third-party code security technologies Caja and ADSafe, and newer distributed web framework specifications like Activity Streams, PubSubHubbub, and the Open Graph protocol. I quickly came to realize that there was a wide range of open source technologies to enable the construction of rich social frameworks. These technologies and specifications built rich layers of functionality in a simple way using very open methodologies.
These social technologies and specifications are what this book is about. Each chapter uncovers a new layer in the construction of highly viral social applications and platforms. We start by exploring the concepts behind social applications and containers, and then dive into the technologies used to build them. With the application basics down, we look at technologies to secure third-party code on a container, and follow with a discussion of how to secure user information and develop a standard login architecture for platforms. After exposing all of those complex layers, we take an in-depth look at distributed web frameworks that showcase standardization techniques for syndicating activities, discovering rich web and user data from sites and email addresses. And finally, we explore some wonderful upcoming standards in the social application world.
The content of this book comes from years of direct partner integration work emphasizing the power and features behind open source technologies while collaborating with other developers and companies to create rich social integrations with Yahoo!. This book is a labor of love, as I have both taught and learned from seeing firsthand how social integration technologies are applied to real-world applications and interactions.