The practical role of context modeling in the elicitation of context-aware functionalities: A survey
Context-aware functionalities are functionalities that consider the context to produce a certain system behavior, typically an adaptation or recommendation. As contextual elements such as time, location, weather, user activity, device characteristics, network status, and countless others are becoming increasingly more accessible, the potential for adding context awareness to applications is enormous. Identifying novel, unexpected, and even delightful context-aware functionalities in practice can be challenging, though: What context information is relevant for a given user task? How can contextual elements be combined? What if there is a large number of contextual elements? Context modeling has been described in the literature as an essential aspect in the elicitation of context-aware functionalities; however, reports on the state of the practice are rare. In this study, we conducted a survey with industrial practitioners, mostly experienced professionals from large enterprises, to investigate how context models and context-modeling activities have been used to support the elicitation of context-aware functionalities. The results indicate a gap between research and industry: Context models are rarely used in practice, and context-modeling activities such as analysis of relevance and especially analysis of combinations of contextual elements have been overlooked due to their high complexity, despite practitioners recognizing their importance.