1. See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/291318134
Android based task scheduler and indicator
Article · January 2014
CITATIONS
0
READS
3,101
4 authors, including:
Some of the authors of this publication are also working on these related projects:
High Performance Computing View project
G Uma Maheswari
VIT University
20 PUBLICATIONS 11 CITATIONS
SEE PROFILE
Kumar P J
VIT University
26 PUBLICATIONS 121 CITATIONS
SEE PROFILE
Suganya Pandi
VIT University
15 PUBLICATIONS 13 CITATIONS
SEE PROFILE
All content following this page was uploaded by G Uma Maheswari on 20 October 2020.
The user has requested enhancement of the downloaded file.
3. G. Uma Maheswari et al
10186
the radius of the destination. The users can keep track of the real-time distance to reach
the destination.
The intended users of this application are: Android User who wants to be reminded
of certain to-do tasks on a location. One of the obvious caveats in targeting the
developing world is the availability of basic requirements of system’s operation such
as wireless internet connection, GSM connection, or electricity. Even though the
project does not concern hardware-related problems, it does address some of the
problems in software. The intended users of this application are: Android User who
wants to be reminded of certain to-do tasks on a location. One of the obvious caveats
in targeting the developing world is the availability of basic requirements of system’s
operation such as wireless internet connection, GSM connection, or electricity. Even
though the project does not concern hardware-related problems, it does address some
of the problems in software.
Google Android is an open-source environment for mobile devices that includes
operating system with hardware drivers as well as crucial phone functionality. It also
provides way for programmers to create their own applications in Java and share them
with the community. Android is based on Linux–it runs a Dalvik VM that is optimized
for mobile use.
2. Related Work
The idea of using location information for the remainder is not new. Much work has
been done in the past in context-aware prototypes that have all shown location to be a
useful element of context.
Reminders can be more helpful when rich contextual information is used to present
them at appropriate times in appropriate places [1]. Several context-aware systems
[2,3,5] have prototyped reminder applications [1,5], but the evaluation of applications
built on these systems has only been conducted in limited areas. In a recent pilot study
on location-based reminders, we found that the reminders that people wanted extend
beyond life in the research lab into all aspects of their personal lives [4]. Recent
advances in computing and location-sensing technologies are enabling high coverage
location-sensing opportunities [6,7] to use in building location aware applications
ComMotion is a familiar example of a context-aware system, supporting reminders
that utilize location as contextual information [5]. Using GPS technology for location-
sensing, people could set reminders around certain locations, with given time
constraints. When the person was near that location and the timing constraints were
satisfied, they would be alerted with an audio alert.
Cybreminder’[8] took these ideas a step further, developing a reminder application
based on the Context Toolkit [2] that focused on using a variety of context
information, including location, to determine when best to trigger reminders.
ActiveCampus[3] examines mobile computing restricted to a university campus
setting and provides a location-based reminders system using 802.11 radios to provide
location sensing. A reminders feature is integrated into the system where people can
set reminders to be triggered at predefined locations on campus, typically buildings.
4. Android Based Task Scheduler and Indicator 10187
Memoclip uses a small wearable computer that relies on location beacons
distributed in the environment to trigger location-based reminders [17]. The reminder
bracelet involves a bracelet worn on the wrist of the user that subtly alerts the wearer
of upcoming events, as entered into their PDA calendar, using temporal information
only [20]. The Sulaweski framework discusses a spatial reminder service that uses
GPS and infrared to approximate a person’s location and delivers reminders
accordingly [19]. Memory glasses are another project that attempts to augment user
memory by using subliminalcues [18]. The wearable remembrance agent used a heads
up display to provide context-relevant information [21].
App Name Feature Description
ComMotion Reminder that uses location as Contextual information
ActiveCampus Restricted to a certain radius for better location sensing
Location Reminder Alarm Alerts on reaching the destination
GeoAlerts Shows favorite places, add place to favorite criteria,
Tracks the location and alerts
Appigo [22] uses location based alerts on their own such as an additional reminder
when leaving work to pick up a child from practice or to compliment a day specific
task like shopping lists.
Foursquare[23] is a location-based social networking website for mobile devices,
such as smartphones. Users "check in" at venues using a mobile website, text
messaging or a device-specific application by selecting from a list of venues the
application locates nearby.
Though the above applications were built on different devices, only a few
applications were there for mobile devices. Some of which doesn’t deliver the
performances quoted.
3. Our Contribution
With Geo-Reminder we exploit the location based task scheduler and reminder
opportunities. Though some existing apps have already explored this context theirs
much scope remain untouched that needs to be addressed and Geo-Reminder does
everything it needs to fill these gaps. Additionally we provide extended features that
are completely new and distinguish Geo-Reminder from its counterparts.
Geo-Reminder is a cutting-edge application that reminds you to perform tasks
based upon your current location, rather than time. Often there are tasks to which you
cannot specify a certain time, however, would like to be reminded when in a certain
vicinity.
This may sound familiar to Geo-Alert (http://itunes.apple.com) or Location
Reminder Alarm (http://play.google.com) as they already provide these services but
where even to stands apart is where latter services die out. Additionally it provides a
framework to update the distance interval, time interval within which the mobile
should contact the satellites to get the accurate location.
5. G. Uma Maheswari et al
10188
3.1 Application Architecture
System architecture is the conceptual model that defines the structure, behavior, and
more views of a system. An architecture description is a formal description and
representation of a system, organized in a way that supports reasoning about
the structure of the system which comprises system components, the externally visible
properties of those components, the relationships (e.g. the behavior) between them, and
provides a plan from which products can be procured, and systems developed, that will
work together to implement the overall system.
System should be designed in such a way that the user should never be able to see
or know about the internal structural details of the system. A user should never know
as to what is there within a system or how the different behaviors are delivered by the
system. The only thing a user should see or know about is the features/
functionalities/behaviors of the system apart from other non-functional features of the
system.
The only thing that you can see or you are aware of is the different behaviors that
are offered by the system and the interfaces of that system so as to invoke those
behaviors. The application is designed with strict separation of concerns following a 3-
tier architecture model. Each tier is insulated from the others through a well-defined
interface, resulting in design where there are zero dependencies between tiers.
Shared Preferences is a general framework that allows you to save and retrieve
persistent key-value pairs of primitive data types. Each Activity interacts with one
another using Shared Preferences. Each activity can update their key-value pairs;
hence it will reflect the changes to the other. Underneath, Shared Preferences
framework makes use of a local database to store the key-value pairs. Location
Manager provides access to system’s location services. These services allow
application to obtain periodic updates of the device's geographical location. Map View
Interface is an inbuilt system element which displays a map (with data obtained from
the Google Maps service).
3.2 Application Flow
A graphical representation of the "flow" of data through an information system,
modeling its process aspects. Often they are a preliminary step used to create an
overview of the system which can later be elaborated. DFDs can also be used for the
visualization of data processing (structured design).
A DFD shows what kinds of data will be input to and output from the system,
where the data will come from and go to, and where the data will be stored. It does not
show information about the timing of processes, or information about whether
processes will operate in sequence or in parallel.
6. Android Based Task Scheduler and Indicator 10189
3.2.1 User Interface Design
User interface is used to provide communication between users and system. Geo-
Reminder will be run on android Mobile. On starting the application user will be set
with their current location. Becausethe application is aimed at end-user interaction and
data representation it is essential that user interface is clear and easy to understand.
Fortunately it was possible to involve the customer in the UI design stage and the
below description is a result of this collaboration.
Map centres itself to the user's location and provides markers for locating. Once the
user is set with their current location, they have to set the destination by placing the
marker on the map. The address of the destination will be shown to the user on
availability of internet connection. Then they can set the alarm. On the manage
activity, they can add the tasks they have to do on their destination reach not come to
the foreground again until the new activity exits.
They can also able to edit the tasks on the go. On the destination reach, the user
will be alerted with the notification and an alarm. On clicking the notification, they
will be shown the tasks they added. DFD focus on the movement of data between
7. G. Uma Maheswari et al
10190
external entities and processes, and between processes and data stores. It is also used to
perform structured analysis to determine logical requirements.
3.2.2 Data Flow Design
DFD focus on the movement of data between external entities processes, and between
processes and data stores. It is used to perform structured analysis to determine logical
requirements.
3.2.3 Activities
Activities in the system are managed as an activity stack. When a new activity is
started, it is placed on the top of the stack and becomes the running activity -- the
previous activity always remains below it in the stack, and will not come to the
foreground again until the new activity exits.
3.2.4 Resources
Resources such as images and strings should be externalized from the application code,
so that they can be maintained independently. Externalizing the resources also allows
providing alternative resources that support specific device configurations such as
different languages or screen sizes, which becomes increasingly important as more
Android-powered devices become available with different configurations. In order to
provide compatibility with different configurations, resources have to be organized in
project's res/ directory, using various sub-directories that group resources by type and
configuration.
8. Android Based Task Scheduler and Indicator 10191
3.2.5 Location Manager
This class provides access to the system location services. These services allow
applications to obtain periodic updates of the device's geographical location, or to fire
an application-specified Intent when the device enters the proximity of a given
geographical location
4. Representative Activities
4.1 Set Alarm Activity
This Activity acts as the first activity where the user has to save their alarm credentials.
On the start of the application, this activity will fetch the user’s current location from
the GPS and shows the address of the source on availability of the data connection.
Location is determined using built-in GPS available in almost all android mobiles.
Rather than getting the location updates regularly this application depends on last
known location from androids built-in GPS
The user has to set their destination for which this activity will call an intent
activity. User can mark their destination by moving the marker. Once the destination is
set, user can save the alarm. All the alarm credentials will be stored as primitive key-
value pair in Shared Preferences.
On setting the alarm, the alarm credentials will be saved and a service will be
called which will monitor the user’s location to see if they have reached the
destination.
4.1.1 Set Location Intent
Set Alarm activity will call this intent for receiving the destination from the user. User
will mark the destination by moving marker around in the map. On clicking the Set
Location button, it will return the perceived destination to the set alarm activity. This
intent uses Overlay class to place the marker in the map. On calling this intent, the
marker will be first placed on the current user’s location.
4.1.2 Manage Alarm Activity
In this activity, users can manage alarm created by them, add tasks to their current
alarm and also can view the real time distance to reach the destination. On clicking add
task button, the user will be redirected to Add Task activity wherein they can add the
tasks to the current alarm.
4.1.3 Map Activity
In this activity, the user will be shown the source and destination of their current alarm
over the map. On clicking the show direction, user will be directed to an activity intent
that will show the different driving directions to reach the destination. On clicking the
marker, a dialog box will appear showing the address of the location.
10. Android Based Task Scheduler and Indicator 10193
Test Cases
Test case Check
item
Test case objective Test data Expected Result
Tc-001 Alarm page Leave all fields
blank and set alarm
button
On click, it should alert
“Select source and
destination”
Tc-002 Source Location is not
obtained from GPS
NULL Source field should say
“Please wait..”
Tc-003 Source Get valid location Vit
university
Allow the user to
proceed
Tc-004 Source GPS is disabled NULL “No address found”
Tc-005 Destination Leave destination as
blank
NULL “Select the destination”
Tc-006 Destination Location set by user Cmc
hospital
Allow the user to
proceed
Test
case
Check item Test case
objective
Test data Expected Result
Tc-001 Map View Alarm is not set A token It should simply show the map
Tc-002 Map View Alarm is set A token It should show the map
marked with source and
destination
Tc-003 Show
direction
button
Alarm is not set A token Alert “Select source and
destination”
Tc-004 Show
direction
button
Alarm is set A token Redirect the user to show
direction between source and
destination
Test case Check item Test case
objective
Test data Expected Result
Tc-001 Preference
page
If none of the
field is set
Use the default
Tc-002 Trigger
distance
Enter Trigger
distance
Trigger
distance:500mts
Use the trigger
distance in alarm
trigger
Tc-003 Location
update(In
time)
Enter ping time Ping time:500ms
Use this preference
in updating location
Tc-004 Location
update(dist)
Enter ping
distance
Ping distance:14
mt
Tc-005 Vibrate Set vibration
mode
Vibrate: true Use the current
preference
11. G. Uma Maheswari et al
10194
4.1.4 Show Direction Intent
Show Direction intent will be called from the Map Activity. This intent is an internal
intent i.e., Google Maps application installed in the device will provide this intent to all
other applications so that other activities can make use of it.
4.1.4 Add Task Activity
In this activity, the user can add tasks, edit tasks related to the current alarm. A link to
this activity is shown in manage alarm activity. On clicking the user alert(occurs on
reaching the destination) in the notification bar, this activity will be called showing the
tasks added to the reached destination.
4.1.5 Preference Activity
In this activity, the user can customize the working of the application. They can
customize the radius of the destination within which the alert has to be triggered. They
can also optimize the battery life by changing location update(in distance) and location
update(in time). The value of these preferences will be then used by the application in
updating the location. i.e., the application will track the user’s location only after they
cross the distance and time mentioned in these preferences.
4.1.6 Alarm Trigger Service
This is a service initiated by Set Alarm Activity that will run in the background even if
the application is killed. This will track the user’s location constantly to see if the
location matches with the destination set by the user. This service will use the
preferences like Trigger Distance, Location Update(In dist), Location Update(In time)
shown in Fig 1.18. It will compare the destination reach distance with the trigger
distance, if it is equal then it will call the Broadcast Receiver that in turn will trigger
the alarm. However, It will show the distance to reach destination notification on the
notification bar repeatedly until it reaches the specified destination.
4.1.7 Broadcast Service
This Receiver is initiated by the Alarm Trigger Service. As said earlier, this will be
called only after alarm trigger service verifies that the destination is reached. This
receiver will simply show the notification and trigger a notification ringtone. On
clicking the notification, it will fire Add Task activity intent showing the tasks the user
has to perform.
5. Features
Users can set the alarm and add the tasks specific to a location. Geo-Reminder will
Track the source location using Geographic latitude and longitude. Hence Users need
not to set their source. Users will be notified in their notification bar about the status of
the current set alarm. Users can set the closest distance within which the application
will alert you that you are approaching a preset location. Users will be shown the real-
time distance between the current location and the destination. The destination set by
the user will be marked on the Google Maps. Users will be shown the driving direction
12. Android Based Task Scheduler and Indicator 10195
between the source and the destination. Unlike any other location alarm applications,
Geo-Reminder ensures the most efficient use of your device's battery while providing
maximum accuracy. Any application that is in constant contact with GPS satellites
(such as Maps or Navigation software) will drain your battery rapidly. Geo-Reminder,
however, will allow one to use its capabilities as much as desired while barely
affecting the device's battery power at all. Rather than contacting satellites every
second, the application will use mathematical formulae (distance, time) and historical
data to gauge your location along with GPS, hence only using GPS when in close
proximity to provide you the accuracy that is essential.
6. Conclusion
The project has been developed successfully and the performance of the system has
been found satisfactory. The project has met all of its main requirements, and even
some of the optional ones. It could be noted, however that the implemented features
have not achieved sufficient depth to be used in a real environment. Thus said purpose
of the project was to understand the technology and the development process to
practice setting out goals and schedule their implementations. The android platform
was practiced at an advanced level, and the solutions are applied with reasonable
proficiency.
References
[1] Sohn, Timothy, et al. Place-its: A study of location-based reminders on mobile
phones. Springer Berlin Heidelberg, 2005.
[2] Dey, A.K, Salber, D., Abowd, G.D. A Conceptual Framework and a Toolkit
for Supporting the Rapid Prototyping of Context-Aware Applications.
Human-Computer Interaction,16. 2001.
[3] Griswold, W.G., Shanahan, P., Brown, S.W., Boyer, R.T. ActiveCampus:
Experiments in Community-Oriented Ubiquitous Computing. IEEE Computer
37(10), 73-80.
[4] Li, K.A., Sohn, T., and Griswold, W.G. Evaluating Location-Based
Reminders. Technical Report CS2005-0826, University of California, San
Diego.
[5] Marmasse, N., Schmandt, C. Location-aware information delivery with
comMotion. Proceedings of the 2nd International Symposium on Handheld
and Ubiquitous Computing. (2000), Bristol, England, 157-171.
[6] Laasonen, K., Raento, M., Toivonen, H. Adaptive On-Device Location
Recognition. Proceedings of the 2nd International Conference on Pervasive
Computing (Pervasive 2004), Vienna, Austria, April 2004.
[7] LaMarca, A., Chawathe, Y., Consolvo, S., Hightower, J., Smith, I., Scott, J.,
Sohn, T., Howard, J., Hughes, J., Potter, F., Tabert, J., Powledge, P., Borriello,
G., Schilit, B., Place Lab: Device Positioning Using Radio Beacons in the
13. G. Uma Maheswari et al
10196
Wild. Proceedings of the 3rd
International Conference on Pervasive
Computing (Pervasive 2005), (Springer-Verlag). (2005)
[8] Dey, A.K. and Abowd, G. D. CybreMinder: A Context-Aware System for
Supporting Reminders. Intl. Symposium on Handheld and Ubiquitous
Computing, pp. 172-186.(2000)
[9] David Hringer, The Dalvik Virtual Machine, Article, Dec 2010.
[10] Android, Core Libraries(online)
[11] Android, Data Storage(online).
[12] A.M. Dutko, Reviews: Domo Arigato Mr Androidato? An Introduction to the
new Google mobile Linux framework, android, Linux Journal, vol. 2008
[13] Google API Demos
[14] Google, Resources and Internationalization
[15] Google Documentation–Android
[16] C. Haseman, Android Essentials[electronic], Berkeley, Apress.
[17] Beigl, M. MemoClip: A Location-Based Remembrance Appliance. Personal
and Ubiquitous Computing 4(4), pp. 230-233.
[18] DeVaul, R. W., Pentland, A., Corey, V. R. The Memory Glasses: Subliminal
vs. Overt memory Support with Imperfect Information. IEEE International
Symposium on Wearable
[19] Computers.
[20] Newman, N. J., Clark, A. F. Sulawesi: A Wearable Application Integration
Framework.
[21] Proceedings Of the 3rd International Symposium on Wearable Computers,
1999, 170-171.
[22] Hansson, R., Ljungstrand, P. The Reminder Bracelet: Subtle Notification Cues
for Mobile
[23] Devices. Extended Abstracts of CHI 2000. ACM Press, New York, 2000; 323-
324.
[24] Rhodes, B.: The wearable remembrance agent: A system for augmented
memory. In: Proceedings of the 1st International Symposium on Wearable
Computing, Boston, MA,1997. IEEE Press, 123-128.
[25] Casey Tschida, Appigo Adds Location-Based Alerts to their task management
App, on March 26th
2012
[26] Kincaid, Jason (March 18, 2009). "SXSW: Foursquare Scores Despite Its
Flaws". The Washington Post (Washington DC: WPC). ISSN 0190-8286.
Retrieved March 16, 2011.
View publication stats