=Paper=
{{Paper
|id=Vol-405/paper-12
|storemode=property
|title=Modeling Online Presence
|pdfUrl=https://ceur-ws.org/Vol-405/paper9.pdf
|volume=Vol-405
|dblpUrl=https://dblp.org/rec/conf/semweb/Stankovic08a
}}
==Modeling Online Presence==
Modeling Online Presence
Milan Stankovic
Université Paris-Sud XI
91405 Orsay cedex, France
milan.stankovic@gmail.com
Abstract. In this paper, we introduce the notion of Online Presence, a concept
related to user’s presence on online services. We identify interoperability issues
in the field of exchange of the online presence data and propose a solution in
building a common model for semantic representation of online presence data.
We present the Online Presence Ontology (OPO) together with benefits such an
ontology could bring. Finally we outline some directions for future work on this
matter of emerging importance.
Keywords: Online Presence, Ontology, Social Web
1 Introduction
With the appearance of instant messaging (IM) tools and Social Web sites, most notably
Social Networks, Internet faced a proliferation of social activities among users. On a typical
service that offers some form of social interactions, users present themselves to their contacts
by maintaining user profiles. Services that favor direct and frequent communication tend to
include descriptions of user’s temporary state in the profile. By the elements of temporary
state, we mean primarily custom messages on IM platforms and social networks, as well as
description of availability/willingness to chat. Often, visual representations known as avatars
are used to depict user’s online persona. In fact, the activity of maintaining this kind of user
profiles is no more than creating an image of one self’s presence in the online world, a
representation how one wishes to be seen by his/her contacts. The use of custom messages,
IM statuses and avatars became a common way for users to make known the character of
their presence on some online service and in the online world in general.
The variety of different purpose social applications and the fact that one’s friends can be
spread over various services for the same purpose, motivate users to maintain their profiles
on many services, often just copying custom messages and other data related to their
presence online. Different formats used by those services to represent semantically identical
data, stands in the way of a user’s ability to seamlessly transfer the data among services.
In this paper we propose an ontology-based approach for modeling the semantics of the
aforementioned aspects of a user’s appearance in the online world, with the final aim of
enabling interoperability among services that collect and use online presence data. This is
especially significant in the domain of exchanging IM statuses from different IM status
scales – a use of emerging importance by the recent proliferation of inter-platform IM.
In Section 2 we give an insight into the problem’s nature, and illustrate it with scenarios
of use where difficulties for users, influenced by this problem, can be easily spotted. In
Section 3 we explain our ontology-based approach for facing the outlined interoperability
problem, and go into details of the Ontology design. In Section 4 we take a look at related
work while Section 5 is reserved for conclusions and plans for future work.
2 Problem Specification
Let us first consider some sources of online presence data to assure better understanding of
later discussions. First of all, those are IM platforms that publish information like custom
messages, avatars and statuses of availability for chat. We will call this kind of information
Online Status. Then, there are Online Social Networks with custom messages and profile
pictures, as well as services that publish short Online Statuses (like Twitter). There is also a
large number of Social Web sites (e.g., Digg, Technorati, Flickr, etc.) and online
communities (e.g., Web Forums) publishing similar data.
The following two scenarios demonstrate the essence of the interoperability problem. Let
us first consider an example user, Harry, who uses an IM platform and a variety of different
purpose social networks in order to keep up with his friends who are spread over several
social networks. Besides that, he likes all those networks for different functionalities they
offer. When Harry wants to define a custom message to share an insight about his current
state (e.g., “going to New York”) he has to do it on every particular service i.e., on the IM
platform and every social network used. It would be a lot easier for Harry to define his
custom message only once, and rely on some kind of exchange mechanism between
services. A part from the lack of actual collaboration between the services in question, the
lack of unified data exchange format that would define the shared semantics of the domain
also presents a significant obstacle for solving the user’s problem.
In the second scenario we consider the problem of another example user, Sally, who uses
two different IM platforms (e.g., Skype and GoogleTalk) for the same reason of keeping in
touch with friends using different platforms. When Sally is doing something important and
does not want to be disturbed she has to choose either ‘Busy’ or ‘Do Not Disturb’ status on
each IM platform. Sally’s difficulty is even a greater challenge than the one faced by Harry,
because in the case of exchanging IM statuses between different IM platforms the problem
of mappings between different IM status scales appears as an additional obstacle.
3 Modeling Online Presence
In order to meet the interoperability challenges introduced in the previous section, we created
a model that enables semantic representation of all the data that are the subject of exchange.
Using OWL-DL we formalized the model into the Online Presence Ontology (OPO). In
further sections we consider the specifics of the solution and their practical implications.
3.1 The General Idea
Having observed that the creation of custom messages, IM statuses, avatars, etc. represents a
part of users effort to publish their presence online, we decided to gather all that data under a
common roof of the notion of Online Presence. This notion congregates all the data
representing temporary aspects of a user’s online presence, thus complementing his/her more
stable online profile data defined, for example, by the FOAF vocabulary [1].
In order to develop a comprehensive model, we have analyzed the major sources of
online presence data i.e., IM platforms, social networks and other social applications. As a
result of that analysis we created a list of aspects that determine online presence in the sense
of today’s applications. The list contains avatars, custom messages, IM statuses, but also
some complex aspects like the possibility for other users to find the user’s contact details in
public listings as well as the willingness of a user to receive notifications by applications.
While designing the model, we had in mind the dynamic nature of social applications,
and their ever increasing functionalities. Thus we favored the flexibility and extensibility in
our design in order for it to be able to support further changes in the way people present
themselves online.
3.2 Ontology Design
OnlinePresence, the core class in OPO, represents a placeholder for all the aspects of a user’s
presence in the online world. Having in mind possible development of new, currently
unpredictable, aspects of presence in the online world, we defined a class,
OnlinePresenceComponent, to represent an abstract component of the OnlinePresence. This
design decision introduces flexibility in modeling the building blocks of OnlinePresence.
Relying on the current state of practice in the area of online social interactions we have
defined three components of Online Presence: Online Status, Notifiability and Findability
(Figure 1). These are modeled as subclasses of the OnlinePresenceComponent class.
First we perceived the need to distinguish the attitude towards the possibility of
interaction with humans (represented with Online Status) from the attitude towards the
possibility of being contacted/interrupted by a machine. By a contact from a machine we
mean the practice of IM programs to pop-up notifications. Many IM programs allow users to
specify whether to allow this type of disturbance or not. This particularity is modeled with
the Notifiability component, by assigning one of the different Notifiability instances (e.g.,
AllNotificationsPass, NotificationsProhibited) to the Online Presence.
Findability is a component meant to describe the possibility of other users to access a
person’s contact details and online presence data. In most systems this property is defined by
users in some form of settings. The approach for defining Findability is the same as with
Notifiability. Different predefined instances are used to denote various states of Findability
(e.g., PubliclyFindable and ConstrainedFindability).
Finally, Online Status represents what one may call availability for chat – the status
used by IM platforms. While analyzing different status scales used by different IM
platforms we concluded that the complexity created by all the differences between them
could be best resolved by introducing different Online Status Components whose
combination would permit all existing IM scales to be mapped into one single model – the
one used in OPO. We have defined the following components of the Online Status:
• Activity – denotes whether a user is present or away from the service;
• Disturbability – denotes whether a user wants to be contacted or declares
himself/herself as busy;
• Visibility – denotes the possibility of others to view a user’s actual state of
presence;
• Contactability – denotes whether the possibility to contact a user is restricted.
Fig. 1. The partial view of concepts and properties of OPO
These are modeled as subclasses of the OnlineStatusComponent class. By combining
different predefined instances of these OnlineStatusComponents, every IM status scale that
we took into consideration can be unambiguously described (see Section 3.3).
As for the custom message, and avatar, we modeled them as properties of the
OnlinePresence class since their lack of complexity does not demand the creation of new
classes for them.
The concept of Online Presence itself is connected to the class Agent from the FOAF
vocabulary [1] using the property declares (see Figure 1).
The OPO is available at http://ggg.milanstankovic.org/opo/ns/.
3.3 Mappings of Online Status scales to the OPO
Representing different Online Status scales in OPO is one of the most complex and most
important issues in the OPO design. The complexity arises from differences in meaning and
usage of particular Online Statuses on different platforms. OPO delivers a flexible model to
represent the semantics of Online Statuses thus making their descriptions precise and
understandable for the IM platform importing them.
In order to demonstrate the actual benefit of the OPO in this domain, we will take the
example of SkypeMe status used on Skype IM platform and show its OPO representation.
The description of this status provided by Skype is the following:
“SkypeMe! mode allows everyone else on Skype know that you are available and
interested in talking or chatting. This includes people who you do not know or you have not
authorized but who can find you by searching the Skype directory. SkypeMe! mode disables
your privacy settings and allows anyone to contact you, whether you've authorized them or
not.”[2]
The corresponding representation in OPO (Turtle syntax [3]) would be the following:
@prefix dc: .
@prefix rdf: .
@prefix opo: .
:SkypeMe rdf:type opo:OnlineStatus ;
opo:onlineStatusName "SkypeMe";
opo:hasStatusComponent opo:Active, opo:Available,
opo:FreelyContactable, opo:Visible.
This representation in OPO describes the SkypeMe status trough several statements that
define it in terms of Online Presence aspects. After defining SkypeMe to be of type
OnlineStatus, we assign it the adequate onlineStatusName (a string used by IM platforms to
identify different statuses). Then we describe this Online Status in terms of Online Status
Components. The following components are assigned to SkypeMe: Active – the user is
active on the service (not away); Available – the user is available for contact (as opposed to
busy); FreelyContactable – everyone can contact the user; and Visible – the user’s
onlinePresence is visible. With all these characteristics declared in OPO, our description of
SkypeMe status is fully compliant to the textual description provided by Skype.
Let us recall our example user Sally, who wanted to propagate the Online Status from one
IM platform to another, and suppose that she wanted to transfer her SkypeMe status to
GoogleTalk. Without using OPO, relying on individual interpretations by IM platforms,
GoogleTalk would just recognize her SkypeMe status as equivalent to Available on the
GoogleTalk scale. In such an exchange there would be a significant loss of semantics, since
the two statuses are not actually equal. Representing the status being exchanged in OPO
preserves its semantics, allowing it to be correctly transferred. This way, GoogleTalk could
import SkypeMe status and comprehend it as its Available status, since it does not support
the variations of the Contactability dimension. However, in further transfers to other IM
platforms, GoogleTalk could export the original OPO description allowing the application of
all OnlineStatus dimensions on some other platform that may support them.
Thus the OPO serves, in this domain, as a mediator preserving the semantics of online
status scales in their exchanges, enabling more precise transfers of data between
heterogeneous services.
4 Related Work
One of the rare examples of related work in the field is the XMPP protocol [5]. However its
main aim is to enable inter-platform IM, while in the field of interoperability of various IM
status scales it does not provide much functionality. A large number of inter-platform IM
tools built on top of XMPP have to conform to a very poor XMPP IM status scale. Creating
mappings from that scale to others is left to individual implementations. In this area OPO can
be of essential value for achieving a richer exchange of disparate online status scales by
enabling an unambiguous description and understanding of semantic categories that
determine them.
Another interesting example of related work is the MeNow Schema1, aimed at enabling
representations of various statuses that a user can assume online. The Schema’s exceptional
value is in the possibility to represent many different aspects of the context of user’s presence
online (e.g., current book, current music, company of others, etc.). On the other hand we find
that the Schema underestimates the importance of the possibility to semantically represent
different qualitative aspects of online status, a feature strongly supported by OPO.
4 Conclusions and Future Work
Building of the OPO represents, at its core, a task of bringing the Social and the Semantic
Web closer together. It is inspired by the idea that the future of the Web lies in the merging
of those two approaches [4].
The benefits of OPO and its flexible and extensible design are numerous. First of all, it
enables interoperability between applications that collect online presence data. This
interoperability could result in users being able to correctly transfer their online presence data
from one service to another regardless of the type of the service, and possibly unify their
appearance online over multiple services. The ontology itself is just a prerequisite for this
goal, and applications would have to adopt the practice of exchange in accordance with the
Data Portability2 initiative in order for the goal to be achieved.
The favorable properties of Semantic Web technologies, allow for assembling partial
semantic descriptions of Online Presence, published by various services, into one coherent
description.
The future work will primarily focus on building plug-ins enabling applications and social
websites to publish Online Presence metadata. Scenarios of metadata exchange will also be
developed, resulting possibly in building a centralized server for resolving privacy issues
concerning the exchange. We will also consider the possibilities to use semantic rules and
policies to allow for defining restrictions of some aspects of Online Presence to some
categories of users and other more sophisticated statements. Last, but not the least, we will
consider the possibilities to integrate with the XMPP protocol, widely used in cross-platform
chat, in order to enrich the OnlineStatus data being exchanged and build a ground for more
meaningful mappings.
References
1. Brickley, D., Miller, L., 2006. Foaf vocabulary specification. Available at
http://xmlns.com/foaf/spec/
2. Skype help record. Available at
http://support.skype.com/index.php?_a=knowledgebase&_j=questiondetails&_i=442
3. Becket, D., 2007. Turtle - Terse RDF Triple Language. Available at
http://www.dajobe.org/2004/01/turtle/
4. Bojars, U., Breslin, J., Peristeras, V., Tummarello, G., and Decker, S., Interlinking the
Social Web with Semantics, IEEE Intelligent Systems, 23(3): 29-40, 2008
5. Extensible Messaging and Presence Protocol (XMPP): Core – RFC Document, 2004.
available at http://www.xmpp.org/rfcs/rfc3920.html
1 MeNow Schema specification can be found at http://crschmidt.net/foaf/menow/menow.rdf
2
For details about the Data Portability initiative please see http://www.dataportability.org/