Mobile Context-Aware Systems: Technologies, Resources and Applications

Mobile applications often adapt their behavior according to user context, however, they are often limited to consider few sources of contextual information, such as user position or language. This article reviews existing work in context-aware systems (CAS), e.g., how to model context, and discusses further development of CAS and its potential applications by looking at available information, methods and technologies. Social Media seems to be an interesting source of personal information when appropriately exploited. In addition, there are many types of general information, ranging from weather and public transport to information of books and museums. These information sources can be combined in previously unexplored ways, enabling the development of smarter mobile services in different domains. Users are, however, reluctant to provide their personal information to applications; therefore, there is a craving for new regulations and systems that allow applications to use such contextual data without compromising the user privacy.

INTRODUCTION Context-aware applications are an increasingly important part of current mobile applications, i.e., applications that adapt their behavior according to the user context. However, looking at application volumes, one could say that contemporary mobile sensor frameworks, e.g., Android Location and Sensors API, establish the de facto technology driver for (mobile) context-aware computing. That is, most of these applications are based solely on information coming from these mobile sensor frameworks, such as positioning information for Locationbased Services (LBS) [44] or some simple types of contextual information, such as time of day or user language.
Other applications need more complex contextual information, however, mobile developers are challenged to build such applications since these mobile sensor frameworks provide no such information, e.g., user music preferences. In addition, these frameworks act simply as context providers, lacking the ability to model and reason with context. This reasoning ability is desired in Context-Aware Systems (CAS), similarly to how human beings reason (e.g., user at work implies user activity is working).
Inevitably, considering these other types of contextual information would require further development of data mining techniques to cope with this information. Traditional mobile services were based on mobile sensors whose values were relatively easy to interpret, e.g., position coordinates, while potential context-aware applications need to understand and make use of this more contemporary type of information that is in unstructured formats, e.g., web pages and plaintext in e-mails or calendars.
For the development and provision of fully Contextaware Services, it is key to conceptualize context and design a mobile component that acts as a context manager rather than a context provider, i.e., that deals with contextual information, reasons with it, distributes it to other components, etc.
Once the mechanisms for the context manager are established, we identify usable, reliable and accessible information and services [57], processing methods to compute and reason with this information, etc. Vastly simplified, the processing methods should combine the information available from diverse sources with the ultimate goal of understanding and exploiting the users' needs and interests, based on which tailored mobile services can be built.
The contribution of our work is two-fold: first, we review the main concepts and related-work in CAS, (re)proposing a software component for dealing with, modeling and reasoning with context. Second, we review available information, methods and technologies that can be used to improve existing mobile applications, and discuss some areas where they can be used.
The rest of the article is organized as follows: Sect. II starts with a conceptualization of context, models, CAS, as well as the architecture of our proposed context manager, the context engine (CE). Sect. III reviews available data sources from which to extract user-related information, and Sect. IV describes technologies or initiatives to publish more general information, i.e., not related to the user. Sect. V introduces some terminological information, e.g., dictionaries, to understand the previous information, while processing methods to reason with information are presented in Sect. VI. Sect. VII discusses some areas of application that can benefit with the development of CAS. Finally, we conclude in Sect. VIII, summarizing and discussing the challenges to overcome in order to successfully transition from Location-based Services towards smarter Context-aware Services.

A. Context and related concepts
Research on context-aware computing began in earnest in the early 1990's [1]. Context can refer to any information that can be used to characterize the situation of an entity, where an entity can be a person, place, or physical or computational object [5].
The main components of context aware systems include context providers, e.g., mobile sensor frameworks, and Context-aware Services, e.g., context reasoning [22]. Also, we can see context-aware systems consisting of two main activities, namely context assertion, for making contextual information available to the services, and context retrieval, for exploiting context in an specific application [37].
Some sources of contextual information would include physical sensors such as thermometers, virtual sensors such as calendars, or predictions such as weather forecasts. According to the extraction procedures, there are three complementary approaches on how context providers acquire information [11]: -Direct sensor access, where sensor information is directly read from the sensor APIs.
-Middleware infrastructure, which introduces a layered architecture that enhances reusability and provides concurrent sensor access. Instead of accessing directly the raw data from sensors, an intermediate software layer manages sensorial data.
-Context server, which in addition, allows gathering information from remote data sources and distributing the costs of measurements and computations.
Direct sensor access is not feasible in current computing, since contextual information needs to be encapsulated for system to deal with multitasking, concurrency, etc. The context manager would acquire the information by being a middleware infrastructure, such as mobile sensor APIs do, but also a Context Server, since external information and services can be used to gather information.

