User-Centered – Beyond Closed Community Platforms

Vanda Lehel, Florian Matthes, Sheng Wei

Technical Report

Technische Universität München Lehrstuhl Software Engineering betrieblicher Informationssysteme Boltzmannstrasse 3 85748 Garching bei München {lehel, matthes, weis}@in.tum.de

Abstract: This paper gives a structural overview of social software and its use for content aggregation and publication. We then extend this view to a user-centered perspective. We propose a lightweight XML-based content syndication architecture. It supports bidirectional information flow, as a proper extension and unification mechanism to facilitate the usage of several social software systems at once. Finally, we explain technical requirements based on usage scenarios and discuss benefits and limitations of this architecture.

1. Introduction and Motivation

The newly emerging class of social software facilitates interaction and collaboration among individuals. It allows individuals to form different communities to connect or to collaborate with each other based on their social context. Different types of systems and services like , internet relay chat, forums, wikis, weblogs, social networking services, and object-centered social software are examples of this category of software [Burg05].

In the aforementioned cases, XML networking plays an essential role in two ways: XML is the payload and XML is part of the protocol [MD04]. XML is widely used in social software since it is self-describing and also due to its strengths concerning interoperability, reuse, flexibility, and extensibility. The join between the ubiquitous HTTP protocol and XML gives rise to several new kinds of network protocols and architectures in the area of social software. The usage of XML-technologies by social software will be explained in detail in chapter 2.

In recent years, centralized software systems like information portals have long been in use for communication, collaboration and knowledge management purposes throughout enterprises and institutions. In this centralized architecture all information is managed at a single location and can be accessed by users role-based and device-independently. In contrast, the use of social software implies the membership of a user on different community platforms in several social contexts. This results in a distributed architecture of all personally published and available information. For accessing this information, already many XML-based protocols and proprietary formats for content syndication and information exchange exist, but there is a lack of a unified mechanism to interoperate with different systems. Thus, it is difficult to achieve a user-centered integrated view on all available information. We address this problem by proposing in this paper an emerging form of information collecting, sharing and publishing also referred to as a user-centered social software system with an appropriate content syndication architecture.

In chapter 2, we present the fundamental concepts of the relevant kinds of social software systems and the XML-technologies they use. We then introduce the idea of user-centered social software in chapter 3. Chapter 4 explains our approach for an XML- based lightweight content syndication architecture and discusses it by means of current popular social software-related technologies. The paper concludes with a discussion of the benefits and limitations and an outlook on future research work.

2. Fundamental Concepts and XML-Technologies of Social Software

The use of XML-technologies has been established for several purposes in representing and exchanging resources managed by social software. In the succeeding sections, relevant concepts and functions of weblogs, social networking services, and object- centered social software are explained along with their related XML-technologies.

2.1 Weblogs

“Weblogging” is a common practice in social software to easily publish personal knowledge and information on the Web displayed in reverse chronological order as postings. The latter can be commented on by other internet users. The popularity of weblogs results from the quality content that is found in them in spite of the absence of centralized control [Paqu03] and from the immediate reflection of ownership. Besides that, weblog-related technologies foster selective syndication of published content and social networking among people. In fact, users intend to share more personal information if they can have similar control over their published content like if they managed it on their personal devices [LMS03].

Collections of postings and comments of a weblog can be made available as items of RSS feeds. Originally, RSS is an XML-based news syndication format (see [RSS05]) that can also be used for the exchange of other content types, like postings in this case. With RSS Enclosure, multimedia content can be embedded in the items as well. Then, other users can subscribe to the RSS feeds of their favorite weblogs (e.g. using special tools, like feed readers) and remain up-to-date about the latest content by notification mechanisms. Another popular content syndication format for weblogs is , see [Atom05] for details. For the exchange of hierarchically structured resources also XML-based formats like OPML [OPML05] exist.

Pingbacks [Ping05] provide a mechanism for the owner of a weblog to be notified about comments to his weblog in external systems (remote commenting) using an XML-based representation format. address the same issue based on the concept of and extending it by details about the remote comment and an URI of the referenced posting. Therefore, these mechanisms deal with linking together related content from different systems by using XML-technologies. Moreover, weblog community systems usually offer Weblog APIs to allow users posting to their weblogs using client tools instead of creating each posting manually by visiting the weblog. Popular examples include the Blogger API [Blog05] and the Atom API [Atom05].

2.2 Social Networking Services

