Adding presence-based and location-based capabilities in Twitter Mugdha Jamsandekar Priyanka Prabhu Neha Sugandh
What is Twitter …
Twitter is a free social networking and micro-blogging service that allows users to send "updates" (or "tweets"; text-based posts, up to 140 characters long) to the Twitter website, via short message service (e.g. on a cell phone), instant messaging, or third-party applications
Updates are displayed on the user's profile page and instantly delivered to other users who have signed up to receive them.
Users can receive updates via the Twitter website, instant messaging, SMS, email or through an application.
For SMS, four gateway numbers are currently available: short codes for the USA, Canada, and India, as well as UK number for international use.
What had we proposed?
What have we done so far?
What do we intend to complete?
What had we proposed ?
An extension to Twitter to include groups.
Use location-based concept to notify group members within a certain area.
Use presence-based concept to notify Twitter friends about one's location.
Show location + presence pages containing messages sent by Twitter friends when they were in the vicinity of the location
Working USER CLIENT APPLICATION SERVER
Selects a group
Inputs message to be sent
Embed user location using GPS
Integrate location and group id with message
Send message to Server using SMS
Retrieves members in the group
selected by the user from database
Retrieves their latest notified status message+ GPS location
Finds members within a particular distance radius
Sends them this message
Show GPS location of each Twitter friend
in the vicinity specified
Have a page showing the Twitter messages of these friends
when they were in the vicinity specified
Motorola Symbol MC 35
With Express GPS
Windows based OS
What have we done ? Client-side: User will have a form-like interface to start the application She/he selects a group from her list to send Twitter text message or simply send to 'Everyone‘ Send Message to Virtual User
What have we done ? Client-side: Get GPS of user from device and store in a file GPS Information: Latitude, Longitude Message = GroupID + Latitude + Longitude + Message (Using proper conversion) Send message to the server
“ DDD°MM’SS.S”, “DD°MM.M’”, “DD°” for latitudes and longitudes
User A wants to send a message to all friends in a range r Compute distances from GPS info in the database Show on map each location of the retrieved user co-ordinate Show a page containing Twitter messages for all the returned users
Depending on each user’s privacy setting, his GPS co-ordinates will be stored in the server database.
When a user wants to use the location based feature, all his friends who lie in a specific range will be retrieved along with their GPS co-ordinates and Twitter messages they posted at those locations
Render each retrieved location on maps
Show all the Twitter messages retrieved as above on the Location Based Page
What had we proposed? Server Side:
Would be a virtual twitter user
Users would follow the twitter node and request server to send direct twitter messages
Server would parse the direct messages and send it to people according to the options selected by user .
What have we done ? Server-side:
Message sent to the user is split into: group id, latitude, longitude and message
The latitude and longitude information is added to the database
The group members are obtained from database/all friends (from twitter).
The location information is obtained from database for group members/all friends
The proximity is calculated and message is sent to nearby users who satisfy criteria .
Server Side Technologies Used
For Presence based part
MySQL 5.0 for storing the database
Java 1.5 :Java.sql package
username groupid membername username groupid latitude longitude message
Using ad sense to exploit the presence + location information
Automatic Recommendations for locations based on friend’s Twitter