With the evolution of mobile computing, context awareness has become a key component of human interaction. Now it is as important as communication itself.
A context is defined as a data source that can be discovered and used to characterize the situation of an entity. A context describes a physical phenomenon in a real world. The context can be of two types.
- The external/physical context that is measured by sensors embedded in the device, such as location, sound, light,
- Internal/logical context that is captured from user 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 users.
Importance of context awareness in mobile computing.
Context awareness is important in ubiquitous computing where computing is made to appear anywhere and everywhere. The smartphone is the most common place where ubiquitous computing takes place from the perspective of a single user. Smartphones are context-aware systems that are capable of making sense of the situation around a person. Smartphones are often used as a data capture source in context-aware applications due to two properties: context awareness and ubiquitous computing.
The ability to pervasively recognize the individual and social context with which devices or users are in contact is provided by the continuing development of sensor designs and implementation, coupled with evolving computing technologies on embedded system platforms based on on mobile devices. Therefore, decision making based on contextual data, which is captured through sensor-based mobile devices that infer human-centric actions, activities, and interactions that occur on a daily basis, is more useful in real time.
Smartphone sensors and contextual data
Context-aware systems aim to use a mobile computing device such as a handheld smartphone or connected/wearable device embedded with smart sensors to monitor and measure individual or environmental (context) phenomena in order to assist or assess human lives to achieve a desirable quality of life. Contextual data capture via smartphones allows for minimal user interaction with the device, increasing ease of use. Contextual data can be collected through physical sensing, i.e. through the hardware sensors embedded in smartphones, or soft sensing, i.e. through user profiles and other information available on user portals. social networks such as Facebook, LinkedIn and Twitter.
Characteristics of context-based application design.
When designing/implementing a context-aware application, there are a few things that need to be addressed.
Privacy is one of the main concerns of mobile app users. Therefore, context-aware applications must consider the privacy of context sources as well as the issue of context. Also, the identity of context sources should not be published without their explicit permission.
Context-aware applications often capture low-level contextual data, process it to produce information, and display it to users. Some applications deal with historical data as well. Implementing such scenarios requires dedicated space, that is, storage to manipulate and manage data. Therefore, architecture with expandable database framework should be selected for the back-end implementation to support vertical and horizontal scalability of the application.
Context source interactions can be implemented using either a pull or a push mechanism. However, in both cases, the ability to derive context information from past data is limited by how often the context is acquired by the context source. In context-aware application design, adaptation of context data irregularities is also considered as an extensibility trait. This will also support the app to expand if the number of users increases over time.
Synchronous and asynchronous operations are useful in a contextual model to query data. Applications that base their real-time operations on the current context will require synchronous operations, while applications that need to be activated in a particular context will require asynchronous operations. Therefore, the application must be designed to use synchronous and asynchronous operations appropriately.
Quality of the information
Contextual information involves real-world entities. Data captured in context-aware applications will use this context information to support decision making. Therefore, the quality of the information is a vital aspect in such implementations. The system must specify mechanisms to measure the quality of information (QoI) and modify the context data to maintain the accuracy of the information.
Image courtesy: Pixbay