Social networking services provide the opportunity to explicitly build up and manage contact relationships between individuals on a community platform. Well-established examples of social networking services are Linkedln [Link05] in the USA and OpenBC [Open05] in Europe, both widely used for managing business contacts. The main value for their members lies in viewing the path of indirect contacts leading to any other community member.

Research based on social networks, i.e. social network analysis, focuses on mapping and measuring relationships and information flows between community members and other information/knowledge processing entities [WF94]. The limitation of social networking services as contact management tools becomes apparent if individuals are considered as members of different communities. Information exchanging and collaborating between different networks are difficult to achieve. An approach to address this problem is the XML-based FOAF [FOAF05] format to represent relationships between contacts and thereby describe the structure of the social network of an individual.

2.3 Object-Centered Social Software

Object-centered social software is another class of online community platforms that focuses on allowing users to store, categorize and share a personal collection of objects. The term “objects” can be interpreted as different types of content like bookmarks of web pages, bibliographic references, multimedia files etc. Unlike traditional formal methods of taxonomic classification, freely chosen keywords by different users are used for collaborative categorization. This practice is called “” or “tagging”. The keywords (tags) chosen by a member represent shared metadata and context information about this user in the community. Widely adopted communities are Del.icio.us [Deli05] for bookmark sharing, CiteULike [Cite05] for bibliographic reference sharing and 43things [Fort05] for task sharing. In contrast to social networking services, object-centered social software tries to group people around shared objects, such as photos in Flickr [Flic05]. In [HHLS05] an overview is given about the motivations for tagging: it is essential to consider who is the creator and who is the tag user. For example, Flickr users normally manage their collection of photos for private use, while members of community systems like Del.icio.us tend to use collections of references from other users. From these usage patterns of shared context in a community different kinds of social networks are built implicitly around shared objects.

For administrative purposes, these systems also offer proprietary APIs similar to the Weblog APIs (section 2.1) like the Flickr API [Flickr05a].

3 User-Centered Social Software

Based on social software we propose an extension of personal information management (PIM) with an emphasis on social community platforms. Therefore, we define the new class of user-centered social software as a client software for organizing information in a social way, that is in the social context of a user. We call this kind of client software a social organizer.

3.1 User-Centered Social Software as an Extension of Personal Information Management

In figure 1, a view on user-centered social software as an extension of PIM is shown. There, we depict a three-faceted view of content, context and contact that are managed using individual desktop tools, like text editing and image editing tools, feed reader or e- mail clients.

collect organize share give feedback learn get feedback Desktop Search: Search, Preview

Address Bibliographic Instant Text Files RSS Items Web History Notes Book Entry References Messages

RSS Calendar Favorites Image Files Feedback Items Content & Statistics Audio Files E-Mails

E-Mail Video Files Attachments

Folders & Tags & Folders & Context Keywords Links Tags Metadata Categories Categories

Offline/ Shared RSS Access Author Web Buddies Contacts Folder Subscriptions Rights Names Passwords

Contact Windows Web Passwords Cookies

Trusted Domains Figure 1: User-Centered Social Software as an Extension of Personal Information Management

Content is defined as the collection of different types of personal information objects like text and image files, address book entries and emails or instant messages. We distinguish between private content on the user’s personal device (e.g. e-mail, personal documents) and content published on social software systems (e.g. postings, citations). By contact, we consider different peers in the social context of the user with whom he is sharing his personal information, e.g. RSS subscribers, trusted domains or buddies. The context links together content and contacts and thus defines how these objects are shared, most commonly either by shared folders or by shared categorization. When users publish and share their content, the context travels with the content in the information flow.

PIM tools like desktop search engines (see fig. 1) already support processes like searching or previewing by integrating content objects from different application “silos”. Building on this successful approach, we propose to support processes for bidirectional information flow as follows (see also fig. 1):

z Collecting content accessible through the social networks of a user. z Organizing content based on the social networks and shared contexts of a user. z Sharing content and contexts in a controlled way with selected contacts. z Learning from received feedback and providing feedback to strengthen personal networks.

From the perspective of social software, we need to extend the objects described above. We propose to consider semi-structured notes as a new kind of content objects, since in social software content is often represented by small fragments of information instead of complete digital documents like postings (see section 2.1) or annotations. The context in social software is built up from shared links and tags. Finally, we subsume all objects representing social network elements as contacts.

3.2 User-Centered Social Software and Information Management Solutions

In this section, we compare our approach with other approaches to distributed and non- distributed information management. As shown in figure 2, we classify these solutions on the basis of the objects managed and their visibility. The objects consist of the aspects of content, contact, and context like in the former section. By visibility, we distinguish between private and organization-wide access to personal information as well as sharing of this information over the internet or in the social context of the user (social network).

