U.S. patent application number 12/891642 was filed with the patent office on 2011-02-17 for method, system, and graphical user interface for identifying and communicating with meeting spots.
Invention is credited to Joseph F. Karam.
Application Number | 20110041084 12/891642 |
Document ID | / |
Family ID | 43034960 |
Filed Date | 2011-02-17 |
United States Patent
Application |
20110041084 |
Kind Code |
A1 |
Karam; Joseph F. |
February 17, 2011 |
Method, System, and Graphical User Interface for Identifying and
Communicating with Meeting Spots
Abstract
One aspect of the invention involves a computer-implemented
method in which a server computer sends to a plurality of client
devices associated with computer users in an online discussion
information corresponding to: a map, an icon for a meeting spot to
be overlaid on the map, a plurality of icons representing at least
some of the computer users in the online discussion, to be
displayed at a same time as the map, and an icon to initiate online
communications between a respective client device and a computer
associated with the meeting spot. The server receives a request to
initiate online communications between the computer associated with
the meeting spot and at least one client device in the online
discussion; and initiates online communications between the
computer associated with the meeting spot and the at least one
client device in the online discussion.
Inventors: |
Karam; Joseph F.; (Mountain
View, CA) |
Correspondence
Address: |
Morgan, Lewis & Bockius LLP/Google
2 Palo Alto Square, 3000 El Camino Real, Suite 700
Palo Alto
CA
94306
US
|
Family ID: |
43034960 |
Appl. No.: |
12/891642 |
Filed: |
September 27, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11323115 |
Dec 30, 2005 |
7831917 |
|
|
12891642 |
|
|
|
|
Current U.S.
Class: |
715/753 |
Current CPC
Class: |
G06Q 10/10 20130101 |
Class at
Publication: |
715/753 |
International
Class: |
G06F 3/01 20060101
G06F003/01 |
Claims
1. A method, comprising: at a server computer: receiving meeting
spot data that correspond to a plurality of meeting spots selected
by a computer user, who is currently online and active, at a client
device; and sending information concerning other computer users,
who are currently online and active, to the client device for
display, wherein each of the other computer users has also
currently selected two or more of the meeting spots selected by the
computer user.
2. The method of claim 1, including creating a meeting-spot-based
user interest profile for the computer user based at least in part
on the plurality of meeting spots selected by the computer
user.
3. The method of claim 1, including receiving a request from the
client device to initiate an online communication with one or more
of the other computer users whose information is displayed at the
client device.
4. A method, comprising: at a client device: sending meeting spot
data that correspond to a plurality of meeting spots selected by a
computer user, who is currently online and active, to a server
computer; and receiving information from the server computer for
display, wherein the information concerns other computer users who
are currently online and active, wherein each of the other computer
users has also currently selected two or more of the plurality of
meeting spots selected by the computer user.
5. A graphical user interface on a computer with a display, a
memory, and one or more processors to execute one or more programs
stored in the memory, the graphical user interface comprising: a
plurality of icons representing meeting spots selected by a
computer user, who is currently online and active, overlaid on a
graphically displayed geographic map; and a plurality of icons
representing other computer users who are currently online and
active, wherein each of the other computer users has also currently
selected two or more of the meeting spots selected by the computer
user.
6. The graphical user interface of claim 5, wherein selecting an
icon of the plurality of icons representing other computer users
initiates an on online communication between the computer user and
a respective other computer user that is represented by the
selected icon.
7. The graphical user interface of claim 6, wherein the online
communication includes instant messaging, voice communication,
and/or video chat.
8. The graphical user interface of claim 5, wherein the plurality
of icons representing meeting spots are within a predetermined
distance or estimated driving time from a location on the
geographic map specified by the computer user.
9. The graphical user interface of claim 5, wherein the geographic
map is a street map, a satellite photograph, or a hybrid map
showing street names superimposed on a satellite photograph.
10. A server computer system, comprising: one or more processors;
memory; and one or more programs, wherein the one or more programs
are stored in the memory and configured to be executed by the one
or more processors, the one or more programs including instructions
for: receiving meeting spot data that correspond to a plurality of
meeting spots selected by a computer user at a client device,
wherein the computer user is currently online and active; and
sending information concerning other computer users who are
currently online and active to the client device for display,
wherein each of the other computer users has also currently
selected two or more of the meeting spots selected by the computer
user.
Description
RELATED APPLICATIONS
[0001] This application is a Continuation application of U.S.
patent application Ser. No. 11/323,115 filed Dec. 30, 2005,
entitled "METHOD, SYSTEM, AND GRAPHICAL USER INTERFACE FOR
IDENTIFYING AND COMMUNICATING WITH MEETING SPOTS," Attorney Docket
060963-5180-US, the disclosure of which is incorporated herein by
reference in its entirety.
[0002] This application is related to U.S. patent application Ser.
No. 11/323,142, filed Dec. 30, 2005, entitled "METHOD, SYSTEM, AND
GRAPHICAL USER INTERFACE FOR MEETING-SPOT-RELATED ONLINE
COMMUNICATIONS," Attorney Docket 060963-5179-US and is related to
U.S. patent application Ser. No. 11/323,090, filed Dec. 30, 2005,
entitled "METHOD, SYSTEM, AND GRAPHICAL USER INTERFACE FOR
MEETING-SPOT MAPS FOR ONLINE COMMUNICATIONS," Attorney Docket
060963-5166-US, which applications are incorporated by reference
herein in their entireties.
TECHNICAL FIELD
[0003] The disclosed embodiments relate generally to online
communications. More particularly, the disclosed embodiments relate
to methods, systems, and graphical user interfaces for
meeting-spot-related online communications.
BACKGROUND
[0004] People increasingly use online communications to interact
with their friends and to meet new people. As used herein, "online
communications" means real-time online communications technologies,
including character-based technologies (e.g., text-based instant
messaging, but not e-mail), audio technologies (e.g., audio chat
and Voice over Internet Protocol (VoIP) telephony), and video
technologies (e.g., video chat).
[0005] Numerous techniques have been developed that use online
communications to improve our social lives, including social
networking and online dating services. These techniques typically
require a user to fill out a personal profile, which can be
cumbersome and also raises privacy concerns. Thus, it would be
highly desirable to find new, less cumbersome, more intuitive, and
more secure ways to use online communications to interact with
friends and to meet new people.
SUMMARY
[0006] The present invention overcomes the limitations and
disadvantages described above by providing methods, systems, and
graphical user interfaces (GUIs) for meeting-spot-related online
communications. As used herein, a "meeting spot" is a specific
physical location where two or more people could arrange to meet
face to face. Exemplary meeting spots include, without limitation,
a restaurant, bar, club, library, gym, bookstore, park, or store.
Note that a meeting spot is limited in size so that two people can
find (or can reasonably be expected to find) each other at the
spot. For example, Manhattan is too large to be a meeting spot, but
the Four Seasons restaurant at 99 E. 52nd St. in Manhattan could be
a meeting spot.
[0007] One aspect of the invention involves a computer-implemented
method in which a server computer sends to a plurality of client
devices associated with computer users in an online discussion
information corresponding to: a map, an icon for a meeting spot to
be overlaid on the map, a plurality of icons representing the
computer users in the online discussion, to be displayed at a same
time as the map, and an icon to initiate online communications
between a respective client device and a computer associated with
the meeting spot. The server receives a request to initiate online
communications between the computer associated with the meeting
spot and at least one client device in the online discussion; and
initiates online communications between the computer associated
with the meeting spot and the at least one client device in the
online discussion.
[0008] Another aspect of the invention involves a
computer-implemented method involving a client device associated
with a computer user. The computer user is engaged in an online
discussion with other computer users. The client device displays a
map, an icon for a meeting spot overlaid on the map, one or more
icons representing at least some of the other computer users in the
online discussion, displayed at a same time as the map, and an icon
to initiate online communications with a computer associated with
the meeting spot. The client device initiates online communications
with the computer associated with the meeting spot in response to
the computer user selecting the icon to initiate online
communications.
[0009] Another aspect of the invention involves a graphical user
interface on a computer that includes an icon for a meeting spot
overlaid on a map; a plurality of icons representing computer users
in an online discussion, displayed at a same time as the map; and
an icon to initiate online communications between a computer
associated with the meeting spot and at least one computer
associated with the computer users in the online discussion.
[0010] Another aspect of the invention involves a system that
includes at least one server. The at least one server is configured
to send to a plurality of client devices associated with computer
users in an online discussion information corresponding to: a map,
an icon for a meeting spot to be overlaid on the map, a plurality
of icons representing at least some of the computer users in the
online discussion, to be displayed at a same time as the map, and
an icon to initiate online communications between a respective
client device and a computer associated with the meeting spot. The
server is configured to receive a request to initiate online
communications between the computer associated with the meeting
spot and at least one client device in the online discussion; and
to initiate online communications between the computer associated
with the meeting spot and the at least one client device in the
online discussion.
[0011] Another aspect of the invention involves a client device
associated with a computer user. The computer user is engaged in an
online discussion with other computer users. The client device is
configured to display a map, an icon for a meeting spot overlaid on
the map, one or more icons representing at least some of the other
computer users in the online discussion, displayed at a same time
as the map, and an icon to initiate online communications with a
computer associated with the meeting spot. The client device is
configured to initiate online communications with the computer
associated with the meeting spot in response to the computer user
selecting the icon to initiate online communications.
[0012] Another aspect of the invention involves a computer-program
product that includes a computer readable storage medium and a
computer program mechanism embedded in the computer readable
storage medium. The computer program mechanism includes
instructions, which when executed by a server computer, cause the
server computer to send to a plurality of client devices associated
with computer users in an online discussion information
corresponding to: a map, an icon for a meeting spot to be overlaid
on the map, a plurality of icons representing at least some of the
computer users in the online discussion, to be displayed at a same
time as the map, and an icon to initiate online communications
between a respective client device and a computer associated with
the meeting spot. The computer program mechanism includes
instructions, which when executed by the server computer, cause the
server computer to receive a request to initiate online
communications between the computer associated with the meeting
spot and at least one client device in the online discussion; and
initiate online communications between the computer associated with
the meeting spot and the at least one client device in the online
discussion.
[0013] Another aspect of the invention involves a computer-program
product that includes a computer readable storage medium and a
computer program mechanism embedded in the computer readable
storage medium. The computer program mechanism includes
instructions, which when executed by a client device associated
with a computer user who is engaged in an online discussion with
other computer users, cause the client device to display a map, an
icon for a meeting spot overlaid on the map, one or more icons
representing at least some of the other computer users in the
online discussion, displayed at a same time as the map, and an icon
to initiate online communications with a computer associated with
the meeting spot. The computer program mechanism includes
instructions, which when executed by the client device associated
with the computer user who is engaged in an online discussion with
other computer users, cause the client device to initiate online
communications with the computer associated with the meeting spot
in response to the computer user selecting the icon to initiate
online communications.
[0014] Another aspect of the invention involves a server computer
that includes: means for sending to a plurality of client devices
associated with computer users in an online discussion information
corresponding to: a map, an icon for a meeting spot overlaid on the
map, a plurality of icons representing at least some of the
computer users in the online discussion, to be displayed at a same
time as the map, and an icon to initiate online communications
between a respective client device and a computer associated with
the meeting spot; means for receiving a request to initiate online
communications between the computer associated with the meeting
spot and at least one client device in the online discussion; and
means for initiating online communications between the computer
associated with the meeting spot and the at least one client device
in the online discussion.
[0015] Another aspect of the invention involves a client device
associated with a computer user who is engaged in an online
discussion with other computer users. The client device includes:
means for displaying a map, an icon for a meeting spot overlaid on
the map, one or more icons representing at least some of the other
computer users in the online discussion, displayed at a same time
as the map, and an icon to initiate online communications with a
computer associated with the meeting spot; and means for initiating
online communications with the computer associated with the meeting
spot in response to the computer user selecting the icon to
initiate online communications.
[0016] Thus, meeting-spot-related online communications provide
more intuitive, less invasive methods, systems, and GUIs to
interact with friends and to meet new people.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] For a better understanding of the aforementioned aspects of
the invention as well as additional aspects and embodiments
thereof, reference should be made to the Description of Embodiments
below, in conjunction with the following drawings in which like
reference numerals refer to corresponding parts throughout the
figures.
[0018] FIG. 1 is a block diagram illustrating an exemplary
distributed computer system in accordance with one embodiment of
the invention.
[0019] FIG. 2 is a block diagram illustrating a meeting-spot-based
networking server in accordance with one embodiment of the present
invention.
[0020] FIGS. 3A and 3B are block diagrams illustrating two
exemplary clients.
[0021] FIG. 4 is a block diagram illustrating an exemplary meeting
spot database and an exemplary meeting spot record in accordance
with one embodiment of the invention.
[0022] FIG. 5 is a block diagram illustrating an exemplary user
database and an exemplary record for a particular user in
accordance with one embodiment of the invention.
[0023] FIG. 6 is a flowchart representing a method of using maps of
meeting spots to facilitate or initiate online communications in
accordance with one embodiment of the present invention.
[0024] FIG. 7 is a schematic screen shot of an exemplary graphical
user interface of a map with user-selectable meeting spots in
accordance with one embodiment of the present invention.
[0025] FIGS. 8A and 8B are flowcharts representing methods of using
meeting spots selected by a computer user to facilitate online
communications with other computer users in accordance with
embodiments of the present invention.
[0026] FIG. 9 is a schematic screen shot of an exemplary graphical
user interface of a map with user-selectable meeting spots in
accordance with one embodiment of the present invention.
[0027] FIG. 10 is a flowchart representing a method of identifying
meeting spots and communicating with meeting spots in accordance
with one embodiment of the present invention.
[0028] FIG. 11 is a schematic screen shot of an exemplary graphical
user interface of a map with user-selectable meeting spots in
accordance with one embodiment of the present invention.
DESCRIPTION OF EMBODIMENTS
[0029] Methods, systems, and graphical user interfaces for
meeting-spot-related online communications are described. Reference
will be made to certain embodiments of the invention, examples of
which are illustrated in the accompanying drawings. While the
invention will be described in conjunction with the embodiments, it
will be understood that it is not intended to limit the invention
to these particular embodiments alone. On the contrary, the
invention is intended to cover alternatives, modifications and
equivalents that are within the spirit and scope of the invention
as defined by the appended claims.
[0030] Moreover, in the following description, numerous specific
details are set forth to provide a thorough understanding of the
present invention. However, it will be apparent to one of ordinary
skill in the art that the invention may be practiced without these
particular details. In other instances, methods, procedures,
components, and networks that are well-known to those of ordinary
skill in the art are not described in detail to avoid obscuring
aspects of the present invention.
[0031] FIG. 1 is a block diagram illustrating an exemplary
distributed computer system 100 according to one embodiment of the
invention. FIG. 1 shows various functional components that will be
referred to in the detailed discussion that follows. This system
includes client devices 104, meeting-spot-based networking server
102, a computer associated with a meeting spot 116, and
communication network(s) 106 for interconnecting these
components.
[0032] Client 104 can be any of a number of devices (e.g., an
internet kiosk, personal digital assistant, cell phone, gaming
device, desktop computer, or laptop computer) used to enable the
activities described below. Client 104 typically includes audio
and/or video inputs 108 (e.g., a microphone and a video camera),
audio output 110 (e.g., speakers or headphones), and video output
112 (e.g., a display). Video output 112 displays a graphical user
interface (GUI) 114.
[0033] The computer 116 associated with the meeting spot may be a
computer used to make reservations for the meeting spot or to
provide other services associated with the meeting spot. Computer
116 may optionally be used to host chat rooms or other multi-user
communications. The computer 116 associated with the meeting spot
may be located at the meeting spot, or anywhere else (e.g., at the
facility of a computer services provider that provides services for
the meeting spot).
[0034] FIG. 2 is a block diagram illustrating meeting-spot-based
networking server 102 in accordance with one embodiment of the
present invention. Server 102 typically includes one or more
processing units (CPUs) 202, one or more network or other
communications interfaces 204, memory 206, and one or more
communication buses 208 for interconnecting these components.
Server 102 may optionally include a graphical user interface (not
shown), which typically includes a display device, a keyboard, and
a mouse or other pointing device. Memory 206 may include high-speed
random access memory and may also include non-volatile memory, such
as one or more magnetic or optical storage disks. Memory 206 may
optionally include mass storage that is remotely located from CPUs
202. Memory 206 may store the following programs, modules and data
structures, or a subset or superset thereof: [0035] Operating
System 210 that includes procedures for handling various basic
system services and for performing hardware dependent tasks; [0036]
Network Communication Module (or instructions) 212 that is used for
connecting server 102 to other computers (e.g., clients 104) via
the one or more communications Network Interfaces 204 (wired or
wireless) and one or more communications networks 106 (FIG. 1),
such as the Internet, other wide area networks, local area
networks, metropolitan area networks, and so on; [0037] Mapping
Engine 220 that receives meeting-spot-related requests from and
provides responses to clients 104; and [0038] Presentation module
248 that formats the results from mapping engine 220 for
display.
[0039] Network Communication Module 212 may include the following
programs, modules and data structures, or a subset or superset
thereof: [0040] Text messaging module 214 that coordinates text
messaging (e.g., instant messaging) between clients 104; [0041]
Audio module 216 that coordinates audio communications (e.g., voice
chat or VoIP) between clients 104; and [0042] Video module 218 that
coordinates video communications (e.g., video chat) between clients
104. In some embodiments, the text messaging, audio or voice
communications, and/or video communications between clients 104 are
performed in a manner that does not require the use of server 102,
such as via peer-to-peer networking.
[0043] Mapping Engine 220 may include the following programs,
modules and data structures, or a subset or superset thereof:
[0044] Map database 224 that stores mapping data; [0045] Meeting
spot database 226 that stores records 228 for meeting spots (e.g.,
records 228-1, 228-2 and 228-x for meeting spots 1, 2 and x,
respectively); and [0046] User database 238 that stores records 240
for users (e.g., records 240-1, 240-2, 240-7 for Users 1, 2 and y,
respectively)
[0047] Each of the above identified modules and applications
corresponds to a set of instructions for performing one or more
functions described above. These modules (i.e., sets of
instructions) need not be implemented as separate software
programs, procedures or modules, and thus various subsets of these
modules may be combined or otherwise re-arranged in various
embodiments. In some embodiments, memory 206 may store a subset of
the modules and data structures identified above. Furthermore,
memory 206 may store additional modules and data structures not
described above.
[0048] Although FIG. 2 shows server 102 as a number of discrete
items, FIG. 2 is intended more as a functional description of the
various features which may be present in server 102 rather than as
a structural schematic of the embodiments described herein. In
practice, and as recognized by those of ordinary skill in the art,
items shown separately could be combined and some items could be
separated. For example, some items shown separately in FIG. 2 could
be implemented on single servers and single items could be
implemented by one or more servers. The actual number of servers in
server 102 and how features are allocated among them will vary from
one implementation to another, and may depend in part on the amount
of data traffic that the system must handle during peak usage
periods as well as during average usage periods.
[0049] FIGS. 3A and 3B are block diagrams illustrating two
exemplary clients 104. As noted above, client 104 typically
includes audio/video inputs 108 (e.g., a microphone and a video
camera), audio output 110 (e.g., speakers or headphones), and video
output 112 (e.g., a display). Video output 112 displays graphical
user interface (GUI) 114. Client 104 typically includes one or more
processing units (CPUs) 302, one or more network or other
communications interfaces 304, memory 306, and one or more
communication buses 308 for interconnecting these components.
Memory 306 may include high-speed random access memory and may also
include non-volatile memory, such as one or more magnetic or
optical storage disks. Memory 306 may store the following programs,
modules and data structures, or a subset or superset thereof:
[0050] Operating System 310 that includes procedures for handling
various basic system services and for performing hardware dependent
tasks; [0051] Network Communication Module (or instructions) 312
that is used for connecting client 104 to other computers (e.g.,
server 102 and other clients 104) via the one or more
communications Network Interfaces 304 (wired or wireless) and one
or more communication networks 106 (FIG. 1), such as the Internet,
other wide area networks, local area networks, metropolitan area
networks, and so on; [0052] Presentation Module 320, for formatting
the maps, meeting spots, and other data (e.g., user icons and text
chat) for display in GUI 114; [0053] Global Positioning System
(GPS) Module (or instructions) 322 for determining the location of
client 104; and [0054] Client Assistant 324, which handles data
formatting and/or management tasks, at least some of which could
also be handled by Mapping Engine 220.
[0055] Network Communication Module 312 may include the following
programs, modules and data structures, or a subset or superset
thereof: [0056] Text messaging module 314 that supports text
messaging (e.g., instant messaging) between clients 104; [0057]
Audio module 316 that supports audio communications (e.g., voice
chat or VoIP) between clients 104; and [0058] Video module 318 that
supports video communications (e.g., video chat) between clients
104.
[0059] As illustrated schematically in FIG. 3B, client 104 can
incorporate modules, applications, and instructions for performing
a variety of mapping related processing tasks (e.g., map generator
326), at least some of which could be handled by Mapping Engine 220
in server 102 instead. Alternatively, in some embodiments, client
104 can contain less functionality than shown in FIG. 3A. For
example, in some embodiments, client 104 need not have a GPS Module
322.
[0060] FIG. 4 is a block diagram illustrating an exemplary meeting
spot database 226 and an exemplary meeting spot record 228 in
accordance with one embodiment of the invention. Meeting Spot
Database 226 stores meeting spot records 228, for example meeting
spot 1 (228-1) through meeting spot x (228-x), where x may
represent the number of meeting spots.
[0061] A meeting spot record (e.g., meeting spot x 228-x) may
include the following data, or a subset or superset thereof: [0062]
Meeting spot ID 402 that uniquely identifies a particular meeting
spot (e.g., an n-bit binary number); [0063] Geocode 404 that
corresponds to the location of the meeting spot; [0064] Category(s)
406 that classify the meeting spot (e.g., dining, exercising,
partying, playing, shopping, or watching); [0065] Street address
408 for the meeting spot; [0066] Phone number 410 for the meeting
spot; [0067] URL 412 for a web page or site associated with the
meeting spot; [0068] Reviews 414 of the meeting spot by users
and/or professional reviewers, or the URL or a link to a web page
or site that hosts such reviews); [0069] Pictures/videos 416 of the
meeting spot, or the URL or a link to a web page or site that hosts
such reviews; [0070] Users IDs of users that have selected the
meeting spot 418; [0071] Meeting spot IDs of other meeting spots
that are related to the meeting spot associated with meeting spot
ID 402 (e.g., other nearby meeting spots); and [0072] Events 422
that includes dates and times for events occurring at the meeting
spot.
[0073] In some embodiments, events 422 permit a temporal component
to be added to meeting spots. In some embodiments, a user can tag,
enter, or otherwise select particular past, present, or future
events at meeting spots. Thus, a meeting-spot-based user interest
profile 508 can also include particular events at meeting spots
that the user has selected. User-selected events can change the
similarity scores between the computer user and other computer
users and, correspondingly, the display of information concerning
the other computer users. For example, information about other
users 932 that have selected some of the same events as the user
may be displayed more prominently (e.g., at higher display
positions in a list 960).
[0074] FIG. 5 is a block diagram illustrating an exemplary user
database 238 and an exemplary record 240-y for a particular user in
accordance with one embodiment of the invention. User Database 238
stores user records 240, for example User 1 (240-1) through User y
(240-y), where y may represent the number of users.
[0075] A user record 240 (e.g., record 240-y for User y) may
include the following data, or a subset or superset thereof: [0076]
User ID 502 that uniquely identifies a particular user (e.g., an
n-bit binary number); [0077] Entered meeting spots 504, e.g.,
meeting spot IDs that correspond to meeting spots that the user has
chosen to enter; [0078] Tagged meeting spots 506, e.g., meeting
spot IDs that correspond to meeting spots that the user has chosen
to tag (e.g., to tag as a favorite meeting spot); [0079] Interest
profile 508 for the user that is based at least in part on the
meeting spots selected by the user (e.g., by entering and/or
tagging); [0080] Contact information 510 for the user (e.g., online
communications address(es), and/or phone number(s) for the user);
alternately, this field 510 of the user record may contain a link
to the user's contact information; and [0081] Contact list 512 for
the user that contains the contact information of other users known
to the user; alternately, this field 512 of the user record may
contain a link to the user's contact list.
[0082] As used herein, "entered meeting spots" are meeting spots in
a GUI that a user has presently selected. For example, the user may
be exploring meeting spots that the user has not visited before
(e.g., to see which other users have also currently selected the
corresponding meeting spot in their GUI). As used herein, "tagged
meeting spots" are meeting spots in a GUI that the user has tagged
or otherwise labeled, independent of whether the user has currently
selected (entered) the tagged meeting spot. By analogy to web
browsing, a user may have currently selected several web pages for
viewing (e.g., via tabbed browsing or multiple windows) and some of
those web pages may have been bookmarked by the user. In this
analogy, entered meeting spots are analogous to currently selected
web pages and tagged meeting spots are analogous to bookmarked web
pages. Both entered meeting spots and tagged meeting spots can be
used to determine a user's interest profile. In some embodiments, a
user' interest profile is updated in real time as the user enters
and leaves meeting spots and/or as the user tags and untags meeting
spots.
[0083] FIG. 6 is a flowchart representing a method of using maps of
meeting spots to facilitate or initiate online communications in
accordance with one embodiment of the present invention. FIG. 6
shows processes performed by server 102 and client 104. It will be
appreciated by those of ordinary skill in the art that one or more
of the acts described may be performed by hardware, software, or a
combination thereof, as may be embodied in one or more computing
systems. In some embodiments, portions of the processes performed
by server 102 can be performed by client 104 using components
analogous to those shown for server 102 in FIG. 2.
[0084] Server 102 sends (602) a map to client 104 along with a
plurality of icons for meeting spots that are to be overlaid on the
map when displayed at the client. In some embodiments, the map and
icons are sent using a single data structure, while in other
embodiments the map and the icons are sent using distinct data
structures--in which case the map and icon images are merged during
the display process. In some embodiments, the map and the plurality
of meeting spot icons are generated by mapping engine 220 using
data in mapping database 224 and meeting spot database 226.
[0085] Client 104 receives (604) the map and the plurality of icons
for meeting spots.
[0086] Client 104 displays (606) the map and the plurality of icons
for meeting spots overlaid on the map in a GUI. In some
embodiments, presentation module 320 (FIG. 3A) formats the received
map and meeting spot icon data for display.
[0087] FIG. 7 is a schematic screen shot of an exemplary graphical
user interface of a map with user-selectable meeting spots in
accordance with one embodiment of the present invention. In some
embodiments, GUI 700 includes map 702, meeting spots 710-722, and
icons 708 (i.e., visual elements in the GUI) with information about
other users 708. In some embodiments, GUI 700 includes an icon 706
with user information (e.g., the user's screen name for online
communications, and optionally an icon 704 representing the user).
The information about other users contained in icons 708 may
include, without limitation, the screen names for the other users
and icons (e.g., thumbnails images or other icons analogous to the
user's icon 704) that represent the other users in online
communications.
[0088] In some embodiments, selection of a meeting spot icon (e.g.,
icon 710) by a user at client device 104 initiates the display of
information about other users (e.g., other user icons 708 in FIG.
7) that have also selected the same meeting spot icon, thereby
facilitating online communications with one or more of the other
users. In some embodiments, selection of a meeting spot icon is
done by the user clicking cursor 728 on the icon. In some
embodiments, selection of a meeting spot icon is done by the user
hovering the cursor 728 over the icon, which results in the display
of more information 724 about the meeting spot and a link (e.g.,
ENTER link 726) that the user can activate to select the
corresponding meeting spot.
[0089] In some embodiments, the meeting spot icon is selected by
the user clicking on a predefined region that includes the meeting
spot (e.g., clicking down and then up on a button while cursor 728
is over the meeting spot icon, or just clicking down on the button,
or just clicking up on the button), placing (or hovering) cursor
728 over or near the meeting spot icon for a predetermined period
of time (e.g., a mouse-hover), or other activity indicating that
the user expects to activate a feature associated with the meeting
spot icon. One of ordinary skill in the art would recognize various
ways to identify a user-initiated activity as described above such
as by recognizing a click-down event and/or click-up event, or
monitoring the movement of the cursor over a period of time. This
could be done, for example, by the client assistant 324 or
operating system 310.
[0090] In some embodiments, selection of a meeting spot icon (e.g.,
icon 710) by a user at client device 104 initiates online
communications (e.g., a text, audio, or video chat) with one or
more other users that have also selected "the same meeting spot
icon" (e.g., by selecting a corresponding meeting spot icon in a
GUI on their respective client devices 104).
[0091] FIGS. 8A and 8B are flowcharts representing methods,
performed by server 102 and client 104, of using meeting spots
selected by a computer user to facilitate online communications
with other computer users in accordance with embodiments of the
present invention. It will be appreciated by those of ordinary
skill in the art that one or more of the acts described may be
performed by hardware, software, or a combination thereof, as may
be embodied in one or more computing systems. In some embodiments,
portions of the processes described here as being performed by
server 102 can be performed instead by client 104. FIGS. 8A and 8B
are further described below.
[0092] FIG. 9 is a schematic screen shot of an exemplary graphical
user interface 900 of a map with user-selectable meeting spots in
accordance with one embodiment of the present invention. In some
embodiments, GUI 900 includes the following elements, or a subset
or superset thereof: [0093] Search input box 902 for entering
location information or other search query keywords; [0094] Search
initiation icon 904; [0095] Meeting spots classifier icon 906 that,
when clicked, allows a user to remove a selected category filter
908 so that more meeting spot icons are displayed; [0096] Meeting
spots categories filter 908 that lets a user choose the types of
meeting spots displayed; [0097] "Enter all" link 910 that lets a
user select all of the meeting spots on the map 918; [0098] "Leave
all" link 912 that lets a user deselect all of the meeting spots in
the map 918; [0099] User profile link 914 that lets a user see and
edit his or her profile 508; [0100] User filter 916 that lets a
user filter other users with whom interaction is desired (e.g.,
interact only with other users in the user's contact list 512;
interact with anybody, including strangers; or interact with other
users whose profiles satisfy one or more criteria (e.g., age range,
gender, sexual orientation, ethnicity, religion, languages spoken,
body type, height, eye color, hair color, marital status, education
level, employment situation, profession, income level, attitude
towards smoking and/or drinking, recent online activity, available
communication media, and/or preferred way of using communication
media (e.g., "always start with a 10-minute conversation over
instant messenger," or "willing to go straight to video chat"));
[0101] Map 918, which shows a drawing, diagram, and/or picture
(e.g., a satellite photograph) of a geographic area; [0102] Street
view icon 920 for choosing a street view in map 918; [0103]
Satellite view icon 922 for choosing a satellite view in map 918;
[0104] Hybrid view icon 924 for choosing a hybrid view of both
street names and satellite images in map 918; [0105] User icon 926
that displays information about the user (e.g., a thumbnail image
or other icon that represents the user in online communications);
[0106] Pan controls 928 that move the area shown on map 918; [0107]
Zoom control 930 that changes the scale/magnification of map 918;
[0108] Icons 932 that display information (e.g., screen names
and/or thumbnail images) about other users that have also selected
two or more of the meeting spots selected by the computer user. (In
some embodiments, the icons for other users are displayed in a list
960. In some embodiments, icons 932 display information about other
users that have also selected one or more of the meeting spots
selected by the computer user.); [0109] Meeting spot icons 934-948,
which may have different types of status indicators, such as: clear
icons (936, 942, 944, and 948) for meeting spots that the user has
not entered or selected; dark icons (934, 938, 946) for meeting
spots that the user has entered or selected; and starred icons
(940, 946) for meeting spots that the user has tagged as favorites.
(Alternatively, different colors can be used to represent different
status, such as green icons for entered meeting spots and red icons
for not entered meetings spots.); [0110] Box 950 that displays
additional information about a meeting spot (e.g., when cursor 962
hovers over or clicks on a meeting spot icon (e.g., 948)) and/or
permits additional user actions with respect to the meeting spot,
such as entering or selecting the meeting spot by selecting link
952; [0111] Location icon 956 that marks the location specified by
the user in search box 902; and [0112] List of user's meeting spots
954 that can be a list of meeting spots that the user has currently
entered, a list of meeting spots tagged by the user, a list of
meeting spots that the user has currently or recently visited in
the physical world (e.g., as determined by GPS tracking of the
user's cell phone or other client 104).
[0113] As noted above, in some embodiments, the graphical user
interface 900 may contain a subset of the features or items shown
in FIG. 9. Furthermore, in some embodiments, the graphical user
interface 900 may include other features or items not shown in FIG.
9.
[0114] Referring to FIGS. 8A and 8B, client 104 sends (802)
location information to server 102. In some embodiments, the
location information is specified by a user inputting the location
information into client 104 (e.g., by the user inputting the
location information into search box 902 and activating search
initiation icon 904). The location information may concern the
current location of the user, a potential future location of the
user, or any other location chosen by the user. In some
embodiments, the location information is all or part of a mailing
address. In some embodiments, the location information is a zip
code. In some embodiments, the location information is the position
of client 104, e.g., as determined by the client 104 using GPS
module 322. In yet other embodiments, the client 104 sends an IP
address of the client to the server 104, which associates location
information with the client's IP address. In many cases, the IP
address of the client is sufficient to identify the city or zip
code of the client 104, and in some cases the IP address of the
client may be sufficient to identify a specific building or set of
buildings (e.g., a corporate or school campus). In some
embodiments, for safety and privacy, no information about the
location of client 104 is sent to the server 102 without the
knowledge and/or permission of the user. In such embodiments, the
user can prevent the server 102 (and other users) from knowing the
user's physical location.
[0115] Server 102 receives (804) the location information sent by
client 104.
[0116] Server 102 identifies (806) meeting spots that satisfy one
or more parameters. In some embodiments, the one or more parameters
include a physical distance, or an estimated driving time relative
to the location specified by the location information. In some
embodiments, the one or more parameters include a type of meeting
spot, such as a dining location, an exercising location, a partying
location, a playing location, a shopping location, or a watching
location. In some embodiments, the one or more parameters include a
type of meeting spot and either a physical distance or an estimated
driving time relative to the location specified by the location
information. In some embodiments, the one or more parameters are
keywords in a search query. In some embodiments, at least some of
the parameters are selected by the user at client 104. For example,
the user may select the type of meeting spot using category filter
908.
[0117] Server 102 sends (808) and client 104 receives (810) data
representing the identified meeting spots. In some embodiments, the
identified meeting spots are displayed in a map in a GUI (e.g.,
meeting spots 934-948 in map 918 in GUI 900). In some embodiments,
the icons 934-948 representing meeting spots are within a
predetermined distance or estimated driving time from a location on
the map specified by the computer user. In some embodiments, the
map is a street map, a satellite photograph, or a hybrid map
showing street names superimposed on a satellite photograph.
[0118] Client 104 receives (812) user selections for a plurality of
meeting spots. In some embodiments, the user selects the plurality
of meeting spots using a map-based GUI (e.g., 900). In some
embodiments, selection of a meeting spot icon is accomplished by
the user clicking cursor 960 on the icon. In some embodiments,
selection of a meeting spot icon is accomplished by the user
hovering cursor 960 over the icon, which results in the display of
more information 950 about the meeting spot and a link (e.g., ENTER
link 952) that the user can activate to select the corresponding
meeting spot.
[0119] Client 104 sends (814) and server 102 receives (816)
user-chosen meeting spot data that correspond to the plurality of
meeting spots selected by the user.
[0120] In some embodiments, server 102 creates (818) a
meeting-spot-based user interest profile for the user based at
least in part on the plurality of meeting spots selected by the
user. In some embodiments, the meeting-spot-based user interest
profile for the user is created in real-time, i.e., the profile is
generated and updated as the user selects meeting spots. In some
embodiments, the meeting-spot-based user interest profile for the
user is stored, e.g., in interest profile 508 in user record 246.
In some embodiments, interest profile 508 is a list of meeting
spots selected by the user. In some embodiment, interest profile
508 is a list of meeting spots selected by the user and one or more
attributes concerning the user (e.g., age, gender, sexual
orientation, ethnicity, religion, languages spoken, body type,
height, eye color, hair color, marital status, education level,
employment situation, profession, income level, attitude towards
smoking and/or drinking, recent online activity, available
communication media, and/or preferred way of using communication
media (e.g., "always start with a 10-minute conversation over
instant messenger," or "willing to go straight to video chat").
[0121] In some embodiments, server 102 determines (820) similarity
scores between the user and other users that have also selected two
or more of the meeting spots selected by the user, wherein the
similarity scores are based at least in part on the overlap in
meeting-spot-based user interest profiles for the user and for the
other users. In some embodiments, server 102 determines similarity
scores between the user and other users that have also selected one
or more of the meeting spots selected by the user. In some
embodiments, the similarity score is the number of overlapping
meeting spots that both users have presently entered. In some
embodiments, the similarity score is the number of overlapping
meeting spots that both users have presently entered divided by the
total number of meeting spots that both users have presently
entered. In some embodiments, the similarity score is the number of
overlapping meeting spots that both users have tagged. In some
embodiments, the similarity score is the number of overlapping
meeting spots that both users have tagged divided by the total
number of meeting spots that both users have tagged. In some
embodiments, the similarity score is a combination of one of the
preceding scores with a score based on the overlap in attributes of
the user and the other user (e.g., age, gender, sexual orientation,
ethnicity, religion, languages spoken, body type, height, eye
color, hair color, marital status, education level, employment
situation, profession, income level, attitude towards smoking
and/or drinking, recent online activity, available communication
media, and/or preferred way of using communication media (e.g.,
"always start with a 10-minute conversation over instant
messenger," or "willing to go straight to video chat").
[0122] Server 102 sends (822) and client 102 receives (824) and
displays (826) information (e.g., icons 932) concerning at least
some of the other users for display. In some embodiments, the
display of the information 932 concerning the other users depends
at least in part on the similarity scores between the user and the
other users. In some embodiments, users with higher similarity
scores are displayed higher (i.e., at higher display positions)
than users with lower similarity scores in a list 960 of other
users. In some embodiments, the similarity scores of the other
users and the order in which the other users 932 are displayed in
list 960 changes in real time as the user changes the meeting spots
that he or she has selected (e.g., by entering or leaving meetings
spots). In some embodiments, GUI icons associated with users with
higher similarity scores are displayed more prominently than GUI
icons associated with users with lower similarity scores. In some
embodiments, GUI icons differentiate users based at least in part
on the users' similarity scores.
[0123] In some embodiments, the information about other users is
filtered (e.g., via user filter 916) so that only information about
other users with whom interaction is desired is displayed (e.g.,
interact only with other users in the user's contact list 512;
interact with anybody, including strangers; or interact with other
users whose profiles satisfy one or more criteria (e.g., age range,
gender, sexual orientation, ethnicity, religion, languages spoken,
body type, height, eye color, hair color, marital status, education
level, employment situation, profession, income level, attitude
towards smoking and/or drinking, recent online activity, available
communication media, and/or preferred way of using communication
media (e.g., "always start with a 10-minute conversation over
instant messenger," or "willing to go straight to video chat")). In
such embodiments, the "in bound" information about other users is
filtered.
[0124] Conversely, in some embodiments, a user can filter the "out
bound" information concerning the user (e.g., via a filter
analogous to user filter 916), thereby enabling the user to
control: (1) which other users are permitted to view the user's
information (e.g., show the user's information only to other users
in the user's contact list 512; show the user's information to
anybody, including strangers; or show the user's information to
other users whose profiles satisfy one or more criteria) and (2)
what information about the user is communicated (e.g., the user's
screen name or other contact information 510, a thumbnail image,
and/or one or more user attributes in user profile 508).
[0125] In some embodiments, a user can filter or control both the
"out bound" information concerning the user and the "in bound"
information concerning other users.
[0126] In some embodiments, client 104 receives (828) a request
from the user to initiate an online discussion or communication
with one of the other users. In some embodiments, selecting an icon
932 representing another computer user initiates an online
communication with the computer user represented by the selected
icon 932. In some embodiments, the online communication includes
instant messaging, voice communications (e.g., using VoIP), and/or
video chat. In some embodiments, the user may request to initiate
online communications with two or more of the other users, in
effect requesting the formation of a multi-user chat room or
multi-user communication.
[0127] FIG. 10 is a flowchart representing a method of identifying
meeting spots and communicating with meeting spots in accordance
with one embodiment of the present invention. FIG. 10 shows
processes performed by server 102 and client 104. It will be
appreciated by those of ordinary skill in the art that one or more
of the acts described may be performed by hardware, software, or a
combination thereof, as may be embodied in one or more computing
systems. In some embodiments, portions of the processes described
here as being performed by server 102 can be performed instead by
client 104. FIG. 11 is a schematic screen shot of an exemplary
graphical user interface of a map with user-selectable meeting
spots in accordance with one embodiment of the present
invention.
[0128] Server 102 sends (1008) to a plurality of client devices
associated with computer users in an online discussion information
corresponding to: a map 1102, an icon for a meeting spot to be
overlaid on the map 1104, a plurality of icons representing at
least some of the computer users in the online discussion (e.g.,
1106, 1108-1, 1108-2, and 1108-3), and an icon 1110 to initiate
online communications between a respective client device and a
computer associated with the meeting spot. In some embodiments, the
icon for the meeting spot 1104 is also the icon to initiate online
communications 1110. The information corresponding to map 1102 and
the various icons may be sent using a single data structure or
multiple data structures that are merged for display at the client
104. In some embodiments, the information sent that corresponds to
map 1102 and the various icons contains all of the data needed to
display the map 1102 and the various icons in GUI 1100 on client
104. In some embodiments, the information sent that corresponds to
map 1102 and/or the various icons include pointers to data stored
in client 104. The pointers in combination with the data stored in
client 104 can be used to display the map 1102 and the various
icons in GUI 1100 on client 104.
[0129] Client 104 receives (1010) and displays (1012) the map 1102,
the icon for the meeting spot 1104, the plurality of icons
representing computer users (e.g., 1106, 1108-1, 1108-2, and
1108-3), and the icon 1110 to initiate online communications with
the meeting spot. In some embodiments, the map 1102, the icon for
the meeting spot 1104, the plurality of icons representing computer
users (e.g., 1106, 1108-1, 1108-2, and 1108-3), and the icon 1110
to initiate online communications with the meeting spot are
displayed in a single application window (e.g., a browser window).
In some embodiments, the plurality of icons representing computer
users (e.g., 1106, 1108-1, 1108-2, and 1108-3) are fully or
partially overlaid on the map 1102.
[0130] Client 104 initiates (1014) online communications with the
computer associated with the meeting spot in response to the
computer user selecting a corresponding icon (e.g., by the user
clicking on icon 1110 with cursor 1112).
[0131] In some embodiments, client 104 receives (1016) a
consideration from an entity associated with the meeting spot. In
some embodiments, the consideration is a discount coupon, credit
coupon, or membership card. In some embodiments, the entity
associated with the meeting spot is the computer associated with
the meeting spot.
[0132] In some embodiments, server 102 receives (1018) a request to
initiate online communications between the computer associated with
the meeting spot and at least one client 104 in the online
discussion.
[0133] In some embodiments, server 102 initiates (1020) online
communications between the computer associated with the meeting
spot and at least one client 104 in the online discussion.
[0134] In some embodiments, server 102 establishes (1022) a right
to receive a consideration from an entity associated with the
meeting spot. In some embodiments, the consideration is a referral
fee or a commission. Establishing a right to receive consideration
may be accomplished, for example, by posting an entry to an account
that will reconciled or otherwise processed at a later time. In
some embodiments, the entity associated with the meeting spot is
the computer associated with the meeting spot. In some embodiments,
the server 102 receives the aforementioned consideration (i.e.,
participates in a funds transfer, in real time) instead of
establishing a right to receive that consideration at 1022.
[0135] The foregoing description, for purpose of explanation, has
been described with reference to specific embodiments. However, the
illustrative discussions above are not intended to be exhaustive or
to limit the invention to the precise forms disclosed. Many
modifications and variations are possible in view of the above
teachings. The embodiments were chosen and described in order to
best explain the principles of the invention and its practical
applications, to thereby enable others skilled in the art to best
utilize the invention and various embodiments with various
modifications as are suited to the particular use contemplated.
* * * * *