MOBIGUIDE: AN ANDROID APPLICATION TO LOCATE NEARBY LANDMARKS

advertisement
MOBIGUIDE: AN ANDROID APPLICATION TO LOCATE NEARBY
LANDMARKS
Motivation
Imagine, you are stranded in an unfamiliar area, clueless of the location,
your car out of gas, you feeling hungry and it’s almost midnight, so you
need a place to stay for the night. This situation is not unlikely to happen to
someone. What would you do in such a case? Ask someone for directions?
Dial 911 and look like a fool, not knowing directions to the hotel which was
located just a block ahead? Or pray to god and spend the night, without food
in your car and hope that you can hitch a ride the next morning? Well, this
exactly is the motivation for our project this semester. We intend to develop
a mobile application that will ensure that you spend the night in a warm
luxurious hotel, well fed and with a guarantee from the hotel manager that
your car will be refueled and ready for you in the morning. The Mobiguide
is a mobile application that will tell the user the location of the nearest hotel,
hospital, gas station, restaurant, etc. No doubt, we have Google maps which
help us quite a lot in this direction. The elegance of this project lies in the
fact that, though Google maps can get you the location and directions to an
address, it is not straightforward to locate a restaurant closest to your place.
This application will help the user locate the nearest amenities, and it also
saves the user a lot of time and energy by giving him the location directly
instead of asking him to surf through numerous web pages.
Another big motivation to make this a mobile application is the fact that,
though laptops have been the most used and popular electronic gadgets of
this century, they have not yet come on par with the mobile phone’s
flexibility or ease of use. One can easily carry a mobile phone in his pocket,
without the slightest hindrance of its presence. A laptop on the other hand, as
compact as it can be, would still need a case. Due to this reason, people
generally tend to carry their mobile phones with them all the time and prefer
to leave their laptops at their home or in their office. Designing this
application for a laptop would hence obviate the motivation behind the
project, since it is built on the fact that it should be useful to someone who is
stranded at some unknown place. We don’t think most people would carry
their laptop along with them to every place they go, so building this as a
mobile application would make it far more practical and viable.
Related Work
Location based applications have been developed in the past and without a
doubt, will continue to grow in the future. The only change remains the
degree to which the applications can be of practical use to people. There
have been several applications which have tried to pinpoint the location of a
person, landmarks, monuments, etc. Most of these applications, however,
have been developed for computers. Very few of them have been developed
for use on mobile phones. With Google introducing Android phones, there
began a renewed effort for location based applications on mobile phones.
Students of MIT have worked on several projects in this direction. An
application called ‘Flare’ is a geo-location tracking system with which
companies can keep track of their employees. Another application called
‘Geolife’ is developed as a mobile reminder. It is linked with Google maps
on which a user can mark spots for to-do lists. Later, when he goes to that
place, he is notified of the work, with an alert on the mobile phone. The ‘Re:
Public’ application is a social-networking based application, which connects
people in a particular location. The application forms a network with a fixed
radius around it, and users can rate other users as friends, acquaintances, etc.
Other users can look up a person’s profile and get an idea about them. There
is another application that uses hotspots and marks a location’s popularity. It
is called ‘Snap’. Users visiting a particular location can mark it as a hotspot
on a global map and post their comments about it. Any new user arriving at
that location can access the global map and get a list of comments posted by
other users.
Proposed Work (MOBIGUIDE)
In our project, we wish to develop an application which will get the user’s
current location from him, and based on the user’s input, would get a list of
the nearest service location to him. The user could use the application to
lookup anything, like a gas station, or a hospital or even a pizza restaurant.
The application works as follows. Once the user opens the application, he
has to enter his current location into the mobile phone. After this, he can
select the service he wants (hospital, restaurant, gas station, etc). The
application would connect to the Internet and retrieve results which are then
processed to get a list of the closest locations providing the service. This
information is given to the user, either in the form of a map or as a list, with
addresses. We plan to make use of Google maps to retrieve appropriate
information regarding the location of nearby service centers. The
architecture of the model is simple. There is a user with his Android mobile
phone. He enters his location into the application, and the application
connects to the Internet and retrieves appropriate information. Further
processing is done by the application to give the results in a useful manner.
The architecture can be represented using the following diagram.
1
2
USER
MOBIGUIDE
6
5
3
4
This application would be built using the Android platform. We chose this
platform for several reasons. First, it is new and has great potential to
become a widely used mobile phone service. The platform is flexible to
configure and easy to work with. It provides several inbuilt libraries that can
be used to reduce complex coding. Currently, Android applications are
developed using Java, which is one of the most common languages. This
makes the platform easy to understand, learn and use. Lastly, there are not
many applications developed based on Android and we feel that it would be
a novel idea to explore an area that has not been touched so far.
Resources/Technical Specifications
We will be developing this project using the Android platform which makes
use of Java as a programming language. The demonstration of the
application will be performed using the Android emulator, which would run
the application as though it were running on an Android phone. The
requirements for installing the Android SDK can be found on the Android
official website[1].
Schedule
Week
02/09/09 – 02/16/09
02/16/09 – 02/22/09
02/22/09 – 03/02/09
03/02/09 – 03/10/09
03/10/09 – 03/17/09
03/17/09 – 03/24/09
03/24/09 – 03/31/09
03/31/09 – 04/07/09
04/07/09 – 04/14/09
04/14/09 – 04/21/09
Proposed Action
Design Considerations
Developing the architecture
Building the client side
Building the client side (contd.)
Google maps connectivity
Google maps connectivity (contd.)
Combining the above parts
Testing and Debugging
Testing and Debugging (contd.)
Preparation of Report
Evaluation and Testing
While developing we will do the standard unit testing of the code and
component stress testing. The application will be thoroughly tested against
all possible test cases. Error cases will also be tested. The intention is to
release this as a service for all Google mobile users. Every care will be taken
(in terms of testing for all test cases) before the project is released on the
mobile phone.
The application will be tested using the following criteria:
Performance Reliable:
The important feature of our testing will be based on providing reliable
results to the user. We will test our application in remote areas where the
availability of service would take a longer time. We will make sure that
responses are provided to the user regarding the service within 20 to 30
seconds.
Responsive:
This is the time taken by the system from the time the address is sent to the
time the service location address is received. Considering this, a response
time of 20 to 30 seconds is proposed here. Logging will also enable
responsiveness testing. The time stamps corresponding to the receipt of
request and sending of response will be logged.
User Friendly:
The user friendliness of the system can be evaluated by getting feedback
from the users. A feature will be added to provide the users with a way to
provide feedback.
Future Work
As a part of our future work, we wish to integrate the location finder feature
in our application. Thus our application will determine the current location
of a person and find the nearest health service, gas station. Thus he would
not have to enter anything. Our application will determine the person’s
current location automatically and provide him with the location and address
of the nearest service available.
References
[1]
The
Official
Google
http://www.code.google.com/android
Android
Website
[2] The Android Development Community Board – http://www.anddev.org
–
Download