Socialwg/Social API/API Usage Patterns

From W3C Wiki

Description

Below is described the 4 main models for API usage seen, in relation to Social Software

Notes on terms used in this document

Social Platform - This term refers to the provision of capabilities that would typically be regarded as social such as Liking, Following, Sharing and an Activity Stream. Any actual Social Platform may be the combination of multiple providers.
Application - For the purpose of this document this refers to the provision of capabilities not typically (or at least initially) regarded as social

Patterns

Integration

  • Existing Applications are updated to work with a Social Platform, typically by pushing data to the Social Platform
  • Simplest example is posting of Create-Update-Delete events (relating to content not otherwise considered 'social') to the Activity Stream
  • Updating group membership or creating Network connections could also apply
  • Key to isolating and defining this context is that the Application is itself not altered in appearance, and the Social Platform is essentially just receiving extra data.

Extension

  • In this case APIs (and an extension model) are required to add functionality to existing Social Platform providers
  • There are a number of models
    • Data modification - e.g. Moderation, adding additional markup to existing data (e.g. popup person card), adding functionality to data (e.g. Skype)
    • User Interface Integration - e.g. adding Widgets
    • Functionality addition - e.g. adding Actions
  • In isolating and defining this context it is important to note that no other Application is required (though one may exist). The Social Platform itself is enhanced

Inclusion

  • Take information from a Social Platform and include it in a different application
  • For example an Activity Stream filtered to a topic of relevance to the current user view in a completely separate application
  • Generally also involves 'Integrate' above so there is retrieving of posted information with additional social information from other sources (e.g. posting events to a group, and on retrieval, showing the entire group feed)

Aggregation/Analysis

  • Take feeds/streams to provide metrics etc.
  • Typically feeds this either into the Application or back in to the Social Platform