Designing for collective intelligence

A collective intelligence application is one that harnesses the knowledge and work of its users to provide the data for the application and to improve its usefulness. The most hyped examples of collective intelligence applications have been labeled as "Web 2.0" applications. Web 2.0 is an amorphous term used to define a computing paradigm that uses the Web as the application platform and facilitates collaboration and information sharing between users. Classic examples of Web 2.0 applications include: wikis, blogs (or Weblogs), social network services, and social bookmarking. Collective intelligence is not a new concept. As long ago as 1968, computer visionaries foresaw the ability of computers to be applied to cooperation in creative endeavors by allowing people capable of solving specific problems to share their ideas. However, collective intelligence has been gaining momentum as new tools supporting collaboration have become available. The concept of collective intelligence is now being explored by businesses interested in using it for collaborative innovation and by researchers interested in addressing systemic problems like climate change. Collective intelligence is a fundamentally different way of viewing how applications can support human interaction and decision making. Most traditional applications have focused in improving the productivity or decision making of the individual user. The emphasis has been on providing the tools and data necessary to fulfill a specific job function. Under the collective intelligence paradigm, the focus is on harnessing the intelligence of groups of people to enable greater productivity and better decisions than are possible by individuals working in isolation. The shift to a collective intelligence paradigm requires software developers to have different ways of thinking about how their how software might be used and what features would enable better visualization and use of information among groups of people. The new breed of collective intelligence applications needs to center around user defined data that can be reused to support decision making, team building, or to improve understanding of the world around us. The users of these systems should play a central role in defining what data is important and how the data is used. The essential features of collective intelligence applications are similar to the design patterns for Web 2.0 applications except that collective intelligence applications can be custom applications designed for small highly specialized domains instead of the larger Web audience served by most Web 2.0 applications. The seven principle collective intelligence application requirements are (adapted from O'Reilly): 1. Task specific representations: Domain specific collective intelligence applications should support views of the task that are tailored to the particular domain. 2. Data is the key: Collective intelligence applications are data centric and should be designed to collect and share data among users. 3. Users add value: Users of collective intelligence applications know the most about the value of the information it contains. The application should provide mechanisms for them to add to, modify, or otherwise enhance the data to improve its usefulness. 4. Facilitate data aggregation: The ability to aggregate data adds value. Collective intelligence applications should be designed such that data aggregation occurs naturally through regular use. 5. Facilitate data access: The data in collective intelligence applications can have use beyond the boundaries of the application. Collective intelligence applications should offer Web services interfaces and other mechanisms to facilitate the re-use of data. 6. Facilitate access for all devices: The PC is no longer the only access device for internet applications. Collective intelligence applications need to be designed to integrate services across handheld devices, PCs, and internet servers. 7. The perpetual beta: Collective intelligence applications are ongoing services provided to its users thus new features should be added on a regular basis based on the changing needs of the user community. The processes involved in designing and implementing specialized collective intelligence applications are discussed below in the context of DDtrac, a Web-based application that allows for the easy collection and summary of special education data.