According to this classification, the role and responsibility of several information management approaches can be deduced from figure 2. For example, personal address databases provide a solution to manage contacts only visible by the user himself whereas groupware systems support sharing of contact information within an organization. In the first two columns of the second row, the management of content is illustrated depending either on the personal (local files) or organizational view (content and document management systems). For the additional representation of context where content and contacts are linked together, knowledge management tools are used.

Visiability Shared in Published Shared in Private Object Organization in Internet Social Network

Personal Groupware for Blogroll, OpenBC, Contact Address DB Contact FOAF file Linkedln only Management

Content Local files Content and Weblog, Teamlog, (Desktop tools) Document Photo Album Team Room only Manage System Software Software

Context Personal Knowledge Comment, Technorati, Content + Knowledge Management Del.icio.us, Contact Manager System XML Solutions Aggregator in Context

Figure 2: User-Centered Social Software and Distributed Information Management Solutions

The last two columns of figure 2 depict the publication of contact, content and context over the internet supported by social software. Content information for example can be published on the internet in weblogs (see section 2.1), and contact information can be shared using social networking services (see section 2.2). Object-centered social software (see section 2.3) provides users with tools to create context information along with object sharing in their social networks (see section 2.3). Commenting mechanisms - local and remote – on the other hand establish a publicly accessible context for personal information.

In figure 2, the rectangular region underlayed in gray represents user-centered social software in this structure spanning the context perspective from personal knowledge management tools up to information sharing in the social context of the user. A bidirectional information flow of context “traveling along with content” should be available to support organizing information in a social way.

For information interchange, standards used to represent content and contacts in their appropriate context have to be considered. A number of very rich and elaborated XML standards already exist. Examples for such standards include the following:

z The W3C () defines different semantic standards to describe information and their relationships, i.e. the Resource Description Framework (RDF) and the Web Ontology Language (OWL).

z The Object Management Group (OMG) specifies the XML Metadata Interchange (XMI) format. z The IPTC (International Press Telecommunications Council) has developed different XML industry standards for interchange purposes, e.g. News Markup Language (NewsML) for news data and SportML for sport data [IPTC05].

z Adobe, in collaboration with IPTC, has announced the Extensible Metadata Platform (XMP) to standardize the definition of metadata [XMP05].

The complexity and diversity of these standards affect adoption and integration by individual users. Therefore, we introduce an XML-based lightweight content syndication architecture for user-centered social software in the following chapter.

4. An XML-based User-Centered Content Syndication Architecture

XML is widely used for information exchange protocols and content representation by communication mechanisms. Publish/subscribe mechanisms, i.e. syndication, represent a different kind of information exchange mechanism compared with the commonly used request/response (RPC) mechanisms.

In the case of syndication, the server (publisher) publishes the syndicated content (or feed) in standard formats for clients (subscribers). This syndicated content can contain both the content itself and related metadata. Syndication generally establishes an asynchronous multicast communication in which servers use push strategy to provide content, whereas RPC is based on synchronous and unicast communication in which clients use pull strategy to retrieve content. Therefore, a syndication architecture is a software architecture that models the information flows of such subscription services.

In this chapter, we introduce our approach for a distributed content syndication architecture for user-centered social software. We then explain in detail the different classes of social software services and discuss how user-centered client tools use them.

4.1 Syndication Architecture for User-Centered Social Software

User-centered social software does not intend to replace current available systems. On the contrary, it tries to harness the experiences and best practices of current successful social software systems. It integrates available ad-hoc services and technologies to facilitate interaction and collaboration of these existing systems. Figure 3 clarifies the distributed content syndication architecture of user-centered social software.

In the middle of the diagram, the client software called “social organizer” (see chapter 3) is depicted, that is designed to let individuals manage all their information on local personal devices and social software systems uniformly. The information is stored in personal information repositories that are accessible to the local user only. The social organizer acts as a universal information client that focuses on collecting personal information, effectively organizing information objects and their relationships, and publishing and sharing information in a controlled way. It can connect to several services at the same time for different purposes (e.g. content publication, information search). On the one hand, in this solution the diversity of the underlying applications and services is transparent to the user. On the other hand, barriers preventing individuals from using multiple resource locations are eliminated.

Social Software Service Social Software Service <> <> . .

. . <> S1 . . Sn+1 . .

Social Organizer

