WO2014183458A1 - Method and device for enabling an identified set of participants of an information exchange program to exchange information - Google Patents
Method and device for enabling an identified set of participants of an information exchange program to exchange information Download PDFInfo
- Publication number
- WO2014183458A1 WO2014183458A1 PCT/CN2013/090770 CN2013090770W WO2014183458A1 WO 2014183458 A1 WO2014183458 A1 WO 2014183458A1 CN 2013090770 W CN2013090770 W CN 2013090770W WO 2014183458 A1 WO2014183458 A1 WO 2014183458A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- information
- location
- client device
- mobile device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Definitions
- the present invention relates to the field of Internet technologies, and more
- a method of recommending user information that utilizes LBS may be provided.
- LBS Location Based Service
- a current user sends a request to a server using a "people in the vicinity" function, and the current user uploads their geographic location information to the server.
- the server searches for other users with a distance not exceeding a predetermined threshold (e.g., 1 km) between the current user's geographic location information and other users.
- the server recommends at least one other user's user information, which is buffered at the server, to the current user.
- the user information includes a unique identity, avatar, nickname, and/or signature. As such, the current user receives the user information and selectively adds friends according to the user information.
- the other users' geographic location information buffered at the server refers to geographic location information reported when the other users used the "people in the vicinity" function at some time in the past. Thus, the buffered time may have exceeded several hours or even days. As such, the other users may have left the place corresponding to the geographic location information being buffered; thus, the server's recommendation result may not be valid for the current user, which cannot effectively contribute to successful completion of adding friends.
- the embodiments of the present invention provide a method and device for providing information to a set of participants of an information exchange program.
- a method is performed at a server system with one or more processors and memory (e.g., server system 140, Figures 1, 10, and 1 IB).
- the method includes: obtaining a message from a mobile device, where the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location.
- the method also includes: determining whether the timestamp is within a predefined time interval; and determining whether the location is within a predefined spatial radius.
- the method further includes: in accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, identifying the user as one of a set of participants of an information exchange program; and providing information to mobile devices associated with the set of participants of the information exchange program.
- a method is performed at a mobile device with one or more processors, a touch screen display, and memory (e.g., client device 120, Figures 1, 10, and 11A).
- the method includes: detecting a first user input from a first user of the mobile device and an associated time interval during which the first user input is detected; and, in response to the first user input, providing a message to a remote server system, the message including a location associated with the mobile device and information of the time interval.
- the method also includes obtaining identity and location information for a set of users from the remote server system, where: a respective user in the set of users generated a user input through the respective user's remote device at a respective location and during a respective time interval; and the respective location and time interval satisfy a predetermined condition.
- the method further includes: displaying a map including a plurality of icons, each icon representing a corresponding location of one of the set of users relative to the first user; and joining an information exchange program with at least one of the set of users.
- an electronic device e.g., client device 120, Figures 1, 10, and
- 11A or server system 140, Figures 1, 10, and 1 IB includes one or more processors and memory storing one or more programs for execution by the one or more processors, the one or more programs include instructions for performing the operations of the methods described herein.
- a non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by an electronic device (e.g., client device 120, Figures 1, 10, and 11A or server system 140, Figures 1, 10, and 1 IB) with one or more processors, cause the electronic device to perform the operations of the methods described herein.
- Figure 1 is a block diagram of an implementation of a server-client environment in accordance with some embodiments.
- Figure 2 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
- Figure 3 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
- Figures 4A-4E are user interfaces illustrating a method of recommending user information in accordance with some embodiments.
- Figure 5 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
- Figures 6A-6F are user interfaces illustrating a method of recommending user information in accordance with some embodiments.
- Figures 7-9 are block diagrams of client-side and server-side modules for
- Figure 10 is a block diagram of a server-client environment in accordance with some embodiments.
- Figure 11 A is a block diagram of a client device in accordance with some embodiments.
- Figure 1 IB is a block diagram of a server system in accordance with some embodiments.
- Figures 12A-12C are user interfaces illustrating a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
- Figure 13 is a flowchart diagram of a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
- Figures 14A-14C are user interfaces illustrating a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
- Figure 15 is a flowchart diagram of a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
- FIG. 1 is a block diagram of an implementation of a server-client environment 100 in accordance with some embodiments.
- server-client environment 100 includes two or more client devices 120 and a server system 140.
- Client devices 120 are electronic devices executing an information exchange program
- the electronic devices may be any one of: smart phones, tablet PCs, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 (Moving Picture Experts Group Audio Layer IV) players, laptop portable computers, desktop computers, and so on.
- MP3 players Motion Picture Experts Group Audio Layer III
- MP4 Motion Picture Experts Group Audio Layer IV
- Client devices 120 and server system 140 are connected with each other via one or more networks 115 (wired or wireless).
- Server system 140 is a server (e.g., a cloud computing service provider), or a server cluster consisting of two or more servers.
- server system 140 is a background server of the information exchange program.
- FIG. 2 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
- the method is performed in server-client environment 100 as shown in Figure 1 which includes client devices 120 and server system 140.
- the user information recommending method includes the following steps.
- client device 120 detects a continuously triggered signal.
- the continuously triggered signal includes the user of client device 120 shaking the client device 120 for a period of time, pressing a certain physical button or touch screen virtual button on client device 120 for a period of time, or sending a predetermined voice signal to client device 120.
- Step 204 after detecting the continuously triggered signal, client device 120 provides real-time geographic location information to server system 140, and the effective time period of the real-time geographic location information corresponds to the duration period of the continuously triggered signal. Accordingly, server system 140 receives the real-time geographic location information provided by client device 120.
- Step 206 server system 140 queries at least one other client device that satisfies a predetermined condition for user information.
- the predetermined condition is satisfied when a distance between real-time effective geographic location information provided by other client devices and the real-time geographic location information provided by client device 120 is less than a threshold distance.
- Step 208 server system 140 recommends user information of at least one other client device to client device 120. Accordingly, client device 120 receives user information for at least one other client device in server-client environment 100 recommended by server system 140, where the at least one other client device satisfies the predetermined condition.
- the method of recommending user information is as follows. After detecting a continuously triggered signal, client device 120 provides real-time geographic location information to server system 140. Server system 140 queries other client devices satisfying a predetermined condition. Server system 140 recommends user information of the other client devices that satisfy the predetermined condition to client device 120. This solves the problem that the buffered time span is too long, resulting in that the recommendation result is more likely to be valid for the current user of client device 120. With this method, the user information of the other client devices recommended by the server to the terminal is user information recommended based on accurate and real-time geographic location information. Thus, the user information of the other client devices is more effective in subsequent processing such as adding friends or initiating a group chat.
- real-time geographic location information provided by client device 120 to server system 140 includes two different implementations, the two implementations are elaborated below in two different embodiments.
- Figure 3 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
- the method is performed in server-client environment 100 as shown in Figure 1 which includes client devices 120 and server system 140.
- this embodiment elaborates a first specific implementation in which client device 120 provides real-time geographic location information to server system 140.
- the user information recommending method includes the following steps.
- client device 120 detects a continuously triggered signal.
- client device 120 executes an information exchange program (e.g., a group chat or instant messaging application) which enables the user to send the continuously triggered signal.
- client device 120 is a smart phone with a touch screen display.
- client device 120 displays first interface 41 for the information exchange program including radar button 411 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to detect a continuously triggered signal.
- the duration period of the continuously triggered signal is determined by the amount of time the user rests their finger on radar button 41 1 such as 3 seconds or 10 seconds.
- the continuously triggered signal also may be detected by client device 120, when the user continuously shakes client device 120 for a duration period.
- Step 304 after detecting the continuously triggered signal, client device 120 obtains geographic location information through LBS (location based services).
- LBS is a value-added service which obtains location information (geographic coordinates, or geodetic coordinates) of a mobile device user via a telecommunication mobile operator's radio communication network (e.g., GSM network or CDMA network) or through external positioning (e.g., GPS), and with support of a GIS (Geographic Information System) platform, providing a corresponding service to the user.
- GIS Geographic Information System
- client device 120 obtains its own geographic location information through the LBS (e.g., latitude and longitude information). This step is well known to persons skilled in the art and is not explained in detail for the sake of brevity.
- Step 306 client device 120, in the duration period of the continuously triggered signal, sends the geographic location information periodically to server system 140 according to a predetermined time interval ⁇ 1.
- predetermined time interval ⁇ 1 is generally less than the duration period of the continuously triggered signal.
- the duration period of the continuously triggered signal is usually measured according to "seconds," while predetermined time interval ⁇ 1 may be smaller orders of magnitude such as 1/10 seconds, 1/100 seconds or N milliseconds.
- client device 120 sends the geographic location information to server system 140 once every 1/5 seconds.
- client device 120 can immediately send geographic location information to server system 140 for the first time after obtaining its geographic location information because the time in which client device 120 obtains the geographic location information through LBS is usually shorter than predetermined time interval ⁇ 1. Thereafter, client device 120 resends the geographic location information to server system 140 every 1/5 seconds until the continuously triggered signal stops. Accordingly, server system 140 receives the geographic location information from client device 120 periodically according to predetermined time interval ⁇ 1 in the duration period of the continuously triggered signal.
- Step 308 server system 140 saves the geographic location information received each time for a predetermined time interval ⁇ 2 and takes the saved geographic location information as the real-time geographic location information for client device 120.
- predetermined time interval ⁇ 2 is generally equal to predetermined time interval ⁇ 1. However, to be compatible with influences caused by network delay and the like, typically, predetermined time interval ⁇ 2 is slightly greater than predetermined time interval ⁇ 1, and less than the duration period of the continuously triggered signal. With reference to Figure 4B, predetermined time interval ⁇ 2 associated with client device 120 is 1/5 seconds.
- Step 310 server system 140 queries at least one other client device that satisfies a predetermined condition for user information.
- the predetermined condition is satisfied when a distance between real-time geographic location information provided by other client devices and the real-time geographic location information provided by client device 120 is less than a threshold distance.
- the threshold may be 50 m, 100 m or 1 km, and the specific value varies with different embodiments.
- the predetermined condition is only satisfied according to attribute match, hobby match, age match and other possible strategies between the user of client device 120 and the users of the other client devices.
- the process by which the other client devices provide real-time geographic location information to server system 140 is similar or identical to the process described in step 302 to step 306.
- other client devices satisfying the predetermined condition are client devices intersecting client device 120 in duration periods of continuously triggered signals corresponding thereto.
- the other client devices satisfying the predetermined condition are other client devices whose buttons are pressed nearly at the same time as client device 120's button and with a distance therebetween being less than the threshold.
- the duration periods of continuously triggered signals on the client devices may be the same or different but there must be some intersection or overlap.
- server system 140 recommends user information for the at least one other client device to client device 120.
- Server system 140 sends to client device 120 user information of the at least one other client device that satisfies the predetermined condition.
- client device 120 receives user information for at least one other client device in server-client environment 100 recommended by server system 140, where the at least one other client device satisfies the predetermined condition.
- the user information includes identity information such as a unique identity (e.g., fictional or non-fictional), avatar, nickname, signature, and/or personal profile information.
- the user information also includes relative geographic location indicating the geographic location of the other client device relative to client device 120.
- the relative geographic location is represented by latitude and longitude information of the other client device.
- the relative geographic location also may be represented with a distance r between the other client device and client device 120, and a direction or angle ⁇ of the other client device relative to client device 120.
- the relative geographic location is obtained through calculations performed by server system 140 on the geographic location information of client device 120 and the other client device. To this end, server system 140 sends identity information and relative geographic location of the at least one other client device to client device 120 where the relative geographic location indicates the geographic location of the other client device relative to client device 120.
- client device 120 receives the identity information and the relative geographic location of the at least one other client device from server system 140.
- Step 314 client device 120 displays icons corresponding to other client devices on a predetermined interface, display content of the icons corresponds to identity information of other client devices, and display locations of the icons corresponds to the relative geographic location of other client devices.
- client device 120 displays predetermined interface 42 with icons 422 corresponding to the other client devices.
- each icon includes an avatar and a nickname of the user of the other client device and the location of each icon corresponds to geographic location of other client devices relative to client device 120 as represented by the 5- pointed star.
- client device 120 uses the central location of predetermined interface 42 (e.g., the 5-pointed star) to represent the location of client device 120, and displays icons 422 corresponding to the other client devices (not exceeding a predetermined number) on other locations of predetermined interface 42 where the relative location relationship between the display location of each icon 422 and the central location is determined by geographic location of the other client devices relative to client device 120.
- predetermined interface 42 e.g., the 5-pointed star
- the background displays a radar diffusion animation, and a distance r' between the display location of each icon 422 and the central location is determined by a distance r in the relative geographic location of the corresponding other client device and a direction or an angle ⁇ ' of the display location of each icon 422 relative to the central location is determined by ⁇ in the relative geographic location of the corresponding other client device.
- the user of client device 120 is enabled to complete predetermined processing such as adding friends, initiating a group chat, or inviting other users to play a game.
- Step 316 client device 120 detects an instruction triggered based on the
- client device 120 in response clicking icon 422 corresponding to the other user whose nickname is “Xiao Zhezi,” client device 120 displays prompt box 424 for confirming whether to send a friend verification (or friend request) to the other user whose nickname is "Xiao Zhezi.”
- client device 120 receives an instruction triggered by the user for adding the user whose nickname is "Xiao Zhezi" as a friend.
- Step 318 client device 120 sends a request to server system 140 according to the instruction.
- Client device 120 according to the received instruction of adding the user whose nickname is "Xiao Zhezi" as a friend, sends a request for adding friends to server system 140, the request for adding friends carries identity information of the other client device (e.g., the unique identity of the user whose nickname is "Xiao Zhezi").
- Step 320 server system 140 completes predetermined processing according to the request sent by client device 120, where the predetermined processing includes adding friends or initiating a group chat.
- server system 140 receives the friend request sent by client device 120.
- server system 140 determines that the request is a request for adding friends, and sends a verification request to a corresponding other client device according to the identity information carried in the request for adding friends (e.g., the user whose nickname is "Xiao Zhezi").
- the identity information carried in the request for adding friends e.g., the user whose nickname is "Xiao Zhezi"
- corresponding other client device displays prompt box 428 for confirming whether to receive friend verification, as shown in Figure 4D. Further in this example, after the corresponding user confirms the friend verification request, the corresponding other client device sends a confirm instruction to server system 140. Thereafter, in this example, server system 140 receives the confirm instruction sent by the corresponding other client device, and then adds client device 120 and the corresponding other client device as friends.
- server system 140 can send an adding success signal to client device 120 and the corresponding other client device.
- client device 120 modifies the icon corresponding to the other client device.
- client device 120 adds a clock-like indication 432 representing adding the other client device as a friend to the lower right corner of the avatar of the other client device, and, after successfully adding the other client device as a friend, client device 120 adds a checkmark like (e.g., "V") indication 434 representing completion of adding the other client device as a friend to the lower right corner of the avatar for the other client device.
- a checkmark like e.g., "V”
- the method of recommending user information is as follows. After detecting a continuously triggered signal, client device 120 provides real-time geographic location information to server system 140. Server system 140 queries other client devices satisfying a predetermined condition. Server system 140 recommends user information of the other client devices that satisfy the predetermined condition to client device 120. This solves the problem that the buffered time span is too long, resulting in that the recommendation result is more likely to be valid for the current user of client device 120. With this method, the user information of the other client devices recommended by the server to the terminal is user information recommended based on accurate and real-time geographic location information. Thus, the user information of the other client devices is more effective in subsequent processing such as adding friends or initiating a group chat.
- This embodiment further sends relative geographic locations of other client devices to client device 120 through server system 140, client device 120 displays icons to the other client devices on a predetermined interface where the display locations of the icons correspond to the relative geographic locations of the other client devices.
- client device 120 displays icons to the other client devices on a predetermined interface where the display locations of the icons correspond to the relative geographic locations of the other client devices.
- users can quickly add friends among multiple persons in a convenient way. For example, current user A holds a temporary interdepartmental meeting with three other users B, C, and D who are strangers. In this example, user A hopes to add users B, C, and D as friends during the meeting, but after current user A uses the traditional "people in the vicinity" function, server system 140 returns user information of 50 other users requiring current user A to manually filter out other users B, C, and D from the 50 other users, and then they add each other as friends.
- Figure 5 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
- the method is performed in server-client environment 100 as shown in Figure 1 which includes client devices 120 and server system 140.
- this embodiment elaborates a second specific implementation manner in which client device 120 provides real-time geographic location information to server system 140.
- the user information recommending method includes the following steps.
- client device 120 detects a continuously triggered signal.
- client device 120 executes an information exchange program (e.g., an instant messaging application) which enables the user to send the continuously triggered signal.
- client device 120 is a smart phone with a touch screen display.
- client device 120 displays first interface 41 for the information exchange program including radar button 41 1 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to detect a continuously triggered signal.
- the duration period of the continuously triggered signal is determined by the amount of time the user rests their finger on radar button 411, such as 3 seconds or 10 seconds.
- the continuously triggered signal also may be detected by client device 120, when the user continuously shakes client device 120 for a duration period.
- Step 504 after detecting the continuously triggered signal, client device 120 obtains geographic location information through LBS (location based services).
- LBS is a value-added service which obtains location information (geographic coordinates, or geodetic coordinates) of a mobile device user via a telecommunication mobile operator's radio communication network (e.g., GSM network or CDMA network) or through external positioning (e.g., GPS), and with support of a GIS (Geographic Information System) platform, providing a corresponding service to the user.
- GIS Geographic Information System
- client device 120 obtains its own geographic location information through the LBS (e.g., latitude and longitude information). This step is well known to persons skilled in the art and is not explained in detail for the sake of brevity.
- Step 506 client device 120 sends the geographic location information to server system 140. Accordingly, server system 140 receives the geographic location information from client device 120.
- Step 508 server system 140 saves the geographic location information received client device 120 and takes the saved geographic location information as the real-time geographic location information for client device 120.
- Step 516 client device 120 sends a stop signal to server system 140 after the continuously triggered signal stops. For example, after the user of client device 120 lifts their finger from radar button 411 as shown in Figure 4A, client device 120 sends a stop signal to server system 140 indicating that the continuously triggered signal has stopped.
- Step 518 server system 140 stops saving the geographic location information after receiving the stop signal.
- step 506 and before step 518 the method further includes steps 510 to 514.
- Step 510 server system 140 queries at least one other client device that satisfies a predetermined condition for user information.
- the predetermined condition is satisfied when a distance between real-time effective geographic location information provided by other client devices and the real-time geographic location information provided by client device 120 is less than a threshold distance.
- the threshold may be 50 m, 100 m or 1 km, and the specific value varies with different embodiments.
- the predetermined condition is only satisfied according to attribute match, hobby match, age match and other possible strategies between the user of client device 120 and the users of the other client devices.
- the process by which the other client devices provide real-time geographic location information to server system 140 is similar or identical to the process described in step 502 to step 506.
- other client devices satisfying the predetermined condition are client devices intersecting client device 120 in duration periods of continuously triggered signals corresponding thereto.
- the other client devices satisfying the predetermined condition are other client devices whose buttons are pressed nearly at the same time as client device 120's button and with a distance therebetween being less than the threshold.
- the duration periods of continuously triggered signals on the client devices may be the same or different but there must be some intersection or overlap.
- Step 512 server system 140 recommends user information for the at least one other client device to client device 120.
- Server system 140 sends to client device 120 user information of the at least one other client device that satisfies the predetermined condition. Accordingly, client device 120 receives user information for at least one other client device in server-client environment
- server system 140 100 recommended by server system 140, where the at least one other client device satisfies the predetermined condition.
- the user information includes identity information such as unique identity (e.g., fictional or non-fictional), avatar, nickname, signature, and personal profile information.
- the user information also includes relative geographic location indicating the geographic location of the other client device relative to client device 120.
- the relative geographic location is represented by latitude and longitude information of the other client device.
- the relative geographic location also may be represented with a distance r between the other client device and client device 120, and a direction or angle ⁇ of the other client device relative to client device 120.
- the relative geographic location is obtained through calculations performed by server system 140 on the geographic location information of client device 120 and the other client device.
- server system 140 sends identity information and relative geographic location of the at least one other client device to client device 120 where the relative geographic location indicates the geographic location of the other client device relative to client device 120. Accordingly, client device 120 receives the identity information and the relative geographic location of the at least one other client device from server system 140.
- Step 514 client device 120 displays icons corresponding to other client devices on a predetermined interface, display content of the icons corresponds to identity information of other client devices, and display locations of the icons corresponds to the relative geographic location of the other client devices.
- client device 120 displays predetermined interface 62 with icons 622 corresponding to other client devices.
- each icon includes an avatar and a nickname of the user of the other client device and the location of each icon corresponds to geographic location of other client devices relative to client device 120 as represented by radar icon 411.
- the location of client device 120 is the origin of the polar coordinate system, and the relative geographic location of the other client device is represented with a polar coordinate (r, ⁇ ), where r indicates a distance between the other client device and client device 120 and ⁇ represents an angle of the other client device relative to client device 120.
- client device 120 uses the midpoint location of the bottom edge of predetermined interface 62 to represent the location of client device 120 (e.g., radar button 411 represents the location of client device 120), and then displays icons to the other client devices not exceeding a predetermined number on predetermined interface 62.
- the display location of the icon corresponding to other client device A is determined directly according to (r, ⁇ ), as the determination process shown in Figure 6B.
- the display location of the icon corresponding to other client device B is determined according to (r, 360°- ⁇ ) or (r, 9-180°), as the determination process shown in Figure 6C or Figure 6D, respectively.
- the user of client device 120 is enabled complete predetermined processing such as adding friends, initiating a group chat or inviting other uses to play a game.
- the recommending process is executed multiple times (e.g., on predetermined interface 62) whereby the user of client device 120 presses radar button 411 once again, and server system 140 re-queries other client devices satisfying the predetermined condition.
- server system 140 re-queries other client devices satisfying the predetermined condition.
- client device 120 accumulatively displays multiple recommendation results on predetermined interface 62. However, the number of icons displayed on interface 62 should not exceed a predetermined number (e.g., 15).
- Step 520 client device 120 detects an instruction triggered based on the
- FIG. 6A with reference to initiating a group chat, when a user hopes to add multiple other client devices to initiate the group chat, the user clicks a group chat adding icon 624 on predetermined interface 62 displayed on client device 120. In this example, client device 120 then displays the group chat initiating interface as shown in Figure 6E or Figure 6F. Continuing with this example, after the user selects several icons 622 corresponding to other client devices and clicks "start the group chat" button 626, client device 120 receives an instruction triggered by the user for adding other client devices to the group chat.
- Step 522 client device 120 sends a request to server system 140 according to the instruction.
- client device 120 sends a request for initiating a group chat to server system.
- server system 140 completes predetermined processing according to the request sent by client device 120, and the predetermined processing includes adding friends or initiating a group chat.
- Server system 140 receives the request sent by the client device 120 according to the instruction triggered based on the predetermined interface.
- server system 140 After receiving the request for initiating a group chat sent by client device 120 as shown in Figure 6E or Figure 6F, server system 140 adds client device 120 and other client devices corresponding to the users whose nicknames are "Xiao Zhezi,” “Xiao Dengzi,” and "Xiao Fengzi" to the same group chat.
- the process of adding the other client devices to the group chat does not requires consent from the users of the other client devices.
- the process of adding the other client devices to the group chat does require consent from the users of the other client devices.
- the method of recommending user information is as follows. After detecting a continuously triggered signal, client device 120 provides real-time geographic location information to server system 140. Server system 140 queries other client devices satisfying a predetermined condition. Server system 140 recommends user information of the other client devices that satisfy the predetermined condition to client device 120. This solves the problem that the buffered time span is too long, resulting in that the recommendation result is more likely to be valid for the current user of client device 120. With this method, the user information of the other client devices recommended by the server to the terminal is user information recommended based on accurate and real-time geographic location information. Thus, the user information of the other client devices is more effective in subsequent processing such as adding friends or initiating a group chat.
- This embodiment further sends relative geographic locations of other client devices to client device 120 through server system 140, client device 120 displays icons to the other client devices on a predetermined interface where the display locations of the icons correspond to the relative geographic locations of the other client devices.
- client device 120 displays icons to the other client devices on a predetermined interface where the display locations of the icons correspond to the relative geographic locations of the other client devices.
- users can quickly add friends among multiple persons in a convenient way. For example, current user A holds a temporary interdepartmental meeting with three other users B, C, and D who are strangers. In this example, user A hopes to add users B, C, and D as friends during the meeting, but after current user A uses the traditional "people in the vicinity" function, server system 140 returns user information of 50 other users requiring current user A to manually filter out other users B, C, and D from the 50 other users, and then they add each other as friends.
- FIG. 7 is a block diagram of client-side module 720 and a server-side module 740 for recommending user information in accordance with some embodiments.
- client-side module 720 is associated with an information exchange program (e.g., a group chat application) which is executed at client device 120.
- server-side module 740 is associated with the information exchange program (e.g., a group chat application) which is executed at server system 140.
- client-side module 720 and a server-side module 740 are connected with each other via a wired network or a wireless network (e.g., one or more networks
- client-side module 720 includes: detecting module 722;
- detecting module 722 is configured to detect a continuously triggered signal.
- information providing module 724 is configured to provide a message to server-side module 740 after detecting the continuously triggered signal.
- the message includes real-time geographic location information and time interval information (e.g., a start and/or stop signal for the continuously triggered signal).
- information receiving module 726 is configured to receive user information of at least one other client device recommended by server-side module 740.
- server-side module 740 includes: information receiving module 742; information querying module 744; and information recommending module 746.
- information receiving module 742 is configured to obtain the message provided by client-side module 720.
- information querying module 744 is configured to query at least one other client device that satisfies a predetermined condition for user information.
- the predetermined condition is satisfied when a distance between real-time geographic location information provided by the at least one other client device and the real-time geographic location information provided by client-side module 720 is less than a threshold distance.
- information recommending module 746 is configured to recommend user information of the at least one other client device to client-side module 720.
- FIG 8 is a block diagram of client-side module 720 and a server-side module 740 for recommending user information in accordance with some embodiments.
- client-side module 720 is associated with an information exchange program (e.g., a group chat application) which is executed at client device 120.
- server-side module 740 is associated with the information exchange program (e.g., a group chat application) which is executed at server system 140.
- client-side module 720 and a server-side module 740 are connected with each other via a wired network or a wireless network (e.g., one or more networks 115, Figure 1).
- client-side module 720 includes: detecting module 722;
- information providing module 724 information receiving module 726; displaying module 727; instruction receiving module 728; and requesting module 729.
- detecting module 722 is configured to detect a continuously triggered signal.
- information providing module 724 is configured to provide a message to server-side module 740 after detecting the continuously triggered signal.
- the message includes real-time geographic location information and time interval information (e.g., a start and/or stop signal for the continuously triggered signal).
- information providing module 724 includes: information obtaining unit 724a; and first sending unit 724b.
- information obtaining unit 724a is configured to obtain geographic location information through an LBS (location based service) after detecting the continuously triggered signal.
- LBS location based service
- first sending unit 724b is configured to send the geographic location information periodically to server-side module 740 according to a predetermined time interval ⁇ 1 in the duration period of the continuously triggered signal.
- information receiving module 726 is configured to receive user information of at least one other client device recommended by server-side module 740.
- displaying module 727 is configured to display a
- the predetermined interface with icons corresponding to the other client devices correspond to icons corresponding to the other client devices.
- the display content of the icons correspond to identity information of the other client devices
- the display locations of the icons correspond to relative geographic location of the other client devices.
- displaying module 727 is configured to use the central location of the predetermined interface to represent the location of client device 120 (e.g., as in Figures 4C-4E). In another implementation, displaying module 727 is configured to set the location of client device 120 as the origin of the polar coordinate system (e.g., as in Figures 6A-6D). As such, the midpoint location of the bottom edge of the predetermined interface represents the location of client device 120 and the relative geographic location of the other client devices is represented with a polar coordinate (r, ⁇ ), where r indicates a distance between the other client device and client device 120 and ⁇ represents an angle of the other client device relative to client device 120.
- instruction receiving module 728 is configured to detect an instruction triggered based on the predetermined interface (e.g., selection of one of icons 422 in predetermined interface 42, Figure 4C or selection of one of icons 622 in predetermined interface 62, Figure 6A).
- requesting module 729 is configured to send a request to server-side module 740 according to the detected instruction.
- server-side module 740 completes predetermined processing according to the request (e.g., adding friends or initiating a group chat).
- server-side module 740 includes: information receiving module 742; information querying module 744; information recommending module 746; and predetermined processing module 748.
- information receiving module 742 is configured to obtain the message provided by client-side module 720.
- information receiving module 742 includes: first receiving unit
- first receiving unit 742a is configured to receive geographic location information sent by the terminal periodically according to a predetermined time interval ⁇ 1 in the duration period of the continuously triggered signal.
- first saving unit 742b is configured to save the geographic location information received each time for a predetermined time interval ⁇ 2 and to take the saved geographic location information as real-time geographic location information of client device 120.
- ⁇ 1 is less than the duration period of the continuously triggered signal.
- ⁇ 2 is equal to or greater than the ⁇ 1 and less than the duration period of the continuously triggered signal.
- information querying module 744 is configured to query at least one other client device that satisfies a predetermined condition for user information for user information.
- the predetermined condition is satisfied when a distance between real-time geographic location information provided by the at least one other client device and the real-time geographic location information provided by client-side module 720 is less than a threshold distance.
- information recommending module 746 is configured to recommend user information of the at least one other client device to client-side module 720.
- the user information includes identity information and relative geographic location of the at least one other client device to client-side module 720.
- the relative geographic location indicates the geographic location of the other client device relative to client device 120.
- predetermined processing module 748 is configured to complete predetermined processing according to the request sent by client-side module 720.
- the predetermined processing includes adding friends or initiating a group chat.
- FIG 9 is a block diagram of client-side module 720 and a server-side module 740 for recommending user information in accordance with some embodiments.
- client-side module 720 is associated with an information exchange program (e.g., a group chat application) which is executed at client device 120.
- server-side module 740 is associated with the information exchange program (e.g., a group chat application) which is executed at server system 140.
- client-side module 720 and a server-side module 740 are connected with each other via a wired network or a wireless network (e.g., one or more networks 1 15, Figure 1).
- client-side module 720 includes: detecting module 722;
- information providing module 724 information receiving module 726; displaying module 727; instruction receiving module 728; and requesting module 729.
- detecting module 722 is configured to detect a continuously triggered signal.
- information providing module 724 is configured to provide a message to server-side module 740 after detecting the continuously triggered signal.
- the message includes real-time geographic location information and time interval information (e.g., a start and/or stop signal for the continuously triggered signal).
- information providing module 724 further includes:
- information obtaining unit 724A is configured to obtain geographic location information through an LBS after detecting the continuously triggered signal.
- second sending unit 724B is configured to send the geographic location information to server-side module 740.
- third sending unit 724C is configured to send a stop signal to server system 140 after the continuously triggered signal stops.
- information receiving module 726 is configured to receive user information of at least one other client device recommended by server-side module 740.
- displaying module 727 is configured to display a
- the predetermined interface with icons corresponding to the other client devices correspond to icons corresponding to the other client devices.
- the display content of the icons correspond to identity information of the other client devices
- the display locations of the icons correspond to relative geographic location of the other client devices.
- displaying module 727 is configured to use the central location of the predetermined interface to represent the location of client device 120 (e.g., as in Figures 4C-4E). In another implementation, displaying module 727 is configured to set the location of client device 120 as the origin of the polar coordinate system (e.g., as in Figures 6A-6D). As such, the midpoint location of the bottom edge of the predetermined interface represents the location of client device 120 and the relative geographic location of the other client devices is represented with a polar coordinate (r, ⁇ ), where r indicates a distance between the other client device and client device 120 and ⁇ represents an angle of the other client device relative to client device 120.
- instruction receiving module 728 is configured to detect an instruction triggered based on the predetermined interface (e.g., selection of one of icons 422 in predetermined interface 42, Figure 4C or selection of one of icons 622 in predetermined interface 62, Figure 6A).
- predetermined interface e.g., selection of one of icons 422 in predetermined interface 42, Figure 4C or selection of one of icons 622 in predetermined interface 62, Figure 6A.
- requesting module 729 is configured to send a request to server-side module 740 according to the detected instruction.
- server-side module 740 completes predetermined processing according to the request (e.g., adding friends or initiating a group chat).
- server-side module 740 includes: information receiving module 742; information querying module 744; information recommending module 746; and predetermined processing module 748.
- information receiving module 742 is configured to obtain the message provided by client-side module 720.
- information receiving module 742 includes: second receiving unit 742A; second saving unit 742B; third receiving unit 742C; and stop saving unit 742D.
- second receiving unit 742A is configured to receive geographic location information sent by client-side module 720.
- second saving unit 742B is configured to save the geographic location information sent by client-side module 720 and take the saved geographic location information as the real-time geographic location information for client device 120.
- third receiving unit 742C is configured to receive a stop signal sent by client-side module 720.
- stop saving unit 742D is configured to stop saving the geographic location information after receiving the stop signal.
- information querying module 744 is configured to query at least one other client device that satisfies a predetermined condition for user information.
- the predetermined condition is satisfied when a distance between real-time geographic location information provided by the at least one other client device and the real-time geographic location information provided by client-side module 720 is less than a threshold distance.
- information recommending module 746 is configured to recommend user information of the at least one other client device to client-side module 720.
- the user information includes identity information and relative geographic location of the at least one other client device to client-side module 720.
- the relative geographic location indicates the geographic location of the other client device relative to client device 120.
- predetermined processing module 748 is configured to complete predetermined processing according to the request sent by client-side module 720.
- the predetermined processing includes adding friends or initiating a group chat.
- data processing for an information exchange program e.g., a group chat or instant messaging application
- client-side module 720 executed on a client device 120-1, 120-2
- server-side processing 740 executed on a server system 140.
- Client-side module 720 communicates with server-side module 740 through one or more networks 115.
- Client-side module 720 provides client-side functionalities associated with the information exchange program such as client-facing input and output processing, communications with server-side module 740.
- Server-side module 740 provides server-side functionalities associated with the information exchange program for any number of client modules 720 each residing on a respective client device 120.
- server-side module 740 includes one or more processors 1012, user data 1014, information exchange data 1016, an I/O interface to one or more clients 1018, and an I/O interface to one or more external services 1020.
- I/O interface to one or more clients 1018 facilitates the client-facing input and output processing for server-side module 740.
- One or more processors 1012 receive messages and requests from client devices 120.
- User data 1014 stores information corresponding to the messages and requests from client devices 120
- information exchange data 1016 stores information (e.g., predetermined interfaces) corresponding to the information exchange program.
- server-side module 740 communicates with one or more external services 1022 (e.g., content providers) through one or more networks 115. I/O interface to one or more external services 1020 facilitates such communications.
- client device 120 examples include, but are not limited to, a handheld computer, a wearable computing device, a personal digital assistant (PDA), a tablet computer, a laptop computer, a desktop computer, a cellular telephone, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, a media player, a navigation device, a game console, a television, a remote control, or a combination of any two or more of these data processing devices or other data processing devices.
- PDA personal digital assistant
- EGPS enhanced general packet radio service
- Examples of one or more networks 115 include local area networks (“LAN”) and wide area networks (“WAN”) such as the Internet.
- LAN local area networks
- WAN wide area networks
- One or more networks 115 are, optionally, implemented using any known network protocol, including various wired or wireless protocols, such as Ethernet, Universal Serial Bus (USB), FIREWIRE, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wi-Fi, voice over Internet Protocol (VoIP), Wi-MAX, or any other suitable communication protocol.
- USB Universal Serial Bus
- GSM Global System for Mobile Communications
- EDGE Enhanced Data GSM Environment
- CDMA code division multiple access
- TDMA time division multiple access
- Bluetooth Wi-Fi
- Wi-Fi voice over Internet Protocol
- VoIP voice over Internet Protocol
- Wi-MAX wireless wide area network
- Server system 140 is implemented on one or more standalone data processing apparatuses or a distributed network of computers.
- server system 140 also employs various virtual devices and/or services of third party service providers (e.g., third-party cloud service providers) to provide the underlying computing resources and/or infrastructure resources of server system 140.
- third party service providers e.g., third-party cloud service providers
- server-client environment 100 shown in Figure 10 includes both a client- side portion (e.g., client-side module 720) and a server-side portion (e.g., server-side module 740), in some embodiments, data processing is implemented as a standalone application installed on client device 120.
- client-side module 720 is a thin-client that provides only user- facing input and output processing functions, and delegates all other data processing functionalities to a backend server (e.g., server system 140).
- Figure 1 1A is a block diagram illustrating a representative client device 120 associated with a user in accordance with some embodiments.
- Client device 120 typically, includes one or more processing units (CPUs) 1102, one or more network interfaces 1104, memory 1 106, and one or more communication buses 1 108 for interconnecting these components (sometimes called a chipset).
- Client device 120 also includes a user interface 1 1 10.
- User interface 11 10 includes one or more output devices 1 1 12 that enable presentation of media content, including one or more speakers and/or one or more visual displays.
- User interface 11 10 also includes one or more input devices 11 14, including user interface components that facilitate user input such as a keyboard, a mouse, a voice- command input unit or microphone, a touch screen display, a touch-sensitive input pad, a gesture capturing camera, or other input buttons or controls. Furthermore, some client devices 120 use a microphone and voice recognition or a camera and gesture recognition to supplement or replace the keyboard.
- Memory 1106 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices.
- Memory 1106, optionally, includes one or more storage devices remotely located from one or more processing units 1 102. Memory 1106, or alternatively the non- volatile memory device(s) within memory 1106, includes a non-transitory computer readable storage medium. In some implementations, memory 1106, or the non-transitory computer readable storage medium of memory 1106, stores the following programs, modules, and data structures, or a subset or superset thereof:
- operating system 1 116 including procedures for handling various basic system services and for performing hardware dependent tasks
- network communication module 11 18 for connecting client device 120 to other computing devices (e.g., server system 140) connected to one or more networks 115 via one or more network interfaces 1104 (wired or wireless); • presentation module 1120 for enabling presentation of information (e.g., a user interface for a widget, webpage, or an application, audio and/or video content, text, etc.) at client device 120 via one or more output devices 1112 (e.g., displays, speakers, etc.) associated with user interface 1110; and
- input processing module 1122 for detecting one or more user inputs or interactions from one of the one or more input devices 1114 and interpreting the detected input or interaction.
- memory 1106 also includes client-side module 720 for performing client-side data processing for the information exchange program (e.g., a group chat application).
- client-side module 720 includes, but is not limited to:
- detecting module 722 for detecting a continuously triggered signal and/or a stop signal
- • information providing module 724 for providing a message (e.g., timestamp and location information) to server-side module 740 after detecting the continuously triggered signal and or ceasing to detect the continuously triggered signal;
- a message e.g., timestamp and location information
- information receiving module 726 for receiving user information of at least one other client device recommended by server-side module 740;
- instruction receiving module 728 for detecting an instruction triggered based on the
- memory 1106 also includes one or more client data modules
- One or more client data modules 1140 include, but are not limited to:
- user profile module 1142 storing a profile associated with the user of client device 120
- custom parameters e.g., age, location, hobbies
- identified trends and/or likes/dis likes e.g., trends and/or likes/dis likes
- Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above.
- the above identified modules or programs i.e., sets of instructions
- memory 1106, optionally, stores a subset of the modules and data structures identified above.
- memory 1106, optionally, stores additional modules and data structures not described above.
- FIG. 1 IB is a block diagram illustrating server system 140 in accordance with some embodiments.
- Server system 140 typically, includes one or more processing units (CPUs) 1012, one or more network interfaces 1154 (e.g., including I/O interface to one or more clients 1018 and I/O interface to one or more external services 1020), memory 1156, and one or more communication buses 1158 for interconnecting these components (sometimes called a chipset).
- Memory 1156 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non- volatile solid state storage devices.
- Memory 1156 optionally, includes one or more storage devices remotely located from one or more processing units 1012. Memory 1156, or alternatively the non-volatile memory device(s) within memory 1156, includes a non-transitory computer readable storage medium. In some implementations, memory 1156, or the non-transitory computer readable storage medium of memory 1156, stores the following programs, modules, and data structures, or a subset or superset thereof:
- operating system 1160 including procedures for handling various basic system services and for performing hardware dependent tasks
- network communication module 1162 that is used for connecting server system 140 to other computing devices (e.g., client devices 140 and one or more external services 1022) connected to one or more networks 115 via one or more network interfaces 1154 (wired or wireless);
- server-side module 740 for performing server-side data processing for the information
- exchange program e.g., a group chat application
- group chat application including but not limited to:
- o information receiving module 742 for obtaining the message provided by client-side module 720;
- o information querying module 744 for querying at least one other client device that satisfies a predetermined condition for user information
- o determining unit 1164 for determining whether the at least one other client device satisfies the predetermined condition
- o identifying unit 1166 for identifying a set of client devices that satisfy the predetermined condition
- o identity assigning unit 1168 for assigning a fictional identity to each of the set of client devices that satisfy the predetermined condition; and o information recommending module 746 for recommending user information (e.g., identity and location information) of the at least one other client device to client-side module 720; and
- server data modules 1180 storing data for the information exchange program, including but not limited to:
- one or more user profiles module 1172 storing one or more user profiles each associated with a respective user of a client device, including custom parameters (e.g., age, location, hobbies) and identified trends and/or likes/dis likes;
- o user data module 1014 storing information associated with user interactions with the information exchange program
- o information exchange data module 1016 storing information (e.g., predetermined interfaces) corresponding to the information exchange program.
- Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above.
- the above identified modules or programs i.e., sets of instructions
- memory 1156 optionally, stores a subset of the modules and data structures identified above.
- memory 1156 optionally, stores additional modules and data structures not described above.
- FIG. 12A-12C illustrate exemplary user interfaces for providing information to a set of participants of an information exchange program in accordance with some embodiments.
- Figures 12A-12C show user interfaces displayed on client device 120 (e.g., a mobile phone); however, one skilled in the art will appreciate that the user interfaces shown in Figures 12A- 12C may be implemented on other similar computing devices.
- client device 120 e.g., a mobile phone
- Figure 12A illustrates client device displaying user interface 1200 for an information exchange program.
- user interface 1200 includes a request prompting the user of client device 120 to select radar affordance 1202, which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a message to server system 140 at least including location information and a timestamp.
- Figure 12B illustrates client device displaying user interface 1210 for an information exchange program.
- user interface 1210 includes a poll/survey question: "Which speaker did you find most informative and applicable to your practice?" and a plurality of corresponding answer affordances 1212-1, 1212-2, and 1212-3 for responding to the poll/survey question.
- Figure 12C illustrates client device displaying user interface 1220 for an information exchange program.
- user interface 1220 is associated with a group chat for a "28 November 2013 Panel Discussion.”
- user interface 1220 includes a sequence of messages 1222 from users in the group chat (e.g., at least including the user of client device 120 and users 123 and 789).
- user interface 1220 also includes dialog box 1224 in which the user of client device 120 can type characters to participate in the group chat and private chat affordance 1226, which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the group chat to a permanent group chat where the users' identities are revealed.
- Figure 13 is a flowchart diagram of a method 1300 of providing information to a set of participants of an information exchange program in accordance with some embodiments.
- method 1300 is performed by an electronic device with one or more processors and memory.
- method 1300 is performed by a server system (e.g., server system 140, Figures 1, 10, and 1 IB) or a component thereof (e.g., server-side module 720, Figures 7-10 and 1 IB).
- method 1300 is governed by instructions that are stored in a non-transitory computer readable storage medium and the instructions are executed by one or more processors of the electronic device.
- server system 140 provides a first user interface (e.g., a UI prompting participation) to the mobile device including a request prompting the user to provide the message to indicate participation in the information exchange program.
- a first user interface e.g., a UI prompting participation
- the organizer of a conference provides a first user interface to conference attendees via an information exchange program or application (e.g., a group chat or instant messaging application) so as to indicate their participation and attention.
- Figure 12A shows user interface 1200 for the information exchange program displayed on client device 120.
- user interface 1200 prompts the user to select radar button 1204 to indicate their participation in the information exchange program.
- server system 140 obtains (1302) a message from a mobile device, where the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location.
- client device 120 transmits a message to server system 140 including a timestamp and location information (e.g., current coordinates of client device 120).
- server system 140 determines (1304) whether the timestamp is within a predefined time interval. For example, the conference organizer defines a 30 second time window within which users must select their respective radar affordances to send their input to the organizer indicating that they are attentive and still in attendance.
- server system 140 determines (1306) whether the location is within a predefined spatial radius.
- the conference organizer defines a spatial radius within which users must select their respective radar affordances to send their input to the organizer.
- the spatial radius is defined such that the message must come from a client device that is inside of the conference room and not outside on the streets or in a passing taxi.
- server system 140 in accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, server system 140 identifies (1308) the user as one of a set of participants of an information exchange program. Users must respond within a specified time window and also the user must be with a specified spatial radius to become part of the set/group.
- server system 140 provides (1310) information to mobile devices associated with the set of participants.
- the linked set/group of users are all determined to be attentive/awake and close by.
- attendees use an information exchange program (e.g., a group chat or instant messaging application) on their mobile devices to connect with an organizer.
- a poll/survey is pushed to the attendees' devices and the attendees respond anonymously.
- the attendees join a temporary group chat to provide questions to the organizer, where the attendees are assigned fictional identities.
- the group chat is made into a permanent thread and the attendees' true identities are revealed.
- the information includes a second user interface including a poll or survey.
- Figure 12B shows client device displaying user interface 1210 including a poll/survey question for the information exchange program pushed to conference attendees by the conference organizer.
- server system 140 receives a second message from the mobile device responding to the poll or survey. For example, with reference to Figure 12B, user of client device 120 selects one of the answer affordances 1212, and, in response, client device 120 sends the user's response to server system 140.
- the second message is anonymous.
- the message including the user's response to the poll/survey does not include identity information associated with the user so as keep poll/survey responses anonymous.
- the information includes a third user interface for a group chat with the set of participants.
- Figure 12C shows client device displaying user interface
- the group chat at least includes the user of client device 120 and users 123 and 789.
- server system 140 assigns a fictional identity to the user of the mobile device for use in the group chat.
- users are assigned random identities such as users 123 and 789.
- server system 140 provides an option to convert the group chat to a permanent group chat, where a non- fictional identity of the user of the mobile device is revealed to the set of participants in the permanent group chat.
- user interface 1220 includes private chat affordance 1226, which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the group chat to a permanent group chat where the users' identities are revealed.
- the user of client device 120 is enabled to initiate a private chat with one or more users in the group chat so as to develop a personal relationship with users outside of the conference.
- the user of client device 120 can establish a permanent group chat or chat thread with one or more users met at the conference to foster and continue business opportunities.
- FIG. 14A-14C illustrate exemplary user interfaces for providing information to a set of participants of an information exchange program in accordance with some embodiments.
- Figures 14A-14C show user interfaces displayed on client device 120 (e.g., a mobile phone); however, one skilled in the art will appreciate that the user interfaces shown in Figures 14A- 14C may be implemented on other similar computing devices.
- client device 120 e.g., a mobile phone
- user 1412 is associated with client device 120, and users 1422, 1432,
- client device 120 detects a contact at a location corresponding to radar button 411 as shown in Figure 4A for time interval 1414 (e.g., 8 seconds in duration).
- time interval 1414 e.g. 8 seconds in duration
- user 1412 presses radar button 411 with their finger and lifts their finger at the end of time interval 1414.
- client device 120 transmits its geographic location to server system 140 upon detecting the contact, which begins time interval 1414, and client device 120 transmits a stop signal, upon no longer detecting the contact, which ends time interval 1414.
- server system 140 determines a set of users that satisfy a predetermined condition by determining a set of users whose respective time intervals overlap time interval 1414 for at least a predetermined duration (e.g., 2 seconds) and sends identity and location information to client device 120 for the set of users.
- time interval 1424 associated with user 1422 intersects time interval 1414 for the predetermined duration in overlap period 1426.
- time interval 1434 associated with user 1432 intersects time interval 1414 for the predetermined duration in overlap period 1436.
- time interval 1444 associated with user 1442 intersects time interval 1414 for the predetermined duration in overlap period 1446.
- time interval 1454 associated with user 1452 fails to intersect time interval 1414 for the predetermined duration in overlap period 1456 (e.g., only 1 second, and not the predetermined duration of 2 seconds).
- server system 140 transmits to client device 120 identity and location information for users that satisfy the predetermined duration in real time.
- server system 140 transmits to client device 120 identity and location information corresponding to user 1422, and upon receiving identity and location information corresponding to user 1422, client device 120 displays map 1462 including the location of user 1422 relative to client device 120 (e.g., represented by the 5-pointed star).
- server system 140 transmits to client device 120 identity and location information corresponding to user 1432, and upon receiving identity and location information corresponding to user 1432, client device 120 displays map 1464 including the location of users 1422 and 1432 relative to client device 120. Then, after determining that overlap period 1446 intersects time interval 1414 for the predetermined duration, server system 140 transmits to client device 120 identity and location information corresponding to user 1442, and upon receiving identity and location information corresponding to user 1442, client device 120 displays map 1466 including the location of users 1422, 1432, and 1442 relative to client device 120.
- server system 140 does not transmit to client device 120 identity and location information corresponding to user 1452, and client device 120 continues to display map 1466 including the location of users 1422, 1432, and 1442 relative to client device 120.
- user 1412 is associated with client device 120, and users 1422, 1432, 14142, 1452, and 1472 are associated with other client devices.
- client device 120 detects a contact at a location corresponding to radar button 411 as shown in Figure 4 A for time interval 1414 (e.g., 8 seconds in duration).
- time interval 1414 e.g. 8 seconds in duration
- user 1412 presses radar button 41 1 with their finger and lifts their finger at the end of time interval 1414.
- client device 120 transmits its geographic location to server system 140 upon detecting the contact, which begins time interval 1414, and client device 120 transmits a stop signal, upon no longer detecting the contact, which ends time interval 1414.
- server system 140 determines a set of users that satisfy a predetermined condition by determining a time period in which a maximum number of time intervals associated with other users overlap time interval 1414 of the user of client device 120 for at least a predetermined duration (e.g., 2 seconds).
- server system 140 determines time period 1482 where time interval 1424 associated with user 1222, time interval 1434 associated with user 1432, and time interval 1444 associated with user 1242 overlap time interval 1414 for the predetermined duration (e.g., 2 seconds).
- Server system then identifies users 1422, 1432, and 1442 as the set of users that satisfy the predetermined condition.
- server system 140 transmits to client device 120 identity and location information for users 1422, 1432, and 1442. Then, upon receiving identity and location information corresponding to the set of users, client device 120 displays map 1484 including the location of users 1422, 1432, and 1442 relative to client device 120 (e.g., represented by the 5-pointed star).
- Figure 14C illustrates client device displaying group chat user interface 1486 for an information exchange program.
- group chat user interface 1486 includes a map with the location of users 1422, 1432, and 1442 relative to client device 120 (e.g., represented by the 5- pointed star).
- group chat user interface 1486 also includes chat dialog 1488 associated with user 1422 (e.g., "Hello world!”) and private chat affordance 1494 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the group chat to a permanent group chat where the users' identities are revealed.
- chat dialog 1488 ceases to be displayed or fades out after a predetermined time period (e.g., 3, 5, 10, etc. seconds).
- Figure 14C also illustrates client device displaying group chat user interface 1490 for an information exchange program.
- group chat user interface 1490 includes a map with the location of users 1422, 1432, and 1442 relative to client device 120 (e.g., represented by the 5- pointed star).
- group chat user interface 1490 also includes chat dialog 1492 associated with user 1442 (e.g., "Nice to meet you.”).
- chat dialog 1490 is user 1442's response to chat dialog 1488 from user 422 in user interface 1486.
- Figure 15 is a flowchart diagram of a method 1500 of providing information to a set of participants of an information exchange program in accordance with some embodiments.
- method 1 00 is performed by an electronic device with one or more processors and memory.
- method 1500 is performed by a mobile device (e.g., client device 120, Figures 1, 10, and 1 1A) or a component thereof (e.g., client-side module 720, Figures 7-10 and 11A).
- method 1 00 is governed by instructions that are stored in a non-transitory computer readable storage medium and the instructions are executed by one or more processors of the electronic device.
- client device 120 detects (1502) a first user input from a first user of the mobile device and an associated time interval during which the first user input is detected, (e.g., touch and press gesture). For example, client device 120 detects a contact at a location corresponding to radar button 411 as shown in Figure 4 A for time interval 1414 (e.g., 8 seconds in duration). In this example, user 1412 presses radar button 411 with their finger and lifts their finger at the end of time interval 1414.
- time interval 1414 e.g. 8 seconds in duration
- client device 120 provides (1504) a message to a remote server system in response to the first user input, the message including a location associated with the mobile device and information of the time interval.
- client device 120 obtains (1506) identity and location information for a set of users from the remote server system, where: a respective user in the set of users generated a user input through the respective user's remote device at a respective location and during a respective time interval; and the respective location and time interval satisfy a
- time interval 1424 associated with user 1422 represents the time period in which user 1422 pressed the radar button on their respective client device.
- the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user for at least a predefined time period.
- the respective user satisfies the predetermined condition when there is a predetermined overlap period (e.g., 1, 5, 10, etc. seconds) between the first user's time interval and the respective user's time interval and the respective user is located with a predetermined spatial distance (e.g., 1, 5, 10, etc. km) of the location associated with the mobile device.
- time interval 1424 associated with user 1422 e.g., the respective user
- time interval 1414 associated with user 1412 e.g., the first user
- predetermined duration e.g. 2 seconds
- the map displayed by client device 10 is populated in real-time as server system 140 determines that other users have pressed their respective radar button for at least the predetermined overlap period (e.g., 2 seconds) while the first user is pressing the radar button.
- client device 120 upon receiving identity and location information corresponding to user 1422, displays map 1462 including the location of user 1422 relative to client device 120.
- client device 120 upon receiving identity and location information corresponding to user 1432, displays map 1464 including the location of users 1422 and 1432 relative to client device 120.
- the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user and the other users in the set of users for at least a same predefined time period (e.g., a same 1, 5, 10, etc. time period in which time intervals for first user and the set of users overlap).
- a same predefined time period e.g., a same 1, 5, 10, etc. time period in which time intervals for first user and the set of users overlap.
- the respective user satisfies the predetermined condition when the respective user's time interval is included in a time period in which a maximum number of time intervals associated with other users overlap the time interval of the user of client device 120 for at least a predetermined duration (e.g., 2 seconds) and the respective user is located with a predetermined spatial distance (e.g., 1, 5, 10, etc. km) of the location associated with the mobile device.
- a predetermined duration e.g., 2 seconds
- a predetermined spatial distance e.g., 1, 5, 10, etc. km
- user 1422 satisfies the predetermined condition because time interval 1424 associated with user 1422 (e.g., the respective user) overlaps time period 1482 for the predetermined duration (e.g., 2 seconds).
- time interval 1454 associated with user 1452 does not overlap time period 1482 for the predetermined duration (e.g., 2 seconds).
- client device 120 transmits a stop signal to server system 140, and server system 140 determines a set of users who have a shared overlap of at least N seconds within time interval 1414.
- server system 140 determines that users 1422, 1432, and 1442 have time intervals that overlap time interval 1414 in time period 1482 for at least 2 seconds.
- client device 120 displays map 1484 with the location of users 1422, 1432, and 1442 relative to the location of client device 120.
- other users satisfy the predetermined condition when they have a parameter or trait in common with the user of the client (e.g., same hobby, age, language, current town, etc.).
- client device 120 displays (1508) a map including a plurality of icons, each icon representing a corresponding location of one of the set of users relative to the first user.
- client device 120 display maps 1466 including the location of users 1422, 1432, and 1442 relative to client device 120.
- client device 120 displays map 1484 with the location of users 1422, 1432, and 1442 relative to the location of client device 120.
- client device 120 prior to joining the group chat, detects a second input from the first user selecting a respective icon of the plurality of icons; and, in response to detecting the second user input, sending a friend request to a respective user corresponding to the respective icon.
- client device 120 detects the user selecting the icon associated with user 1432 (e.g., a tap gesture with the user's finger) in user interface 1486 of Figure 14C.
- client device in response to detecting selection of the icon associated with user 1432, client device sends a friend request to user 1432 or causes a friend request to be sent to user 1432.
- the one or more icons include a fictional identify for the first user and each of the set of users.
- users 1422, 1432, and 1442 are associated with avatars or character icons and nicknames but no real identifying information so as to protect the personal information of users 1422, 1432, and 1442. This is done because user interfaces 1486 and 1490 are user interfaces for a public group chat where the users included in the public group chat may be strangers.
- client device 120 joins (1510) an information exchange program with at least one of the set of users.
- client device 120 displays group chat user interfaces 1486 and 1490 for an information exchange program.
- the group chat is a public group chat that at least includes users 1422, 1432, and 1442 and the user of client device 120.
- client device 120 provides an option to the first user to convert the information exchange program into a private session, where a non-fictional identity of the first user and non-fictional identities of the set of users are revealed.
- user interfaces 1486 and 1490 includes private chat affordance 1494 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the public group chat to a private group chat where the users' identities are revealed.
- the private group chat also becomes a permanent thread accessible in the future to the users included in the private group chat.
- joining the information exchange program includes joining a private session with the respective user, where identities of the first user and the respective user are revealed. For example, when the second user accepts the friend request prior to initiating the chat, it is assumed that the first and second users' trust each other and that their true identities can be used for the group chat. Thus, due to acceptation of the friend request, the first and second users join a private group chat that does not include private chat affordance 1494 as in Figure 14C.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
An electronic device (e.g., a server system) with one or more processors and memory obtains a message from a mobile device, where the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location. The electronic device determines whether the timestamp is within a predefined time interval and whether the location is within a predefined spatial radius. In accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, the electronic device identifies the user as one of a set of participants of an information exchange program. The electronic device provides information to mobile devices associated with the set of participants of the information exchange program.
Description
METHOD AND DEVICE FOR ENABLING AN IDENTIFIED SET OF PARTICIPANTS OF AN INFORMATION EXCHANGE PROGRAM TO
EXCHANGE INFORMATION
Description
RELATED APPLICATION
[0001] This application claims priority to Chinese Patent Application Serial No.
201310179559.0, entitled "METHOD, APPARATUS, EQUIPMENT, AND SYSTEM FOR
RECOMMENDING USER INFORMATION", filed May 15, 2013, which is incorporated herein by reference in its entirety.
FIELD OF THE INVENTION
[0002] The present invention relates to the field of Internet technologies, and more
particularly to a method and device for providing information to a set of participants of an
information exchange program.
BACKGROUND OF THE INVENTION
[0003] With development of the mobile Internet, instant messaging programs have become one of the most widely used applications on mobile devices such as smart phones, tablet computers, e-book readers, or handheld PCs.
[0004] With instant messaging programs, adding friends is the most commonly used function.
However, when users are not originally friends, they are usually strangers. This makes is difficult to quickly and easily obtaining user information about these strangers. To this end, a method of recommending user information that utilizes LBS (Location Based Service) may be provided. For example, a current user sends a request to a server using a "people in the vicinity" function, and the current user uploads their geographic location information to the server. The server searches for other users with a distance not exceeding a predetermined threshold (e.g., 1 km) between the current user's geographic location information and other users. The server, then, recommends at least one other user's user information, which is buffered at the server, to the current user. Generally, the user information includes a unique identity, avatar, nickname, and/or signature. As such, the current user receives the user information and selectively adds friends according to the user information.
[0005] During the process of implementing the present invention, the inventor finds that the prior art at least has the following problems. The other users' geographic location information buffered at the server refers to geographic location information reported when the other users used the "people in the vicinity" function at some time in the past. Thus, the buffered time may have exceeded several hours or even days. As such, the other users may have left the place corresponding to the geographic location information being buffered; thus, the server's recommendation result may
not be valid for the current user, which cannot effectively contribute to successful completion of adding friends.
SUMMARY
[0006] In order to address the problems in the prior art, the embodiments of the present invention provide a method and device for providing information to a set of participants of an information exchange program.
[0007] In some embodiments, a method is performed at a server system with one or more processors and memory (e.g., server system 140, Figures 1, 10, and 1 IB). The method includes: obtaining a message from a mobile device, where the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location. The method also includes: determining whether the timestamp is within a predefined time interval; and determining whether the location is within a predefined spatial radius. The method further includes: in accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, identifying the user as one of a set of participants of an information exchange program; and providing information to mobile devices associated with the set of participants of the information exchange program.
[0008] In some embodiments, a method is performed at a mobile device with one or more processors, a touch screen display, and memory (e.g., client device 120, Figures 1, 10, and 11A). The method includes: detecting a first user input from a first user of the mobile device and an associated time interval during which the first user input is detected; and, in response to the first user input, providing a message to a remote server system, the message including a location associated with the mobile device and information of the time interval. The method also includes obtaining identity and location information for a set of users from the remote server system, where: a respective user in the set of users generated a user input through the respective user's remote device at a respective location and during a respective time interval; and the respective location and time interval satisfy a predetermined condition. The method further includes: displaying a map including a plurality of icons, each icon representing a corresponding location of one of the set of users relative to the first user; and joining an information exchange program with at least one of the set of users.
[0009] In some embodiments, an electronic device (e.g., client device 120, Figures 1, 10, and
11A or server system 140, Figures 1, 10, and 1 IB) includes one or more processors and memory storing one or more programs for execution by the one or more processors, the one or more programs include instructions for performing the operations of the methods described herein. In some embodiments, a non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by an electronic device (e.g., client device 120, Figures 1, 10, and 11A or server system 140, Figures 1, 10, and 1 IB) with one or
more processors, cause the electronic device to perform the operations of the methods described herein.
[0010] Various advantages of the present invention are apparent in light of the descriptions below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The aforementioned features and advantages of the invention as well as additional features and advantages thereof will be more clearly understood hereinafter as a result of a detailed description of preferred embodiments when taken in conjunction with the drawings.
[0012] To illustrate the technical solutions according to the embodiments of the present invention more clearly, the accompanying drawings for describing the embodiments are introduced briefly in the following. Apparently, the accompanying drawings in the following description are only some embodiments of the present invention; persons of ordinary skill in the art can obtain other drawings according to the accompanying drawings without paying any creative efforts.
[0013] Figure 1 is a block diagram of an implementation of a server-client environment in accordance with some embodiments.
[0014] Figure 2 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
[0015] Figure 3 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
[0016] Figures 4A-4E are user interfaces illustrating a method of recommending user information in accordance with some embodiments.
[0017] Figure 5 is a flowchart diagram of a method of recommending user information in accordance with some embodiments.
[0018] Figures 6A-6F are user interfaces illustrating a method of recommending user information in accordance with some embodiments.
[0019] Figures 7-9 are block diagrams of client-side and server-side modules for
recommending user information in accordance with some embodiments.
[0020] Figure 10 is a block diagram of a server-client environment in accordance with some embodiments.
[0021] Figure 11 A is a block diagram of a client device in accordance with some
embodiments.
[0022] Figure 1 IB is a block diagram of a server system in accordance with some embodiments.
[0023] Figures 12A-12C are user interfaces illustrating a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
[0024] Figure 13 is a flowchart diagram of a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
[0025] Figures 14A-14C are user interfaces illustrating a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
[0026] Figure 15 is a flowchart diagram of a method of providing information to a set of participants of an information exchange program in accordance with some embodiments.
[0027] Like reference numerals refer to corresponding parts throughout the several views of the drawings.
DESCRIPTION OF EMBODIMENTS
[0028] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the subject matter presented herein. But it will be apparent to one skilled in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
[0029] In order to make the objectives, technical solutions, and advantages of the present invention comprehensible, embodiments of the present invention are further described in detail below with reference to the accompanying drawings.
[0030] Figure 1 is a block diagram of an implementation of a server-client environment 100 in accordance with some embodiments. In some embodiments, server-client environment 100 includes two or more client devices 120 and a server system 140.
[0031] Client devices 120 are electronic devices executing an information exchange program
(e.g., a group chat or instant messaging application), and the electronic devices may be any one of: smart phones, tablet PCs, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 (Moving Picture Experts Group Audio Layer IV) players, laptop portable computers, desktop computers, and so on.
[0032] Client devices 120 and server system 140 are connected with each other via one or more networks 115 (wired or wireless).
[0033] Server system 140 is a server (e.g., a cloud computing service provider), or a server cluster consisting of two or more servers. For example, server system 140 is a background server of the information exchange program.
[0034] Figure 2 is a flowchart diagram of a method of recommending user information in accordance with some embodiments. In Figure 2, the method is performed in server-client environment 100 as shown in Figure 1 which includes client devices 120 and server system 140. The user information recommending method includes the following steps.
[0035] Step 202, client device 120 detects a continuously triggered signal. For example, the continuously triggered signal includes the user of client device 120 shaking the client device 120 for a period of time, pressing a certain physical button or touch screen virtual button on client device 120 for a period of time, or sending a predetermined voice signal to client device 120.
[0036] Step 204, after detecting the continuously triggered signal, client device 120 provides real-time geographic location information to server system 140, and the effective time period of the real-time geographic location information corresponds to the duration period of the continuously triggered signal. Accordingly, server system 140 receives the real-time geographic location information provided by client device 120.
[0037] Step 206, server system 140 queries at least one other client device that satisfies a predetermined condition for user information. In some embodiments, the predetermined condition is satisfied when a distance between real-time effective geographic location information provided by other client devices and the real-time geographic location information provided by client device 120 is less than a threshold distance.
[0038] Step 208, server system 140 recommends user information of at least one other client device to client device 120. Accordingly, client device 120 receives user information for at least one other client device in server-client environment 100 recommended by server system 140, where the at least one other client device satisfies the predetermined condition.
[0039] In sum, the method of recommending user information according to this embodiment is as follows. After detecting a continuously triggered signal, client device 120 provides real-time geographic location information to server system 140. Server system 140 queries other client devices satisfying a predetermined condition. Server system 140 recommends user information of the other client devices that satisfy the predetermined condition to client device 120. This solves the problem that the buffered time span is too long, resulting in that the recommendation result is more likely to be valid for the current user of client device 120. With this method, the user information of the other client devices recommended by the server to the terminal is user information recommended based on accurate and real-time geographic location information. Thus, the user information of the other client devices is more effective in subsequent processing such as adding friends or initiating a group chat.
[0040] As the real-time geographic location information provided by client device 120 to server system 140 includes two different implementations, the two implementations are elaborated below in two different embodiments.
[0041] Figure 3 is a flowchart diagram of a method of recommending user information in accordance with some embodiments. In Figure 3, the method is performed in server-client environment 100 as shown in Figure 1 which includes client devices 120 and server system 140. As a more preferred embodiment provided based on the embodiment shown in Figure 2, this embodiment elaborates a first specific implementation in which client device 120 provides real-time geographic
location information to server system 140. The user information recommending method includes the following steps.
[0042] Step 302, client device 120 detects a continuously triggered signal. For example, client device 120 executes an information exchange program (e.g., a group chat or instant messaging application) which enables the user to send the continuously triggered signal. In Figure 4A, for example, client device 120 is a smart phone with a touch screen display. In Figure 4A, client device 120 displays first interface 41 for the information exchange program including radar button 411 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to detect a continuously triggered signal. In this example, the duration period of the continuously triggered signal is determined by the amount of time the user rests their finger on radar button 41 1 such as 3 seconds or 10 seconds. In another example, the continuously triggered signal also may be detected by client device 120, when the user continuously shakes client device 120 for a duration period.
[0043] Step 304, after detecting the continuously triggered signal, client device 120 obtains geographic location information through LBS (location based services). LBS is a value-added service which obtains location information (geographic coordinates, or geodetic coordinates) of a mobile device user via a telecommunication mobile operator's radio communication network (e.g., GSM network or CDMA network) or through external positioning (e.g., GPS), and with support of a GIS (Geographic Information System) platform, providing a corresponding service to the user. After client device 120 detects the continuously triggered signal, client device 120 obtains its own geographic location information through the LBS (e.g., latitude and longitude information). This step is well known to persons skilled in the art and is not explained in detail for the sake of brevity.
[0044] Step 306, client device 120, in the duration period of the continuously triggered signal, sends the geographic location information periodically to server system 140 according to a predetermined time interval ΔΤ1.
[0045] In some embodiments, predetermined time interval ΔΤ1 is generally less than the duration period of the continuously triggered signal. For example, the duration period of the continuously triggered signal is usually measured according to "seconds," while predetermined time interval ΔΤ1 may be smaller orders of magnitude such as 1/10 seconds, 1/100 seconds or N milliseconds. In one example, where predetermined time interval ΔΤ1 is 1/5 seconds, client device 120 sends the geographic location information to server system 140 once every 1/5 seconds.
Generally, client device 120 can immediately send geographic location information to server system 140 for the first time after obtaining its geographic location information because the time in which client device 120 obtains the geographic location information through LBS is usually shorter than predetermined time interval ΔΤ1. Thereafter, client device 120 resends the geographic location information to server system 140 every 1/5 seconds until the continuously triggered signal stops. Accordingly, server system 140 receives the geographic location information from client device 120
periodically according to predetermined time interval ΔΤ1 in the duration period of the continuously triggered signal.
[0046] Step 308, server system 140 saves the geographic location information received each time for a predetermined time interval ΔΤ2 and takes the saved geographic location information as the real-time geographic location information for client device 120. In some embodiments, predetermined time interval ΔΤ2 is generally equal to predetermined time interval ΔΤ1. However, to be compatible with influences caused by network delay and the like, typically, predetermined time interval ΔΤ2 is slightly greater than predetermined time interval ΔΤ1, and less than the duration period of the continuously triggered signal. With reference to Figure 4B, predetermined time interval ΔΤ2 associated with client device 120 is 1/5 seconds.
[0047] Step 310, server system 140 queries at least one other client device that satisfies a predetermined condition for user information. In some embodiments, the predetermined condition is satisfied when a distance between real-time geographic location information provided by other client devices and the real-time geographic location information provided by client device 120 is less than a threshold distance. The threshold may be 50 m, 100 m or 1 km, and the specific value varies with different embodiments. In some embodiments, the predetermined condition is only satisfied according to attribute match, hobby match, age match and other possible strategies between the user of client device 120 and the users of the other client devices. The process by which the other client devices provide real-time geographic location information to server system 140 is similar or identical to the process described in step 302 to step 306.
[0048] The geographic location information of the other client devices saved at server system
140 is real-time geographic location information. In terms of the effect, other client devices satisfying the predetermined condition are client devices intersecting client device 120 in duration periods of continuously triggered signals corresponding thereto. In other words, taking that the continuously triggered signal is continuously pressing a button as an example, the other client devices satisfying the predetermined condition are other client devices whose buttons are pressed nearly at the same time as client device 120's button and with a distance therebetween being less than the threshold. The duration periods of continuously triggered signals on the client devices may be the same or different but there must be some intersection or overlap.
[0049] For example, if the user of other client device A lifts their finger from the button
(geographic location information reported by other client device A immediately stops being sent to server system 140) before the user of client device 120 presses their respective button, other client device A is not queried by server system 140 to determine whether other client device A satisfies the predetermined condition. In another example, if the user of other client device B selects their button after the user of client device 120 lifts their finger from their respective button (geographic location information reported by client device 120 immediately stops being sent to server system 140), other
client device B is not queried by server system 140 to determine whether other client device B satisfies the predetermined condition.
[0050] Step 312, server system 140 recommends user information for the at least one other client device to client device 120. Server system 140 sends to client device 120 user information of the at least one other client device that satisfies the predetermined condition. Accordingly, client device 120 receives user information for at least one other client device in server-client environment 100 recommended by server system 140, where the at least one other client device satisfies the predetermined condition.
[0051] In some embodiments, the user information includes identity information such as a unique identity (e.g., fictional or non-fictional), avatar, nickname, signature, and/or personal profile information. In some embodiments, the user information also includes relative geographic location indicating the geographic location of the other client device relative to client device 120. For example, the relative geographic location is represented by latitude and longitude information of the other client device. However, in some embodiments, the relative geographic location also may be represented with a distance r between the other client device and client device 120, and a direction or angle Θ of the other client device relative to client device 120. In some embodiments, the relative geographic location is obtained through calculations performed by server system 140 on the geographic location information of client device 120 and the other client device. To this end, server system 140 sends identity information and relative geographic location of the at least one other client device to client device 120 where the relative geographic location indicates the geographic location of the other client device relative to client device 120.
[0052] Accordingly, client device 120 receives the identity information and the relative geographic location of the at least one other client device from server system 140.
[0053] Step 314, client device 120 displays icons corresponding to other client devices on a predetermined interface, display content of the icons corresponds to identity information of other client devices, and display locations of the icons corresponds to the relative geographic location of other client devices.
[0054] In Figure 4C, for example, client device 120 displays predetermined interface 42 with icons 422 corresponding to the other client devices. In Figure 4C, for example, each icon includes an avatar and a nickname of the user of the other client device and the location of each icon corresponds to geographic location of other client devices relative to client device 120 as represented by the 5- pointed star.
[0055] With reference to Figure 4C, client device 120 uses the central location of predetermined interface 42 (e.g., the 5-pointed star) to represent the location of client device 120, and displays icons 422 corresponding to the other client devices (not exceeding a predetermined number) on other locations of predetermined interface 42 where the relative location relationship between the
display location of each icon 422 and the central location is determined by geographic location of the other client devices relative to client device 120. In Figure 4C, for example, the five-pointed star displayed at the central location of predetermined interface 42 represents the location of client device
120, the background displays a radar diffusion animation, and a distance r' between the display location of each icon 422 and the central location is determined by a distance r in the relative geographic location of the corresponding other client device and a direction or an angle θ' of the display location of each icon 422 relative to the central location is determined by Θ in the relative geographic location of the corresponding other client device. Subsequently, according to the icons displayed by client device 120, the user of client device 120 is enabled to complete predetermined processing such as adding friends, initiating a group chat, or inviting other users to play a game.
[0056] Step 316, client device 120 detects an instruction triggered based on the
predetermined interface. In Figure 4D, with reference to adding friends, when the user hopes to add a user whose nickname is "Xiao Zhezi" as a friend, the user can click icon 422 corresponding to the other user whose nickname is "Xiao Zhezi" in predetermined interface 42 displayed on client device
120. In this example, in response clicking icon 422 corresponding to the other user whose nickname is "Xiao Zhezi," client device 120 displays prompt box 424 for confirming whether to send a friend verification (or friend request) to the other user whose nickname is "Xiao Zhezi." Continuing with this example, after the user clicks "Yes" button 426 in prompt box 424, client device 120 receives an instruction triggered by the user for adding the user whose nickname is "Xiao Zhezi" as a friend.
[0057] Step 318, client device 120 sends a request to server system 140 according to the instruction. Client device 120, according to the received instruction of adding the user whose nickname is "Xiao Zhezi" as a friend, sends a request for adding friends to server system 140, the request for adding friends carries identity information of the other client device (e.g., the unique identity of the user whose nickname is "Xiao Zhezi").
[0058] Step 320, server system 140 completes predetermined processing according to the request sent by client device 120, where the predetermined processing includes adding friends or initiating a group chat. In Figure 4D, for example, server system 140 receives the friend request sent by client device 120. In this example, server system 140 determines that the request is a request for adding friends, and sends a verification request to a corresponding other client device according to the identity information carried in the request for adding friends (e.g., the user whose nickname is "Xiao Zhezi"). Continuing with this example, after receiving the verification request, the
corresponding other client device displays prompt box 428 for confirming whether to receive friend verification, as shown in Figure 4D. Further in this example, after the corresponding user confirms the friend verification request, the corresponding other client device sends a confirm instruction to server system 140. Thereafter, in this example, server system 140 receives the confirm instruction
sent by the corresponding other client device, and then adds client device 120 and the corresponding other client device as friends.
[0059] If adding friends is successful, server system 140 can send an adding success signal to client device 120 and the corresponding other client device. In response to the success signal, client device 120 modifies the icon corresponding to the other client device. In Figure 4E, for example, after client device 120 sends the request for adding friends to server system 140, client device 120 adds a clock-like indication 432 representing adding the other client device as a friend to the lower right corner of the avatar of the other client device, and, after successfully adding the other client device as a friend, client device 120 adds a checkmark like (e.g., "V") indication 434 representing completion of adding the other client device as a friend to the lower right corner of the avatar for the other client device.
[0060] In sum, the method of recommending user information according to this embodiment is as follows. After detecting a continuously triggered signal, client device 120 provides real-time geographic location information to server system 140. Server system 140 queries other client devices satisfying a predetermined condition. Server system 140 recommends user information of the other client devices that satisfy the predetermined condition to client device 120. This solves the problem that the buffered time span is too long, resulting in that the recommendation result is more likely to be valid for the current user of client device 120. With this method, the user information of the other client devices recommended by the server to the terminal is user information recommended based on accurate and real-time geographic location information. Thus, the user information of the other client devices is more effective in subsequent processing such as adding friends or initiating a group chat.
[0061] This embodiment further sends relative geographic locations of other client devices to client device 120 through server system 140, client device 120 displays icons to the other client devices on a predetermined interface where the display locations of the icons correspond to the relative geographic locations of the other client devices. As such, users can quickly add friends among multiple persons in a convenient way. For example, current user A holds a temporary interdepartmental meeting with three other users B, C, and D who are strangers. In this example, user A hopes to add users B, C, and D as friends during the meeting, but after current user A uses the traditional "people in the vicinity" function, server system 140 returns user information of 50 other users requiring current user A to manually filter out other users B, C, and D from the 50 other users, and then they add each other as friends. As the whole process requires multiple clicking, switching interfaces and other steps, it may take a significant amount of time, and the process is inefficient. However, through the method of recommending user information in this embodiment, after users A, B, C, and D simultaneously press their respective radar buttons on their respective client devices, they obtain an interfaces similar to the one in Figure 4C. The process of adding each other as friends may only cost a few seconds, and as the display location of each icon is relevant to the actual
geographic location information of each terminal, the users may have more accuracy and efficiency in the process of adding friends.
[0062] Figure 5 is a flowchart diagram of a method of recommending user information in accordance with some embodiments. In Figure 5, the method is performed in server-client environment 100 as shown in Figure 1 which includes client devices 120 and server system 140. As a more preferred embodiment provided based on the embodiment shown in Figure 2, this embodiment elaborates a second specific implementation manner in which client device 120 provides real-time geographic location information to server system 140. The user information recommending method includes the following steps.
[0063] Step 502, client device 120 detects a continuously triggered signal. For example, client device 120 executes an information exchange program (e.g., an instant messaging application) which enables the user to send the continuously triggered signal. In Figure 4A, for example, client device 120 is a smart phone with a touch screen display. In Figure 4A, client device 120 displays first interface 41 for the information exchange program including radar button 41 1 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to detect a continuously triggered signal. In this example, the duration period of the continuously triggered signal is determined by the amount of time the user rests their finger on radar button 411, such as 3 seconds or 10 seconds. In another example, the continuously triggered signal also may be detected by client device 120, when the user continuously shakes client device 120 for a duration period.
[0064] Step 504, after detecting the continuously triggered signal, client device 120 obtains geographic location information through LBS (location based services). LBS is a value-added service which obtains location information (geographic coordinates, or geodetic coordinates) of a mobile device user via a telecommunication mobile operator's radio communication network (e.g., GSM network or CDMA network) or through external positioning (e.g., GPS), and with support of a GIS (Geographic Information System) platform, providing a corresponding service to the user. After client device 120 detects the continuously triggered signal, client device 120 obtains its own geographic location information through the LBS (e.g., latitude and longitude information). This step is well known to persons skilled in the art and is not explained in detail for the sake of brevity.
[0065] Step 506, client device 120 sends the geographic location information to server system 140. Accordingly, server system 140 receives the geographic location information from client device 120.
[0066] Step 508, server system 140 saves the geographic location information received client device 120 and takes the saved geographic location information as the real-time geographic location information for client device 120.
[0067] Step 516, client device 120 sends a stop signal to server system 140 after the continuously triggered signal stops. For example, after the user of client device 120 lifts their finger
from radar button 411 as shown in Figure 4A, client device 120 sends a stop signal to server system 140 indicating that the continuously triggered signal has stopped.
[0068] Step 518, server system 140 stops saving the geographic location information after receiving the stop signal.
[0069] After step 506 and before step 518, the method further includes steps 510 to 514.
[0070] Step 510, server system 140 queries at least one other client device that satisfies a predetermined condition for user information. In some embodiments, the predetermined condition is satisfied when a distance between real-time effective geographic location information provided by other client devices and the real-time geographic location information provided by client device 120 is less than a threshold distance. The threshold may be 50 m, 100 m or 1 km, and the specific value varies with different embodiments. In some embodiments, the predetermined condition is only satisfied according to attribute match, hobby match, age match and other possible strategies between the user of client device 120 and the users of the other client devices. The process by which the other client devices provide real-time geographic location information to server system 140 is similar or identical to the process described in step 502 to step 506.
[0071] The geographic location information of the other client devices saved at server system
140 is real-time geographic location information. In terms of the effect, other client devices satisfying the predetermined condition are client devices intersecting client device 120 in duration periods of continuously triggered signals corresponding thereto. In other words, taking that the continuously triggered signal is continuously pressing a button as an example, the other client devices satisfying the predetermined condition are other client devices whose buttons are pressed nearly at the same time as client device 120's button and with a distance therebetween being less than the threshold. The duration periods of continuously triggered signals on the client devices may be the same or different but there must be some intersection or overlap.
[0072] For example, if the user of other client device A lifts their finger from the button
(geographic location information reported by other client device A immediately stops being sent to server system 140) before the user of client device 120 presses their respective button, other client device A is not queried by server system 140 to determine whether other client device A satisfies the predetermined condition. In another example, if the user of other client device B selects their button after the user of client device 120 lifts their finger from their respective button (geographic location information reported by client device 120 immediately stops being sent to server system 140), other client device B is not queried by server system 140 to determine whether other client device B satisfies the predetermined condition.
[0073] Step 512, server system 140 recommends user information for the at least one other client device to client device 120. Server system 140 sends to client device 120 user information of the at least one other client device that satisfies the predetermined condition. Accordingly, client
device 120 receives user information for at least one other client device in server-client environment
100 recommended by server system 140, where the at least one other client device satisfies the predetermined condition.
[0074] In some embodiments, the user information includes identity information such as unique identity (e.g., fictional or non-fictional), avatar, nickname, signature, and personal profile information. In some embodiments, the user information also includes relative geographic location indicating the geographic location of the other client device relative to client device 120. For example, the relative geographic location is represented by latitude and longitude information of the other client device. However, in some embodiments, the relative geographic location also may be represented with a distance r between the other client device and client device 120, and a direction or angle Θ of the other client device relative to client device 120. In some embodiments, the relative geographic location is obtained through calculations performed by server system 140 on the geographic location information of client device 120 and the other client device. To this end, server system 140 sends identity information and relative geographic location of the at least one other client device to client device 120 where the relative geographic location indicates the geographic location of the other client device relative to client device 120. Accordingly, client device 120 receives the identity information and the relative geographic location of the at least one other client device from server system 140.
[0075] Step 514, client device 120 displays icons corresponding to other client devices on a predetermined interface, display content of the icons corresponds to identity information of other client devices, and display locations of the icons corresponds to the relative geographic location of the other client devices.
[0076] In Figure 6A, for example, client device 120 displays predetermined interface 62 with icons 622 corresponding to other client devices. In Figure 6A, for example, each icon includes an avatar and a nickname of the user of the other client device and the location of each icon corresponds to geographic location of other client devices relative to client device 120 as represented by radar icon 411.
[0077] In some embodiments, the location of client device 120 is the origin of the polar coordinate system, and the relative geographic location of the other client device is represented with a polar coordinate (r, Θ), where r indicates a distance between the other client device and client device 120 and Θ represents an angle of the other client device relative to client device 120. In Figure 6A, for example, client device 120 uses the midpoint location of the bottom edge of predetermined interface 62 to represent the location of client device 120 (e.g., radar button 411 represents the location of client device 120), and then displays icons to the other client devices not exceeding a predetermined number on predetermined interface 62.
[0078] In some embodiments, if Θ in the relative geographic location (r, Θ) of other client device A belongs to (0, 180°), the display location of the icon corresponding to other client device A is determined directly according to (r, Θ), as the determination process shown in Figure 6B. In some embodiments, if Θ in the relative geographic location (r, Θ) of other client device B belongs to (180°, 360°), the display location of the icon corresponding to other client device B is determined according to (r, 360°-θ) or (r, 9-180°), as the determination process shown in Figure 6C or Figure 6D, respectively. Then, according to the icons displayed by client device 120, the user of client device 120 is enabled complete predetermined processing such as adding friends, initiating a group chat or inviting other uses to play a game.
[0079] In some embodiments, the recommending process is executed multiple times (e.g., on predetermined interface 62) whereby the user of client device 120 presses radar button 411 once again, and server system 140 re-queries other client devices satisfying the predetermined condition. In some embodiments, as long as predetermined interface 62 is not aborted or a predetermined timeout duration (e.g., 15 minutes) is not reached, client device 120 accumulatively displays multiple recommendation results on predetermined interface 62. However, the number of icons displayed on interface 62 should not exceed a predetermined number (e.g., 15).
[0080] Step 520, client device 120 detects an instruction triggered based on the
predetermined interface. In Figure 6A, with reference to initiating a group chat, when a user hopes to add multiple other client devices to initiate the group chat, the user clicks a group chat adding icon 624 on predetermined interface 62 displayed on client device 120. In this example, client device 120 then displays the group chat initiating interface as shown in Figure 6E or Figure 6F. Continuing with this example, after the user selects several icons 622 corresponding to other client devices and clicks "start the group chat" button 626, client device 120 receives an instruction triggered by the user for adding other client devices to the group chat.
[0081] Step 522, client device 120 sends a request to server system 140 according to the instruction. With reference to Figure 6E or Figure 6F, according to the received instruction of adding users whose nicknames are "Xiao Zhezi," "Xiao Dengzi," and "Xiao Fengzi" to the group chat, client device 120 sends a request for initiating a group chat to server system.
[0082] Step 524, server system 140 completes predetermined processing according to the request sent by client device 120, and the predetermined processing includes adding friends or initiating a group chat. Server system 140 receives the request sent by the client device 120 according to the instruction triggered based on the predetermined interface. After receiving the request for initiating a group chat sent by client device 120 as shown in Figure 6E or Figure 6F, server system 140 adds client device 120 and other client devices corresponding to the users whose nicknames are "Xiao Zhezi," "Xiao Dengzi," and "Xiao Fengzi" to the same group chat. In some embodiments, the process of adding the other client devices to the group chat does not requires
consent from the users of the other client devices. In some embodiments, the process of adding the other client devices to the group chat does require consent from the users of the other client devices.
[0083] In sum, the method of recommending user information according to this embodiment is as follows. After detecting a continuously triggered signal, client device 120 provides real-time geographic location information to server system 140. Server system 140 queries other client devices satisfying a predetermined condition. Server system 140 recommends user information of the other client devices that satisfy the predetermined condition to client device 120. This solves the problem that the buffered time span is too long, resulting in that the recommendation result is more likely to be valid for the current user of client device 120. With this method, the user information of the other client devices recommended by the server to the terminal is user information recommended based on accurate and real-time geographic location information. Thus, the user information of the other client devices is more effective in subsequent processing such as adding friends or initiating a group chat.
[0084] This embodiment further sends relative geographic locations of other client devices to client device 120 through server system 140, client device 120 displays icons to the other client devices on a predetermined interface where the display locations of the icons correspond to the relative geographic locations of the other client devices. As such, users can quickly add friends among multiple persons in a convenient way. For example, current user A holds a temporary interdepartmental meeting with three other users B, C, and D who are strangers. In this example, user A hopes to add users B, C, and D as friends during the meeting, but after current user A uses the traditional "people in the vicinity" function, server system 140 returns user information of 50 other users requiring current user A to manually filter out other users B, C, and D from the 50 other users, and then they add each other as friends. As the whole process requires multiple clicking, switching interfaces and other steps, it may take a significant amount of time, and the process is inefficient. However, through the method of recommending user information in this embodiment, after users A, B, C, and D simultaneously press their respective radar buttons on their respective client devices, they obtain an interfaces similar to the one in Figure 4C. The process of adding each other as friends may only cost a few seconds, and as the display location of each icon is relevant to the actual geographic location information of each terminal, the users may have more accuracy and efficiency in the process of adding friends.
[0085] Figure 7 is a block diagram of client-side module 720 and a server-side module 740 for recommending user information in accordance with some embodiments. In some embodiments, client-side module 720 is associated with an information exchange program (e.g., a group chat application) which is executed at client device 120. In some embodiments, server-side module 740 is associated with the information exchange program (e.g., a group chat application) which is executed at server system 140. In some embodiments, client-side module 720 and a server-side module 740
are connected with each other via a wired network or a wireless network (e.g., one or more networks
115, Figure 1).
[0086] In some embodiments, client-side module 720 includes: detecting module 722;
information providing module 724; and information receiving module 726.
[0087] In some embodiments, detecting module 722 is configured to detect a continuously triggered signal.
[0088] In some embodiments, information providing module 724 is configured to provide a message to server-side module 740 after detecting the continuously triggered signal. In some embodiments, the message includes real-time geographic location information and time interval information (e.g., a start and/or stop signal for the continuously triggered signal).
[0089] In some embodiments, information receiving module 726 is configured to receive user information of at least one other client device recommended by server-side module 740.
[0090] In some embodiments, server-side module 740 includes: information receiving module 742; information querying module 744; and information recommending module 746.
[0091] In some embodiments, information receiving module 742 is configured to obtain the message provided by client-side module 720.
[0092] In some embodiments, information querying module 744 is configured to query at least one other client device that satisfies a predetermined condition for user information. In some embodiments, the predetermined condition is satisfied when a distance between real-time geographic location information provided by the at least one other client device and the real-time geographic location information provided by client-side module 720 is less than a threshold distance.
[0093] In some embodiments, information recommending module 746 is configured to recommend user information of the at least one other client device to client-side module 720.
[0094] Figure 8 is a block diagram of client-side module 720 and a server-side module 740 for recommending user information in accordance with some embodiments. In some embodiments, client-side module 720 is associated with an information exchange program (e.g., a group chat application) which is executed at client device 120. In some embodiments, server-side module 740 is associated with the information exchange program (e.g., a group chat application) which is executed at server system 140. In some embodiments, client-side module 720 and a server-side module 740 are connected with each other via a wired network or a wireless network (e.g., one or more networks 115, Figure 1).
[0095] In some embodiments, client-side module 720 includes: detecting module 722;
information providing module 724; information receiving module 726; displaying module 727; instruction receiving module 728; and requesting module 729.
[0096] In some embodiments, detecting module 722 is configured to detect a continuously triggered signal.
[0097] In some embodiments, information providing module 724 is configured to provide a message to server-side module 740 after detecting the continuously triggered signal. In some embodiments, the message includes real-time geographic location information and time interval information (e.g., a start and/or stop signal for the continuously triggered signal).
[0098] In some embodiments, information providing module 724 includes: information obtaining unit 724a; and first sending unit 724b.
[0099] In some embodiments, information obtaining unit 724a is configured to obtain geographic location information through an LBS (location based service) after detecting the continuously triggered signal.
[00100] In some embodiments, first sending unit 724b is configured to send the geographic location information periodically to server-side module 740 according to a predetermined time interval ΔΤ1 in the duration period of the continuously triggered signal.
[00101] In some embodiments, information receiving module 726 is configured to receive user information of at least one other client device recommended by server-side module 740.
[00102] In some embodiments, displaying module 727 is configured to display a
predetermined interface with icons corresponding to the other client devices. In some embodiments, the display content of the icons correspond to identity information of the other client devices, and the display locations of the icons correspond to relative geographic location of the other client devices.
[00103] In one implementation, displaying module 727 is configured to use the central location of the predetermined interface to represent the location of client device 120 (e.g., as in Figures 4C-4E). In another implementation, displaying module 727 is configured to set the location of client device 120 as the origin of the polar coordinate system (e.g., as in Figures 6A-6D). As such, the midpoint location of the bottom edge of the predetermined interface represents the location of client device 120 and the relative geographic location of the other client devices is represented with a polar coordinate (r, Θ), where r indicates a distance between the other client device and client device 120 and Θ represents an angle of the other client device relative to client device 120.
[00104] In some embodiments, instruction receiving module 728 is configured to detect an instruction triggered based on the predetermined interface (e.g., selection of one of icons 422 in predetermined interface 42, Figure 4C or selection of one of icons 622 in predetermined interface 62, Figure 6A).
[00105] In some embodiments, requesting module 729 is configured to send a request to server-side module 740 according to the detected instruction. In turn, server-side module 740 completes predetermined processing according to the request (e.g., adding friends or initiating a group chat).
[00106] In some embodiments, server-side module 740 includes: information receiving module 742; information querying module 744; information recommending module 746; and predetermined processing module 748.
[00107] In some embodiments, information receiving module 742 is configured to obtain the message provided by client-side module 720.
[00108] In some embodiments, information receiving module 742 includes: first receiving unit
742a; and first saving unit 742b.
[00109] In some embodiments, first receiving unit 742a is configured to receive geographic location information sent by the terminal periodically according to a predetermined time interval ΔΤ1 in the duration period of the continuously triggered signal.
[00110] In some embodiments, first saving unit 742b is configured to save the geographic location information received each time for a predetermined time interval ΔΤ2 and to take the saved geographic location information as real-time geographic location information of client device 120. In some embodiments, ΔΤ1 is less than the duration period of the continuously triggered signal. In some embodiments, ΔΤ2 is equal to or greater than the ΔΤ1 and less than the duration period of the continuously triggered signal.
[00111] In some embodiments, information querying module 744 is configured to query at least one other client device that satisfies a predetermined condition for user information for user information. In some embodiments, the predetermined condition is satisfied when a distance between real-time geographic location information provided by the at least one other client device and the real-time geographic location information provided by client-side module 720 is less than a threshold distance.
[00112] In some embodiments, information recommending module 746 is configured to recommend user information of the at least one other client device to client-side module 720. In some embodiments, the user information includes identity information and relative geographic location of the at least one other client device to client-side module 720. In some embodiments, the relative geographic location indicates the geographic location of the other client device relative to client device 120.
[00113] In some embodiments, predetermined processing module 748 is configured to complete predetermined processing according to the request sent by client-side module 720. For example, the predetermined processing includes adding friends or initiating a group chat.
[00114] Figure 9 is a block diagram of client-side module 720 and a server-side module 740 for recommending user information in accordance with some embodiments. In some embodiments, client-side module 720 is associated with an information exchange program (e.g., a group chat application) which is executed at client device 120. In some embodiments, server-side module 740 is associated with the information exchange program (e.g., a group chat application) which is executed
at server system 140. In some embodiments, client-side module 720 and a server-side module 740 are connected with each other via a wired network or a wireless network (e.g., one or more networks 1 15, Figure 1).
[00115] In some embodiments, client-side module 720 includes: detecting module 722;
information providing module 724; information receiving module 726; displaying module 727; instruction receiving module 728; and requesting module 729.
[00116] In some embodiments, detecting module 722 is configured to detect a continuously triggered signal.
[00117] In some embodiments, information providing module 724 is configured to provide a message to server-side module 740 after detecting the continuously triggered signal. In some embodiments, the message includes real-time geographic location information and time interval information (e.g., a start and/or stop signal for the continuously triggered signal).
[00118] In some embodiments, information providing module 724 further includes:
information obtaining unit 724A; second sending unit 724B; and third sending unit 724C.
[00119] In some embodiments, information obtaining unit 724A is configured to obtain geographic location information through an LBS after detecting the continuously triggered signal.
[00120] In some embodiments, second sending unit 724B is configured to send the geographic location information to server-side module 740.
[00121] In some embodiments, third sending unit 724C is configured to send a stop signal to server system 140 after the continuously triggered signal stops.
[00122] In some embodiments, information receiving module 726 is configured to receive user information of at least one other client device recommended by server-side module 740.
[00123] In some embodiments, displaying module 727 is configured to display a
predetermined interface with icons corresponding to the other client devices. In some embodiments, the display content of the icons correspond to identity information of the other client devices, and the display locations of the icons correspond to relative geographic location of the other client devices.
[00124] In one implementation, displaying module 727 is configured to use the central location of the predetermined interface to represent the location of client device 120 (e.g., as in Figures 4C-4E). In another implementation, displaying module 727 is configured to set the location of client device 120 as the origin of the polar coordinate system (e.g., as in Figures 6A-6D). As such, the midpoint location of the bottom edge of the predetermined interface represents the location of client device 120 and the relative geographic location of the other client devices is represented with a polar coordinate (r, Θ), where r indicates a distance between the other client device and client device 120 and Θ represents an angle of the other client device relative to client device 120.
[00125] In some embodiments, instruction receiving module 728 is configured to detect an instruction triggered based on the predetermined interface (e.g., selection of one of icons 422 in
predetermined interface 42, Figure 4C or selection of one of icons 622 in predetermined interface 62, Figure 6A).
[00126] In some embodiments, requesting module 729 is configured to send a request to server-side module 740 according to the detected instruction. In turn, server-side module 740 completes predetermined processing according to the request (e.g., adding friends or initiating a group chat).
[00127] In some embodiments, server-side module 740 includes: information receiving module 742; information querying module 744; information recommending module 746; and predetermined processing module 748.
[00128] In some embodiments, information receiving module 742 is configured to obtain the message provided by client-side module 720.
[00129] In some embodiments, information receiving module 742 includes: second receiving unit 742A; second saving unit 742B; third receiving unit 742C; and stop saving unit 742D.
[00130] In some embodiments, second receiving unit 742A is configured to receive geographic location information sent by client-side module 720.
[00131] In some embodiments, second saving unit 742B is configured to save the geographic location information sent by client-side module 720 and take the saved geographic location information as the real-time geographic location information for client device 120.
[00132] In some embodiments, third receiving unit 742C is configured to receive a stop signal sent by client-side module 720.
[00133] In some embodiments, stop saving unit 742D is configured to stop saving the geographic location information after receiving the stop signal.
[00134] In some embodiments, information querying module 744 is configured to query at least one other client device that satisfies a predetermined condition for user information. In some embodiments, the predetermined condition is satisfied when a distance between real-time geographic location information provided by the at least one other client device and the real-time geographic location information provided by client-side module 720 is less than a threshold distance.
[00135] In some embodiments, information recommending module 746 is configured to recommend user information of the at least one other client device to client-side module 720. In some embodiments, the user information includes identity information and relative geographic location of the at least one other client device to client-side module 720. In some embodiments, the relative geographic location indicates the geographic location of the other client device relative to client device 120.
[00136] In some embodiments, predetermined processing module 748 is configured to complete predetermined processing according to the request sent by client-side module 720. For example, the predetermined processing includes adding friends or initiating a group chat.
[00137] As shown in Figure 10, data processing for an information exchange program (e.g., a group chat or instant messaging application) is implemented in a server-client environment 100 in accordance with some embodiments. Data processing for the information exchange program includes client-side processing 720-1 , 720-2 (hereinafter "client-side module 720") executed on a client device 120-1, 120-2 and server-side processing 740 (hereinafter "server-side module 740") executed on a server system 140. Client-side module 720 communicates with server-side module 740 through one or more networks 115. Client-side module 720 provides client-side functionalities associated with the information exchange program such as client-facing input and output processing, communications with server-side module 740. Server-side module 740 provides server-side functionalities associated with the information exchange program for any number of client modules 720 each residing on a respective client device 120.
[00138] In some embodiments, server-side module 740 includes one or more processors 1012, user data 1014, information exchange data 1016, an I/O interface to one or more clients 1018, and an I/O interface to one or more external services 1020. I/O interface to one or more clients 1018 facilitates the client-facing input and output processing for server-side module 740. One or more processors 1012 receive messages and requests from client devices 120. User data 1014 stores information corresponding to the messages and requests from client devices 120, and information exchange data 1016 stores information (e.g., predetermined interfaces) corresponding to the information exchange program. In some embodiments, server-side module 740 communicates with one or more external services 1022 (e.g., content providers) through one or more networks 115. I/O interface to one or more external services 1020 facilitates such communications.
[00139] Examples of client device 120 include, but are not limited to, a handheld computer, a wearable computing device, a personal digital assistant (PDA), a tablet computer, a laptop computer, a desktop computer, a cellular telephone, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, a media player, a navigation device, a game console, a television, a remote control, or a combination of any two or more of these data processing devices or other data processing devices.
[00140] Examples of one or more networks 115 include local area networks ("LAN") and wide area networks ("WAN") such as the Internet. One or more networks 115 are, optionally, implemented using any known network protocol, including various wired or wireless protocols, such as Ethernet, Universal Serial Bus (USB), FIREWIRE, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wi-Fi, voice over Internet Protocol (VoIP), Wi-MAX, or any other suitable communication protocol.
[00141] Server system 140 is implemented on one or more standalone data processing apparatuses or a distributed network of computers. In some embodiments, server system 140 also
employs various virtual devices and/or services of third party service providers (e.g., third-party cloud service providers) to provide the underlying computing resources and/or infrastructure resources of server system 140.
[00142] Although server-client environment 100 shown in Figure 10 includes both a client- side portion (e.g., client-side module 720) and a server-side portion (e.g., server-side module 740), in some embodiments, data processing is implemented as a standalone application installed on client device 120. In addition, the division of functionalities between the client and server portions of client environment data processing can vary in different embodiments. For example, in some embodiments, client-side module 720 is a thin-client that provides only user- facing input and output processing functions, and delegates all other data processing functionalities to a backend server (e.g., server system 140).
[00143] Figure 1 1A is a block diagram illustrating a representative client device 120 associated with a user in accordance with some embodiments. Client device 120, typically, includes one or more processing units (CPUs) 1102, one or more network interfaces 1104, memory 1 106, and one or more communication buses 1 108 for interconnecting these components (sometimes called a chipset). Client device 120 also includes a user interface 1 1 10. User interface 11 10 includes one or more output devices 1 1 12 that enable presentation of media content, including one or more speakers and/or one or more visual displays. User interface 11 10 also includes one or more input devices 11 14, including user interface components that facilitate user input such as a keyboard, a mouse, a voice- command input unit or microphone, a touch screen display, a touch-sensitive input pad, a gesture capturing camera, or other input buttons or controls. Furthermore, some client devices 120 use a microphone and voice recognition or a camera and gesture recognition to supplement or replace the keyboard. Memory 1106 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 1106, optionally, includes one or more storage devices remotely located from one or more processing units 1 102. Memory 1106, or alternatively the non- volatile memory device(s) within memory 1106, includes a non-transitory computer readable storage medium. In some implementations, memory 1106, or the non-transitory computer readable storage medium of memory 1106, stores the following programs, modules, and data structures, or a subset or superset thereof:
• operating system 1 116 including procedures for handling various basic system services and for performing hardware dependent tasks;
• network communication module 11 18 for connecting client device 120 to other computing devices (e.g., server system 140) connected to one or more networks 115 via one or more network interfaces 1104 (wired or wireless);
• presentation module 1120 for enabling presentation of information (e.g., a user interface for a widget, webpage, or an application, audio and/or video content, text, etc.) at client device 120 via one or more output devices 1112 (e.g., displays, speakers, etc.) associated with user interface 1110; and
• input processing module 1122 for detecting one or more user inputs or interactions from one of the one or more input devices 1114 and interpreting the detected input or interaction.
[00144] In some embodiments, memory 1106 also includes client-side module 720 for performing client-side data processing for the information exchange program (e.g., a group chat application). Client-side module 720 includes, but is not limited to:
• detecting module 722 for detecting a continuously triggered signal and/or a stop signal;
• information providing module 724 for providing a message (e.g., timestamp and location information) to server-side module 740 after detecting the continuously triggered signal and or ceasing to detect the continuously triggered signal;
• information receiving module 726 for receiving user information of at least one other client device recommended by server-side module 740;
• displaying module 727 for displaying a predetermined interface with icons corresponding to the other client devices;
• instruction receiving module 728 for detecting an instruction triggered based on the
predetermined interface; and
• requesting module 729 for sending a request to server-side module 740 according to the
detected instruction.
[00145] In some embodiments, memory 1106 also includes one or more client data modules
1140 storing data for the information exchange program. One or more client data modules 1140 include, but are not limited to:
• user profile module 1142 storing a profile associated with the user of client device 120
including custom parameters (e.g., age, location, hobbies) and identified trends and/or likes/dis likes; and
• user data module 1144 storing information associated with user interactions with the
information exchange program.
[00146] Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, modules or data structures, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, memory 1106, optionally, stores a subset of the modules and data structures
identified above. Furthermore, memory 1106, optionally, stores additional modules and data structures not described above.
[00147] Figure 1 IB is a block diagram illustrating server system 140 in accordance with some embodiments. Server system 140, typically, includes one or more processing units (CPUs) 1012, one or more network interfaces 1154 (e.g., including I/O interface to one or more clients 1018 and I/O interface to one or more external services 1020), memory 1156, and one or more communication buses 1158 for interconnecting these components (sometimes called a chipset). Memory 1156 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non- volatile solid state storage devices. Memory 1156, optionally, includes one or more storage devices remotely located from one or more processing units 1012. Memory 1156, or alternatively the non-volatile memory device(s) within memory 1156, includes a non-transitory computer readable storage medium. In some implementations, memory 1156, or the non-transitory computer readable storage medium of memory 1156, stores the following programs, modules, and data structures, or a subset or superset thereof:
• operating system 1160 including procedures for handling various basic system services and for performing hardware dependent tasks;
• network communication module 1162 that is used for connecting server system 140 to other computing devices (e.g., client devices 140 and one or more external services 1022) connected to one or more networks 115 via one or more network interfaces 1154 (wired or wireless);
• server-side module 740 for performing server-side data processing for the information
exchange program (e.g., a group chat application), including but not limited to:
o information receiving module 742 for obtaining the message provided by client-side module 720;
o information querying module 744 for querying at least one other client device that satisfies a predetermined condition for user information;
o determining unit 1164 for determining whether the at least one other client device satisfies the predetermined condition;
o identifying unit 1166 for identifying a set of client devices that satisfy the predetermined condition;
o identity assigning unit 1168 for assigning a fictional identity to each of the set of client devices that satisfy the predetermined condition; and
o information recommending module 746 for recommending user information (e.g., identity and location information) of the at least one other client device to client-side module 720; and
• one or more server data modules 1180 storing data for the information exchange program, including but not limited to:
o one or more user profiles module 1172 storing one or more user profiles each associated with a respective user of a client device, including custom parameters (e.g., age, location, hobbies) and identified trends and/or likes/dis likes;
o user data module 1014 storing information associated with user interactions with the information exchange program; and
o information exchange data module 1016 storing information (e.g., predetermined interfaces) corresponding to the information exchange program.
[00148] Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (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 implementations. In some implementations, memory 1156, optionally, stores a subset of the modules and data structures identified above. Furthermore, memory 1156, optionally, stores additional modules and data structures not described above.
[00149] Attention is now directed towards embodiments of user interfaces and associated processes that may be implemented on a respective client device 120 with one or more speakers enabled to output sound, one or more microphones enabled to receive sound input, and a touch screen display enabled to receive one or more contacts and display information (e.g., user interfaces for an information exchange program or application). Figures 12A-12C illustrate exemplary user interfaces for providing information to a set of participants of an information exchange program in accordance with some embodiments.
[00150] Figures 12A-12C show user interfaces displayed on client device 120 (e.g., a mobile phone); however, one skilled in the art will appreciate that the user interfaces shown in Figures 12A- 12C may be implemented on other similar computing devices.
[00151] Figure 12A illustrates client device displaying user interface 1200 for an information exchange program. In Figure 12 A, user interface 1200 includes a request prompting the user of client device 120 to select radar affordance 1202, which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a message to server system 140 at least including location information and a timestamp.
[00152] Figure 12B illustrates client device displaying user interface 1210 for an information exchange program. In Figure 12B, user interface 1210 includes a poll/survey question: "Which speaker did you find most informative and applicable to your practice?" and a plurality of corresponding answer affordances 1212-1, 1212-2, and 1212-3 for responding to the poll/survey question.
[00153] Figure 12C illustrates client device displaying user interface 1220 for an information exchange program. In Figure 12C, user interface 1220 is associated with a group chat for a "28 November 2013 Panel Discussion." In Figure 12C, user interface 1220 includes a sequence of messages 1222 from users in the group chat (e.g., at least including the user of client device 120 and users 123 and 789). In Figure 12C, user interface 1220 also includes dialog box 1224 in which the user of client device 120 can type characters to participate in the group chat and private chat affordance 1226, which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the group chat to a permanent group chat where the users' identities are revealed.
[00154] Figure 13 is a flowchart diagram of a method 1300 of providing information to a set of participants of an information exchange program in accordance with some embodiments. In some embodiments, method 1300 is performed by an electronic device with one or more processors and memory. For example, in some embodiments, method 1300 is performed by a server system (e.g., server system 140, Figures 1, 10, and 1 IB) or a component thereof (e.g., server-side module 720, Figures 7-10 and 1 IB). In some embodiments, method 1300 is governed by instructions that are stored in a non-transitory computer readable storage medium and the instructions are executed by one or more processors of the electronic device.
[00155] In some embodiments, prior to obtaining the message, server system 140 provides a first user interface (e.g., a UI prompting participation) to the mobile device including a request prompting the user to provide the message to indicate participation in the information exchange program. For example, the organizer of a conference provides a first user interface to conference attendees via an information exchange program or application (e.g., a group chat or instant messaging application) so as to indicate their participation and attention. Figure 12A, for example, shows user interface 1200 for the information exchange program displayed on client device 120. In Figure 12 A, user interface 1200 prompts the user to select radar button 1204 to indicate their participation in the information exchange program.
[00156] In some embodiments, server system 140 obtains (1302) a message from a mobile device, where the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location. For example, in response to detecting selection of radar affordance 1202 in Figure 12A, client device 120 transmits a message
to server system 140 including a timestamp and location information (e.g., current coordinates of client device 120).
[00157] In some embodiments, server system 140 determines (1304) whether the timestamp is within a predefined time interval. For example, the conference organizer defines a 30 second time window within which users must select their respective radar affordances to send their input to the organizer indicating that they are attentive and still in attendance.
[00158] In some embodiments, server system 140 determines (1306) whether the location is within a predefined spatial radius. For example, the conference organizer defines a spatial radius within which users must select their respective radar affordances to send their input to the organizer. In this example, the spatial radius is defined such that the message must come from a client device that is inside of the conference room and not outside on the streets or in a passing taxi.
[00159] In some embodiments, in accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, server system 140 identifies (1308) the user as one of a set of participants of an information exchange program. Users must respond within a specified time window and also the user must be with a specified spatial radius to become part of the set/group.
[00160] In some embodiments, server system 140 provides (1310) information to mobile devices associated with the set of participants. The linked set/group of users are all determined to be attentive/awake and close by. For example, while at a conference, attendees use an information exchange program (e.g., a group chat or instant messaging application) on their mobile devices to connect with an organizer. Subsequently, a poll/survey is pushed to the attendees' devices and the attendees respond anonymously. Alternatively, the attendees join a temporary group chat to provide questions to the organizer, where the attendees are assigned fictional identities. Optionally, the group chat is made into a permanent thread and the attendees' true identities are revealed.
[00161] In some embodiments, the information includes a second user interface including a poll or survey. Figure 12B, for example, shows client device displaying user interface 1210 including a poll/survey question for the information exchange program pushed to conference attendees by the conference organizer.
[00162] In some embodiments, server system 140 receives a second message from the mobile device responding to the poll or survey. For example, with reference to Figure 12B, user of client device 120 selects one of the answer affordances 1212, and, in response, client device 120 sends the user's response to server system 140.
[00163] In some embodiments, the second message is anonymous. For example, the message including the user's response to the poll/survey does not include identity information associated with the user so as keep poll/survey responses anonymous.
[00164] In some embodiments, the information includes a third user interface for a group chat with the set of participants. Figure 12C, for example, shows client device displaying user interface
1220 including a group chat entitled "28 November 2013 Panel Discussion" for the information exchange program. In Figure 12C, for example, the group chat at least includes the user of client device 120 and users 123 and 789.
[00165] In some embodiments, server system 140 assigns a fictional identity to the user of the mobile device for use in the group chat. In Figure 12C, for example, users are assigned random identities such as users 123 and 789.
[00166] In some embodiments, server system 140 provides an option to convert the group chat to a permanent group chat, where a non- fictional identity of the user of the mobile device is revealed to the set of participants in the permanent group chat. In Figure 12C, for example, user interface 1220 includes private chat affordance 1226, which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the group chat to a permanent group chat where the users' identities are revealed. For example, the user of client device 120 is enabled to initiate a private chat with one or more users in the group chat so as to develop a personal relationship with users outside of the conference. As such, the user of client device 120 can establish a permanent group chat or chat thread with one or more users met at the conference to foster and continue business opportunities.
[00167] Attention is now directed towards embodiments of user interfaces and associated processes that may be implemented on a respective client device 120 with one or more speakers enabled to output sound, one or more microphones enabled to receive sound input, and a touch screen display enabled to receive one or more contacts and display information (e.g., user interfaces for an information exchange program or application). Figures 14A-14C illustrate exemplary user interfaces for providing information to a set of participants of an information exchange program in accordance with some embodiments.
[00168] Figures 14A-14C show user interfaces displayed on client device 120 (e.g., a mobile phone); however, one skilled in the art will appreciate that the user interfaces shown in Figures 14A- 14C may be implemented on other similar computing devices.
[00169] In Figure 14A, user 1412 is associated with client device 120, and users 1422, 1432,
14142, and 1452 are associated with other client devices. For example, client device 120 detects a contact at a location corresponding to radar button 411 as shown in Figure 4A for time interval 1414 (e.g., 8 seconds in duration). In this example, user 1412 presses radar button 411 with their finger and lifts their finger at the end of time interval 1414. For example, client device 120 transmits its geographic location to server system 140 upon detecting the contact, which begins time interval 1414, and client device 120 transmits a stop signal, upon no longer detecting the contact, which ends time interval 1414.
[00170] In some embodiments, server system 140 determines a set of users that satisfy a predetermined condition by determining a set of users whose respective time intervals overlap time interval 1414 for at least a predetermined duration (e.g., 2 seconds) and sends identity and location information to client device 120 for the set of users. In Figure 14 A, time interval 1424 associated with user 1422 intersects time interval 1414 for the predetermined duration in overlap period 1426. In Figure 14A, time interval 1434 associated with user 1432 intersects time interval 1414 for the predetermined duration in overlap period 1436. In Figure 14A, time interval 1444 associated with user 1442 intersects time interval 1414 for the predetermined duration in overlap period 1446. In Figure 14A, time interval 1454 associated with user 1452 fails to intersect time interval 1414 for the predetermined duration in overlap period 1456 (e.g., only 1 second, and not the predetermined duration of 2 seconds).
[00171] In some embodiments, server system 140 transmits to client device 120 identity and location information for users that satisfy the predetermined duration in real time. Thus, after determining that overlap period 1426 intersects time interval 1414 for the predetermined duration, server system 140 transmits to client device 120 identity and location information corresponding to user 1422, and upon receiving identity and location information corresponding to user 1422, client device 120 displays map 1462 including the location of user 1422 relative to client device 120 (e.g., represented by the 5-pointed star). Next, after determining that overlap period 1436 intersects time interval 1414 for the predetermined duration, server system 140 transmits to client device 120 identity and location information corresponding to user 1432, and upon receiving identity and location information corresponding to user 1432, client device 120 displays map 1464 including the location of users 1422 and 1432 relative to client device 120. Then, after determining that overlap period 1446 intersects time interval 1414 for the predetermined duration, server system 140 transmits to client device 120 identity and location information corresponding to user 1442, and upon receiving identity and location information corresponding to user 1442, client device 120 displays map 1466 including the location of users 1422, 1432, and 1442 relative to client device 120. Finally, after determining that overlap period 1456 fails to intersect time interval 1414 for the predetermined duration, server system 140 does not transmit to client device 120 identity and location information corresponding to user 1452, and client device 120 continues to display map 1466 including the location of users 1422, 1432, and 1442 relative to client device 120.
[00172] In Figure 14B, user 1412 is associated with client device 120, and users 1422, 1432, 14142, 1452, and 1472 are associated with other client devices. For example, client device 120 detects a contact at a location corresponding to radar button 411 as shown in Figure 4 A for time interval 1414 (e.g., 8 seconds in duration). In this example, user 1412 presses radar button 41 1 with their finger and lifts their finger at the end of time interval 1414. For example, client device 120 transmits its geographic location to server system 140 upon detecting the contact, which begins time
interval 1414, and client device 120 transmits a stop signal, upon no longer detecting the contact, which ends time interval 1414.
[00173] In some embodiments, server system 140 determines a set of users that satisfy a predetermined condition by determining a time period in which a maximum number of time intervals associated with other users overlap time interval 1414 of the user of client device 120 for at least a predetermined duration (e.g., 2 seconds). In Figure 14B, server system 140 determines time period 1482 where time interval 1424 associated with user 1222, time interval 1434 associated with user 1432, and time interval 1444 associated with user 1242 overlap time interval 1414 for the predetermined duration (e.g., 2 seconds). Server system then identifies users 1422, 1432, and 1442 as the set of users that satisfy the predetermined condition.
[00174] In some embodiments, after identifying the set of users that satisfy the predetermined condition, server system 140 transmits to client device 120 identity and location information for users 1422, 1432, and 1442. Then, upon receiving identity and location information corresponding to the set of users, client device 120 displays map 1484 including the location of users 1422, 1432, and 1442 relative to client device 120 (e.g., represented by the 5-pointed star).
[00175] Figure 14C illustrates client device displaying group chat user interface 1486 for an information exchange program. In Figure 14C, group chat user interface 1486 includes a map with the location of users 1422, 1432, and 1442 relative to client device 120 (e.g., represented by the 5- pointed star). In Figure 14C, group chat user interface 1486 also includes chat dialog 1488 associated with user 1422 (e.g., "Hello world!") and private chat affordance 1494 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the group chat to a permanent group chat where the users' identities are revealed. For example, chat dialog 1488 ceases to be displayed or fades out after a predetermined time period (e.g., 3, 5, 10, etc. seconds).
[00176] Figure 14C also illustrates client device displaying group chat user interface 1490 for an information exchange program. In Figure 14C, group chat user interface 1490 includes a map with the location of users 1422, 1432, and 1442 relative to client device 120 (e.g., represented by the 5- pointed star). In Figure 14C, group chat user interface 1490 also includes chat dialog 1492 associated with user 1442 (e.g., "Nice to meet you."). For example, chat dialog 1490 is user 1442's response to chat dialog 1488 from user 422 in user interface 1486.
[00177] Figure 15 is a flowchart diagram of a method 1500 of providing information to a set of participants of an information exchange program in accordance with some embodiments. In some embodiments, method 1 00 is performed by an electronic device with one or more processors and memory. For example, in some embodiments, method 1500 is performed by a mobile device (e.g., client device 120, Figures 1, 10, and 1 1A) or a component thereof (e.g., client-side module 720, Figures 7-10 and 11A). In some embodiments, method 1 00 is governed by instructions that are
stored in a non-transitory computer readable storage medium and the instructions are executed by one or more processors of the electronic device.
[00178] In some embodiments, client device 120 detects (1502) a first user input from a first user of the mobile device and an associated time interval during which the first user input is detected, (e.g., touch and press gesture). For example, client device 120 detects a contact at a location corresponding to radar button 411 as shown in Figure 4 A for time interval 1414 (e.g., 8 seconds in duration). In this example, user 1412 presses radar button 411 with their finger and lifts their finger at the end of time interval 1414.
[00179] In some embodiments, client device 120 provides (1504) a message to a remote server system in response to the first user input, the message including a location associated with the mobile device and information of the time interval.
[00180] In some embodiments, client device 120 obtains (1506) identity and location information for a set of users from the remote server system, where: a respective user in the set of users generated a user input through the respective user's remote device at a respective location and during a respective time interval; and the respective location and time interval satisfy a
predetermined condition. For example, with reference to Figure 14A, time interval 1424 associated with user 1422 represents the time period in which user 1422 pressed the radar button on their respective client device.
[00181] In some embodiments, the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user for at least a predefined time period. For example, the respective user satisfies the predetermined condition when there is a predetermined overlap period (e.g., 1, 5, 10, etc. seconds) between the first user's time interval and the respective user's time interval and the respective user is located with a predetermined spatial distance (e.g., 1, 5, 10, etc. km) of the location associated with the mobile device. For example, with reference to Figure 14A, user 1422 satisfies the predetermined condition because time interval 1424 associated with user 1422 (e.g., the respective user) intersects time interval 1414 associated with user 1412 (e.g., the first user) for the predetermined duration (e.g., 2 seconds) in overlap period 1426.
[00182] For example, in Figure 14A, the map displayed by client device 10 is populated in real-time as server system 140 determines that other users have pressed their respective radar button for at least the predetermined overlap period (e.g., 2 seconds) while the first user is pressing the radar button. For example, upon receiving identity and location information corresponding to user 1422, client device 120 displays map 1462 including the location of user 1422 relative to client device 120.
Then, upon receiving identity and location information corresponding to user 1432, client device 120 displays map 1464 including the location of users 1422 and 1432 relative to client device 120.
[00183] In some embodiments, the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user and the other users in the set of users for at least a same predefined time period (e.g., a same 1, 5, 10, etc. time period in which time intervals for first user and the set of users overlap). For example, the respective user satisfies the predetermined condition when the respective user's time interval is included in a time period in which a maximum number of time intervals associated with other users overlap the time interval of the user of client device 120 for at least a predetermined duration (e.g., 2 seconds) and the respective user is located with a predetermined spatial distance (e.g., 1, 5, 10, etc. km) of the location associated with the mobile device. For example, with reference to Figure 14B, user 1422 satisfies the predetermined condition because time interval 1424 associated with user 1422 (e.g., the respective user) overlaps time period 1482 for the predetermined duration (e.g., 2 seconds). In another example, with reference to Figure 14B, user 1452 does not satisfy the predetermined condition because time interval 1454 associated with user 1452 does not overlap time period 1482 for the predetermined duration (e.g., 2 seconds).
[00184] For example, after user 1412 stops pressing the radar button, client device 120 transmits a stop signal to server system 140, and server system 140 determines a set of users who have a shared overlap of at least N seconds within time interval 1414. In this example, server system 140 determines that users 1422, 1432, and 1442 have time intervals that overlap time interval 1414 in time period 1482 for at least 2 seconds. Subsequent to this determination, client device 120 displays map 1484 with the location of users 1422, 1432, and 1442 relative to the location of client device 120. In some embodiments, in place of the predetermined spatial distance condition, other users satisfy the predetermined condition when they have a parameter or trait in common with the user of the client (e.g., same hobby, age, language, current town, etc.).
[00185] In some embodiments, client device 120 displays (1508) a map including a plurality of icons, each icon representing a corresponding location of one of the set of users relative to the first user. In Figure 14 A, for example, client device 120 display maps 1466 including the location of users 1422, 1432, and 1442 relative to client device 120. In Figure 14B, client device 120 displays map 1484 with the location of users 1422, 1432, and 1442 relative to the location of client device 120. For example, with reference to Figure 14B, the location of the first user is represented by a 5-pointed star at the center of map 1484, and the icon displayed below the 5-pointed star is associated with user 1442 (e.g., nickname is "Xiao Fengzi") located south-southwest of the first user's location.
[00186] In some embodiments, prior to joining the group chat, client device 120: detects a second input from the first user selecting a respective icon of the plurality of icons; and, in response to detecting the second user input, sending a friend request to a respective user corresponding to the respective icon. For example, client device 120 detects the user selecting the icon associated with user 1432 (e.g., a tap gesture with the user's finger) in user interface 1486 of Figure 14C. In this example, in response to detecting selection of the icon associated with user 1432, client device sends a friend request to user 1432 or causes a friend request to be sent to user 1432.
[00187] In some embodiments, the one or more icons include a fictional identify for the first user and each of the set of users. For example, with reference Figure 14C, in user interfaces 1486 and 1490 users 1422, 1432, and 1442 are associated with avatars or character icons and nicknames but no real identifying information so as to protect the personal information of users 1422, 1432, and 1442. This is done because user interfaces 1486 and 1490 are user interfaces for a public group chat where the users included in the public group chat may be strangers.
[00188] In some embodiments, client device 120 joins (1510) an information exchange program with at least one of the set of users. In Figure 14C, for example, client device 120 displays group chat user interfaces 1486 and 1490 for an information exchange program. In Figure 14C, for example, the group chat is a public group chat that at least includes users 1422, 1432, and 1442 and the user of client device 120.
[00189] In some embodiments, client device 120 provides an option to the first user to convert the information exchange program into a private session, where a non-fictional identity of the first user and non-fictional identities of the set of users are revealed. In Figure 14C, for example, user interfaces 1486 and 1490 includes private chat affordance 1494 which, when activated (e.g., with a tap of the user's finger) causes client device 120 to transmit a request to server system 140 to convert the public group chat to a private group chat where the users' identities are revealed. In some embodiments, the private group chat also becomes a permanent thread accessible in the future to the users included in the private group chat.
[00190] In some embodiments, in accordance with a determination that the second user accepts the friend request, joining the information exchange program includes joining a private session with the respective user, where identities of the first user and the respective user are revealed. For example, when the second user accepts the friend request prior to initiating the chat, it is assumed that the first and second users' trust each other and that their true identities can be used for the group chat. Thus, due to acceptation of the friend request, the first and second users join a private group chat that does not include private chat affordance 1494 as in Figure 14C.
[00191] While particular embodiments are described above, it will be understood it is not intended to limit the invention to these particular embodiments. On the contrary, the invention includes alternatives, modifications and equivalents that are within the spirit and scope of the
appended claims. Numerous specific details are set forth in order to provide a thorough understanding of the subject matter presented herein. But it will be apparent to one of ordinary skill in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
Claims
1. A method, comprising:
at a server system with one or more processors and memory:
obtaining a message from a mobile device, wherein the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location;
determining whether the timestamp is within a predefined time interval;
determining whether the location is within a predefined spatial radius;
in accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, identifying the user as one of a set of participants of an information exchange program; and
providing information to mobile devices associated with the set of participants of the information exchange program.
2. The method of claim 1, further comprising:
prior to obtaining the message, providing a first user interface to the mobile device including a request prompting the user to provide the message to indicate participation in the information exchange program.
3. The method of any of claims 1-2, wherein the information includes a second user interface including a poll or survey.
4. The method of claim 3, further comprising;
receiving a second message from the mobile device responding to the poll or survey.
5. The method of claim 4, wherein the second message is anonymous.
6. The method of any of claims 1-2, wherein the information includes a third user interface for a group chat with the set of participants.
7. The method of claim 6, further comprising:
assigning a fictional identity to the user of the mobile device for use in the group chat.
8. The method of claim 7, further comprising:
providing an option to convert the group chat to a permanent group chat, wherein a non- fictional identity of the user of the mobile device is revealed to the set of participants in the permanent group chat.
9. An electronic device, comprising:
one or more processors; and
memory storing one or more programs to be executed by the one or more processors, the one or more programs comprising instructions for:
obtaining a message from a mobile device, wherein the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location;
determining whether the timestamp is within a predefined time interval; determining whether the location is within a predefined spatial radius; in accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, identifying the user as one of a set of participants of an information exchange program; and
providing information to mobile devices associated with the set of participants of the information exchange program.
10. The electronic device of claim 9, wherein the one or more programs further comprise instructions for:
prior to obtaining the message, providing a first user interface to the mobile device including a request prompting the user to provide the message to indicate participation in the information exchange program.
11. The electronic device of any of claims 9-10, wherein the information includes a second user interface including a poll or survey.
12. The electronic device of claim 11, wherein the one or more programs further comprise instructions for:
receiving a second message from the mobile device responding to the poll or survey.
13. The electronic device of any of claims 9-10, wherein the information includes a third user interface for a group chat with the set of participants.
14. The electronic device of claim 13, wherein the one or more programs further comprise instructions for:
assigning a fictional identity to the user of the mobile device for use in the group chat.
15. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by an electronic device with one or more processors, cause the electronic device to perform operations comprising:
obtaining a message from a mobile device, wherein the message is generated by the mobile device in response to a user input from a user of the mobile device and the message includes a timestamp and a location;
determining whether the timestamp is within a predefined time interval;
determining whether the location is within a predefined spatial radius;
in accordance with a determination that the timestamp is within the predefined time interval and that the location is with the predefined spatial radius, identifying the user as one of a set of participants of an information exchange program; and
providing information to mobile devices associated with the set of participants of the information exchange program.
16. The non-transitory computer readable storage medium of claim 15, wherein the instructions cause the electronic device to perform operations further comprising:
prior to obtaining the message, providing a first user interface to the mobile device including a request prompting the user to provide the message to indicate participation in the information exchange program.
17. The non-transitory computer readable storage medium of any of claims 15-16, wherein the information includes a second user interface including a poll or survey.
18. The non-transitory computer readable storage medium of claim 17, wherein the instructions cause the electronic device to perform operations further comprising:
receiving a second message from the mobile device responding to the poll or survey.
19. The non-transitory computer readable storage medium of any of claims 15-16, wherein the information includes a third user interface for a group chat with the set of participants.
20. The non-transitory computer readable storage medium of claim 19, wherein the instructions cause the electronic device to perform operations further comprising:
assigning a fictional identity to the user of the mobile device for use in the group chat.
21. A metho d, comprising :
at a mobile device with one or more processors, a touch screen display, and memory:
detecting a first user input from a first user of the mobile device and an associated time interval during which the first user input is detected;
in response to the first user input, providing a message to a remote server system, the message including a location associated with the mobile device and information of the time interval; obtaining identity and location information for a set of users from the remote server system, wherein:
a respective user in the set of users generated a user input through the respective user's remote device at a respective location and during a respective time interval; and
the respective location and time interval satisfy a predetermined condition;
displaying a map including a plurality of icons, each icon representing a corresponding location of one of the set of users relative to the first user; and
joining an information exchange program with at least one of the set of users.
22. The method of claim 21, wherein the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user for at least a predefined time period.
23. The method of claim 21, wherein the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user and the other users in the set of users for at least a same predefined time period.
24. The method of any of claims 21-23, wherein the one or more icons include a fictional identify for the first user and each of the set of users.
25. The method of 24, further comprising:
providing an option to the first user to convert the information exchange program into a private session, wherein a non-fictional identity of the first user and non-fictional identities of the set of users are revealed.
26. The method of any of claims 21-24, further comprising:
prior to joining the group chat:
detecting a second input from the first user selecting a respective icon of the plurality of icons; and
in response to detecting the second user input, sending a friend request to a respective user corresponding to the respective icon.
27. The method of claim 26, further comprising:
in accordance with a determination that the second user accepts the friend request, joining the information exchange program includes joining a private session with the respective user, wherein identities of the first user and the respective user are revealed.
28. An mobile device, comprising:
one or more processors;
a touch screen display; and
memory storing one or more programs to be executed by the one or more processors, the one or more programs comprising instructions for:
detecting a first user input from a first user of the mobile device and an associated time interval during which the first user input is detected;
in response to the first user input, providing a message to a remote server system, the message including a location associated with the mobile device and information of the time interval;
obtaining identity and location information for a set of users from the remote server system, wherein:
a respective user in the set of users generated a user input through the respective user's remote device at a respective location and during a respective time interval; and the respective location and time interval satisfy a predetermined condition;
displaying a map including a plurality of icons, each icon representing a corresponding location of one of the set of users relative to the first user; and
joining an information exchange program with at least one of the set of users.
29. The mobile device of claim 28, wherein the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user for at least a predefined time period.
30. The mobile device of claim 28, wherein the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user and the other users in the set of users for at least a same predefined time period.
31. The mobile device of any of claims 28-30, wherein the one or more icons include a fictional identify for the first user and each of the set of users.
32. The mobile device of 31, wherein the one or more programs further comprise instructions for: providing an option to the first user to convert the information exchange program into a private session, wherein a non- fictional identity of the first user and non- fictional identities of the set of users are revealed.
33. The mobile device of any of claims 28-31 , wherein the one or more programs further comprise instructions for:
prior to joining the group chat:
detecting a second input from the first user selecting a respective icon of the plurality of icons; and
in response to detecting the second user input, sending a friend request to a respective user corresponding to the respective icon.
34. The mobile device of claim 33, wherein the one or more programs further comprise instructions for:
in accordance with a determination that the second user accepts the friend request, joining the information exchange program includes joining a private session with the respective user, wherein identities of the first user and the respective user are revealed.
35. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by an mobile device with one or more processors and a touch screen display, cause the mobile device to perform operations comprising: detecting a first user input from a first user of the mobile device and an associated time interval during which the first user input is detected;
in response to the first user input, providing a message to a remote server system, the message including a location associated with the mobile device and information of the time interval; obtaining identity and location information for a set of users from the remote server system, wherein:
a respective user in the set of users generated a user input through the respective user's remote device at a respective location and during a respective time interval; and
the respective location and time interval satisfy a predetermined condition;
displaying a map including a plurality of icons, each icon representing a corresponding location of one of the set of users relative to the first user; and
joining an information exchange program with at least one of the set of users.
36. The non-transitory computer readable storage medium of claim 35, wherein the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user for at least a predefined time period.
37. The non-transitory computer readable storage medium of claim 35, wherein the respective location and time interval for the respective user satisfies the predetermined condition when the respective location for the respective user is within a predetermined spatial distance of the location associated with the mobile device and the respective time internal for the respective user overlaps the information of the time interval for the first user and the other users in the set of users for at least a same predefined time period.
38. The non-transitory computer readable storage medium of any of claims 35-37, wherein the one or more icons include a fictional identify for the first user and each of the set of users.
39. The non-transitory computer readable storage medium of 38, wherein the instructions cause the electronic device to perform operations further comprising:
providing an option to the first user to convert the information exchange program into a private session, wherein a non-fictional identity of the first user and non-fictional identities of the set of users are revealed.
40. The non-transitory computer readable storage medium of any of claims 35-38, wherein the instructions cause the electronic device to perform operations further comprising:
prior to joining the group chat:
detecting a second input from the first user selecting a respective icon of the plurality of icons; and
in response to detecting the second user input, sending a friend request to a respective user corresponding to the respective icon.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310179559.0 | 2013-05-15 | ||
| CN201310179559.0A CN104135713B (en) | 2013-05-15 | 2013-05-15 | User profile recommend method, device, equipment and system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014183458A1 true WO2014183458A1 (en) | 2014-11-20 |
Family
ID=51808221
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2013/090770 Ceased WO2014183458A1 (en) | 2013-05-15 | 2013-12-27 | Method and device for enabling an identified set of participants of an information exchange program to exchange information |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN104135713B (en) |
| TW (1) | TW201443810A (en) |
| WO (1) | WO2014183458A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016120527A1 (en) * | 2015-01-28 | 2016-08-04 | Eränkö Timo | System and method for communication in a telecommunication network |
| US12399670B2 (en) | 2022-06-06 | 2025-08-26 | T-Mobile Usa, Inc. | Enabling bidirectional visual communication between two devices associated with a wireless telecommunication network |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104468329B (en) * | 2014-12-02 | 2018-02-02 | 小米科技有限责任公司 | Member adding method and device based on instant messaging |
| CN106155868A (en) * | 2015-04-07 | 2016-11-23 | 腾讯科技(深圳)有限公司 | Distance display packing based on social networks application and device |
| CN104796424A (en) * | 2015-04-29 | 2015-07-22 | 贵州中科汉天下信息技术有限公司 | Position-based group chat method |
| CN104967727B (en) * | 2015-04-30 | 2019-07-05 | 努比亚技术有限公司 | The method and cloud server of a kind of mobile terminal and its paired communication |
| CN104994125B (en) * | 2015-05-14 | 2019-03-08 | 小米科技有限责任公司 | Method for sending information, information display method and device |
| CN104867056A (en) * | 2015-05-28 | 2015-08-26 | 西安交通大学 | Intelligent social method based on user data analysis |
| CN105049330B (en) * | 2015-07-08 | 2018-07-06 | 广东欧珀移动通信有限公司 | A kind of method and terminal for asking to add in discussion group |
| CN105137786A (en) * | 2015-08-03 | 2015-12-09 | 珠海格力电器股份有限公司 | Method and device for binding smart home equipment |
| CN105681412A (en) * | 2016-01-14 | 2016-06-15 | 北京百纳威尔无线通信设备有限公司 | Information sharing method and device |
| CN106982197A (en) | 2016-01-19 | 2017-07-25 | 阿里巴巴集团控股有限公司 | Method and device for business processing |
| CN105915592A (en) * | 2016-04-08 | 2016-08-31 | 努比亚技术有限公司 | Information processing method, mobile terminal and server |
| CN106231560B (en) * | 2016-09-30 | 2020-06-23 | 李国兴 | Mobile terminal communication data management method and system based on mobile internet |
| CN106358183A (en) * | 2016-09-30 | 2017-01-25 | 广东欧珀移动通信有限公司 | Address book updating method, device and system |
| CN106504103B (en) * | 2016-10-31 | 2020-09-08 | 北京小米移动软件有限公司 | Method and device for establishing friend relationship |
| CN106856451B (en) * | 2017-02-21 | 2021-01-19 | 苏州爱上网络科技股份有限公司 | Short-distance reminding method for intelligent equipment user |
| CN109714246A (en) * | 2017-10-26 | 2019-05-03 | 触信(厦门)智能科技有限公司 | A kind of instant interactive good friend adding method |
| CN108039999A (en) * | 2017-11-23 | 2018-05-15 | 珠海格力电器股份有限公司 | Method and device for exchanging electronic business cards and mobile terminal |
| CN107995099A (en) * | 2017-11-24 | 2018-05-04 | 广东欧珀移动通信有限公司 | Friend recommendation method and device |
| CN108267153A (en) * | 2017-12-12 | 2018-07-10 | 福建工程学院 | A kind of air navigation aid and terminal for stray |
| CN108235250A (en) * | 2018-01-19 | 2018-06-29 | 赵星宇 | A kind of friend-making chat method and system based on the real-time reconnaissance probe in geographical location stranger at one's side |
| CN108388780A (en) * | 2018-03-09 | 2018-08-10 | 福州米鱼信息科技有限公司 | A kind of identity information acquisition methods and terminal |
| CN110460902B (en) * | 2018-05-08 | 2022-02-22 | 腾讯科技(深圳)有限公司 | Media information playing method and device, storage medium and electronic device |
| CN108900969A (en) * | 2018-06-07 | 2018-11-27 | 广东小天才科技有限公司 | friend adding method, device, equipment and storage medium |
| CN109451424B (en) * | 2018-11-26 | 2020-09-22 | 南京工程学院 | Positioning method based on Bluetooth |
| CN113595748B (en) * | 2021-07-29 | 2023-06-30 | Oppo广东移动通信有限公司 | Team recommendation method, team recommendation device, electronic device and storage medium |
| CN115455014A (en) * | 2022-08-04 | 2022-12-09 | 阿里巴巴(中国)有限公司 | User operation data processing method, user pairing method and electronic equipment |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101322376A (en) * | 2005-12-01 | 2008-12-10 | 皇家飞利浦电子股份有限公司 | Visualization of companion table with positioning information |
| CN101360275A (en) * | 2008-09-26 | 2009-02-04 | 腾讯科技(深圳)有限公司 | Friends making system, implementing method and friends making server |
| CN102006552A (en) * | 2010-11-22 | 2011-04-06 | 上海合合信息科技发展有限公司 | Method for creating contact group based on geographical location information |
| CN102668511A (en) * | 2009-12-15 | 2012-09-12 | 苹果公司 | Ad-hoc networking based on content and location |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103096242B (en) * | 2011-11-03 | 2015-05-20 | 腾讯科技(深圳)有限公司 | User recommendation method and system based on location based services |
| CN102546656B (en) * | 2012-02-10 | 2015-04-29 | 腾讯科技(深圳)有限公司 | Method, system and device for finding user in social network |
| CN102902472B (en) * | 2012-05-07 | 2015-08-19 | 腾讯科技(深圳)有限公司 | Instruction triggers method and system and user's recommend method and system |
-
2013
- 2013-05-15 CN CN201310179559.0A patent/CN104135713B/en active Active
- 2013-11-27 TW TW102143299A patent/TW201443810A/en unknown
- 2013-12-27 WO PCT/CN2013/090770 patent/WO2014183458A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101322376A (en) * | 2005-12-01 | 2008-12-10 | 皇家飞利浦电子股份有限公司 | Visualization of companion table with positioning information |
| CN101360275A (en) * | 2008-09-26 | 2009-02-04 | 腾讯科技(深圳)有限公司 | Friends making system, implementing method and friends making server |
| CN102668511A (en) * | 2009-12-15 | 2012-09-12 | 苹果公司 | Ad-hoc networking based on content and location |
| CN102006552A (en) * | 2010-11-22 | 2011-04-06 | 上海合合信息科技发展有限公司 | Method for creating contact group based on geographical location information |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016120527A1 (en) * | 2015-01-28 | 2016-08-04 | Eränkö Timo | System and method for communication in a telecommunication network |
| US12399670B2 (en) | 2022-06-06 | 2025-08-26 | T-Mobile Usa, Inc. | Enabling bidirectional visual communication between two devices associated with a wireless telecommunication network |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104135713A (en) | 2014-11-05 |
| TW201443810A (en) | 2014-11-16 |
| CN104135713B (en) | 2015-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2014183458A1 (en) | Method and device for enabling an identified set of participants of an information exchange program to exchange information | |
| US10638280B2 (en) | Method and system for facilitating real-time location sharing | |
| US10229673B2 (en) | System and method for providing follow-up responses to prior natural language inputs of a user | |
| US10142279B2 (en) | Method and system for presenting a listing of message logs | |
| US9679300B2 (en) | Systems and methods for virtual agent recommendation for multiple persons | |
| US9276802B2 (en) | Systems and methods for sharing information between virtual agents | |
| US9659298B2 (en) | Systems and methods for informing virtual agent recommendation | |
| US9148394B2 (en) | Systems and methods for user interface presentation of virtual agent | |
| US9560089B2 (en) | Systems and methods for providing input to virtual agent | |
| US9082106B2 (en) | Conferencing system with graphical interface for participant survey | |
| US9262175B2 (en) | Systems and methods for storing record of virtual agent interaction | |
| US9686645B2 (en) | Location information sharing method and apparatus | |
| US20140164953A1 (en) | Systems and methods for invoking virtual agent | |
| US20140164532A1 (en) | Systems and methods for virtual agent participation in multiparty conversation | |
| US20110268262A1 (en) | Location-Aware Conferencing With Graphical Interface for Communicating Information | |
| CN106133767B (en) | Providing a shared user experience to support communications | |
| US9537809B2 (en) | Method and system for graphic code processing | |
| CN112395509A (en) | Information display method, information providing method, apparatus, and computer-readable medium | |
| US20110270663A1 (en) | Location-Aware Conferencing With Participant Rewards | |
| CN106664240A (en) | instant messaging group voting | |
| EP3516831B1 (en) | Uniform resource identifier and image sharing for contextual information display | |
| CN106576071A (en) | Instant messaging | |
| US9137029B1 (en) | State and availability monitoring for customer support services for multimedia conferences | |
| JP2016507798A (en) | Group nudge using real-time communication system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13884504 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24/03/2016) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13884504 Country of ref document: EP Kind code of ref document: A1 |