Articles & Tutorials
From OpenSocial
OpenSocial gives you several approaches for developing apps, depending on your project requirements. However, most social application designs have the same structure: application data, social data, and a template are combined to provide a rendered view to the end user.
Social Design Patterns
The documentation in this wiki has been arranged in a series of tracks, grouped by the style of development they describe. Depending on what type of application you want to write, one of the following patterns should fit your needs.
Social Mashup
A social mashup is a lightweight OpenSocial application which runs inside of a social network. Because such applications do not rely on a server, they typically scale extremely well but may be limited in terms of data storage and/or processing. A social mashup is typically created using HTML, JavaScript, CSS, OpenSocial Templates, and/or Flash.
To write your own mashup from scratch:
|
Social Application
A social application runs inside of a social network but relies on an external server for processing and rendering data. These applications can provide advanced functionality but may run into scaling problems when they become very popular. Social applications can be created using a variety of technologies, including HTML, JavaScript, CSS, OpenSocial Templates, Flash, PHP, Python, Java, Perl, .NET, or Ruby.
To write your own application from scratch:
|
Social Website / Social Mobile Application
Social websites and social mobile applications run outside of social networks but consume social data through REST or RPC APIs. Users of these apps can grant access to their data using 3-legged OAuth without needing to add an application on a social network. This design pattern grants the most flexibility - almost all languages and platforms can take advantage of this data.
To write your own website or mobile app from scratch:
|
Tutorials |
|
---|---|
OpenSocial Tutorial | Building a complete social gadget from start to finish. |
Social Mashup Tutorial | Write a simple gift giving app using OpenSocial templates. |
Social Application Tutorial | Write a gift giving app which relies on an external server. |
Social Website Tutorial | Write a gift giving website which allows users to log in with OpenSocial accounts. |
JavaScript API |
|
Developer's Guide | Learn the basics of writing OpenSocial-based gadgets. |
Requesting Social Data | Fetch social data from inside a gadget. |
App Data | Read and write persistent data without needing a database. |
Gadgets |
|
Gadgets API Developers Guide | Learn the basics of writing non-social gadgets. |
Gadgets XML Reference | Reference for the gadget specification XML. |
Localization | Display locale-appropriate content based on the user's country and language settings. |
Views | Render your gadget in different sections of the container. |
Remote Content |
|
Remote Data Requests | Fetch remote content. |
Introduction To Signed Requests | Securely transmit OpenSocial IDs to a remote server. |
Validating Signed Requests | Validate that information from a container has not been modified. |
Templates and OSML |
|
OpenSocial Templates | Simplify your display code by using templates. |
Server-to-server Protocols |
|
OpenSocial REST Developer's Guide | Access social data from your server. |
Client Libraries | Use PHP, Java, Ruby, Python, and ActionScript or other languages to access social data. |
Best Practices |
|
Social Design Best Practices | Follow best practices for designing social applications. |
Unobtrusive Alerts | Avoid the use of the alert() function. |
Latency Measurement | Learn how to measure the latency and performance of your app. |
Improving Latency | Reduce the latency of your app. |
OAuth Use Cases | Learn how OpenSocial uses OAuth authorization. |
Performance comparison on Programming Models | Including the comparison on first-time gadget rendering performance, and the data requesting performance. |
Tools and Utilities |
|
OpenSocial Dev App | Experiment with social JavaScript calls inside of a social network. |
OSDE Tutorial | Learn how to build social gadgets locally, using the OpenSocial Development Environment |
Gadgets i18n Tool | Automatically translate gadgets using this Windows tool. |
Partuza | An example social networking site based on PHP Shindig. |
SocialSite | An example social networking site based on Java Shindig. |
Silverlight Kit for MySpace | An Open Source Silverlight 2 Kit for the MySpace Developer Platform. |
Integrating OpenSocial with other services |
|
Google App Engine | Build an OpenSocial application using Google App Engine. |
Amazon S3 and App Engine | Build a photo-sharing application on Amazon S3 and Google App Engine. |
Google Data APIs | Access the Google Data APIs from a gadget, using the Google Accounts APIs for authentication. |
Google Friend Connect | Integrate OpenSocial and Google Friend Connect on your PHP website. |