Social software – software that supports group interaction – is one of the most profoundly important uses of the Internet. It is a category that groups together several kinds of application, from online community applications to groupware to collaborative tools, but the common thread is that it amplifies or expands our social capabilities. Because it comprises all the complexities of group behavior, from collaboration to one-upmanship to backstabbing, designing social software is a problem that can't be attacked in the same way as designing a word processor. Designers of social software have more in common with economists or political scientists than they do with designers of single-user software, and operators of communal resources have more in common with politicians or landlords than with operators of ordinary websites.
The term Social Software describes patterns of use more than technologies. It includes everything from simple group e-mail to vast 3D game worlds like EverQuest. It can be as undirected as an AOL chat room or as task-oriented as an installation of Lotus Notes. Some types of social software are highly centralized, like WebCrossing’s Web-based discussion forums, while others are decentralized and work to make the servers invisible to the users, as with Groove.
Businesses have typically invested in social software (neé groupware) that is aligned with management preferences for control over flexibility, often leading to software that is centralized, process-heavy and locked down. However, real-world collaborative patterns are better supported by software that is decentralized, flexible and extensible.
The Web actually dampened the development of social software. Users kept using mailing lists and chat, of course, but most new software was designed for a one-way conversation between writers and readers of Web pages; two-way conversations were often an afterthought, with a BBS or "Contact us!" button tucked away on the side.
Now, after years of sites and software designed to support big and largely disconnected groups, developers are working on social software again. This is in part because there are a number of interesting problems involved in helping people interact (identity, reputation management, conversational threading), and in part because the ubiquity of Web protocols means that developers can treat the Web as a platform. Rather than attempt to provide all functions to all people, the tools and services being developed can be combined easily and as needed, without having to be formally merged.
Taking their cue from people’s actual behaviors rather than some idealized projection, a number of startups are designing tools that help people get what they want from group interaction.