B. Modeling Context
Currently, there is no commonly agreed standard model or system for sensing contextual information from various sources. The existence of this model would enable the reuse of contextual information across various middleware systems and frameworks.
Strang and Linnhoff-Popien [53] describe and discuss several ways to model context, including key-value, markup scheme, graphical, object-oriented, logic-based and ontology-based models. Ontology-based models offer many desirable properties such as information alignment, and the ability to deal with incomplete or partially understood information, among others.
These ontology-based models require some context ontology standard to facilitate the reuse of information across applications and frameworks. Several ontologies have been proposed with this purpose. The W3C Semantic Sensor Network (SSN) ontology was developed by reviewing 17 existing sensor ontologies [29,15], also aligned with the general DOLCE Ultra Lite upper ontology providing concepts such as Physical Object, Event, etc.
Other ontologies acknowledge a more generalized logical context, such as the Service-Oriented Context-Aware Middleware (SOCAM) architecture, which provides efficient infrastructure support for building more complex Context-aware Services in pervasive computing environments [22]. SOCAM also acknowledges the needs of using a two-level information architecture: general contextual information is described using SOCAM ontology, while more application-specific concepts use domain-specific ontologies.

C. Architecture
Although many other frameworks have been proposed in the literature, such as CoBra, CASS, CORTEX, Gaia, Context toolkit [1,5,42], we use the Context Engine (CE) to make our discussions more concrete. The CE is a software component responsible for dealing with (collecting, storing and distributing), modeling and reasoning with context [42]. The CE accepts the responsibilities and tasks of local context provider and logical context interpretation. Among other tasks, the CE provides contextual information to the applications, and manages user information and preferences.

Figure 1. Simplified Context Engine Architecture
The architecture of the CE is depicted in Fig. 1. The end user performs an activity through a context-aware mobile application, which requests the needed information from the CE through the CE API using the context ontology.
The CE provides the requested information to the requesting application if information is available or can be obtained with existing information and processing methods, when permissions are granted.
For the tasks of context management, reasoning and distribution, the CE should include several components: Context ontology is the chief communication mechanism between the CE and the applications, facilitating communication between external applications. Also, the context ontology is the base information for further ontology-based inference or consistency checking.
Factual information is the information that can be used for providing users with tailored services. There are two types: user-related information, which describes the user and his or her contextual information (Sect. III); and general information, information unrelated to the user in principle, but that can be exploited for the user's benefit. (Sect. IV).
Terminological information is needed for computers to understand and reason with factual information, a topic addressed in Sect. V. This information includes vocabularies, thesaurus or taxonomies that allow further understanding of certain information.
Processing methods compute with available information to provide previously unknown information that is relevant in that context. Some processing methods based on statistics are included in Sect. VI, but inferences using ontology-based reasoning techniques should be considered [58], and are of the CE's own techniques, in the box "ontology-based inference".
Context Engine deals with user preferences, permissions, privacy and trust, uncertainty (e.g. consistency checking), and ontology-based inference, among others. Optional components would include optimization engines to reduce computing costs, e.g., pre-computing most likely requested context, or application assistance services to help other applications use the Context Engine smoothly.
III. USER-RELATED INFORMATION SOURCES Contextual information stems from diverse sources and concerns a large variety of information and data types. According to Baldauf et al [5], there are three types of sensors from which to obtain contextual information, namely physical, virtual and combined sensors. We also consider Social Media and Direct User Input as sources of contextual information.

A. Physical sensors
Physical sensors are capable of capturing physical data of the entity's environment [5]. There are sensors providing different types of context such as: photodiodes providing light context; cameras, visual context; microphones, audio; accelerometers, motion and acceleration; GPS, location; thermometers, temperature; and biosensors to measure blood pressure as sensors to measure physical attributes [48].
Physical sensors are the most widely used sensors in current mobile applications, e.g., all the position-based applications constituting the so-called Location-based Services (LBS).
Furthermore, besides sensors integrated in mobile phones, one should consider other sensors across different places, e.g., user home, and devices, e.g. work and personal phones. This is becoming increasingly relevant, especially considering the increased attention and efforts made in emerging paradigms like the Internet of Things (IoT) [3] and realizing Smart Cities [6].

