Jeremy Allaire's Radio
An exploration of media, communications and applications over the Internet.

Metaphors for Social Computing

The introduction of Flash Communication Server provides a wide-range of new capabilities for online communications and collaboration. While at a technical level it's capabilities are very deep, the application of those capabilities is largely new to application developers and business users. In fact, when told about new software for communications and collaboration most people respond with the classic examples --- chat rooms, instant messaging, whiteboards, etc. But our metaphors for social computing are under-developed. The common examples on the Internet today lack depth and creativity, and reflect the fact that real-time computing is essentially a new, uncharted world.

The most developed forms of social computing are multi-user online games. Many of these are full virtualizations of social worlds, attempting to model conflict and cooperation, notions of personal and communal health. Some, in fact, develop full systems of political, military and economic power. Unfortunately, the logic and interfaces for these are pretty simple --- peer communication via text, enabling users to conspire with each other, and systems of killing and wealth accumulation which reflect themselves in 'points' that can be viewed by all players.

I'm interested in much more focused issues around real-time collaboration, as opposed to the development of 'online social systems' such as those found in online gaming. Simple things like metaphors for 'taking turns'. The most common example of this is some shared design space where multiple users can jointly create some visual object (a.k.a. the shared whiteboard). Some legacy applications for 'shared whiteboards' use a mixed approach -- a moderator can grant control to any given user, while users can 'raise their hand' to ask for control.

What other metaphors can we develop? Clearly, some notion of hierarchy and status can intermix with users providing some automated basis for granting control. We can imagine applications where users are granted permissions for aspects of the shared interface. Let's imagine that this online floor plan and room design tool was real-time enabled and that the use-case involved getting together all of the interested parties in designing a room (e.g. furniture supplier, decorator, appliance supplier, home owner). In this case, the application could have a notion of roles where the home owner could control any design element, while those with specialized roles could only control their domain -- the decorator could have a tools palette for applying different colors, textures, and period details; the furniture supplier could provide a toolbox full of furniture choices based on the real-time provided tastes from the owner and the decorator.

Another easy example is the classic client-agency design review. Increasingly, the design agency and the end-client are geographical dispersed, creating the need for real-time design reviews in lieu of face to face meetings. This is already very common, and most design agencies create 'client extranets' where their clients can review work. Often, phone-based conference calls are setup and the agency simply walks the client through a set of protected URLs.

What's missing form this example, of course, are the richer kinds of emotional cues that are crucial to the approval and review process for information products such as designs -- the furrowed brow, the grimace, the frowning, the eyes of delight; read: the emotional impact of seeing and hearing people. Also missing the element of surprise that is so common in design reviews --- the blackboard with the pasted examples, where the agency and 'unveil' each in order, and even order the disclosure based on real-time emotional cues. Having the ability to control the clients user interface and the data presented becomes crucial.

This is actually a real-world example, and a developer is building a system to provide a richer, more social application that can facilitate client-agency design reviews. In his application, the meeting starts with a relatively high-resolution video conference -- the client can see the design team in full, and can choose to publish his/her video to the agency. The initial discussion is purely a conversation. As the meetings progress, the agency staff can begin to push content into the client's interface. In this case, they have a palette of thumbnails of images and animations that are only visible on their screen. As they select an item to review, it zooms to the center of the screen, taking up most of the screen, and on the client's computer the video screen minimizes to a thumbnail so they can focus their attention on the design. Overlayed on top of the design is a transparent whiteboard, and both the client and agency have a palette of tools for marking up the content, pointing to elements, zooming in and out, etc. Additionally, unlike most real design reviews which do not persist their content, this shared space can easily persist so that both the conversation and the real-time whiteboard session can be saved and replayed at a later date, creating an information asset that the actual agency team can use to understand the client's needs in a more fine-grained manner.

Another hypothetical example is the metaphor we'll need to use for real-time user assistance in online applications. A great example would be applying for insurance online. At first the application is a 'private' application where the user is progressing through a series of forms providing information needed for the insurance application. At a certain point, the user needs to get help and answers from their agent. With the click of a button, a notification is sent to the agent who can then choose to join the user in the application. A small panel slides out into the application and on it is a real-time video of the agent, as well as a text messaging box where the end-user can type and ask questions. More importantly, though, the consumer can grant control of the application to the agent, who can then progress through the forms and even help fill out elements that the consumer is uncertain about. In this case, the 'call for help' and the ability to share a forms-based data-centric application in real-time provides a different kind of social computing experience.

It's wonderful to be able to think about and explore these ideas, which until recently have remained largely academic discussions. What do you think about social computing, its metaphors and mechanisms?



© Copyright 2004 Jeremy Allaire.
Last update: 1/6/2004; 11:18:00 PM.