Infrastructure for Exchanging Online Presence Data

0 downloads 0 Views 129KB Size Report
Online presence data is a particular type of data that describes user's presence in .... "How to tell HTML from HTML5: Try it out in Internet Explorer.
Infrastructure for Exchanging Online Presence Data in Learning Applications Nikola Milikić1, Filip Radulović2, Vladan Devedžić1 1

2

FON – School of Business Administration, University of Belgrade, Serbia Ontology Engineering Group, Universidad Politécnica de Madrid, Madrid, Spain {nikola.milikic, filiprd, devedzic}@gmail.com

Abstract Nowadays, a large amount of data is being generated on various Social Networks and similar services. In order to make use of that data and enable machines to process it, a proper semantic representation is needed. This paper presents a step towards publishing machine readable data about users’ presence online. Some examples of applications which export this data in RDF form are presented and, afterwards, possible learning use cases and benefits are discussed.

1 Introduction In recent years, Social Web applications, mostly Social Networks (SN), have become widely adopted and, as the popularity of those applications still grows, the number of people that actively use them increases constantly. According to the most recent data [1], Facebook only counts more than 750 million users, and the number is still growing. Also, the variety of SN applications is significant, from professionally oriented (LinkedIn), to music (Last.fm) and entertainment focused ones (Facebook, MySpace). This proliferation of social software services, and Social Web in general, has popularized and boosted the use of Personal Learning Environments (PLEs). They foster knowledge sharing [2] and community building [3] in the learning setting. Online presence data is a particular type of data that describes user’s presence in the online world - on Social Networks, Instant Messengers (IM), etc. People publish their status messages on SNs, microblogging services, or share custom messages through their favourite IMs. By assembling all that data, user’s peers can get an overall impression of his/her presence and maybe even get a clue of his/her activities in the real world. It can contribute to the constructing of a group’s online sixth sense [4] and significantly improve group cohesion. This could further lead to the enhancement in the social and collaborative aspects of online learning environments. However, current representations of data, used by major data producers, e.g. Facebook, MySpace etc., as well as the social services integrated in a PLE, make it difficult to share and their semantics is unknown for computer programs. Furthermore, since user-generated data often comes from different applications, they are

ERK'2011, Portorož, B:421-424

421

detached from one another. This leads to a situation where it is highly complicated or even not possible to synchronize and integrate the user data scattered all around the Web. Data belonging to the same context but generated by different applications can not be identified. The fact that the data which forms an image of a user’s presence in the online word is spread over different services imposes the question of interoperability and data integration. This paper describes a step towards capturing the semantics of Online Presence data. It describes the jOPO, an open source Java library, which enables working with Online Presence data in an object-oriented environment. We also present how it is used for building exporters that exports Online Presence data from Twitter, entitled Twitt2OPO, and Spark IM client, entitled Spark2OPO, into RDF format. At the end, some potential use cases partially enabled by the developed exporters are presented. The paper is organized as follows. Section 2 gives an overview of the Online Presence Ontology. Section 3 describes the jOPO library, while Sections 4 presents the exporters for Twitter and Spark. Section 5 is reserved for discussing possible applications and scenarios, while Section 6 discusses related work. Finally, Section 7 draws some conclusions and presents ideas for the future work.

2 Online Presence Ontology The notion of Online Presence can be perceived as temporal aspects of user’s profiles on online services, such as his location, custom message, availability to be contacted for chat etc. This data fits well and complements the more static online profile data defined, for example, by the FOAF vocabulary. The aim of the Online Presence Ontology (OPO) is to congregate all fragments of user’s Online Presence description dispersed on a high variety of SNs and IMs and enable integration and exchange of those data [6]. OPO has a high goal of enabling interoperability between applications that publish Online Presence data. This interoperability could result in users being able to 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.

3 jOPO Library In order to deal with the semantic nature of the OPO paradigm, real world applications need to be developed materializing Online Presence idea in a concrete programming language. To enable this, we have developed the jOPO library which can serve as a starting point for developers in this process as it allows for easy creation, persistence and manipulation of Online Presence data. jOPO is a lightweight library written in Java created with the idea to develop a flexible and extensible software component which should be easy to use and incorporate into an existing application. Also, since most of the software developers are barely or not familiar at all with concepts of ontologies and RDF, jOPO tries to abstract those concepts and hide them from the typical programmer. The library consists of a set of core domain classes replicating the class structure of the OPO ontology. These classes are designed following POJO (Plain Old Java Object) class model so the library is non-intrusive for the rest of the application. In order to ‘bridge’ these JavaBean classes and their fields with corresponding OPO ontology classes and properties, we used Jenabean framework annotations. Jenabean provides us with an easy way to bridge our Java class model with the OPO ontology. With jOPO, developers can easily assemble Online Presence instance from within Java code, serialize it into RDF form, and vice versa, read the RDF instance (stored inside a file or repository) and convert it into Java class object. Developers can then utilize the information Online Presence instance carries into whatever way they find suitable and beneficial for the users of their application, while preserving the semantic representation of data. jOPO is published as an open source and the source code can be found at the OPO code repository http://code.google.com/p/onlinepresence/.

