CALBUDDY- A CALENDAR AND LOCATION SERVICES BASED SOCIAL

advertisement
CALBUDDY- A
CALENDAR AND
LOCATION SERVICES
BASED SOCIAL
NETWORK
AIAD 8803 FINAL PROJECT REPORT
GROUP MEMBERS- (GROUP 8)
NISARG KADAKIA
SAURIN KADAKIA
ROHIT KUMBHAR
ANKIT SHAH
OBJECTIVES:
In today's world, people operate in a more hectic and pressured environment than ever
before. Additional demands are being placed on their competence, cooperation skills,
cooperation volume and overall efficiency, at the same time as personal assistants and
personal secretaries are becoming a rare species even in the highest ranks of
management. The main drawback of a PC based calendar is the apparent lack of
mobility. In an organization, the mobile needs of the users have been poorly catered to;
for e.g. print-outs from the calendar system or traditional paper calendars, which must
then be manually synchronized to the groupware calendar when back at the desktop. In
our project we have incorporated a shared calendar which can be accessed via a
mobile or a computer and can be shared amongst friends. E.g. a PDA might be used
while in meetings, a desktop PC while in the office and a mobile phone during leisure
time. Also, this serves to eliminate the problem of using multiple parallel calendars and
suffering from missed appointments and double bookings due to it. Calbuddy extracts
events from the calendars of you and your friends. Then, it mines the data from the events
and analyzes the event venue, event date, event time and event title attributes. Based on
the evaluation of these attributes, it constructs a possible meetup table. We have also
integrated the concept of location based services and social networking to come up
with Squeak. For e.g., let’s say Ankit goes to a restaurant at 14th Street and has Pizza
which he doesn’t like. He can use the GUI in our application and enter his views about
that restaurant. If his phone is GPS-enabled, he has the option of including his location
else the location can be obtained from his service provider. When a person who has
subscribed for location based messages enters that location, he gets the message that
Ankit has left for that particular location. To conclude, the identified benefits of our
project are as follows•
•
•
•
•
•
•
Synchronization of calendars between the central server and mobile device
Easy availability of future calendar over several years.
Ubiquitous availability of calendar.
Social networking.
Extraction of calendar events for possible meetups
Integration with location based services like squeak
Potential commercial aspects
2
RELATED WORK:
Our project is mainly inspired by Google calendars. It has made sharing and organizing
of important day to day activities easy. Using Google Calendar, you can add events and
invitations effortlessly, share with friends and family or keep things to yourself, and
search across the web for events you might enjoy. It has been a breakthrough of sorts,
gaining popularity among the masses which is clearly seen by its ever-increasing usage.
Rave Wireless is another application deployed on mobile platforms. It is a turnkey
mobile phone program targeted mainly at the university based audience. It includes
features like alerts during emergencies to enable student/faculty to take quick action. The
closest functionality that it has to our project is the formation of groups, clubs etc. It is
similar in that we too allow sharing of calendars among a private community of sorts.
Another interesting application deployed on mobile phones is Buddy Beacon. It
implements a location-based service. It allows your GPS enabled cell phone to post your
location and see the location of friends around you. This emulates our functionality of
allowing users to share their locations during different parts of the day and giving alerts
on possible meet-ups whilst near a friend’s location.
However, integration of calendars as a web/mobile service has not been implemented
before to the best of our knowledge. Applications developed have been either dedicated
only as a web service or only on the mobile platforms. Hence, it is our endeavor to
integrate these two platforms and provide device-independence to our users.
3
RESEARCH PROBLEMS ADDRESSED:
Before starting the implementation of our project, we analyzed Google calendar and
several social networking sites in detail. Then, all our group members discussed at length
our views and opinions. We decided unanimously that we needed a social networking
application which can integrate our calendars and improve user experience both from the
calendar and the social network point of view. Thus, was born Calbuddy, a calendar cum
location services based social networking application. Google calendar lets you create
events and then lets you explicitly send notifications to your friends who you feel might
be interested in knowing about those events. However, it does nothing more than this.
What one would ideally desire is that once I enter my event in the calendar, the
application would itself browse all my friends’ calendars and return those friends who
plan to attend the same event. I would also appreciate if I get a message reminding me of
who else if going for that event. The implications of this are phenomenal. I can then
arrange for things like carpool, hooking up, etc. On the social network side, a site like
Facebook does provide the facility of notifying friends about your events. But, in that as
well, you might not necessarily be going to the same event and hence might find that
notification insignificant from your point of view. What you would want is to receive
alerts only for events that you plan to attend. Another aspect of our project is Squeak,
which is a location based messaging application. Squeak lets you type messages on your
GPS enabled mobile and send it to a number provided by our service. When any of your
friends visits that location, he gets your squeaked message. Also, we felt the need to have
the squeak available on the user’s profile for future modifications. For instance, if I
initially post a squeak appreciating the quality of food available at a certain restaurant. I
would want my friends to visit the restaurant and try that particular dish. However, if in
the future the restaurant shuts down, I would not want my friends to receive useless
squeaks about that restaurant from me. In this case, I would delete the squeak from my
profile. In addition to the problems discussed above, we also focused on access control.
We give the user full control of whom he wants to share his calendar with and whether or
not he would like to send and receive squeaks. These options can be changed at a mere
click of a mouse or are as easy as drag and drop. Lastly, we felt that any application
needs to be sustainable must have some commercial value. We have incorporated
location based and content based advertising as the main area of focus. To conclude, we
addressed a wide range of research areas and finally came up with application-Calbuddy.
4
ARCHITECTURAL DESIGN
SERVER ARCHITECTURE:
5
MOBILE CLIENT ARCHITECTURE:
6
Functional Components of Server
1) GUI
a. Browser Service Interface:
This enables a user to interact with the social networking site and provides various
features such as registration, search friends, add friends, view matchups, access control
and calendar viewing.
b. Mobile Client Service Interface:
This enables a user to have privacy by allowing them to keep location updates on or off.
It displays the various meetups along with the date, start time and venue of event.
c. Admin Interface:
This interface enables the administrator to access all server-related configuration options
and maintenance tasks.
2. Simple Data Management
a. Social Network Manager:
The social network manager handles the various issues related with social networks such
as creation and deletion of profiles.
b. Profile Location Service Manager:
This component is responsible for locating profiles of people from the database when a
search request is made through the GUI.
c. Profile Calendar Service Manager:
This component is used to handle the calendar service for each profile.
d. Privacy Management Mechanism:
This component gives full access control to the users by enabling them to set their private
settings. Users can subscribe/unsubscribe to squeaks and control whether they want to
share events with a friend in the social network.
3. Third Party Providers
a. Location Service Providers:
We intend to make use of location services provided by various cellular providers such as
AT&T, Sprint, Verizon in order to give updates to friends who have GPS enabled phones
when squeaks are used.
b. Messaging Service:
We intend to make use of location services provided by various cellular providers such as
AT&T, Sprint, Verizon for messaging the validation code during registration and to send
messages to various friends based on their location when squeaks are used.
7
c. Calendar Service Provider:
The primary calendar service provider for Calbuddy is Google calendars. In the future we
intend to extend our application by including other calendar service providers such as
Microsoft Outlook and Yahoo calendars. Calbuddy will enable users to see possible
meetups even if the users do not share the same calendar service provider.
4. Database
We have used the MySQL database. The database schema used for the Calbuddy
application is given below:-
8
5. Data Analysis
a. Shared Calendar Analyzer:
This component analyses the calendar data such as events, start time, end time and
description for two friends and generates possible meetups for them.
b. Location Data Analyzer:
The location data analyzer analyses the location of a user and provides the squeak
messages set by his friends for that particular location.
Mobile Client Architecture
1. Mobile User Interface
a. Buddy Location View:
This gives us the location of a buddy with the help of location services.
b. Buddy Calendar View:
This gives us a view of the calendar of a buddy along with the meetups.
c. Settings View:
This is used to make changes to the settings of the calendar and the profile of the user.
d. Calendar Query Service:
This activity continuously syncs the user calendar with the main server,
EVALUATION AND TESTING:
Evaluation and testing will be divided into the following test cases1. Core test cases
a) Creating profiles
User should be able to create a profile, add other profiles as friends, create a group of
friends and assign data settings to them.
b) Update your location manually.
User should have the capability of updating his/her location through the web interface.
c) Turning off location update
User should be able to turn off his/her location updates through the web interface
d) User should be able to add external online calendars (e.g. Google Calendar through
ICAL) to his event repository
e) User should be able to create entries into the event repositories
9
f) User should be able to share his event repository with friends.
g) View friends map. Overlay depicting friend position and last update timestamp.
THREE MOST INTERESTING CONTRIBUTIONS
1) Our application sends alerts to only those users going to a common event and who are
sharing calendars with each other. The message contains the details about the friend such
as name, phone number and also event details such as venue, time, date and description.
The events are displayed on the profile in a meetup section.
2) We estimate that our application will sit on a goldmine of valuable data which can be
commercially exploited by potential advertisers. The advertisers can take advantage of
location based data and even data extracted from event description. Let’s say that upon
mining our database, we find that Cumberland mall is frequent in the event venue
column. Now, if an advertiser has a shop or restaurant in that mall, next time when a user
is alerted about a common event, the advertisement can be tagged along with the alert.
Also, if the word coffee occurs frequently in the event description, an advertiser like
starbucks, Seattle’s best coffee, etc. would be interested in advertising. Thus, it makes for
a very interesting commercial proposition where we know in advance that the user would
be visiting the location and accordingly the value of advertisement can be very high.
3) We propose to integrate different calendars. For the time being, our application
supports Google calendar but in the future let’s say we have MSN calendar, Yahoo
Calendar, etc. In such a scenario, we would ideally want to have one common application
that deals with all the different types of calendars.
What have you learnt through the hand-on experience of this project?
Through the process of developing CalBuddy, we have gone through a thorough learning
process. The project has enabled us gain insight into the design and motive behind the
development of various social networks. CalBuddy is a specialized social network
targeted mainly at meet-ups through calendar sharing and proposes a novel idea in this
aspect, freeing the user from the tedious process of inviting guests. So, as we can see that
this has also helped us exercise our mind and explore out creativity horizons. One of the
major technologies learnt in the development is the new Google Android platform.
Android is one of the newest technologies proposed by Google just 6 months ago. An
interesting aspect of it is the ability to entirely develop the UI in xml and then provide the
backend capability in java. This enhances its user interaction capability. However, we felt
that Google still needs to put up some more videos and details about its usability. But
with due course of time we think it will improve and be one of the widely used mobile
platforms.
10
A component of out project required collecting data from the user’s Google calendar. For
this we used the Gdata API. Through its usage and FAQ’s, we discovered how well
documented and easy to use the API is. Right from setting up the environment to writing
applications to exploit the data, Google has made it a trivial process to gain access to
their data. Also, all the concepts gained in class have played a major role in making this
project a reality. To sum it up, it has been an enthralling experience which has had its ups
and downs but finally we have managed to get the better out of it.
Concepts and techniques learnt in class that can be considered extensions to your
project
In class, we briefly looked at semantic annotations and lexical analysis which can be used
to possibly enhance your social network via possible pattern matches. Analogous to this
one extension that intuitively comes to mind is lexically and semantically analyzing the
description or the title of various events in the user’s calendar and generating relevant
meet-ups that semantically are the same. At the moment we do an exact comparison of
the words to generate the meet-ups. However, this would give the user’s the freedom to
give different titles having the same semantic meaning and still show up as possible
meet-ups on their profile.
Also, while studying location-based services we looked at issues involved in locationbased advertising. Although, most of these require some interaction or incentives for the
users, our application removes this restriction. By annotating advertisements to squeaks,
we ensure that the user does look at them since these annotations preclude some useful
information for them. Hence, exploiting this idea the project can easily scale commercial
standards. A main factor of its success lies in the fact that it is a social network and hence
can reach out to a lot of people out there.
REFERENCES:
[1] Anna Sell, Pirkko Walden, " Mobile Digital Calendars: An Interview Study",
Proceedings of the 39th Hawaii International Conference on System Sciences-2006.
[2] http://www.ravewireless.com/campus.shtml
[3] http://www.google.com/intl/en/googlecalendar/overview.html
[4] http://www.ulocate.com/buddybeacon.php
[5] http://citeseer.ist.psu.edu/cache/papers/cs2/545/http:zSzzSzwww.dcs.gla.ac.ukzSz~ste
phenzSzpaperszSzIHMHCI2001_Walker.pdf/diary-in-the-sky.pdf
[6] http://www.sci.utu.fi/projects/maantiede/kurssit/MAAN7663_GIS_and_Society/
lectures/3_navigation_121107.pdf
11
Related documents
Download