Journal of Computer and Communications, 2014, 2, 9-13
Published Online July 2014 in SciRes. http://www.scirp.org/journal/jcc
http://dx.doi.org/10.4236/jcc.2014.29002
How to cite this paper: Zheng, M., Wei, B.H., Zhang, Z.Y. and Yan, X. (2014) Adaptive Mobile Applications to Dynamic Con-
text. Journal of Computer and Communications, 2, 9-13. http://dx.doi.org/10.4236/jcc.2014.29002
Adaptive Mobile Applications to Dynamic
Context
Mao Zheng, Boheng Wei, Zhenyu Zhang, Xi Yan
Department of Computer Science, University of Wisconsin-La Crosse, La Crosse, WI, USA
Email: mzheng@uwlax.ed u
Received March 2014
Abstract
Context-aware computing is a mobile computing paradigm in which applications can discover and
take advantage of contextual information, such as user location, time of the day, nearby people
and devices, and user activity. This paper intends to study the context-awareness in depth and
demonstrate the usefulness of this new technology through two mobile applications that are
adaptive to dynamic context.
Keywords
Context-Aware Comp uti ng, Mob i le Computing, Mobile Application
1. Introduction
As mobile devices continue to become more resource-rich in terms of their processing power, memory, and dis-
play, they can support sophisticated applications ranging from browsing and messaging to navigation and gam-
ing. Mobile application development is a hot topic that has great appeal to computer science students [1] [2].
Context-aware computing is a mobile computing paradigm in which applications can discover and take advan-
tage of contextual information, such as user location, time of the day, nearby people and devices, and user activ-
ity [3]. Many researchers have studied and built several context-aware applications to demonstrate the useful-
ness of this new technology.
The term “context” can be confusing, as indicated by the word’s numerous definitions. One widely accepted
definition was offered by Dey and Abowd:
“Context is any information that can be used to characterize the situation of an entity. An entity is a person,
place, or object that is considered relevant to the interaction between a user and an application, including the us-
er and application themselves [4].”
Schilit divides the concept of context into three categories [5]:
Computing context, such as network connectivity, communication costs, and communication bandwidth, and
nearby resources such as printers, displays and workstations.
User context, such as the user’s profile, location, people nearby, even the current social situation.
Physical context, such as lighting, noise levels, traffic conditions, and temperatures.
Time is also an important and natural context for many applications. Since it is hard to fit into any of the
above categories, it is proposed to add it as its own separate category:
M. Zheng et al.
10
Time context, such as time of a day, week, month, and season of the year.
Combining several context values may generate a more useful understanding of the state of some environment.
For example, knowing the current location and current time, together with the user’s calendar, an application
might better understand the user’s current social situation (in a meeting, in class, waiting in the airport, or in a
similar situation). The efforts made to utilize context for enhancing computer interaction have developed into
the field of context-aware computing. The primary objective of this field is to improve software. Recent techno-
logical improvements have caused the field to evolve greatly.
This project will study context-awareness in depth, specifically on collecting and disseminating context.
There are two mobile applications developed in this study which are aimed at exploring the potential usages of
context-aware computing in the real world. One is a campus guide system. The other is automatically adjusting
the smart phone status. The two applications collect the context-information via various built-in sensors and up-
date their functionalities according to dynamic context.
There are two major platforms in the mobile device community: iOS and Android. This study chose Android
development mainly for the reason of its openness. In addition, all the tools in the Android development are free
and no special hardware is required [6]-[8].
Sections 2 and 3 will explain two applications in detail. Section 4 discusses related works. Section 5 summa-
rizes the current study and future work.
2. A Campus Guide System
This mobile application intends to provide information about a university campus to a tourist using his/her cur-
rent location. When the user opens the app in his/her mobile device, there will be a map showing the overall
view of the campus. The user can center the map over an area of interest, zoom in on that area to get detailed
information, or select one or more buildings in the campus to visit. The application will be able to navigate the
user to a point of interest. In addition, the user can obtain detailed information about a building, such as the
name, the services provided, the residing departments, and current events hosted in the building.
Figure 1 is a screen shot showing a map of the overview of the University of Wisconsin-La Crosse campus.
The blue arrow is the user’s current location. The red circles are the points of the interest.
This application also provides the functionality of augmented reality. It augments the user’s view of the real
world, with additional virtual information. For example, current event information can be overlaid on a picture
of a building.
3. Automatically Adjust the Smart Phone
This application is developed as a service running in the background. There is only one user in this application,
the smart phone’s user/owner. The user will use his/her phone as usual. The application will automatically adjust
the status of the phone based on the user’s current location, the time of the day, etc.
The application identifies three different environments based on the user’s location: at work, at home and on
the go. The location information is obtained through the phone’s built-in GPS. Once the user installs the appli-
cation, he/she needs to register to set up an account for security reasons. Meanwhile, the user will provide
his/her email accounts at work and at home. After setting up an account, when the user starts the application for
the first time, the user needs to identify his/her office and home locations on the map.
When the application running in the background recognizes the user’s current location is at work, it will
change the wallpaper to be office background, set the ringtone’s volume to medium, and convert the email ac-
count setting to the office account. If there is an incoming call, the application will first check the user’s calen-
dar. If the user is currently having a meeting, the incoming call will be cut off, instead, a text message will be
sent from the user’s smart phone to the caller: “I am in a meeting”. When it is the time for lunch, the application
will list all the restaurants near the office with the phone number.
When the application running in the background recognizes the user’s current location is at home, it will
change the wallpaper to be a home background, set the ringtone’s volume to minimum, and convert the email
account setting to the home account. The application will also list the movies showing for the next few hours at
nearby cinemas after the user gets home.
Figure 2 shows the email account has been converted to the home account.
Figure 3 shows the received email from the user’s home account.
M. Zheng et al.
11
Figure 1. A campus map of the University of Wisconsin-La Crosse.
Figure 2. Sending email from Home.
M. Zheng et al.
12
Figure 3. Received email.
When the user is not at work or home, the application will identify the phone’s status to be on the go. It will
change the wallpaper to be an on the go background, set the ringtone’s volume to maximum. The application
will read the user’s current location from the built-in GPS, then display a map with a number of points of inter-
ests close by. Once the user selects a destination, the routing information from the user’s current location, to the
destination will be given.
4. Related Works
Context-aware computing can be classified into two types: 1) Active context awareness—an application auto-
matically adapts to discovered context by changing the application’s behavior, and 2) Passive context awareness
an application presents a new or updated context to an interested user or makes the context persistent for the
user to retrieve later. The campus guide system incorporates a tourist’s location as passive context and time as
an active context. Automatically adjusting the smart phone application utilizes a user’s location as active con-
text.
Other researchers have been working on the following context-aware applications: The University of Kent at
Canterbury [9] developed a system providing a set of tools to assist in the fieldworker’s observational and data-
collection activities, i.e., helping the user record information about their environment. MIT media laboratory
worked on an office assistant project [10] to serve as an agent that interacts with visitors at the office door and
manages the office owner’s schedule. Future Computing Environments at the Georgia Institute of Technology
developed a conference assistant system that uses a variety of context-information to help conference attendees
[11].
5. Conclusions
The new generation of mobile devices has multiple built-in sensors (e.g., accelerometer, gyroscope, light, video,
microphone, camera, GPS, digital compass, etc.) and can easily communicate with external sensors via any of
the built-in interfaces including Bluetooth, infrared, or WiFi.
Through a number of applications’ development, we are able to categorize the types of context, collect vari-
ous contextual information through built-in sensors and update the applications behavior based on dynamic con-
text. However, storage, modeling and representing of the context information have not been fully studied in
these applications. We are interested in the formal models underlying the context-aware systems.
References
[1] Computer Science 2008 (2001) An Interim Revision of CS.
http://www.acm.org/education/curricula/ComputerScience2008.pdf
[2] Derek, R. (2012) Using Mobile Phone Programming to Teach Java and Advanced Programming to Computer Scientist.
ACM Special Interest Group on Computer Science Education SIGSCE 2012, February 29-March 3 2012, 541-546.
[3] Lowe, R., Mandl, P. and Weber, M. (2012) Context Director: A Context-Aware Service for Mobile Context-Aware
Computing Applications by the Example of Google Android. Tenth Annual IEEE International Conference on Perva-
sive Computing and Communications Workshops (PERCOM Workshops 2012), Lugano, March 2012.
[4] Dey, A.K. and Abowd, G.D. (2000) Towards a Better Understanding of Context and Context-Awareness. CHI 2000
Workshop on the What, Who, Where, When and How of Context-Awareness.
[5] Schilit, B.N., Adams, N. and Want, R. (1994) Context-Aware Computing Applications. Proceedings of IEEE Work-
M. Zheng et al.
13
shop on Mobile Computing Systems and Applications, Santa Cruz, December 1994, IEEE Computer Society Press, 85-
90.
[6] Android Developer’s Guide. http://developer.android.com/guide/index.html
[7] Abelson, W.F., Collins, C. and Sen, R. (2009) Unlocking Android—A Developer’s Guide. Manning Publication.
[8] Victor, M. and Rebecca, G. (2010) Building Applications for the Android OS Mobile Platform: A Primer and Course
Materials. Journal of Computing Sciences in Colleges, 26, 23-29.
[9] Jason, P. (1998) Adding Generic Contextual Capabilities to Wearable Computers. Proceedings of the Second Interna-
tional Symposium on Wearable Computers, Pittsburgh, Pennsylvania, October 1998, IEEE Computer Society Press.
[10] Hao, Y. and Ted, S. (2000) Context-Aware Office Assistant. Proceedings of the 2000 International Conference on In-
telligent User Interfaces, New Orleans, January 2000, ACM Press, 276-279.
[11] Anind, K.D., Masayasu, F., Daniel, S. and Gregory, D.A. (1999) The Conference Assistant: Combining Context-Aware-
ness with Wearable Computing. Proceedings of the 3rd International Symposium on Wearable Computers (ISWC’99),
San Francisco, October 1999, IEEE Computer Society Press, 21-28.