Social Software Service Social Software Service . . . .

x S2 ox . . o Sn+2 b . . t b In Ou .

. . .

.

Content . . .

Social Software Service Personal Context Social Software Service Information Repository Contact . . . Sn . . . Sm . .

Figure 3: Distributed Content Syndication Architecture for User-Centered Social Software

The social software services on the left (see figure 3) represent external content sources of social organizers. By using different XML-based open formats and protocols, they offer different services such as subscription and feedback services. Therefore, users of a social organizer can retrieve the published content and provide feedback to content residing on that server.

The social software services on the right act as content sinks of a social organizer which provide services like publication and administration. In this way, users of social organizers can publish and share their information in several communities. Users can create shared context information which is expressed using a shared vocabulary for the available content, e.g. interests, topics, goals. When the user shares and publishes content with his social organizer, the context travels with the content in the information flow to the related social software system.

The inbox component of the social organizer (see figure 3) is responsible for connecting subscription services to pull and filter out content and feedback information from community systems, while the outbox component supports publishing and sharing of information.

Finally, since HTTP is widely adopted and commonly its use is not affected by security restrictions (e.g. firewalls), we consider it as the de facto communication standard in user-centered social software. 4.2 Social Software Services

We have introduced social software and its related technologies in chapter 2. For a better understanding of the information flows between the social organizer and social software systems, we give a detailed description of current social software services that are mentioned in figure 3.

Content publishing Content feed (RSS, Atom, (Blogger API, Atom API) RSS enclosure)

n

Link publishing io s Comment feed (RSS, Atom) tion at ices c i ice l

Tag publishing b Tag feed (RSS, Atom) u Serv P Serv

Subscrip Related content (OPML, FOAF)

Social Content notification () Software Services Local Comments (Comment API)

t

Administration with n s e ck proprietary API s Remote Comments, ice ba ice (Trackback, ) (Flickr API, Atom API) gem Serv Serv Feed Comment notification, Mana (Trackback, Pingback) Figure 4: Classification of Social Software Services

Figure 4 shows a classification of services offered by current social software services. In this diagram, content producers of social software systems are located on the left hand side of the social software services, while consumers of social software services can be found on the right. Producers and consumers can be either individuals or social organizers as their representatives. In figure 4, we summarize all currently available services and classify them into four categories. The next sections explain these categories in more detail.

Publication services

Social software systems act as centralized systems that collect information from individuals. They provide publication services which are used by people to publish their content and the related context information, e.g. weblogs, links, tags. By using related APIs (see section 2.1) from social software systems for specific content, social organizers can do the publication automatically.

Subscription services

According to figure 4, subscription services offer syndicated content for clients to subscribe. Such content is available with different standard feed formats, e.g. RSS or Atom. These feeds represent a filtered view of the content inside the social software system and can be distinguished according to their items as follows:

z Content feed: latest content of a user. z Comment feed: latest comments to a posting.

z Tag feed: latest information about a specific topic keyword.

In the examples above, the feeds contain only the most recent content and are sorted chronologically. Beyond that, social software systems can provide complete up-to-date content. For example, a system can provide the complete list of favorite weblogs of a user in the OPML format.

Feedback services

Consumers of social software services can give comments to shared content in social software systems by using feedback services. There are different kinds of such services (see fig. 4).

Local comment services attach the complete comment directly to the related target content. Normally, social software systems provide comment APIs to achieve this. In contrast to local comments, remote comments are published by members of external systems and therefore, only an excerpt and a reference to the comment are sent back and attached to the target content. Such external commenting systems can be other social software systems.

Thus, social software systems have to provide two kinds of remote comment-related services: the remote comment service and the comment notification service. Examples of such services are weblog trackback and weblog pingback functions (see section 2.1). Providers of a comment notification service only support the appropriate interface but providers of a remote comment service have to offer an implementation for both services.

Management services

Beyond the aforementioned services, each social system provides different proprietary APIs for administration purposes (see fig. 4), since no standard exists. Examples include Flickr API and Atom API (see sections 2.1 and 2.3).

In this section, we introduced a high level classification of the services provided by current social software systems. It will be refined in accordance with further evolution of social software. There is no standard for how to build social software systems and how to implement the services. There are 11 versions of RSS syndication formats available, even though we decide to adopt the RSS standard. For example, Flickr has to provide three different formats for its API, e.g. SOAP, XML-RPC and REST. Different social software service providers normally define their own proprietary API for their own functions. These problems result in complexity in service implementation and difficulty in exchanging information between different social software systems.

