This is the third of three posts looking at the details of a functional framework for Web 2.0 / social media. The earlier posts are:
The final category in our social media framework deals with contributions to the social media platform itself. One of the key ideas in O'Reilly's explanation of Web 2.0 is the adoption of lightweight, flexible development methodologies that rely on the active involvement of the community of users to build the platform. Intuitively this makes sense: the usage of a particular social media platform shifts and changes over time as community members use the technology for a variety of real-world purposes. Users stretch and pull the features of a particular platform: think of the conventions that have built up on Twitter: the use of the @user reply format or integration of Twitpic, TinyURL and other similar tools - none of which featured in the original design spec for the Twitter platform.
Platforms that don't adapt and change go into decline. MySpace, for example, is burning a US$580 million hole in Rupert Murchoch's pocket in part because News Corp didn't understand the need to allow the platform to evolve and change in a free and flexible manner. Decreased usage of that platform can be attributed to an increased emphasis on advertising (leading to a crappy user experience) and a glacial bureaucratic process for the implementation of design changes.
Involving the community in the development of a social media platform is an example of utilising the wisdom of the crowds, again a key component of O'Reilly's explanation of Web 2.0. A social media platform is more than just the site itself, but also includes the 'ecosystem' of related applications and support sites that allow the community to use the site for a variety of purposes. This means that there are two different ways in which the community of users of a social media platform can contribute to the platform itself:
- Contributing to the platform design
- Contributing to the ecosystem of applications around the platform.
Clearly the former is more common than the latter, and takes the form of both explicit and implicit feedback. Often, the developers of a platform will directly engage with the community to find out how they want to use the platform, looking for ideas for new features. Frequently, though, the feedback takes the form of a change of usage pattern. As users try to use the platform in unanticipated ways, developers respond by either making it easier to use existing features (eg. embedding @replies into the structure of the Twitter platform) or introducing brand new features (eg. the ability to geotag photographs on Flickr).
Very occasionally, a user of a platform will develop a 3rd party application to introduce some feature not directly supported by the platform, or to allow a customised means of interacting with the platform. The plethora of Twitter applications for devices like the iPhone is an example of this, as well as the image, video and link applications that extend the functionality of the basic platform: hardly anyone uses the web interface as their primary means of using Twitter. Sometimes the 3rd party applications end up being integrated into the platform itself (see the Twitter search tool which started as an independent web app), but even if that doesn't happen, the platform is extended and supported by this 3rd party ecosystem, leading to a wider range of uses and appealing to a larger group of users. The easier it is to develop a 3rd party application (through technologies like XML, SOAP or even plain old HTML APIs) the richer this ecosystem will be.