B. Virtual sensors
Virtual sensors have access to virtual information, such as data from applications and services [5]. Many applications and services can be considered virtual sensors, including calendars, e-mails and web browsers. For example, from the user calendar we may learn the users' interests, location or language. Other more novel information includes media access logs, citizen profiles (e.g., tax information, profession, educational degree, and marital status), service usage logs (libraries, banking, etc.), and information from sport and health trackers, among others.
Virtual information is increasingly used in the last years in mobile applications, although two factors hinder its development: First, it is challenging to deal with virtual information, since it appears in more unstructured formats than information coming from physical sensors. Second, only some virtual information providers have procedures for third-parties to access their information, which complicates the inclusion of some sources of information in CAS.
Social media applications are in essence sources of virtual information, however, because of their specific characteristics, we consider them separately in Sect III.D.

C. Combined sensors
Combined sensors provide information obtained by combining information from two or more sensors. We need, therefore, the corresponding processing methods to infer new information from that already known.
However, it is important to distinguish the method from the sensors: the method infers the information and provides it to the sensor, which registers the information to be requested later. For example, user physical activity information (immobile, walking, cycling, etc.) is information from combined sensors. To obtain this information, we used some inferences techniques, some of which are discussed in Sect. VI.

D. Social media
According to Kaplan and Haenlein, social media is a group of Internet-based applications that build on the ideological and technological foundations of Web 2.0, and that allow the creation and exchange of User Generated Content [26]. Users buy goods and services online as well, being able to compare prices from different providers instantly.
Social media differs from the more generic virtual information in the sense that social media compiles information related to the user as a social being, including its relations with other users and entities. Furthermore, several classifications of social media have been proposed. According to [51], there are eight types of social media: relationship networks, media sharing networks, online reviews, discussion forums, social publishing platforms, bookmarking sites, Interest-based networks and e-commerce. These types are not exclusive: one social media can belong to more than one category simultaneously, such as Facebook, belonging to the categories personal networks and media sharing networks.
Online reviews and e-commerce are interesting social media categories for the CE or recommender systems due to the number of practical applications. Interesting sources of information might be Foursquare, twitter, LinkedIn, Wikipedia (or dbpedia), amazon, imdb, rottentomatoes or TripAdvisor, to mention only a few. In particular, open social media platforms, which offer open content without authentication, are of particular interest, some examples being twitter, Flickr or YouTube.
Regarding information reliability, some information can be found to be more objective, like in the case of ecommerce information, while other categories like online reviews typically contain opinions, which are of subjective nature.
Although social media is a rich source of information, there are two issues that hinder its development that are, in essence, the same as with virtual information but more accentuated: First, there is a need to cope with information in non-machine readable formats, such as plaintext, for which advanced data and text mining techniques should be developed further. Still, other times they offer ways to express information that machines can understand, such as the 5-Star Rating Systems for rating amazon products. Second, the closeness or unavailability of the data matters: service providers may choose not to disclose such information, often vital in their business models. In other words, the user might lack access to his or her social media information outside the web platform that produces and collects the data.

E. Direct User Input
Direct user input is an alternative to context inference from data. In this approach, the user provides directly some contextual information. Often, the user provides this information in form of confirmations.
We add two reflections on that matter: First, if applications want users to provide direct input, it is key to keep them aware of the potential services they could get, ensure data protection and provide user-friendly channels for providing such information. Second, mobile services should avoid overwhelming users with excessive number of questions about their context, but instead use this when the benefit is maximal. Since some information can be inferred as well, information gathering should be a tradeoff between known information, inferred information and information provided by the user directly.

IV. EXPOSING GENERAL INFORMATION TO OTHERS
There are general information sources that, although they are not strictly related to the user, may be relevant to the user later, to either complement user context, e.g., weather information, or to provide information to the user, e.g., book information. Some third-party general information types, to enrich CAS, are presented. General information can be consumed in different ways, these being complementary and at different conceptual levels.