User-centered social software uses the bottom-up approach to support currently available services. The social organizer, as a unified information client, has built-in support for common related technologies, standards and protocols. It intelligently selects different wrapper components to interact with different social software services and it changes the adapters when the related service uses different formats and protocols. One social organizer can interact with many services at the same time, and different users have their own organizer to interact with a number of social software services. Thus a controlled, scalable, decentralized and dynamic network is established in the social context of each user.

5 Conclusion

In this paper, we propose user-centered social software as an extension of personal information management along with an appropriate XML-based content syndication architecture. In contrast to other information management systems, user-centered social software creates immediate value to the individual by unifying the view on locally stored personal information and on content available through social networks. It integrates best practices of information management solutions like fast and offline information access, server-side services, ownership of information, and controlled sharing.

On the other hand, user-centered social software still has some limitations. Unlike online services, the social organizer requires desktop software distribution and installation and is therefore platform-dependent. Besides, in developing a social organizer the underlying database systems and available GUI toolkits have to be taken into consideration. To support integration with several social software services, proprietary interfaces to desktop applications need to be added as well.

Approaches similar to the concepts of our social organizer are Haystack [Hays05], a research project from MIT based on the Eclipse IDE and Omea [Omea05], a commercial software product from JetBrains. In contrast to the solution presented in this paper, Haystack focuses only on managing personal information on the user’s local device but not on publishing and sharing it on social software systems. Omea also provides a unified user interface for e-mail, newsfeeds, contact and other personal information. Moreover, it defines an API for the development of new components to integrate new information objects. This idea corresponds with our approach of the content syndication architecture.

Our future research at the chair focuses on integrating the proposed content syndication architecture into the social organizer based on previous work in the area of social software.

References

[Atom05]Atom Specification, http://www.ietf.org/html.charters/atompub-charter.html, Access: May 2005. [Blog05] Blogger API, http://www.blogger.com/developers/api/1_docs/, Access: May 2005. [Burg05] Burg, T.: Einführung zur Social Software, http://randgaenge.net/gems/Texte/html/SocialSoftware, Access: May 2005. [Cite05] CiteULike, http://www.citeulike.org, Access: May 2005. [Deli05] Del.icio.us, http://del.icio.us, Access: May 2005. [Flic05] Flickr, http://www.flickr.com, Access: May 2005. [Flic05a] Flickr API, http://www.flickr.com/services/api/, Access: May 2005. [FOAF05]FOAF Specification, http://xmlns.com/foaf/0.1/, Access: June 2005. [Fort05] 43things, http://www.43things.com, Access: May 2005. [Hays05] http://haystack.lcs.mit.edu/, Access: May 2005. [HHLS05]Hammond, T.; Hannay, T.; Lund, B.; Scott, J.: Tools (I): A General Review, D-Lib Magazine 11(4), April 2005. [IPTC05] International Press Telecommunications Council, http://www.iptc.org, Access: June 2005. [Link05] Linkedin, http://linkedin.com, Access: May 2005. [Live05] Livejournal API, http://www.blogger.com/developers/api/1_docs/, Access: May 2005. [LMS03] Lehel, V.; Matthes, F.; Steinfatt, K. Weblogs als ein innovatives Instrument des betrieblichen Wissensmanagements. Tagungsband der Konferenz Mensch & Computer 2003, Teubner Verlag, Stuttgart, 2003. [MD04] Megginson, D: Imperfect XML, Prentice Hall, 2004. [Omea05]http://www.jetbrains.com/omea, Access: May 2005. [Open05] Open Business Club, http://www.openbc.com, Access: May 2005. [OPML05]OPML 1.0 Specification, http://www.opml.org/spec, Access: May 2005. [Ping05] Pingback Specification, http://www.hixie.ch/specs/pingback/pingback, Access: May 2005. [Paqu03] Paquet, S: Socio-technological approaches to facilitating knowledge sharing across disciplines, PhD Dissertation, Université de Montreal, 2003. [Rhei05] Rheingold, H. Why some social network services work and others don't, http://www.smartmobs.com/archive/2005/05/07/why_some_social.html, Access: May 2005. [RSS05] RSS 2.0 Specification, http://blogs.law.harvard.edu/tech/rss, Access: May 2005. [WF94] Wassermann, S.; Faust, K. Social Network Analysis: Methods and Applications, Cambridge University Press, 1994. [XMP05] Extensible Metadata Platform (XMP), http://www.adobe.com/products/xmp/main.html, Access: June 2005