Content deleted Content added
copyedit |
m Fix spelling, grammar, and tone |
||
(6 intermediate revisions by 6 users not shown) | |||
Line 20:
'''OpenSocial''' is a public specification that outlines a set of common [[application programming interface]]s (APIs) for [[web application]]s. Initially designed for [[Social network service|social network applications]], it was developed collaboratively by [[Google]], [[MySpace]] and other social networks. It has since evolved into a [[runtime environment]] that allows third-party components, regardless of their trust level, to operate within an existing web application.
The OpenSocial Foundation has integrated or supported various [[Open Web]] technologies, including [[OAuth]] and [[OAuth 2.0]], [[Activity Streams (format)|Activity Streams]], and [[Portable Contacts]]. Since its inception on November 1, 2007,<ref>{{Cite web|title = Google Launches OpenSocial to Spread Social Applications Across the Web – News announcements – News from Google – Google|url = http://googlepress.blogspot.com/2007/11/google-launches-opensocial-to-spread_01.html|website = googlepress.blogspot.com|access-date = November 23, 2015}}</ref> applications that implement the OpenSocial APIs can [[interoperability|interoperate]] with any social network system that supports them.
OpenSocial initially adopted a universal approach to development. As the platform matured and the user base expanded, it was modularized, allowing developers to include only necessary components of the platform.<ref name="OS100" /> [[Orkut]], a Google client, was the first to support OpenSocial.<ref>{{Cite web |title=OpenSocial opens new can of worms |url=https://www.cnet.com/tech/tech-industry/opensocial-opens-new-can-of-worms/ |access-date=2023-11-08 |website=CNET |language=en}}</ref>
Line 28:
==Structure==
[[File:Opensocial.jpg|thumb|Structure of OpenSocial<ref>{{Cite journal|title = Opensocial: An Enabler for Social Applications on the Web|journal = Commun. ACM|date = January 1, 2011|issn = 0001-0782|pages = 139–144|volume = 54|issue = 1|doi = 10.1145/1866739.1866765|first = Matthias|last = Häsel|s2cid = 52805577}}</ref>|400x400px]]
In its 0.9 version, OpenSocial incorporated support for a [[Markup language|tag-based language]].<ref name=":0" /> known as OSML. This language facilitates tag-based access to data from the OpenSocial [[API|APIs]], which previously necessitated an asynchronous client-side request. Additionally, it established a comprehensive tag template system and adopted an expression language that is loosely based on the [[Java (programming language)|Java]] [[Unified Expression Language|Expression Language]].▼
▲In its 0.9 version, OpenSocial incorporated support for a [[Markup language|tag-based language]].<ref name=":0" /> known as OSML. This language facilitates tag-based access to data from the OpenSocial APIs, which previously necessitated an asynchronous client-side request. Additionally, it established a comprehensive tag template system and adopted an expression language that is loosely based on the [[Java (programming language)|Java]] [[Unified Expression Language|Expression Language]].
From version 2.0 onwards, OpenSocial began supporting the [[Activity Streams (format)|Activity Streams]] format.<ref name=":0">{{Cite web|title = OpenSocial Specification Release Notes|url = http://opensocial-resources.googlecode.com/svn/spec/2.0/OpenSocial-Specification-Release-Notes.xml#rfc.section.4|website = opensocial-resources.googlecode.com|access-date = November 23, 2015|archive-url = https://web.archive.org/web/20110811204023/http://opensocial-resources.googlecode.com/svn/spec/2.0/OpenSocial-Specification-Release-Notes.xml#rfc.section.4|archive-date = August 11, 2011|url-status = dead}}</ref>
Line 40 ⟶ 38:
===Development===
OpenSocial was rumored to be part of a larger social networking initiative by Google code-named "Maka-Maka",<ref name="Makamaka">{{cite web |url=https://techcrunch.com/2007/10/29/googles-response-to-facebook-maka-maka/ |title=Google's Response to Facebook: "Maka-Maka" |access-date=October 31, 2007 |last=Schonfeld |first=Erick |date=October 29, 2007 |work=[[TechCrunch]] }}</ref> <ref>{{Cite news |last=Sloane |first=Julie |title=Will Google's "Maka-Maka" Turn the Web Into a Social Network? |url=https://www.wired.com/2007/10/will-googles-ma/ |access-date=2024-05-20 |work=Wired |language=en-US |issn=1059-1028}}</ref>which is defined as meaning an "intimate friend with whom one is
===Implementation===
An [[open-source software|open-source]] project, [[Shindig (software)|Shindig]], was launched in December 2007 to provide a [[reference implementation]] of the OpenSocial standards. It has the support of Google, Ning, and other companies developing OpenSocial-related software. The Myspace OpenSocial parser was released as project Negroni in January 2011 and provides a [[C Sharp (programming language)|C#]]--based implementation of OpenSocial.
Apache Rave is a lightweight and open-standards-based extensible platform for using, integrating, and hosting OpenSocial and W3C Widget
Both Shindig and Apache Rave are no longer in development and have been retired by the Apache Foundation.
Line 56 ⟶ 54:
=== hi5 ===
[[hi5]] taps [[Widgetbox]]
=== MySpace ===
Line 62 ⟶ 60:
==Security issues==
Initial OpenSocial support experienced vulnerabilities in security, with a self-described amateur developer demonstrating [[exploit (computer security)|exploits]] of the [[RockYou]] gadget on [[Plaxo]], and
Häsel and Iacono showed that “OpenSocial
==Release versions==
===Criticism of initial release===
On December 6, [[TechCrunch]] followed up with a report by MediaPops founder Russ Whitman, who said, "While
'''Legend: '''
Line 133 ⟶ 131:
===Version 2.5.1===
Changes to the [[REST API]] were made to address several issues that required changes in the OpenSocial specifications so
===Version 2.5.0===
Line 142 ⟶ 140:
===Version 2.0.0===
OpenSocial introduced support for [[Activity Streams]]. JSON had emerged as the preferred data format and support for [[Atom (web standard)|ATOM]] was deprecated. The Gadget format was simplified to give the ability to define a template library within a Gadget specification.<ref name="OS200" /> While not finalized, the groundwork for OAuth 2.0 support was put in place.
===Version 1.1.0===
Line 148 ⟶ 146:
===Version 1.0.0===
OpenSocial acknowledged that the "one-size-fits-all" approach it was taking was not going to work for the diverse
===Version 0.9.0===
In response to feedback and observation of how developers were using the API, this version focused on making "application development, testing, and deployment easier and faster, while reducing the learning curve for new app developers."<ref name="OS090" /> The OpenSocial Javascript API was streamlined to make it lightweight while retaining the power of the old Javascript API. Proxied content was introduced to eliminate the need for developers to work around previous [[Ajax (programming)|AJAX]] limitations. Proxied content allows
===Version 0.8.1===
This minor release placed a major focus on server-to-server protocols as "the Person schema has been aligned with the Portable Contacts effort, and an optional RPC proposal has been added."<ref name="OS081" /> [[JSON-RPC]] protocol was added to increase server
===Version 0.8.0===
OpenSocial changed specifications for containers to implement a [[RESTful API]]. Many of the OpenSocial Javascript API changes made this version incompatible with previous versions. Existing gadgets continued to use v0.7.0. After updating the gadget, it would use v0.8.0. Security improved with the introduction of OAuth authorization and [[HTML]] sanitation, and container lifecycle events.<ref name="OS080" /> Persistence data was stored in [[JSON]].
===Version 0.7.0===
Released as the "first iteration that can fully support rich, social applications."<ref name="OS070" /> It added several standard fields for profile information, the ability to send a message to install an application, an Activity template to control activity notifications about what users have been doing, and a simplified persistence API to use feeds instead of global and instance-scoped application data. Another major announcement came from [[Apache Shindig]]. Apache Shindig
===Version 0.6.0===
Line 166 ⟶ 164:
===Version 0.5.0===
Google announced the launch of OpenSocial with a pre-release of version 0.5.0. While unstable, this API introduced "various XML DTDs, [[JavaScript|Javascript]] interfaces and other data structures"<ref name="OS050" /> to the OpenSocial platform.
==References==
|