A. Plain web information
The information on the web is overwhelming in size, but also a challenge for machines to understand and compute since much information is not published in fully machine-understandable formats. For computers to automatically deal with web-sourced information, many data mining and text analytic tools have been proposed, but natural language still seems too ambiguous [46] to be understood robustly by machines.
Sometimes, one can crawl the web and find labels, keywords or some sort of classification that can help machines filter such information. Also, one can find microformats in the web, small html machineunderstandable patterns that represent specific concepts such as people, events, and reviews.
Using the web information by hard-coding a web crawler that extract information from websites may neither be sustainable nor recommended, since information accessibility and availability are rarely ensured. For example, the web publisher may change the website and the web crawler is unable to extract the new content. There are other approaches to publish this information, which will be introduced and discussed next.

B. Web services
Web services allow third-party applications to reuse publisher data or services. The World Wide Web Consortium (W3C) has worked towards a full standardization and usability of web services: they published a series of recommendations for information publishers that, when followed, allow third-party applications to use data. These web services are often payment services; other times web services provide free services, open data, linked data, etc.

C. Open data
Open data can be freely used, re-used and redistributed by anyone to everyone -subject only, at most, to the requirement to attribute and sharealike [61].
Open data must ensure availability and access, re-use and redistribution, and universal participation: all this with the purpose of achieving interoperabilitythe ability of diverse systems and organizations to work together (i.e., inter-operate) [61]. By opening data, we mean publishing the information in a form of structured annotated data (instead of formats like pdf) that machines can readily understand and process in computations.
Open data initiatives have emerged during the last decade and many organizations have opened up their data. This movement has been very evident in the news media industry. Also, governments have opened much of their data pertaining to health [19] and transportation [56], whereby allowing third parties to develop mobile applications that provide convenient access to citizens. Other open initiatives include OpenWeatherMap, providing weather information via a weather API [59]; or the NYC open data initiative, through which the City of New York provides open information in several categories, such as health information, housing, education, etc. [41].

D. Linked data
Linked data is about using the Web to create typed links between data [8]. It also refers to data published on the Web in such a way that it is machine-readable, its meaning is explicitly defined, it is linked to other external data sets, and can in turn be linked to from external data sets [8]. In other words, linked data are machine-readable and connectedor potentially connectableto other linked datasets. We emphasize that, although linked open data and linked data are sometimes used interchangeably, linked data implies nothing about it openness albeit they are often published under an open license agreement.
While open data is a movement towards openness without clear standard procedures to publish data, linked data is a technical implementation of the very concept of linked data. Linked data offer myriads of opportunities to learn new knowledge and provide new services. For example, the Dbpedia dataset is an attempt to extract structured information from Wikipedia and make this information available on the web [4]; GeoNames provides RDF descriptions of more than 7,5 million geographical features world-wide and can be used by applications to create new or enrich existing applications. Based on the last two datasets and their linkage, for example, this mobile application provides the users with information regarding their current locations and those close to them [7]. Other linked datasets include information such as news information from BBC news [30], film information from imdb [31], music information from the LinkedBrainz project [32], or museum collection information from the British Museum [10].
V. TERMINOLOGICAL INFORMATION Besides factual information, computers need terminological information that helps them understand how to better compute and reason with factual information. Such terminological information appears in forms of vocabularies or thesaurus, among others.
The role of this information might be to describe particular data archives, which are often provided as modular components for developers working with their data. Therefore, these resources might enable computers to have a deeper understanding of some information, such as texts in natural language.
Some of these resources include Dublin Core, a set of vocabulary terms to describe web and physical resources [60]; and WordNet, an online lexical database designed to be used by other applications, that organizes English nouns, verbs, adjectives and adverbs into groups of synonyms, where each group represents a specific lexical concept [38]. SentiWordnet [20] is a lexical resource for opinion mining, where each Wordnet term is assigned one of three sentiment scorespositive, negative, or objective. Similarly, GeneralInquirer [52] includes manuallyclassified terms labeled with various types of positive or negative semantic orientation, and words having to do with agreement or disagreement.
Other initiatives for specific domains have been proposed: for instance, the Medical Subject Headings (MeSH) RDF Linked Data thesaurus is a controlled vocabulary produced by the National Library of Medicine (NLM) since 1960 [33]. NLM uses MeSH in their products and systems for indexing, cataloging, and searching for biomedical and health-related information and documents.

A. Positioning techniques
Positioning techniques use built-in physical sensors to estimate the user's physical location. These sensors usually measure signals, such as those coming from GNSS-enabled devices, WiFi access points, mobile network cells, to mention only a few [62]. Since there are significant differences in the type of environments for which position needs to be determined, each with a more suitable technique, hybrid techniques are often deployed in industry in order to provide ideal position estimation.

