A Mobile tourist information system
Srikanth Reddy Bhimavarapu
School of Computing and Intelligent Systems
Faculty of Computing and Engineering
University of Ulster, Magee Campus
number of mobile devices and associated services has recently been growing considerably. This
been changing the way people access information. The technological advances of mobile devices
offer new opportunities to areas where geographic data h
as an important role. PDA, mobile phones and other
portable devices are increasingly beginning to have location awareness via GPS devices.
Services (LBS) are expected to become the next big thing within mobile
applications as integrated GPS
becoming a standard feature of new phones.
These continuous improvements have made possible to incorporate
unctionality applications to show relevant points of interest to the user without extra actions being
Navigatour, a mobile
device web application is proposed in order to facilitate users with better tour
guide options, who seek to find places of interest through map
The proposed mobile application is developed
on Android Platform. In this paper there will be a review on how
location based services is useful and their
functionalities are discussed. Software analysis is conducted on the available technologies in order to develop
To ensure the interoperability between different activities software
, the layouts and ac
represented with XML and Java was used to code the
in Eclipse. An initial research on simil
systems has already been completed
and as a result the architecture for Navigatour has been defined.
there will be a
explanation on how the Navigatour is designed and implemented.
Android, Geocoding, Google Maps,
Location Based Services, Navigatour,
The performance, memory size, bandwidth and screen
of mobile phones are getting
better and better
for each passing year. The mobile technology is driven by fierce
competition in a market where many customers
replace their phone every 1
2 year. The
mobile phones have seen more and more features being built
They can now
function as digital cameras, mp3 players and recently also come with built in Global
System (GPS). These new features and other mobile phone improvements
open up a whole new world of
possibilities for the mobile applicat
It is not only the hardware that changes in mobile phones. The
and software platforms have also changed in order to take advantage of the new
There exist quite a few p
latforms for mobile development:
Nokia, Java Micro Edition (ME) from
roid from Google
to mention some.
Navigatour is developed on the new
ndroid platform which is still under development.
of this project
is to provide users with a visually interactive mobile application. From this
application user can access Google maps, Web services, Location Info and Wiki content on map. User can also
load the GPX or KML files on to the maps to view the Route. Other func
tionalities like Audio Playback and
Image viewer are also provided to ensure that the user achieves basically they required from the interaction with
2. Background and Literature Review
In this section there will be a brief discussion on
cation based services (LBS), how well we can use
these services and
their Functionalities. A review is also conducted on types of web services and maps.
Location Based Services
Location based services are services that are based on the physical
location of the user.
A LBS is
typically used to answer questions such as “Where Am I?”, “What is nearby?”
and “How can I get from A to
In order to be able to use LBS, there are some basic
nents that must be available according to
A mobile device must be available to the user in order to request the service. The device can be all
from mobile phones to laptops.
A mobile network must be present in order to send service requests to the provider and in order to
The location of the device must be determined by using some of the available
A service provider offers services to clients (e.g. address searches).
Content providers are often used by the service providers in ord
er to acquire
maps and other data that
might be collected (e.g. weather or traffic data).
ns are typically placed into three
: push, pull and tracking services
et al. (2006
Schiller et al. (2004).
is requested by the user. By making a request, the user also gives the
permission to use his/her location in order to perform the service. A
weather forecast service is an example of
such a service. The user can send a request for
the weather forecast the next
hours for his/her location.
divides pull services
into functional services (e.g. order taxi) and information services (e.g. search for hotel).
is initiated by the service provider as a result of an event
(e.g. a given
location or a
specific time). The user must in this case give the service provider
permission to send information to the phone
by registering for the service. An
advertising service is an example of such a service. The user can register with
service and be notified of bargains when passing stores.
offers the location of the mobile phone to those who request it. The
owner of the
phone must give permission by registering the people who should be
allowed to acquire the
location. A friend
finder is an example of such a service. The
friends can all register with the service and thus be able to find each
Web services are often used in LBS applications in order to take
advantage of available third party
services and due to the limited resources of mobile phones.
Transfer (REST) and Simple
Object Access Protocol (SOAP
can be used on the
XML, which is often used in web service messages, are well supported by
includes all the main categories (pull, push and model). There are also several
available third party parsers in
addition to those included on the platforms.
More information is on
XML Web Service (2009).
Representational State Transfer
(REST) attempts to describe architectures which use HTTP or similar
protocols by constraining the interface to a set of well
known, standard operations like GET, POST, PUT
DELETE for HTTP. Android platform includes an API that makes it easy to set up a HTTP connection towards
a REST service. REST based web services can therefore easily be consumed by applications on Android
More information can be found at REST.
2 is a
library that can be
used in Android
for accessing the web services.
Maps play a central role in many LBS applications as they give a clear picture of the location of the
user and the surroundings. Android comes with Google map integrated in the platform which makes it very easy
to implement maps in an application. The main
impression after using these APIs is that the map API of
Android is better
designed and easier to use
Android is developed by Google which has a lot of experience
when it comes to maps.
Android comes with the basic map styles, street a
nd satellite. In addition, Android can show traffic
information in the map. Android map APIs contain standard map functionality such as pan, zoom and toggling
of map style. Android lets the application nicely animate the map movement to another location
centre of the map to the current location. For drawing information in layers
above the map, Android comes with
a well designed Overlay class that is easy to use.
2.4 LBS Functionality
In addition to the acquisition of the user location
integration of maps,
common LBS functionality.
Addresses play an important role
in many LBS applications. Android platform
In order to store addresses in Android, one has to use a regular
Different types of address
searches are common in LBS applications. Geocoding
and reverse geocoding searches for the location of an
address and vice versa. A search
for Points of Interest (POI) returns e.g. hotels in the vicinity. Android has a
API that can be used to perform these services. This makes
address searches much easier to
implement in Android
lets the application register itself as a listener for notification when the
user enters the
ity of a specific location.
How to get from one point to another is one of the most popular LBS features. The
central element here
calculation of the route.
Android has an API for
acquiring routes. This makes the task of
routing much easier in Android
3. Software Analysis
In this s
ection the software and developing platform are
being analysed that are used for developing
The Android platform is a software stack for mobile
devices including an operating system,
middleware and key applications. Developers can create applications for the platform using the Android SDK.
Applications are written using the Java programming language and run on Dalvik, a custom virtual machine
gned for embedded use which runs on top of a
More information on Android can be found at
Android home page (2009).
Android SDK includes multiple An
droid platform versions that we
use to develop applications. For
each version, both a fully com
pliant Android library and system image are provided.
Android SDK 1.5 Release
3 includes two platforms: Android
1.1 having API level
ncludes a compliant Android 1.1 library and system
image with a set of development applications. Also includes the Maps
external library (due to legacy build
Includes a standard Android 1.5
with API level
library and system image with
a set of development applications. Android SDK 1.5 includes the Google APIs
with API level
on provides a development environment for an Android external library or a customized (but fully
compliant) Android system image.
More information on Android can be found at
SDK Content (2009).
Android support Location based service APIs.
Location service allows finding out the device current
location. The application can ask for periodic update of the device location. The application can also register a
intent receiver for proximity alerts like when the device is entering and existing from
an area of given longitude,
latitude and radius.
Android Location API
Following are the some important classes present under the android location package.
The class provides access to the location service. It also provides facility to g
Provider as per the criteria. Proximity a
lerts can be set
It’s an abstract superclass for location providers. A location provider provides periodic
reports on the geographical location of the device.
back methods which are called when location gets
changed. The listener object
has to be registered with the location manager.
The class provides the application to choose suitable Location Provider by providing access to set of
rties of the LocationProvider.
Android also provide an API to access the Google MAPs. So with the help of the Google MAPs and
the location APIs the application can show required places to the user on the MAP.
ndroid defines a package called
com.google.android.maps. The package contains classes related to
rendering, controlling and overlaying information on the Google maps on the android devices.
important classes defined in the package:
t is the spacing activity defined to show the Google MAPs. The MapActivity takes care of the
MapView is the view that supports and displays the map. This must be contained by a MapActivity.
MapController is the object used to move the map around the screen.
It’s a drawable object that can be shown on top of the map.
The Android Maps APIs are a collection of services that allow us to include maps, Geocoding, and
other content from Google and its content providers in our android applications.
For more information on the
Android APIs can be found at
Location and Maps (20
Eclipse is a multi
language software development environment comprising an IDE and a plug
system to extend it. It is written primarily in Java and can be used to develop applications in Java and, by means
of the various plug
ins, in oth
er languages as well, including C, C++, COBOL, Python, Perl, PHP, and others.
The Eclipse SDK includes the Eclipse Java Development Tools, offering an IDE with a built
Java compiler and a full model of the Java source files. This allows for advanced
techniques and code analysis. The IDE also makes use of a workspace, in this case a set of
over a flat
file space allowing external file modifications as long as the corre
sponding workspace "resource" is refreshed
afterwards. The Visual Editor project allows interfaces to be created interactively, thus allowing Eclipse to be
used as a
We can use the powerful Eclipse environment to build Android applications using the Android Eclipse
in. Android offers a custom plug
in for the Eclipse IDE, called Android Development Tools (ADT) that is
designed to give
a powerful, integrated environment in which to build Android applications. It extends the
capabilities of Eclipse to let you quickly set up new Android projects, create an application UI, add components
based on the Android Framework API, and debug using t
he Android SDK tools.
By analysing the information documented in section 2 gives an idea of how to use the Location based
services and to analyse the requirements needed for developing the Navigatour.
. Navigatour Design
This section includes the design
of Navigatour. The results of the analysis are consider
ed and used to
ensure the Navigatour
is built to meet the requirements of the user. The design of the system entails: the analysis
attributes of appropriate
design; system architecture; data mod
elling design with UML diagrams to
proposed operation of Navigatour
; interface design with analysis of HCI Gu
.1 Aims and Objectives
The aim of this project is to design and implement Navigatour, a mobile device web application in
order to facilitate users with better tour guide options. The main focus is to provide users with a visually
interactive mobile application. From this application user can access Google maps, Web services, Location Info
and Wiki content on map. User can a
lso load the GPX or KML files on to the maps to view the Route. Other
functionalities like Audio Playback and Image viewer are also provided to ensure that the user achieves
basically they required from the interaction with the system.
According to Tele Atlas (2007)
, Tele Atlas has conducted a study which shows that 84 % of the asked
U.S. consumers, identified as relatively advanced users, regarded built
in GPS as a
valuable feature for their
mobile phones. The participants
in GPS as a more
important feature than e.g. internet access, MP3
player and video. It was only second to
a digital camera. This might come as a surprise to some, but it shows
that GPS is likely
to become the next standard feature in mobile ph
ones. Other interesting findings in this
73 % wanted navigation and routing information.
68 % wanted to see their location in a detailed map.
72 % would search for point of interests and other information in the vicinity.
84 % were int
erested in a child locator. 74 % would accept to pay for the
47 % were interested in a friend locator. 40 % would accept to pay for the
According to Allied Business Intelligence (2008),
a report by ABI Research forecasts the annual global
LBS revenue to become 13.3 billion dollars within 2013. This is up from 515 million dollars in 2007. The
highest revenue is expected to come from personal navigation ($4.3 billion) and enterprise applic
Enterprise applications include
services such as fleet management and tracking of the work force. The
article claims that a wider availability of all
inclusive data tariffs will increase the use of such services. The
reason for this
is that the user no longer has to worry about the amount of data traffic generated by the service.
The forecast clearly shows that LBS is about to become big business in the years to come.
Concluding from the
responses to the study conducted by Tele Atlas
and report by ABI research,
it is evident that the implementation
a handheld tourguide
system would be a positive im
.3 Architecture of Navigatour
1 Navigatour Architecture and Data Flow
1 shows the architecture and data flow of Navigatour. User can select any option displayed in
the main activity view. When user clicks the button the sub
activity will appear on to the foreground. User can
select any option like Audio player, Image viewer,
Android contains an inbuilt
media player, by calling upon the instance of the media player user can play the audio file that are located in the
resources or user can also play the audio file by giving the URL of the audio content
. Media player instantly
catches the audio content by using the web service and plays back. By using the Google Maps API user can
view the maps. Options are made available for the user to navigate freely through different interface layouts.
.4 GUI Design
To ensure that users
able to intuitively use Navigatour
with little or no training, the graphical
user interface is designed in accordance with mobile HCI guidelines.
Due to the restrictive screen size of
handheld devices, a revision of the Somme
rville (2001) guidelines was required for mobile devices. Design for
users on the go, enable fast use, keep it simple and provide feedback are some of the mobile interface guidelines
Crestani et al. (2004) When designing the content of mobile d
evice, developers are advised to present
the essential information first, keep content small, design clear forms and use simple text elements and styles.
interface is designed in an unobtrusive manner. Each form will adhere to the same style
colours, font and layout. Users should be able to move efficiently through the system with the functionalities
offered serving as an aid and not a hindrance to reaching their end goal.
2 shows the navigator user
.5 XML Design
To implement the map in the view, Android separates the device layout / views from the source code to
simplify development. User can modify the XML layout without impacting the underlying source code.
device layouts are done using the XML. The Wiki inf
ormation is collected and provided as a web service by
Geonames.org. We will be using the wikipediaBoundingBox XML API to get the information from t
By making a call to
we can get the XML feed of the Wiki Entries in the bounding box.
, an open source
to parse the XML. XStream is a very powerful tool used to
serialize XML to Java Objects. By taking the source code and importing it into o
ur project we can leverage the
XStream tools in the Android environment.
During the design of Navigatour
Mobile interface guidelines where
researched in order to create a user friendly interface.
An architecture and dataflow was illustrated in figure 1 to
demonstrate the interaction and flow of i
nformation within Navigatour
. Implementation of Navigatour
The following software packages are used in the implementation of Navigatour: Eclipse Ganymede 3.4,
Android SDK 1.5 for windows release 3. Android off
ers a custom plugin for the Eclipse IDE, called Android
Development Tools (ADT
) that is designed to give users
a powerful, integrated environment in which to build
Android applications. It extends the
capabilities of Eclipse to lets user to
quickly set up new Android projects,
create an application UI, add components based on the Android Framework API,
and debug the
using the Android SDK tools
Android SDK 1.5 contains three platforms: 1.1, 1.5 and Google API. User can create An
devices (AVD) in Eclipse by using the Android Virtual Device Manager. User can select the platform for which
he wants to create an AVD and user can also create an SD card image of whatever size he wants. When
launching the AVD
it uses the SD
Card. User can push or pull files into SD Card by switching to DDMS view
Information on the implementation of the various components
tour is detailed in the
.1 Audio Playback
can load audio files into SD card or into the resources. Android emulator contains inbuilt media
player, by calling upon the instance of media player user can play the audio files by providing path to the audio
content either it may be URL or Local file.
.2 Image Gallery
User can view the images that are stored in resources
. The image gallery is of switching type, so that
when user clicks on the image it switches to the next image.
.3 Getting Location Info
can get the Location info by using the onTouchEvent () method. Where ever user touches on the
map it displays the latitude and longitude. User can also get the address of the location using the process known
as Geocoding. Google maps in android supports th
is by using the Geocoder class. By using the toast method we
can display the location info on map.
3 shows the location info.
.4 Wiki Content on Map
The Wiki information is collected and provided as a web service by Geonames.org. We will be using
wikipediaBoundingBox XML API to get the information from t
he service. By making a call to
115” we can get
the XML feed of the Wiki Entries in the bounding box.
to parse the
XML. XStream is a very powerful tool used to serialize XML to Java Objects. By taking the source code and
importing it into our project we can leverage the XStream tools in the Android environment
4 shows the
wiki entries on map.
can load GPX or KML files on to the map to view the route by using the Dalvik Debug Monitor
Service (DDMS) tool in android.
Whenever the location changes it displays the change of location by showing
the latitude and longitude of the location.
2 Main Screen Fig.
4 Wiki Entries
. Evaluation and Testing of Navigatour
William Hetzel (1988, p. 26) says that “Software testing
involves any activity aimed at evaluating an
attribute or capability of a program or system and determining that it meets its required results”. To ensure that
produces the results required, evaluation and testing on its components was undertake
was tested for system functionality and to evaluate its usability
Navigatour GPS functionality
was tested by
using the Dalvik Debug Monitor Service (DDMS) tool in android
to ensure the system is appropriate for
the location info and
navigating within the
Results of these tests are described in the following
.1 Functionality Testing
hout the development of Navigatour
, the code was continually checked
for defects by running
and ensuring that the desired output was being achieved.
Fig. 5 shows the launching of emulator,
installing the navigator in the emulator and starting the Activity.
Installation of Navigatour
was completed a number of test cases were conducted on each of its interface
ensure that Navigatour
was behaving as designed and that each action executed on the prototype produced the
required response. As these tests where successful it was c
is functioning as intended.
Testing GPS Functionality
At this time of development
, there is no
deployed Android device
there are a
number of ways to test GPS
The DDMS tool in the Android plug
Eclipse allows us to test GPS functionality very easily. In Eclipse, switch to the DDMS view and locate the
Location Controls section in the Emulator Control tab.
6 shows the Location Control tab.
here are th
separate tabs in the Location
Controls section. First, user
can manually send in the coordinates by specifying the
latitude and longitude. When the GPS data is received on the Android emulator, the application will display the
latitude and longitude
Another way to send in geographical locations is to use a
file. GPX (GPS
Exchange Format) is a light
weight XML data format for interchange of GPS data.
lick the Load GPX
to load the
can click the Play button to send a
series of coordinates to the Android emulator at
regular time intervals.
7 shows the Loading of GPX file.
The Android Eclipse plug
in also supports KML
(Keyhole Markup Language) files. Like the
can also send a series of coordinates to
emulator by clicking on the Play button
6 DDMS Location Control Fig.
7 Loading GPX File
7. Conclusion and Future Work
The main aim of
this project is to develop Navigatour, a
web application in order to
facilitate users with better tour guide options, who seek to find places of interest
to information regarding their
. It contains various options
from which users can get
information regarding places of interests in a more precise manner
. From the research that was conducted, it
became clear that the technology exists to develop a system capable of providing the abov
functionality. It was then necessary to analyse the technology available, and determine what would be best
suited to Navigatour. The analysis was performed which includes requirements analysis of users, software and
hardware. This proved to be
crucial in determining the system requirements of Navigatour. Through the
completion of the analysis phase, a sound basis was developed for the design of Navigatour.
The results of the analysis are considered and used to ensure the system design is
developed to meet the
requirements of the user. Navigatour design entails: the analysis of the attributes of good design; system
architecture; interface design with analysis of HCI Guidelines.
The Android platform appears to be the one best
suited for impl
ementing LBS applications as the developer will rarely have to rely on third party APIs and web
To conclude this paper documented the research, analysis, design, implementation and testing of the
prototype. In future work by analysing
the advance functionalities provided by the android
to add more features to Navigatour and implement
Android homepage (2009),
Android SDK Content (2009), Android Developers,
retrieved 10 Sept 2009
Allied Business Intelligence
Mobile Location Based Services Revenue to Reach $13.3 Billion Worldwide
2013, says ABI Resea
, Phone Content, 2008,
retrieved 10 Sept 2009
Crestani, F. Dunlop, M. and Mizzaro, S.
Handed Use as a Design Driver: Enabling Efficent Multi
channel Delivery of Mobile Applications,
Proceedings of the International Workshop on Mobile and Ubiquitous
. Udine, Italy
Installing Android SDK (2009), Android Developers,
retrieved 10 Sept 2009,
2 (2009), web service client library, http://ksoap2.sourceforge.net/
Location and Maps (2009), Android Developers,
Mark L.Murphy (2009), Beginning Android, guide to building mobile applications.
Reto Meier (2009), Professional Android Application Development, A hands
on guide to building mobile
REST, Web Service,
retrieved 10 Sept 2009
Steiniger, M. Neun and A. Edwardes
Foundations of Location Based Services
, retrieved 10 Sept 2009,
Schiller Jochen and Voisard Agnes (2004),
Morgan Kaufmann Publishers, LBS
Application Taxonomy, p.14.
mmerville (2001) Ian
, Software Engineering, 6
Edition. USA: Addison Wesley.
Tele Atlas Expands Commitmen
t to Wireless Industry
retrieved 10 Sept 2009
, The Complete Guide to Software Testing, 2
Edition. Massachusetts: Wellesley.
XML Web Service (2009),
retrieved 10 Sept 2009