Social Tagging of Services to Support End User Development in Ubiquitous Collaborative Environments
MetadataVis full innførsel
Tailorability in ubiquitous computing systems is needed at different levels, depending on the targeted end users. For inexperienced end users lacking computer competency, high level mechanisms for tailoring are needed. Systems such as ASTRA, which use a service oriented architecture, can provide such high level tailorability through service composition. With service composition, services can be combined and configured to form applications. However, using service composition introduces new challenges for end users. To find appropriate services, users need mechanisms for searching and browsing services. Equally important is it that users are able to understand how services work and what functionality they offer. Service descriptions can ease this task, but the problem with existing approaches to service descriptions is that they are not intended for end users and are hard to understand. This work looks at social tagging, which is a collaborative process where users attach labels or tags to items. This leads to user created metadata, as opposed to metadata created by experts. By introducing social tagging in ASTRA to describe services, users are provided with a framework for sharing their understanding of services with fellow users. To create a solution for social tagging for service descriptions, a thorough problem analysis was performed. The analysis considered the design space of tagging systems to find appropriate design choices in the problem context. Providing several tag visibility levels was identified as important, especially community tagging. The quality of tags as seen from the community members' perspective is likely to increase, as members of communities often share similar opinions and understandings. An important difference identified between existing tagging systems and tagging of services is that services can be embedded in physical devices. Thus, services can be discovered and accessed physically, which means that physical access to the services' tags should be supported. A requirements specification for a tagging system was specified, focusing on the platform requirements for basic tagging mechanisms, tag based navigation, and searching. The requirements lead to a design of platform architecture, aiming at extending the UbiCollab platform with social tagging functionality. The architecture uses a client/server solution, where the server service is shared among a network of users and handles public and community level tags. The client service is a local service which handles private tags, and acts as an intermediary between end user tools and the server service. A prototype of the platform services and an end user tool was implemented. The implementation is demonstrated through scenarios, showing possible uses of the tagging system.