This disclosure relates in general to the field of communications and, more particularly, to a system and a method for initiating social interactions between users in a network environment.
Communications network architectures have experienced significant notoriety because they can offer the benefits of automation, convenience, and data management for their respective online communities. Certain network protocols may be used in order to allow an end user to be matched to other end users or to scenarios in which they stand to benefit (e.g., job searches, person-finding services, real estate searches, online dating, etc.).
In the case of an online dating service, for example, an end user will typically be prompted to specify a variety of preferences to be used in matching the end user with other end users in a particular online dating community. The information each end user provides about him or herself may be viewed by other end users in the online community in determining whether to interact with that end user. In certain cases, the actual dating platform can participate in matching activities. This interventionist involvement and often spur or provoke new relationships being formed.
To provide a more complete understanding of the present disclosure and features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying figures, wherein like reference numerals represent like parts, in which:
In an example, a system and method are disclosed for providing functionality for two users of a matching service, such as an online dating service, to identify a midpoint at which they may conveniently meet. User locations may be based on exact coordinates, or may be more generalized, such as by zip code or city. A midpoint is identified, which may be a geographic center, or which may be a relatively-centralized place of interest. In some cases, a plurality of potential meeting locations are displayed and are ranked for the user.
A matching service such as a dating service may use algorithms and profile matching to determine a likely best match for a user. A goal of this matching is to facilitate an ultimate in-person meeting. As users progress toward an in-person meeting, it may be awkward or difficult for them to identify an ideal location. Thus, the present specification discloses a system and method for automatically selecting an intermediate area and presenting the respective users with a plurality of options within that area.
Server 16 may be communicatively coupled to one or more third-party servers 17 via communications network 14. Third-party severs 17 may be configured to provide information useful in implementing the system and method disclosed herein, including via an application programming interface.
End users 12 may include a variety of types of end users, such as clients, customers, prospective customers, or entities wishing to participate in an online dating scenario and/or to view information associated with other participants in the system. End users 12 may also seek to access or to initiate communications with other end users that may be delivered via communications network 14. End users 12 may review data (such as user profiles, for example) associated with other users in order to make matching decisions or selections. Data, as used herein in this document, refers to any type of numeric, voice, video, or script data, or any other suitable information in any appropriate format that may be communicated from one point to another.
End users 12 may access the aforementioned data via endpoints 13, which may be inclusive of devices used to initiate a communication. Note that the broad term “user” encompasses any type of node or user device, or any type of endpoint discussed herein. Additionally, the term “user” can further include any type of profile to be used in the system discussed herein. Hence, the term “user” can include (but is not limited to) elements such as a computer, a personal digital assistant (PDA), a laptop or electronic notebook, a cellular telephone, an IP telephone, an iPhone™, an iPad™, a Microsoft Surface™, an Android™ phone, a Google Nexus™, or any other device, component, element, or object capable of initiating voice, audio, or data exchanges within communication system 10. The endpoints may be inclusive of a suitable interface to the end user 12, such as a microphone, a display, or a keyboard or other terminal equipment. Endpoints 13 may also include any device that seeks to initiate a communication on behalf of another entity or element, such as a program, a database, or any other component, device, element, or object capable of initiating a voice or a data exchange within communication system 10. In addition, each of the endpoints 13 may be a unique element designed specifically for communications involving system 10. Such an element may be fabricated or produced specifically for matching applications involving end user 12 and endpoint 13.
A user may employ any device capable of operating as an endpoint 13 to connect to communications network 14 via wire, wireless, cellular, satellite link or other suitable interfaces. Web server 16, which as previously noted includes memory 18 and at least one processor 20, hosts website 22 and has access to transmit and receive user or presence data (e.g., user profile data, user and/or user endpoint data, user contact data) from database 24. Presence data may be collected, aggregated, and utilized as required to facilitate communications between endpoints 12 over communications network 10 or other outside communication systems. Presence data may also include information and/or instructions enabling the creation, duration, and termination of communication sessions between diverse endpoints 13 that utilize different communication and/or networking protocols.
Communications network 14 is a communicative platform operable to exchange data or information emanating from endpoints 13. Communications network 14 represents an Internet architecture in a particular embodiment of the present disclosure, which provides end users 12 with the ability to electronically execute or to initiate actions associated with finding a potential match candidate. Alternatively, communications network 14 could be a plain old telephone system (POTS), which end user 12 could use to perform the same operations or functions. Such transactions may be assisted by management associated with website 22 or manually keyed into a telephone or other suitable electronic equipment. In other embodiments, communications network 14 could be any packet data network (PDN) offering a communications interface or exchange between any two nodes in system 10. Communications network 14 may alternatively be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), wireless local area network (WLAN), virtual private network (VPN), intranet, or any other appropriate architecture or system that facilitates communications in a network or telephonic environment.
In one embodiment, web server 16 comprises a server that is operable to receive and to communicate information to one or more end users 12. In a generic sense, web server 16 can implement a computer-implemented matching system that provides a framework for suitable matching activities. Alternatively, web server 16 may be any switch, router, gateway, cache, server blade, software, processor, proprietary component, object, module, or element (or any combination of these) operable to facilitate communications involving end user 12. Web server 16 may be integrated with database 24 and/or website 22, where any one or more of these elements may share or otherwise coordinate the activities discussed herein.
In one particular embodiment, web server 16, via interaction with database 24 and/or in conjunction with website 22, is engaged in facilitating interaction(s) between parties interested in seeking a romantic partner (i.e., online dating). For example, website 22 can be online dating service provider www.Match.com, www.Chemistry.com, or any other suitable provider. In certain example scenarios, a given end user may pay a fee for a subscription-based service. Additionally, certain end user fee structures may apply to different tiers of service: some of which may entitle an end user to enhanced features on website 22 (e.g., the ability to communicate more frequently with other users, additional matches being provided (potentially, more frequently) to an end user who paid the higher fee structure, the ability to store data, the ability to share data, the ability to upload additional information, the ability to target specific searches based on particular criteria, the ability to receive preferential positioning in the context of being matched to other users, the ability to perform video calls (e.g., Skype, etc.) with other users, the ability to perform audio calls with other users, etc.).
In certain embodiments, website 22 is a computer-implemented matching system, which may be any website or architecture provided for facilitating a connection involving two or more people, and which may make use of a given profile, photograph, resume, article description, etc. This could include services associated with job placements, escort services, auction services, social media, real estate listings, recruiting services (e.g., in athletics, academia, employment scenarios, instances involving the sales of goods and services), etc.
Considerable flexibility is provided by the structure of web server 16 and website 22 in the context of system 10. Thus, it can be easily appreciated that such matching and/or location identifying functions could be provided external to web server 16 or website 22. In such cases, such a functionality could be readily embodied in a separate component, server, processor, device, or module. Note that these online dating features and capabilities may be provided in just one of these elements, in both, or distributed across both of them. Hence, in certain embodiments, the online dating operations may be consolidated in a single website, where no redirection is needed, nor performed for the user.
In operation of an example embodiment, consider a case where a given end user is interested in participating in an online dating scenario. End user 12 can access website 22 via the communications network 14 (which in the example presented comprises the Internet) using endpoint 13, register, and create a profile on the site. Moreover, end user 12 can access website 22 through any suitable banner, pop-up, partnership, e-mail solicitations, direct mailings, etc. It can be appreciated that online commerce can be generated by a plethora of marketing tools and any such tools can readily cooperate with the operations of the present disclosure.
At this point, matching of any form can commence amongst the members of the online community. For example, in the context of a romantic endeavor, a person may begin the dating process or engage in communications that would spawn such dating. Other applications could include job applicants who are being sought by employers. Any of the individuals who reside in the online community can begin using any of the tools or capabilities of the platform.
In one embodiment, the system 10 may include a feature referred to herein as a Blind Date Request (“BDR”) feature. The BDR feature may be accessed in any number of known manners, including clicking on a link, icon, or other element provided in a GUI displayed on a web page. Alternatively, the BDR feature may be implemented as a standalone feature. In certain cases, the BDR feature can be provided as an application (“app”) that is readily downloaded and/or purchased from an app provider (e.g., iTunes™, match.com™, etc.). Once a user accesses the BDR feature, he or she may be required to create a special BDR account or to sign in using an existing account, as illustrated in
Once a photo of the user has been taken/selected, the user may edit the photo, as illustrated in
Once the user has selected a calendar date and location for his or her date, as illustrated in
In the illustrated example, the user is notified that two matches have been identified at (or near) the location and on date specified in the user's date request.
Assuming the user selects the match shown in
Referring to
In step 84, a pool of potential matches comprised of unfulfilled date requests submitted by other users via the BDR feature in the manner described above is searched to identify other users who have entered similar and/or identical date requests. It will be recognized that the date request submitted by the current user/searcher will be entered into the pool as well for others who subsequently use the BDR feature to request a date. It will be further recognized that the BDR feature may be customized only to provide to the user matches that are identical to the date request submitted by the user or may also provide matches that are within a certain tolerance of the calendar date/location indicated in the user's date request. For example, a user who has selected a particular coffee house as the location for the date may be willing to entertain the idea of conducting the date at a different coffee house located near the one originally selected.
If in step 112 it is determined that the pool is not large enough, execution proceeds to step 114, in which the user's date request is placed in the date request pool to await further processing (as described below with reference to
Referring now to
In step 134, a number of matches are identified for the date request, based on date and location. It will be recognized that the number of matches provided to a user may be limited to a particular maximum number; if less than the predetermined maximum number of matches are identified, then all of the matches will be presented to the user, as described below. In step 136, the date request submitted by the identified user is removed from the date request pool. In step 138, the identified matches are recommended to the identified user. Additionally, identified matches that have been recommended to a predetermined number of users (e.g., five) are temporarily removed from the pool to reduce the risk of conflicting matches. Execution then returns to step 130.
In the example of
Server 16 may have access to a geographic information system (GIS) database or other similar resource from which it may identify suitable locations in zip code 12347. Server 16 may also cross-reference its search with user profile data from one or more of the users. For example, if LadyDi520's favorite restaurant is located in zip code 12347, as read from her user profile, server 16 may recommend that as a meeting location to Tom.
In other cases, first user location 2310 and second user location 2320 may not have a co-adjacent zip code, and may be separated by substantially greater distance. For example, if Tom is located in Seattle, Wash. and LadyDi520 is located in New York, N.Y., they may nevertheless decide that they are compatible enough to warrant an in-person meeting. While in some cases, they may decide it is beneficial to meet in one city or the other, they may alternately decide that it is beneficial to meet in an in-between location. For example, server 16 may identify Sioux Falls, S.Dak. as the largest city that is approximately halfway between the two locations (approximately 1,400 miles from New York, NY and approximately 1,500 miles from Seattle, Wash.). Further, depending on the timing and user preferences, server 16 may recommend locations or events for the meeting. For example, if Tom and LadyDi520 both list Jazz music as interests, server 16 may recommend the Sioux Falls Jazz and Blues Festival, whereas if they both lists sports as an interest, server 16 may recommend a Sioux Falls Canaries baseball game or Sioux Falls Stampede hockey game.
Turning to
For convenience of discussion, it will be assumed that first user location 2310 and second user location 2320 have been precisely determined based on exact GPS coordinates, or that a center-of-mass of a two zip codes will be used, and that geographic center 2410 is therefore a precise geographic midpoint on a straight line between the two. There is also defined a search radius 2420, which in this example is disclosed as a circular radius centered on geographic center 2410. It should be noted, however, that a circular radius is disclosed by way of example only, and that other means of identifying a search radius 2420 may easily be substituted. For example, search radius 2420 may be defined by the geographic bounds of the zip code that geographic center 2410 falls into, or may include adjacent zip codes. It should also be noted that while the size of search radius 2420 may be arbitrarily chosen, for example in response to a user selection, search radius 2420 may also be scaled according to the length of D. For example, if Tom and LadyDi520 are separated by only one zip code, they are likely to require a much tighter radius for search radius 2420 (such as three, six, or nine miles) than if they live in Seattle, Wash. and New York, N.Y. respectively. Furthermore, for users located nearby and in an urban area, geographic center 2410 is more likely to be located relatively close to suitable meeting locations, whereas the exact geographic center between Seattle, Wash. and New York, N.Y. is more likely to be a rural area without an appropriate meeting location. Thus, in cases where first location 2310 and second location 2320 are separated by more than a threshold distance, for example 200 miles, geographic center 2410 may be defined as the nearest major or minor airport to the true geographic center.
In one example, selection of the midpoint may be influenced not only by geographic distance, but also by popularity, or selection of a “hot spot.” For example, a bar district near the geographic center may be selected as the midpoint.
In an example, server 16 identifies a plurality of possibly suitable meeting locations 2430. These may be displayed on a map, so that the users can visibly see exactly where each proposed location is located. In a further example, server 16 may rank and/or categorize recommendations. For example, server 16 may display bars by default, but may also provide an option to select restaurants, cafes, coffee houses, dance halls, clubs, activities (such as bowling or miniature golf), or movie theaters by way of non-limiting example. Further, server 16 may refine initial recommendations based on user profile information. For example, if one or both of Tom or LadyDi520 lists their “faith” as Mormon or Muslim, or if one of them is a member of Alcoholics Anonymous, bars and clubs may be given lower precedence than restaurants or cafes. Further, if geographic center 2410 falls in a bar district, search radius 2420 may be automatically expanded to capture more suitable venues.
API 2510-2, operated by third-party server 17-2, may be for example a database of potential meeting locations. This may provide, for example, names, types or classes of goods or services, user reviews, star rankings, branding, and other related information. Non-limiting examples of such APIs as of the date of this patent application include Google Places and City Grid.
API 2510-3, operated by third-party server 17-3, may be for example a map display API, which may be used to display a map with the suggested meeting locations flagged, and may include links to additional information about the meeting locations.
It should be noted that these three APIs are disclosed by way of example only, and other APIs may be used. It is further noted that, while these APIs are shown as third-party APIs by way of non-limiting example, it is possible for similar features to be hosted internally to server 16. Accordingly, in this specification, “Application Programming Interface” is expressly defined as a service, remote from, local to, or integrated into a server that is configured to provide requested information.”
In method 2600, at block 2610, server 16 may extract user locations for the first user and second user. This may be done, for example, by reading location data for a home, work, or other preferred address from a user profile. In another example, the first user and second user decide to meet spontaneously, and both being equipped with GPS receivers, server 16 receives a current GPS location from each. In other examples, the first user and second user may manually enter their respective locations, such as entering a an address or intersection, or interactively pointing to a current location on a map. In another example, the user locations need not represent the users' current locations, but may represent anticipated future locations. For example, if the first user knows that he will be traveling to the second user's city in the near future, he may enter the location of the hotel where he will be staying, whereas the second user may enter her home address. Many other variations of identifying a user's location are possible, and it is expressly intended that “receiving a user's location” broadly encompass all of the foregoing.
In block 2620, server 16 may receive a meeting request from one or both of Tom and LadyDi520. It should be noted that a user-initiated date request is disclosed herein by way of example only, and that block 2620 may comprise, for example, an automated or inferred event, and the meeting need not be a romantic date, but could be a business meeting or transfer of goods by way of non-limiting example. Thus, it is broadly intended that “receiving a meeting request” and “sending a meeting request” encompass any event or sequence of events wherein an approximate geographic center, within a search radius, is identified on behalf of a first party and a second party. In this specification, a “meeting request” is expressly defined as an event that initiates a search for a geographic center between two users. A “search radius” is expressly defined as a range identified, in spatial or temporal terms, around a midpoint. A search radius need not necessarily be regular in shape, and need not be centered on the midpoint.
In block 2630, server 16 may identify a midpoint with a search radius between the two users' locations. A “midpoint” is expressly defined as a location that may be selected for its mutual accessibility to a first user and a second user. This may be, for example, a precise geographic center 2410 (
In block 2640, server 16 may identify potential meeting locations within the search radius. In this specification, a “meeting location” is expressly defined as a true geographic position or a virtual representation of a true geographic position that may be selected for its mutual utility to a first user and a second user. As described above, meeting locations may be categorized by type, such as bars, restaurants, cafes, coffee houses, dance halls, clubs, activities (such as bowling or miniature golf), or movie theaters by way of non-limiting example.
In block 2650, there is a check for whether there are enough locations identified. For example, in one example, a minimum of ten potential locations must be identified for a search to be considered “successful.” If fewer than ten locations are identified, then in block 2660, the search radius is expanded. For example, in one embodiment, the initial search radius is three miles. If insufficient locations are found in the three-mile search radius, the radius is expanded to six miles. If insufficient locations are identified at six miles, the radius may be expanded to nine miles.
In block 2670, the recommended locations are ranked according to an algorithm. As used herein, “ranking” is expressly defined as prioritizing, classifying, filtering, winnowing, sorting, or otherwise assigning preference or precedence. Ranking may be based on user preferences, for example as expressed in a user profile, or as interactively given when the meeting request is made. In an example, precedence may be given to the invitee's preferences. For example, if Tom is inviting LadyDi520 to meet for a date, including via BDR, server 16 may give priority to LadyDi520's preferences as identified in her profile. Thus, if LadyDi520 has a preference for local non-chain cafes, while Tom has a preference for chain coffee houses, server 16 may recommend local non-chain cafes first. Results may also be ranked by other factors such as price, reviews, star ranking, special offers, ΔX, and ΔT by way of non-limiting example. In some examples, businesses may also pay for increased ranking or preferential placement, such as in a “sponsored results” section. Further, server 16 may refine rankings based on a combination of factors, such as star ranking and user preferences. Again, although a date, including a BDR, is disclosed by way of example, many other applications are also anticipated by this specification. For example, if the meeting is a business meeting, business-appropriate facilities may be given priority. If, on the other hand, the purpose is delivery or transfer of goods, a suitable location may be identified and given priority.
In block 2680, ranked meeting locations are displayed to the user. Displaying may take the form of screen display, text display, audio display, network communication, or any other method of conveying information to the user. In block 2690, the method is complete.
Although the present disclosure has been described in detail with reference to particular embodiments, it should be understood that various other changes, substitutions, and alterations may be made hereto without departing from the spirit and scope of the present disclosure. For example, although the present disclosure has been described with reference to a dating protocol, any service that deals with (or that leverages) profiles, photos, resumes, user information more generally, etc. could readily benefit from the present disclosure.
Moreover, although the present disclosure has been described with reference to a number of elements included within system 10, these elements may be rearranged or positioned in any appropriate manner to accommodate any suitable networking configurations. In addition, any of the elements of
It should also be noted that any of the question portions of the platform can leverage any type of format. Thus, in any aspect of the online dating process described herein, such as establishing a personality profile, for example, any suitable question format can be employed. Example formats include a Yes/No format, a multiple choice question format, a short answer format, a true/false format, etc. Other formats can readily be used in order to achieve the desired responses and solicit the necessary data.
Note that in certain example implementations, the matching and/or location identifying functions outlined herein, such as those carried out by web server 16 and/or provided as an application for an endpoint being operated by an end user (e.g., a mobile application for an iPhone™), may be implemented by logic encoded in one or more non-transitory, tangible media (e.g., embedded logic provided in an application specific integrated circuit (“ASIC”), digital signal processor (“DSP”) instructions, software (potentially inclusive of object code and source code) to be executed by a processor, or other similar machine, etc.). In some of these instances, a memory, as shown in
A processor can execute any type of instructions associated with the data to achieve the operations detailed herein in this Specification. In one example, the processor, as shown in
These devices illustrated herein may maintain information in any suitable memory (random access memory (“RAM”), ROM, EPROM, EEPROM, ASIC, etc.), software, hardware, or in any other suitable component, device, element, or object where appropriate and based on particular needs. Any of the memory items discussed herein should be construed as being encompassed within the broad term “memory.” Similarly, any of the potential processing elements, modules, and machines described in this Specification should be construed as being encompassed within the broad term “processor.” Each of the network elements can also include suitable interfaces for receiving, transmitting, and/or otherwise communicating data or information in a network environment.
Note that with the example provided above, as well as numerous other examples provided herein, interaction may be described in terms of more than one network element. However, this has been done for purposes of clarity and example only. In certain cases, it may be easier to describe one or more of the functionalities of a given set of flows by only referencing a limited number of network elements. It should be appreciated that system 10 (and its teachings) are readily scalable and can accommodate a large number of components, as well as more complicated/sophisticated arrangements and configurations. Accordingly, the examples provided should not limit the scope or inhibit the broad teachings of system 10 as potentially applied to a myriad of other architectures.
It is also important to note that the steps in the preceding flow diagrams illustrate only some of the possible signaling scenarios and patterns that may be executed by, or within, system 10. Some of these steps may be deleted or removed where appropriate, or these steps may be modified or changed considerably without departing from the scope of the present disclosure. In addition, a number of these operations have been described as being executed concurrently with, or in parallel to, one or more additional operations. However, the timing of these operations may be altered considerably. The preceding operational flows have been offered for purposes of example and discussion. Substantial flexibility is provided by system 10 in that any suitable arrangements, chronologies, configurations, and timing mechanisms may be provided without departing from the teachings of the present disclosure. Although the present disclosure has been described in detail with reference to particular arrangements and configurations, these example configurations and arrangements may be changed significantly without departing from the scope of the present disclosure.
Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained to one skilled in the art and it is intended that the present disclosure encompass all such changes, substitutions, variations, alterations, and modifications as falling within the scope of the appended claims. In order to assist the United States Patent and Trademark Office (USPTO) and, additionally, any readers of any patent issued on this application in interpreting the claims appended hereto, Applicant wishes to note that the Applicant: (a) does not intend any of the appended claims to invoke paragraph six (6) of 35 U.S.C. section 112 as it exists on the date of the filing hereof unless the words “means for” or “step for” are specifically used in the particular claims; and (b) does not intend, by any statement in the specification, to limit this disclosure in any way that is not otherwise reflected in the appended claims.