Getting Personal A Framework for Context-Aware Services and System Design for Contemporary Mobile Environments Licentiate Defense Presentation Athanasios Karapantelakis Overview • Introduction • Problem Statement • System Description, Architecture and Deployment • Mobile printing scenario • Personal Web feeds scenario • Evaluation • Contributions 2 Introduction (1/2) • Information age: Computer networks enable global access to information supporting human communication. - Science and education, business, casual socializing, etc. - Access medium: Stationary workstations or laptops. • Paradigm shift: Mobile devices rapidly becoming the most common medium for information access. - Fostered by technological breakthroughs in mobile hardware and software, mobile broadband networks. - As of 2010, mobile broadband users represent the majority of population in developed countries [1]. • Connected mobile devices provide ubiquitous, instant access to information. • Offering and revenues of and from mobile applications has also increased, together with the connectivity capabilities of the devices [2]. [1] International Telecommunication Union (ITU) – Key Global Indicators for The World Telecommunication Service Sector - http://www.itu.int/ITUD/ict/statistics/at_glance/KeyTelecom.html (ret. May 2011 - see also backup slide 1). [2] ABI Research - Mobile Applications Market Data – Quarter 2, 2011 (ret. May 2011) https://www.abiresearch.com/research/1004105?ll&viewtable=1005879~MD-APPS-105.xlsx-Table1.csv Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 3 Introduction (2/2) • Information as context from connected sources - Internet: Social media, websites, etc. - Devices and sensors • Context drives personalized user experience - Personalizes services are traditionally difficult to manage, but higly appreciated [3]. • Opportunity - Technology convergence: mobile device capabilities, global usage, ubiquitous connectivity. - Availability of context: ”smart” sensors and devices, online user information from social media. • Motivation: There is sufficient amount of technology and context available for the public in order to start providing personalized services beyond the confines of research laboratories. [3] C. K. Prahalad, Patrica B. Ramaswamy, Jon R. Katzenbach, Chris Lederer and Hill, Harvard Business Review on Customer Relationship Management (1st edition), Section on “Managing the Personalized Experience”, January 15 2002, ISBN 9781578516995 Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 4 Problem Statement • Key problem: Design a system which decides on the relevancy of a service to a group of users, based on retrieved information about these users (i.e. user context). - Adaptability to diverse context sources • Context nature: online or physical • Context acquisition and modeling - Services • Service nature: informational or interactional • Service registration, service description formalization/storage - Decision algorithm: establishing relevance of services based on context • Indirect matching of services to context. • Suitability index and semantic reference tables (i.e. When a service is deemed to be suitable for a user?) - System evaluation • Mobile application development and system deployment • System performance/efficiency metrics and qualitative feedback from users Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 5 System Overview User space: Applications running on connected mobile devices. Service subscription, request reception and response transmission Domain Knowledge: Third-party content providers. Decision Consolidation Service broker Context, Services information modeling, storage and decision on relevance of services to users. Service Description Acquisition Service input Online content vendors (e.g. news portals, mailing lists etc.), hardware devices (e.g. phones, printers , monitors etc.) Context Acquisition Context input Online social media, environment sensors (e.g. location, movement, temperature etc.), biosensors Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 6 System Architecture Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 7 System deployment (1/2) • A basic system implementation includes the Context Broker, together with APIs for the Context Logistics, Decision and Service Agent Logistics modules, as well as a working implementation of SIP/SIMPLE for the Presence module. • Service deployment requires extending the implementation according to the service specification (service profile), using the APIs provided from the Context Broker. - Defining context transformation rules in the context logistics module. - Implementing middleware for software agents when necessary. - Designing and implementing the decision algorithm reference tables and optionally adding third-party online sources for decision consolidation. - Implementing a mobile application with SIP/SIMPLE (subscription) capabilities. Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 8 System deployment (2/2) • Two services implemented and exposed for public use. - Mobile printing [4] - Personal web feeds [5] • Criteria for selection - Diverse nature of context and services - Addressing real user needs • Deployment period of five days and six months for mobile printing and personal web feeds scenarios respectively. • Measurement and evaluation both on system performance and user appreciation of the services. - Results of the study affects system design • Possibility to support both services on the same system simultaneously. [4] Athanasios Karapantelakis and Alisa Devlic and Mohammed Zarifi Eslami and Saltanat Khamit, Printing in Ubiquitous Computing Environments. In proceedings of 6th International Conference on Ubiquitous Intelligence and Computing (UIC 09), Brisbane, Australia, 7-9 July 2009 [5] Athanasios Karapantelakis and Gerald Q. Maguire Jr., Utilizing social context for providing personalized services to mobile users. In proceedings of 5th European Conference on Smart Sensing and Context, EuroSSC 2010, Passau, Germany, November 14-16, 2010 Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 9 Mobile printing scenario (1/5) • Service Description: For a mobile user trying to print, the system selects a suitable printer in the range of the user. - No requirement to select a printer, or have special printer drivers installed on the mobile device. - Scheduling of printing tasks handled by the decision algorithm, resulting in efficient utilization of printing resources, better print results and small waiting times. • Service profile - Context: user location (RFID) - Service agents: Printers together with software agents. - Decision algorithm: Based on user preferences, location context and resource avaliability, select a printer for a given user. - Mobile application: Sending print requests to system, using an adaptive interface, based on user’s previous requests. Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 10 Mobile printing scenario (2/5) Resource module SLPtags to probe RFID tag discovery readers capable of uses reading in for new service agents and register them to a proximity provide location context using SIP local database (printer pool), maintain sessions PUBLISH messages. and/or deregister service agents. The Context Aggregation module receives the The User Presence keeps track PUBLISH messagemodule and stores it into theof current subscribers to the printing service and uses NOTIFY Context Repository requests to submit updates in the status of a printer during printing. It stores active SUBSCRIBERS Each service agent is a combination of a printer to the User with aRegsitry softwaredatabase. agent. It uses SIP/SIMPLE to PUBLISH updates about the status of the via the SIP The decision module accepts print requests printers to the Context Aggregation module anda INFO message and responds to requests using uses SLP to get discovered the Context similar message carrying thebyService Agent’s IP Broker. address. Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 11 Mobile printing scenario (3/5) Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 1. Client subscribes to the service according to SIP/SIMPLE. 2. Client gets a confirmation of subscription. 3. Client issues a print request via using a SIP INFO message. 4. The decision module makes an informed decision about a service agent capable of serving the application’s request. 5. The IP address of the Service Agent is forwarded to the printing application. 6. The application can now access the Service Agent directly to print. 12 Mobile printing scenario (4/5) Execution of the decision algorithm starts in the decision module, triggered by an incoming print request. - Calculation of a Suitability Index (SI) for every available service agent, based on printer capabilities, printer status and location quantifiers. • Normalized from 0 to 1: Higher value means the printer is more likely to be chosen. - Calculations are performed using formulas stored in reference tables. - Let S = {s1,... sn} the set of all service agents registered in the system. For every sk: k є (1....n): • Retrieve distance of user to the printer and normalize the value according to the reference table - L(sk). • Retrieve print job requirements (user preferences) and compare them to user capabilities based on formulas stored in the reference table – U(sk). • Retrieve current printer status and normalize the result according to values in the reference table – S(sk). • SI for service agent sk is given by the sum of the three normalized values: SI(sk) = L(sk) + U(sk) + S(sk) - The decision algorithm chooses the Service Agent with the largest SI to serve the print request, and the decision module forwards the IP address to the Mobile Application. Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 13 Mobile printing scenario (5/5) More likely to be chosen Less likely to be chosen Adaptive mobile application: user unterface print options availability based on user previous choices. Introduction Problem Statement System Overview System Architecture System Deployment Mobile Printing Scenario Personal Web Feeds Scenario Evaluation Contributions 14 Personal Web Feeds Scenario (1/5) • Service Description: Filtering web feeds based on information provided on users’s online social profiles. - Trends in social media usage today • Increase in social network usage, blogging and community sites. – Users spend more time online browsing Social Networks, than reading e-mail [4] • Social network users going mobile [5] • Commercial application – “After friends and family, the number one driver for brand trust is online reviews and feedback from the social media space”. [6] – Social Technologies Gain Traction In The Enterprise – Year: 2010 Will Be The Year Of differentiation for vendors to stay relevant. [7] • Personalized social networking in the center of next-generation social networking platforms Mark Zuckerberg: “Facebook is part of the shift toward more social and personalized experiences everywhere online.” [8] [4] eMarketer: More Time Spent on Social Media than Email Worldwide: Email most common daily activity, but social racks up more hours http://www.emarketer.com/Articles/Print.aspx?1008025 [5] ComScore inc. - Facebook and Twitter Access via Mobile Browser Grows by Triple-Digits in the Past Year, March 2010 http://www.comscore.com/Press_Events/Press_Releases/2010/3/Facebook_and_Twitter_Access_via_Mobile_Browser_Grows_by_Triple-Digits [6] The Nielsen Company – Friending the Social Consumer, June 16, 2010 http://blog.nielsen.com/nielsenwire/online_mobile/friending-the-social-consumer/ [7] Forrester Research - Enterprise Social Networking 2010 Market Overview http://www.forrester.com/rb/Research/enterprise_social_networking_2010_market_overview/q/id/56777/t/2 [8] Mark Zuckerberg - Building the Social Web Together April 21, 2010 - http://blog.facebook.com/blog.php?post=383404517130 Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 15 Personal Web Feeds Scenario (2/5) • Service Profile - Context: Information about users retrieved from online social networks (LnkedIn, Facebook, MySpace), modelled using ontologies (extensions of FOAF vocabulary), aggregated by third-party online information sources. - Service Agents: Websites such as portals, news, forums etc., providing content syndication via the RSS protocol. - Decision Algorithm: Based on user profile (context) decide whether a Web feed item is relevant to a users’s interests. - Mobile Application: Simple iOS application where users are presented with a list of feeds from the system that they can scroll through – as well as access their linked content. Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 16 Personal Web Feeds Scenario (3/5) iOS application Service subscription, asynchronous notification whenever a relevant Web feed is selected Domain Knowledge: IMDB, Google Maps Decision Consolidation Asynchronous transmission of RSS feeds Context Broker Service input RSS feeds from websites Context Acquisition, transformation and categorization based on domain knowledge. Context Input (Facebook, MySpace, LinkedIn) Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 17 Personal Web Feeds Scenario (4/5) • Decision Algorithm, a variation of the algorithm first used in the mobile printing scenario. - Indirect matching of relevance of incoming Web feeds and user data, based on thematic indexes. • Calculation of an Alignment Value Ai - Calculated for an incoming web feed, for each subscribed user. Normalized value from 0 to 1, where 1 is an absolute similarity. Confidence measure Cm indicates an acceptable match. Examples: Incoming Web Feed Description Thematic Index General Category: Entertainment (A1 = 0.2) Sub-category: Movies (A2 = 0.4) Specialization: Drama (A3 = 0.6) Direct Match: No (A4 = 1) Stockholm Film Festival Dramatic Movies Programme 2010 (type: movie, genre:drama) Raw Context Context after transformation Favourite movie: The seventh seal Favourite movie: The seventh seal (type: movie, genre: drama, fantasy) Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 18 Personal Web Feeds Scenario (5/5) Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 19 Evaluation (1/2) • System performance - System response times (efficiency) – prioritization example - Error rate (robustness) - True positive results (effectiveness) Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 20 Evaluation (2/2) • User feedback - Satisfaction survey Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 21 Contributions • System level - A comparison with existing context-aware frameworks and contextaware systems reveals a significant advantage • First combination of virtual and physical services in real deployment - System design driven not only from classic performance metrics, but also from user feedback • Automated, unobtrusive feedback collection • Service solution (implementation) level - A software-enabled print spooler. - Extensions of well-known ontologies to model user profiles. reusable vocabularies. Introduction System Overview Mobile Printing Scenario Evaluation Problem Statement System Architecture Personal Web Feeds Scenario Contributions System Deployment 22 End of presentation Thanks for attending ! 23 Backup Slide 1: International Telecommunication Union (ITU) – Key Global Indicators for The World Telecommunication Service Sector Mobile broadband subscriptions Worldwide Million Users Year Developed Countries Developing countries World Percentage of population 200 5 2006 2007 2008 2009 2010 2005 2006 2007 2008 2009 2010 57 132 253 352 505 631* 4.6 10.8 20.7 28.7 41.0 51.1* 16 27 54 105 198 309* 0.3 0.5 1.0 1.9 3.5 5.4* 73 159 307 458 703 940* 1.1 2.4 4.6 6.8 10.3 13.6* This table was sourced and adapted from the ITU website: http://www.itu.int/ITU-D/ict/statistics/at_glance/KeyTelecom.html 24 Backup slide 2: Example of calculation of the Suitability Index 25