With the evolution of mobile computing, context awareness has become a key component of human interaction. It is now important as much as communication itself.
A context is defined as a data source that can be sensed and used to characterize the situation of an entity. A context describes a physical phenomenon in a real world. Context can be of two types.
- The external/physical context which is measured by device-embedded sensors such as location, sound, light,
- Internal/Logical context which is captured from user’s interactions such as emotions, preferences
What is Context Awareness in Mobile Computing
Context awareness is the ability of a mobile computing device to capture the current context of the users.
Importance of context awareness in mobile computing
Context awareness is significant in ubiquitous computing where computing is made to appear everywhere and anywhere. The smartphone is the most common place where ubiquitous computing takes place in single user perspective. The smartphones are context aware systems, which are able to make sense of the situation around an individual. Smartphones are often used as the source of capturing data in context-aware applications due two properties: context awareness and ubiquitous computing,
The ability to pervasively recognize the individual and social context that devices or the users are in touch with is provided by the continual development of sensor designs and deployment together with evolving computing technologies in a mobile device based embedded system platforms. Thus, decision making based on contextual data, which is captured through sensor based mobile devices that inference daily occurring human-centric actions, activities and interactions is more real-time and useful.
Smartphone Sensors and Contextual Data
Context aware systems aim at using a mobile computing device such as handheld smartphone or an attached/wearable device integrated with smart sensors in order to monitor and measures individual or environmental phenomena (context) for the purpose of assisting or evaluating human lives to achieve a desirable quality of living standards. Capturing contextual data through smartphones allows minimal user interaction with the device, thereby increasing the usability. Contextual data can be collected either through hard sensing, i.e. the through the hardware sensors embedded in smartphones or soft sensing, i.e. through the user profiles and other information available in social network portals such as Facebook, LinkedIn, and Twitter.
Characteristics of Context-driven application design
When designing/implementing a context driven application, there are few aspects that need to be addressed.
Privacy is one of the major concerns of mobile application users. Therefore context aware applications must consider the privacy of context sources as well as the context subject. Also, the identity of the context sources should not be released without their explicit permission.
Context aware applications often capture low-level contextual data, process them to produce information and display them to the users. Some applications deal with historical data as well. Implementation of such scenarios requires a dedicated space, i.e. storage to manipulate and manage data. Therefore, architecture with expandable database structure has to be selected for backend implementation to support vertical and horizontal scalability of the application.
The interactions of the context sources can be implemented via either pull or push mechanism. However, in both the cases, the ability to derive context information from past data is limited by the frequency with which context is acquired by the context source. In a context aware application design, accommodation of irregularities of context data is also considered as a trait of extensibility. This will also support the application to extend if the number of users grows with time.
Synchronous and asynchronous operations are useful in a contextual model to query data. Applications that base their real-time operations on the present context will require synchronous operations whereas applications that need to be activated upon particular context will need asynchronous operations. Hence, the application should be designed to use synchronous and asynchronous operations appropriately.
Quality of Information
Context information involves in real world entities. The data captured in context aware applications will use this context information to support decision-making. Hence the quality of the information is a vital aspect in such implementations. The system needs to specify mechanisms to measure the Quality of Information (QoI) as well as to modify the context data to maintain the accuracy of the information.
Image Courtesy: Pixbay