Location Based Advertisements CS8803 Advanced Internet Application Development 1. Introduction Project Report

advertisement
CS8803 Advanced Internet Application Development
Project Report
Location Based Advertisements
Rushabh Shah
rushabh@gatech.edu
Praveen Krishnaiah
praveen.krishnaiah@gatech.edu
Naren Chainani
naren.chainani@gatech.edu
Jatin Kumar
jatin.kumar@gatech.edu
1. Introduction
In the last decade, mobile phones have penetrated our lives more than what we could
have imagined and have become an indispensable part of our life. Mobile phones have
assumed responsibilities much higher than the traditional use of calling/receiving calls.
Today mobile phones also work as organizers, entertainment devices providing
audio/visual entertainment and offer internet connectivity. With more powerful hardware
and software being packed into the mobile handset, mobile phones are going to offer
more services. Recently, the addition of GPS functionality into mobile phones has opened
an entire new dimension of applications called Location Based Services possible. After
years of hype, mobile Location Based Services (LBS) are finally gaining traction among
wireless subscribers. This growth is driven on the supply side by WCDMA and GSM
handsets increasingly joining the many CDMA-based devices that incorporate GPS
capabilities; and on the demand side by surging consumer interest in personal navigation
functionality. According to a new report from ABI Research, LBS revenue is forecast to
reach an annual global total of $13.3 billion by 2013, up from an estimated $515 million
during 2007.
2. Motivation
Research [1] shows that LBS in general are not powerful to generate billions of dollars by
itself in revenues. It is the applications that use LBS that are going to drive the generation
of the revenues. The success of LBS thus depends on the applications that exploit the
location of the user to provide some innovative application. We have shown one such
application that has a potential to help users use their mobiles to do something useful and
at the same time generating large revenues for the businesses involved. Location Based
Advertisement System is a LBS application that we feel is beneficial for both the mobile
phone user as well as the retailer who wishes to advertise their product. Our system is
aimed to minimize the privacy intrusion of the user that could deter the user from using
the application and provide the user with incentive to use the application.
3. System Architecture
Figure 1: High Level 3-Tier Architecture of the Application
Figure 2: The System Architecture showing the different components
The system mainly consists of the following components:
a) Company front end: The company front end consists of the webpage that the
company representative can see on the website. The company can enter its company
address and its point on the map will be located using Google Map API.
The company can enter the product advertisement and the keywords that he wishes to
display to the client. Currently we support only text advertisements but this can be
extended to images /animations that we have do not currently support at the moment.
Also, we can have a RSS feed from the company that will update the advertisement,
which may be required as the deals/product information may change frequently.
b) The application server: The application server is a WAMP application server that
communicated between the company frontend the MySQL database. It is responsible
for receiving the data from the website and updating the MySQL database.
c) The MySQL database: This database contains the information about the company
advertisement, keywords, location details in the form of latitude/longitude etc.
d) The client side: The client side is Google Android. Our application will run as an
application on Android.
a. User preference module: This module receives the advertisement from the
application server and filters the advertisements that reach the client. The user
preference module ranks different advertisements based on user preferences
based on heuristics such as age/sex /occupation of the clients. Currently the
user preference module is a static module that determines the advertisement
rank for that user based on some fixed attributes. However, it can be
implemented as a learning module using some machine learning algorithms
that track the user preferences over a period of time. The main advantage of
this module is that it filters the advertisements to the user, shows him the
advertisements that are relevant to him. This is important so that the user is
not spammed with unwanted advertisements.
b. The display module: Along with the Google map API, the display module
displays the advertisements that have been filtered by the user preference
module.
Note that we are not storing the user location anywhere in the system but in the local cache
on the user device. This is important to preserve the privacy of the user.
4. Database
Figure 3: Database schema for the system
5. Commercial Viability
Target Audience: As mentioned in Section 2, this application is aimed at both the
consumers (mobile phone users) and retailers (companies who wish to advertise their
products). The difference between existing advertising systems and our system is that our
system allows personalized advertisements where the personalization is based on the
location of the person as well his preferences.
Advantages to users: Clients are sent location specific information about the products of
their liking at the time they want it. This personalization reduces the chances of spam as
the advertisements are going to be filtered according to the user location and preference.
Advantages to retailers: Retailers are assured of a targeted audience who is more
inclined to buy the product. This is a great incentive for retailers who want to advertise
their products to customers .This system allows them to advertise their products when the
customers are in their vicinity and hence more likely to see the advertisement and buy the
product.
6.
The Location based advertisement system in action
Figure 4: The welcome screen of the application
Figure 2 shows the welcome screen the user will see when he opens the application. By default,
we display certain ads based on the last few searches of the user. For privacy concerns as of now
these ads are hard coded. The location shown in the map is around BayShore Fwy in California
US. This is the default gps trace given in android.
Figure 5: Result for a camera query
The user is interested in buying a camera, so he enters the keyword and hits GO. The keyword
“camera” along with the current location of the user is sent to the server as an http request. The
server queries the database to see if there are any companies around this area which sell cameras
registered in the system. A match is found in the database and the “Best-Buy” store is displayed
to the user.
We will return to the client’s perspective later. Let us take a step back here and take a look at the
company side of the application. To demonstrate a use case let us search of camera in find
business around BayShore Fwy, in Google maps. Figure 4 shows this result.
Figure 6: Google maps result for camera around BayShore Fwy, California
“Best Buy” is already on our system, to compete Keeble & Shuchat Photography (K & S) wants
to join our system. So the K&S Photography company representative visits our website shown in
figure 5.
Figure 7: Advertisement registration website
Figure 5 shows the advertisement registration site. A K&S representative enters the store location
and hits “Search Location”. The latitude and longitude of the store are found out. Then the
advertisement that has to be displayed to the users is entered along with the related keywords.
Once this information is submitted, the ad along with the store location and keyword is added to
the database.
Figure 8: Recently added K&S ad is displayed to the user
Now returning to our user who is on BayShore Fwy is still looking for cameras. The client
system does a continual query (CQ) since the location of the user is constantly changing. The
client sends a query to the server after the location of the user has changed by a specified limit or
a certain time has expired since the last request. This way any new search results are updated
without the user doing anything.
Figure 9: View when the user clicks on an advertisement
Now that the list of ads related to the location and preference is displayed in a list, the user click on an ad
that interests him. On clicking, the ad is displayed to the user and the direction from the user’s current
location to the store location is given with the approximate distance and driving time.
Figure 10: Multiple preference results
The system is also capable to displaying ads for multiple user preference.
7. Issues and concerns
5.1. Technical challenges
The main challenge for this application is the availability of GPS enabled
handsets. For this application to be commercialized, we require a large user base.
GPS enabled phones have arrived in the market, but they are still quite less in
numbers. The main deterrent to increase in the number of phones is the cost of
phones. Though eventually the cost of such phones is going to go down, the main
question is when?
This system has been designed for the Android OS only. If we want to target a
larger user base, we would have to extend this application on other systems as
well such as Windows mobile, Symbian, Linux etc.
Current system uses updates to/fro to the server from the phone which can be
costly. Hence, minimization of network traffic between the server and the phone
is a challenge. This can be achieved using intelligent caching of information along
with delayed updates depending on the usage of the phone.
The advertisements sent to the user depend on the location of the server combined
wit h certain fixed heuristics. However, for a large scale system, we would require
a user preference module that would analyze the user preferences based on the
selection of his advertisement over a period of time. The user preference module
would then help in filtering out unwanted advertisements to the user as well as
giving the advertisements to the user which may be of interest to him. Hence the
user preference module will help improve the personalization of the system.
5.2. Privacy concerns
The main privacy concern is that the location of the user will be recorded by a third party
(the application server). Unauthorized use of this information can be privacy breach for
user.
For this problem, we suggest that the service be trusted by the end user as a service that
preserves his privacy. We have ways that can verify the authenticity of a service, but the
end user must trust the service for guarding its privacy, once the user has authenticated
the service.
8. Future work
The future work on this project deals with mainly solving the issues that have been
mentioned in the technical challenges section.
Apart from these technical challenges, this system can also be adapted to be used for a
number of different applications.
Some of these applications are
1) Spatial alarms: Users can subscribe to specific events, like research talks, recruitment
events, etc in the university campus, in specific buildings. On passing close by to
these registered buildings, the latest alerts are sent to the user’s mobile.
For eg: User A has registered for event “Free Food” in Klaus building.
Whenever user A is around Klaus, and there exists free food somewhere in Klaus,”
the location, and the type of food“, alert is sent to the user’s mobile phone.
2) Friend finder: Different users can register to the friend finder service. When friends
are close in a certain range, alerts are sent to the user’s phones alerting them the
presence of their friends.
These are some examples of applications that use a very similar infrastructure and
design to our system.
Some modification in the database schema and the user interface would be sufficient
for converting our application to the above mentioned applications.
9.
Conclusion:
We have developed a location based service that has a huge commercial potential .The design of
this system is such that it can be extended to many applications .We have tried to take care of the
user privacy and the user preferences as well. There are a lot of extensions that can be made to
the existing system and which have been suggested in this report.
This project was interesting because it gave us experience to develop location based services for
mobile devices. It was particularly interesting because it gave us a chance to work on the Google
Android platform which in our opinion is going to be a very powerful platform once it is released
for mobile devices. It was a good learning experience because we understood as to what goes
into making a commercial application. The continual query lecture in the class was very helpful
and gave us valuable directions for the development of this project.
References
[1] http://www.wirelessdevnet.com/features/williams_lbs01/
Download