B. Semantic Location
Although position is the base of many Location-based Services, this information may be irrelevant for some services that, instead, need information of the semantics of such location. For instance, some geographical coordinates can have a different meaning for each user. That is, if the user is, say, in a sport center, the meaning of this place changes among users, one might see this at his/her workplace, while for another this is simply a leisure center. Several attempts have been made to infer semantic location from physical and virtual sensors [45,18]. Such information is available through the Lumia SensorCore SDK, a mobile sensor framework, enabling developers to provide services based on user semantic location [34].

C. Activity Recognition
Activity recognition is a task that involves identifying the physical activity a user is performing [27]. Many activity recognition techniques use data from accelerometers and other physical sensors to identify a variety of activities, e.g., the user is (i) immobile, (ii) probably walking, (iii) probably cycling, (iv) probably driving, or (v) using public transport. User activity is also an important piece of contextual information. Accessing virtual or social media information might help in this task. We can discover actions that were unknown before, e.g., user updates his or her Facebook status to "drinking coffee with John".

D. Sentiment Analysis and Opinion Mining
As discussed previously, social media can provide useful user-related information. Of the several activities that make use of such information, we highlight opinion mining and sentiment analysis [43].
They can be extensively used for many different purposes, ranging from commercial to political. For example, opinion mining in e-commerce can be used to learn what people think about certain products, from both a user perspective to know what others think of the product, to the seller's perspective to know what changes to be made or new features to introduce in following products, whereby improving customer satisfaction.

E. Social Network Analysis (SNA)
In existing social media, one can extract contextual information by analyzing the user profiles and interactions between them. For instance, in e-commerce, previous research has shown that users trust reviews more when they come from users similar to them [55]. This can be indeed used by say, recommender systems, to understand which opinions are more relevant to the users. Another example is using the social network structure to infer previously unknown information about the user [39].
This analysis includes user profiling, which we discuss next, since it warrants a discussion of its own.

F. User profile inference
Understanding user profiles is relevant to provide users with a suitable quality of service. This has been widely researched [14,25]. For instance, in the web environment, one can profile users by how they navigated through web sites and identifying, for example, selected text, visited and printed pages, and which links they clicked and to which websites they were directed [25]. Recommender systems already benefit from user profiling techniques but other applications, such as in areas of tourism or online learning, can as well. Also, user profile inference activities can be made within specific social networks, overlapping with the previous category.

G. File Annotation
File annotation, or metadata extraction, is arguably somewhat similar to user profiling but done in documents instead on user profiles. This can provide information about documents, videos, etc., either to understand user interests through understanding the used documents, or to provide and filter information matching user interests [13,47]. Following the previous recommender system example, one should (automatically) understand book features to associate with user preferences. Another case can be to create keyword-based file systems to substitute current folder systems or to improve user search within such systems [9].
VII. APPLICATIONS Context-aware Services are applied in many domains, including:

A. Location-based Services
Location-based Services are those mobile services that adapt to user position [44], and constitute the main market in Context-aware Services. There are plenty of services that provide relevant information of places and events nearby [16,23]. Also Geo-fencing is becoming a hot topic in LBS applications [40], and many useful geo-fencingrelated services already exist, such as reminders to users when entering a specific geometric area, e.g. post office nearby.

B. Information providers
There is an overwhelming amount of information in the web and users would benefit from information prefiltering and provision based on their preferences. AmbiAgent is agent-based infrastructure for context-based information delivery [28]. There are other content delivery systems and search systems which create multimedia content tailored to their users' needs [21].

C. Recommender systems
Recommender systems were first reduced to the problem of estimating ratings for the items that have not been seen by a user [2], but are nowadays more influenced by the amount of user information available. Therefore, many pieces of information should be considered to improve recommender systems, such as all the information regarding user profiling and opinion mining.

D. Education
Last research initiatives seem to opt for personalized learning services instead of one-size-fits-all solutions, such as UoLmP, a context-aware adaptive and personalized mobile learning system that supports semiautomatic adaptation of learning activities. Also, personalization has been used to boost learner motivations [49], optimal objective setting, etc.