4 Demo Applications jOPO is designed as a generic library intended to be utilized by the concrete applications. Here we present two demo applications built on top of the jOPO demonstrating the export process of the Online Presence information from popular services. 4.1 Twitt2OPO As Twitter is a well known and widely used microblogging service for sharing and also discovering news, opinions, links etc., a.k.a. “SMS of the Internet” [5], it is for sure a valuable resource for assembling one’s Online Presence portrayal. For that reason, we have developed a demo application, entitled Twitt2OPO, for representing user’s Twitter data in form of OPO.

422

From the application’s homepage, user is able to input a Twitter username for whom he wants to see Twitter data in OPO form. Twitt2OPO then uses Twitter4j library, which is actually a Java wrapper over Twitter APIs, in order to retrieve user’s profile data on Twitter: his location and the last post published by the user. Once having this data, Twitt2OPO relies on jOPO library to easily create Online Presence instance which is then persisted into a file and presented to a user. An example of the outputted RDF is given in the Fig. 1. … "How to tell HTML from HTML5: Try it out in Internet Explorer. Did it work? No? It's HTML5.", Kent Brewster, Netflix Nikola Milikic …

Fig. 1 Example of the exported RDF by Twitt2OPO

4.2

Ontological Foundation

This application demonstrates how easily it is to use jOPO library to construct Online Presence instance and manipulate with it once the developer has all relevant data, in this case data pulled from Twitter. Source code of the Twitt2OPO is available at OPO code repository. 4.3 Spark2OPO Spark is an Open Source cross-platform IM client that relies on XMPP. It is written in Java and provides an API for developers. Furthermore, it allows connections to well-known IM platforms, like Google Talk and MSN Messenger. Spark2OPO is a plugin that allows for capturing user’s Online Presence data from Spark. It provides the possibility of importing and exporting Online Presence data in the form of RDF. By default, the plugin dynamically monitors for changes and, when a certain change in Online Presence appears, it captures it and export user’s current Online Presence. For example, if a user enters a new custom message, or changes from being available to being busy, the plugin will automatically detect the change and export an RDF file with new Online Presence. Furthermore, the plugin allows for importing Online Presence from a file.

Spark2OPO plugin can be found at: http://onlinepresence.net/applications.php

5 Scenarios Nowadays most of the popular SN applications expose their APIs to the developers to use it in order to obtain user profile information and application specific data (usually with user’s explicit permission) and also update it from within other application. This enables other applications to integrate with popular SNs and utilize the fact that users have already established their profile and social circle of friends on these SNs and use it on a regular basis. We foresee that an OPO based application can also benefit from this trend and extend this approach. We will illustrate it in a simple scenario. 5.1 Online Presence Integration Scenario in Learning Setting Tom is a student working on his software design assignment. But, at one point, he gets stuck with his assignment and would like to ask some of his peers for help. But he is not sure who is the most competent to ask and also willing to give him an assistance at that specific moment, so would highly appreciate a recommendation regarding whom to contact for help. Based on their user profiles, a potential peer recommendation service of his PLE could generate a list of peers who have enough knowledge of the concrete or similar software design problems and he could contact for help. Tom could look up for them on the LMS’s online chat tool, but they might not be online there at a specific moment Tom performs the lookup. However, the system doesn’t know that they are actually online and socializing with their friends on Facebook, reading news on Twitter, or checking in via Foursquare around the city, etc. By utilizing the functionalities of an online presence enabled service, this recommendation can be significantly enhanced. This service would be is able to pull his peers' online presence data from their social networks and display their statuses, availability for chat or current location. Based on Mark’s custom message ‘work overload’, the system would be able to detect that

he probably wouldn’t have time for help so he should not be considered contacting. Similarly, Sheila’s custom status ‘available for friends’ indicates that she is available only for chat with her friends, and Tom is not among them. Luckily, Alex is currently available on Facebook chat, so the system recommends Tom to contact Alex. If the system had not have access to the Tom’s peers’ online presence data, it could have made wrong recommendation by suggesting Tom to contact any of the three knowledgeable peers even though they wouldn’t be able to help him.

6 Online Presence Ontology Server OPOS OPOS uses application specific exporters, like the Twitt2OPO and Spark2OPO, to provide a semantic representation of the complete user’s Online Presence data, in a machine readable form. Data coming from different applications are merged into one aggregated Online Presence description of a user in a certain point of time. This data is persisted to an RDF repository within the OPOS application, and SPARQL Endpoint or RESTful web services are set up so other applications can query this data and retrieve it in an application agnostic way. OPOS acts as an intermediary giving benefit to the other applications to obtain this data which is more complete then a single application API can provide. And the data retrieval can be done in a uniform way, without the need to write specific code for communicating with a specific application. This design of OPOS would allow other applications to easily utilize OPO functionalities. It would also enable the implementation of the scenario described in Sec. 5.1. Possible mockup structure of the OPOS is given in Fig. 2.

7 Related Work jOPO is already being used in the project entitled Online Presence for Learning (OP4L), funded by the European SEE-ERA.NET PLUS program. The focus of the project is to use student’s Online Presence data for

