BUZZ-ME LOCATION BASED DATING SERVICE Arun Ponnusamy Abhisheak Iyer Deepak Swathi Gangisetty OBJECTIVES To implement a simple and dependable location based dating service on the Google Android platform. PLATFORM : Google Android . LANGUAGE : JAVA Database : MySQL LOCATION BASED SERVICE Location Based Services (LBS) are information services accessible with mobile devices through the mobile network and utilizing the ability to make use of the location of the mobile device . BACKGROUND A location based service can be categorized either as CARRIER- CENTRIC : User subscribes to a service and gets alerts periodically or whenever a match is found according to their preferences . Ex: Meetmoi , dodgeball etc USER CENTRIC : The user takes control of the experience and decides whom to approach . Ex: Buzz-Me! PS : With the passing of the Can Spam Act in 2005, it became illegal in the United States to send any message to the end user without the end user specifically opting-in. MEET MOI – THE FACTS They are the leader ! Meetmoi offers a location based service that allows users to receive profiles, and then communicate with complete anonymity through text messaging. Meetmoi is actually a website . Its not GPS based . User is expected to enter his current location. You could fool around with profiles in Atlanta from London or Jupiter ! MEETMOI – THE LITTLE KNOWN FACTS ! 1. 2. 3. http://meetmoi.com/privacy We collect demographic information on our members. We don't currently collect credit card information, although in the future we intend to. Please be aware that when you send an email to a user from our website, your email address will be revealed to them. All other information you provide us will be revealed in your profile and be accessible to other members. In the course of using our site, we automatically track certain information such as your IP addresses and email addresses. MEETMOI – CONTD … If you choose to use our referral service to tell a friend about our site, we will ask you for your friend's name and email address. We will automatically send your friend an email inviting him or her to visit the site. MeetMoi stores this information for the sole purpose of sending this email and tracking the success of our referral program. We may send them a reminder email in the future. Your friend may contact us at Customer Service to request that we remove this information from our database!! HIGH LEVEL ARCHITECURE GPS based Location System Update Real Time Database Access FrontEnd Devices Use Case Diagram User1 DB GPS system Register Login Login Successful Update Location Details every 1 Min. Query the DB based on preference criteria Fetch the results and overlay on Google maps Choose a user shown on the map and initiate chat Accepts the date request negotiated through the chat client Negotiate the landmark for dating View & Select landmarks on Google Map View & Select landmarks on Google Map Mark these users as “unavailable” in the DB Relay distance of User2 periodically Relay distance of User1 periodically User2 User Profile creation Simple Profile creation: Get the user’s screen name, password, Name, e-mail, age, sex. The user should set his/ her preferences. No profile matching done. The user takes full responsibility for his/ her choices. Simple privacy issue addressed: user should be able to add people to his/ her “Ignore List”. The user’s Location details are updated every 1 minute in the database. Database schemas User_Profile Username Password First Name Last Name Age User_Preference Username Age_LowerRange Age_UpperRange User_IgnoreList Username UsersToBeIgnored User_Location Username Latitude Longitude Available Gender Sex Profile Picture URL E-Mail Query Processing Perform range queries based on user settings in the UI. User can specify what grid range he/she wants. User can specify how many users he/she wants. Filter the query result based on user preferences and ignore list. E.g: Select username from User_Location where latitude>(curr.Username_Latitude-2) and (curr.Username_Latitude+2 ) and longitude>(curr.Username_Longitude-2) and (curr.Username_Longitude+2 ) Query Results Users shown on the map is live in a time frame of 1 minute. The User details are overlaid on Google Maps. Profile Picture is also displayed. The e-mail/chat id of the user can then be used to ping and ask whether the other user is interested in a date. Database Challenges Currently exploring Web Services to provide query processing. Low Overhead on Mobile. Simple solution, use TCP sockets for small scale scenario. INTERNAL CHAT CLIENT The main reason to implement an internal chat client is to eliminate the need for having to use SMS or call as the means of communication. This provides an additional level of security as the service provider enables communication between two subscribers without having to reveal the contact details of one to the other. Besides we also perceive it’s a good thing to keep the SMS inbox excluded from the dating service . As long as the user is logged into the application he can contact/chat with another person . IMPLEMENTATION Set of streaming XML protocols (XMPP – Extensible Messaging and Presence Protocol) and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time. Instant Messaging (IM) that offers functionality similar to legacy IM services such as Yahoo, MSN, ICQ, AOL. ADVANTAGES OF JABBER Open Decentralized Secure Extensible Flexible Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java library, it can be embedded into your applications to create anything from a full XMPP client to simple XMPP integrations such as sending notification messages and presence-enabling devices. QUESTIONS