E. Health and Sport
Context can be useful in the health domain. The homecare context-aware computing (HoCCAC) multi-agent system is designed to maximize task-planning schedule discovery and react autonomously according to changes in the hospital environment [50].
There are also many Context-aware Services useful in the area of sports, from sport tracking applications such as PureRunner, to sport partner finding applications such as buddyup.

F. Traveling and Tourism
Context-aware applications have the potential to be used in this domain. Some tourism-related context-aware systems and applications can be found in the literature [12,36]. The context-aware GUIDE is an intelligent electronic tourist GUIDE that present to visitors information tailored to both their personal and environmental contexts [12].

G. Logistic
Historical and streaming data can be analyzed for understanding, for instance, road traffic and provide tailored recommendations for routes by car or public transport, especially considering the trend of opening public transportation information in terms of timetables [24] or even transport position information in real time [54]. Some mobile personal assistant applications offer this kind of service, providing information of how to go from your actual location to your next (inferred) location.

H. E-democracy
Studying opinion and sentiment of people in social media is a means for governments to perceive their citizens' insights, worries, etc., and this information might be of value for decision making. This is the objective of the German-funded project ALL-SIDES, Advanced Large-Scale Language Analysis for Social Intelligence Deliberation Support [17], which uses language analysis to understand citizens' opinions.

I. Smart homes and Smart cities
Context awareness is crucial for smart home systems to succeed [63]. Other works provide insights of applications in the so-called smart cities, where variety of networked sensor-based systems and devices are deployed on the scale of cities [35].

J. Crowd-based applications
Crowd-based applications are those matching needs and the available resources, with the characteristics of these resources being offered by individuals instead of companies. These services typically occur in a proprietary web platform where the individuals exchange such information or services.
Some examples of these applications are airbnb for house renting; blablacar for carsharing; and even Billetes Tren Mesa AVE Renfe, for trip-buddies seeking with the purpose of obtaining cheaper train tickets. Other potential activities include participatory involvement in local activities, voluntary works, e-commerce, crowd-based logistics, and peer-expert services.
Functional context-aware systems would facilitate the development of crowd-based applications and eliminate or reduce current tedious top-down coordination required from officials.
VIII. CONCLUDING REMARKS Location-based Services are currently proliferating for personal mobile applications. Intuitively, other contextual information can benefit actual CAS, but it is unclear how. At the time of writing, mobile sensors frameworks are the de facto technology for context-aware computing. The information provided by these frameworks is limited to information streaming from physical sensors such as position, or some basic contextual information, such as user language. Yet more relevant, these frameworks act as some sort of context providers, lacking the ability of computing and reasoning with context. Therefore, we advocate the need for a mobile component that reasons with context and supports more complex types of information.
We conceptualized context, how to model context using ontologies and propose and architecture for CAS. These conceptualization and definitions allow us to discuss and reason with context in an actionable way. Among other things, we discussed context modeling, and concluded ontology-based modeling is an optimal choice because it offers many desirable properties.
We reviewed some of the data sources to better understand user context, suggesting that information from social media can indeed be the key information for its volume and variety, especially from open social media platforms. The challenge is to understand this more unstructured type of information, e.g., text in natural language, for which many data and text mining techniques have already been developed. We also reviewed some sources of general information that, when understood properly, can be useful to provide tailored mobile services. Some of these sources of information are related to weather forecasts, news, public transportation or books and movies.
When the needed user information is unknown, we can use inference techniques to discover such information. For instance, using SNA or activity recognition techniques, one can discover (previously unknown) user context attributes. This, in turn, increases the understanding that the CAS has of the mobile user.
Regarding applicability, there are many areas in which these CAS may improve user experience, including health, logistics, education, etc. We believe crowd-based services can be relevant in CAS, since these systems can facilitate the development of such need-resource matching services that currently require tedious top-down coordination.
A curious detail is that, although many context manager frameworks have been proposed to work as generalpurpose frameworks, many different frameworks have been developed in practice for different purposes, and still worse, they are often designed to fulfill the needs of a specific (limited set) of applications. The number of CASs hinders the rapid integration in mobile services, thus discouraging mobile developers to build fully Contextaware Services because of its complexity.
Besides technical challenges when dealing with context, an obstacle for development of CAS is growing user privacy concerns, i.e., users are reluctant to provide their data, or give permissions to access and process the data, to these context managers. Therefore, we look forward to regulations and systems that allow applications to use such contextual data without compromising the user privacy.