Fig. 2 OPOS – Online Presence Ontology Server

423

recommendation of appropriate learning peers [6]. jOPO is used for extracting colleagues’ data from Twitter and Facebook. And according to the online availability information of his colleagues the application suggests to the student the most appropriate way to contact his colleague to request help with learning specific learning asset: via chat on Facebook, by sending direct message on Twitter, by sending email etc. There are several projects that use and publish RDF data represented via OPO. Most notable is SMOB which serves as a semantic microblogging framework. It is designed as a distributed hubs communicating with each other in order to exchange microblog posts. It is also integrated with Twitter and can automatically post statuses to it. SMOB relies on SIOC, FOAF and OPO to describe posts being published and allows for a direct querying over its data via SPARQL [7]. Other interesting project using OPO is Twarql. It enables annotations and management of microblog posts coming from Twitter in order to mitigate information overload [8]. Twarql parses information from microblog posts and represents it in RDF format by using FOAF, SIOC, OPO and MOAT ontologies. Those data are accessible for a direct SPARQL querying enabling interested community to analyze microblog data for sense-making. Although projects described here utilize OPO, they are using just a portion of its abilities (e.g. for stating the location of a publisher). Intention of our work is to enable easy implementation of features with full-fledged OPO capabilities in Java based applications.

8 Conclusions and Future Work This paper presents applications for managing data about user’s Online Presence in a machine readable form. First, a Java library for manipulating with those data in object oriented paradigm is presented. Afterwards, applications for exporting Online Presence data form Twitter and Spark IM are demonstrated. Finally, some applications of presented exporters and possible use case scenarios are discussed. Previous scenario just showed a tiny set of possibilities OPO data can provide. The repository provided by the OPOS could be a valuable source of information for various types of visualization applications. With all Online Presence data integrated in one place, various search queries and statistical analysis can be performed over it. User can be presented his overall activity on different services, recommend applications his friends use the most, plot the map with pinpoints of the places his friends currently are at regardless the check in application they use etc. Exported data are stored in ordinary files and presented to the users. However, in order to make use of that data, we plan to implement the OPOS application discussed in Section 5. This would enable feature rich applications which could rely on the OPOS to get the

424

integrated user’s Online Presence data. Furthermore, it can enable interoperability of Online Presence data across various applications and platforms. Important issue we plan to deal with is how to resolve privacy implications of allowing other applications to access user’s OPO data we would store. One possibility would be to implement oAuth protocol 1 which is de facto standard authorization method with all popular social applications. It would provide users the possibility to authorize other applications to access their data stored on the OPOS. Acknowledgments. The research presented in this paper is performed as a part of the OP4L project (project no. SEEERANETPLUS-115) supported by the SEEERA.NET PLUS Coordination and Support Action of the European Community.

References [1] Facebook Now Has 750 Million Users, Article on TechCrunch, Retrieved July 11, 2011, http://techcrunch.com/2011/06/23/facebook-750-millionusers/ [2] Van Harmelen, H.: Design trajectories: four experiments in PLE implementation, Interactive Learning Environments, 1744-5191, Volume 16, Issue 1, 2008, Pages 35 – 46 [3] Auer, S., Dietzold, S., Riechert, T.: OntoWiki – A Tool for Social, Semantic Collaboration, In proceedings of the 5th International Semantic Web Conference (ISWC 2006), Athens, GA, USA, pp. 736-749. [4] Thomson, C.: Clive Thompson on How Twitter Creates a Social Sixth Sense, Wired Magazine, vol.15, no.7, 2008. [Online]. Available at: http://www.wired.com/techbiz/media/magazine/1507/st_thompsonStankovic, M., and Jovanovic, J. Online Presence in Social Networks. In Proceedings of W3C Workshop on the Future of Social Networks, 15-16 January 2009, Barcelona [5] D'Monte, Leslie (April 29, 2009). "Swine Flu's Tweet Tweet Causes Online Flutter". Business Standard. Retrieved April 4, 2011, http://www.businessstandard.com/india/news/swine-flu%5Cs-tweet-tweetcauses-online-flutter/356604/ [6] Jovanovic, J., Gasevic, D., Stankovic, M., Jeremic, Z. & Siadaty, M. Online Presence in Adaptive Learning on the Social Semantic Web. Workshop on Social Computing in Education 2009 (WSCE2009) in con-junction with SocialComp'09, August 29-31, 2009, Vancouver, Canada [7] Alexandre Passant, Uldis Bojars, John G. Breslin, Tuukka Hastrup, Milan Stankovic, and Philippe Laub-let. An Overview of SMOB 2: Open, Semantic and Distributed Microblogging. In the 4th International Conference on Weblogs and Social Media, ICWSM 2010. AAAI, 2010 [8] Mendes, P.N., Passant, A., Kapanipathi, P. “Twarql: tapping into the wisdom of the crowd”. In Proceedings of the 6th International Conference on Semantic Sys-tems. New York, NY, USA, ACM (2010) 45:1-45:3

1

http://oauth.net/