Nivedit Majumdar Nivedit Majumdar

Improving App Interaction using Context

When the principles of gathering data through Context comes into the Quantified Self, it results in the formation of a Qualified environment. To enhance our understanding of the data collected, to be able to draw valuable results, that is the need of the hour.

And this very point is the crux of my article here. How can app developers improve the processes in app interaction using Context, what are the Rule Engines and Rule Processes, and how will it aid the end user? So here, I delve deep into the focal point of improving app interaction using context.


Context literally forms the interfacing medium between an application and the environment outside of the device. Sensors are getting cheaper and more efficient by the day, and they help in gathering the data from environment around the user : simple things like location and orientation of the phone to more complex data such as heart rate and blood hormone levels (mainly from wearable devices).

Now while sensors merely do the job of gathering the data, this data needs to reach the application so that a quantifiable result or an event can be triggered. This job is done by Context. To put it in technical terms, it is basically an abstract class which allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.


To understand the need of context, it is imperative to get to know a little more about it.

There are basically two types of context: Historical Context and Context Sensing

Historical Context refers to the user’s contextual data which is either saved locally or online. It involves components such as the user’s location, check-ins and travelled routes. A behavioral model can be used to analyse these data trends and algorithms will accordingly develop actions.

These data points can actually be beneficial if one were to develop activities based on the saved locations. Say for example when you go to office, your phone automatically switches to a Meetings profile. Or when you come home, the phone automatically switches the WiFi on and reverts back to an original profile. Simple actions, but very meaningful. And it’s all due to context.


Context Sensing, on the other hand, is a tad bit more complex. It does not believe in storing the collected data and referring to it at a later point, but instead focuses on collecting and using the data immediately. Things like give warning beeps on your phone when the wearable senses that your heart rate is beyond a particular value, or switching audio tracks depending on the user’s mood.

Context Sensing is more intelligent than it sounds, and the sensors are basically in an ‘always listening’ mode. In fact, this very concept forms the fundamental basic of the Internet of Things – generating actions on the basis of user data in real time.


Rules can be created on the basis of a context. For example, a rule can be created with the following condition: “When I’m driving and I missed a call”, and with the following action: “send a SMS to the caller, saying that I’ll call later”. Things which are common in applications such as IFTTT.

(Image Source: Intel Developer Zone)

In programming terms, it is a simple ‘if’ loop. The behavioral engine can analyse the data collected from the context, and trigger the relevant actions.


Think of a more flexible Rules Engine. Depending on the user’s habits, develop varied rules in order to aid the user.

For example, if an observation is made as ‘the user switches on the WiFi when he’s at home, switches it off when he goes to office’, then the behavioral engine assesses the days and times these events occur on. The Rule Learner analyses this data and formulates events, which go like this:

“Each time the user is at home during the weekend, he turns on the WiFi” or “Each time the user is at work during the week, he turns off the WiFi”.

(Image Source: Intel Developer Zone)

The key point to consider: All this is done without the user’s involvement. We are talking in terms of effective machine learning, which can truly be exciting.


Rule Engines, Behavioral Models and Rule Learning can dramatically improve the way an application interacts with the world around it. And this ultimately paves the path for the creation of an intelligent, quantified self model which can be more effective, all thanks to context.

(Terminology Credit: C Simplify IT)

Moreover, with augmented reality, machine learning and Internet of Things becoming the things to look forward to in the world of technology, I believe that introducing the element of context in application development will improve the interaction processes and build a more comprehensive ecosystem like never before!

Sign up for our monthly mailing list