An embedded experience is an information delivery model in which content from an external source is embedded into an OpenSocial container in an activity stream or inbox. The goal of embedded experiences is for users to be able to interact dynamically with external content directly in context without having to switch to another application.
The best way to describe an embedded experience is to use a familiar example.
Most likely, you've seen a YouTube video embedded into a web page or application at some point. You can play the video, adjust the volume, watch the video in full screen mode, and more. However, if you want to make a comment about the video for other YouTube users, you typically have to leave your application, go to YouTube, log in, and finally comment on the video.
Now imagine allowing users to add and view comments about the video directly on YouTube without ever leaving your application. Users can fully interact with the video directly from their activity stream or inbox -- a rich social interaction occurring on YouTube but within the context of your application.
Embedded experiences take advantage of Open Authorization (OAuth) for user authentication. As part of the OpenSocial specification, OAuth allows your embedded experience gadget to access secure content after users have delegated access to the gadget. This trust between your embedded experience and the service provider, YouTube in this case, is kept for a duration of time determined by the provider. After the trust is revoked, users have to authenticate again.
Of course, YouTube is just one example of how to integrate applications with embedded experiences. Embedded experiences can be used to integrate any service, consumer or enterprise related, as long as there are public APIs available to use. For example, in the enterprise, you can create embedded experiences for your customer relationship management (CRM) solution or business process management (BPM) software.
Now that you have a better understanding of embedded experiences and how it improves productivity and promotes social interaction, let's get started building an embedded experience!
Parent topic: Tutorial: Creating embedded experiences
Next topic: Module 2: Creating an embedded experience that displays a string