
Good teachers have always recognised that they require of variety of teaching methods - and that their students will have a variety of learning styles.
In addition, some topics are best learnt with one type of teaching method and learning style - but this approach may not be best for a different topic.
Recently, there has been recoginition that learning that takes place within a group, peer, collaborative or social environment can be an important teaching and learning style.
OpenSocial is a set of definitions and practices that enable developers to work with the kind of data that is used in social networks.

These definitions and practices align well with the Icodeon Common Cartridge Platform when developers wish to use the platform to build e-learning tools for pedagogies that include a group, peer, collaborative or social dimension.
The OpenSpocial definitions enable developers to:
- build apps that run within social network applications.
- build apps that run outside social network applications, but use data from social networks.
- MySpace
- Ning
- Netlog
- Apache Shindig
- Yahoo!
- Hi5
The OpenSocial set of definitions include:
- a URL language for creating HTTP requests.
- a schema for defining the representations returned by the HTTP response.
For example, compare the OpenSocial request for a list of posts made by a user to a social network activity stream:
GET /activities/@viewer/@selfwith the Icodeon Common Cartridge Platform request for the first post made by a user to a Common Cartridge discussion topic:
GET /cartridges/{cartridge}/items/{item}/topics/
{context}/activities/@first
and compare the response from a social network:<activity xmlns="http://ns.opensocial.org/2008/opensocial"> <title>My Status</title> <updated>2008-02-20T23:35:37.266Z</updated> <body>Studying this evening for that new psychology course on human emotional states. Hard work - but worth the effort I hope!</body> <userId>example.org:34KJDCSKJN2HHF0DW20394</userId> </activity>with the response from the Icodeon platform:
<activity xmlns="http://ns.opensocial.org/2008/opensocial"> <id>233778</id> <title>My Comment on Psychology Course</title> <updated>2010-01-20T23:45:27.126Z</updated> <body>I think recognition of human emotional states is learned and not innate. There could be a culture in the world that expresses joy through scowling and fear through laughter!</body> <userId>example.org:34KJDCSKJN2HHF0DW20394</userId> </activity>The two example responses above, one from a social network and one from the Icodeon Common Cartridge Platform, can be equally parsed using the jquery-opensocial library. For example, the jquery code below works equally well with either of the responses:
$.ajax({
url: '/activities/@viewer/@self',
data: {},
dataType: 'data',
success: function(activities) {
$.each(activities, function(i, activity) {
console.info(activity.title);
$.each(activity.mediaItems, function(i, mediaItem) {
console.log(mediaItem.mimeType);
console.log(mediaItem.url);
});
});
},
error: function(xhr, status, e) {
console.info(xhr, status, e);
}
});
This alignment between the OpenSocial definitions and the defintions used for the
Icodeon Common Cartridge Platform has two major implications:- code libraries used for OpenSocial can be re-used when building e-learning tools with the Icodeon Common Cartridge Platform. The jquery-opensocial library is an excellent example.
- response representations from the Icodeon Common Cartridge Platform are easily "mashed-up" into social nework apps to create learning tools that exisit with the social, peer, group or collaborative learing context.


Great post! As president of the OpenSocial Foundation, I'd like to learn more about what you are doing with the spec and Shindig. Also if you'd be willing to cross post on the OpenSocial blog or work with other folks doing similar things with OpenSocial in education.
ReplyDeletePlease let me know when you get a chance.
My contact info is weitzel m dot ibm at gmail