The present invention relates generally to software. More specifically, techniques for providing information associated with a substantially real-time communication system are disclosed.
Applications, programs, and other activities that enable users to control and personalize their online activities are useful. However, conventional techniques are often limited in their ability to invoke privacy protections without adversely impacting communications.
Internet and internetworking based technologies such as instant messaging and e-mail are often considered to be personalized communication applications that enable simple, but direct messaging from one user to another or several users. Specialized services such as personal accounts and other forms of tailored communication applications have been developed to meet the growing demand for personalized communication services. However, these services are often limited in features, capabilities, and configurability. Further, conventional techniques are often limited in terms of privacy and accessibility control.
Managing online interaction often involves the use of applications that enable a user to configure her online activities. Such applications can enable a person to establish particular settings that affect privacy, accessibility, and other user attributes. However, these applications can also detrimentally impact the ability of a user to communicate, often stopping or interrupting communication with friends entirely or rendering a communication application (e.g., instant messaging) virtually useless.
Thus, what is needed is a solution for configuring online interactivity without detrimentally affecting communication abilities or user control.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
In one embodiment, profiles related to a messaging system are disclosed.
In some embodiments, techniques for managing visibility can be associated with various environments, including a substantially real-time environment such as instant messaging, cell phones, etc. Profiles can be associated with situations and with a visibility or invisibility state. For example, in a case involving four profiles, a first profile can be associated with a first situation, a second profile associated with a second situation, a third profile associated with a third situation, and a fourth profile associated with a fourth situation, etc. In general, if a user is at his work machine, a group of friends, such as his family members, can see the user as being on-line and available for messaging, and another group, such as his work associates, can also see him as being on-line, while another group of friends, such as his soccer buddies, sees the user as being off-line. If the user is at his home machine, his family and his soccer buddies can both see him as being on-line and available for messaging but perhaps the user will select his work associates as viewing him as being off-line. If the user is on his cell phone, he can have just his family see him as being available while the other groups see him as being unavailable. The user may also select various profiles for other situations such as by time and location. Once the user selects the various profiles for various groups in various situations, the profiles can be automatically set as a default for the subsequent sessions, depending on which situation the user is in. In this manner, the user can set his preferences for various combination of groups of friends for various situations and have it automatically set each time that situation occurs.
In the example shown in
Lists may also be used to identify users based on whether the logged-in user intends to show their online presence as either “visible” or “invisible.” As shown, an invisibility list 112 may also be employed by a user to identify friends to whom the user appears to be invisible. A user may also decide to be selectively visible or invisible to other users. As used herein, selective visibility refers to the ability of a user to appear online (visible or available) to specific friends when the user is logged in as unavailable or invisible. Selective invisibility refers to the ability to appear offline (invisible or unavailable) to specific friends when the user is logged in as available or visible. Selective visibility and selective invisibility lists may be created to identify specific users to whom the user is visible/invisible, depending upon the profile that the user wishes to implement, which may be performed at log-in or while the user is already logged-in.
As an example, “user 1” is listed on invisibility list 112 (to be discussed in further detail below) and does not see the user, although the other users in friend/buddy list 106 can see the user. The individual handling of users on the selective invisibility list can be configured within visibility profile 104 so that when the user logs in to her account and implements this particular visibility profile, her availability and online appearance to the friends listed under her profile are configured based on the settings identified with that particular profile. The establishment and management of profiles will also be discussed in greater detail below. Lists may be created as desired, enabling categorical groupings of friends that a user may wish to communicate with regarding a particular topic. “A Friends” list 114 and “B Friends” list 116 are examples of such additional lists, each of which may have created to identify other users that have been categorically separated from other users. More or fewer lists may be created, modified, or deleted, in other embodiments.
Each visibility profile 202-206 may be used for implementing a specific set of configuration settings. For example, visibility profile 202 may be implemented to identify a particular configuration for setting the visibility of a user while at work. In this example, visibility profile 202 can be configured using numerous factors such as type of machine (e.g., desktop, laptop, mobile device, etc.), location (e.g., home, work, traveling, etc.), user (i.e., multiple users may be using the same device, but with different log-ins, multiple profiles can be used on a single device), schedule/time of day, or manually configured by a user. Visibility profiles can be generated based on a variety of other factors beyond those mentioned above. Personalization of visibility profiles provides desirable control and usage aspects to online communication. Within each of visibility profiles 202-206, sub data structures are used for implementing selective invisibility lists (SILs) and selective visibility lists (SVLs). A SVL and SIL are paired together and included under each visibility profile 202-206. For example, a user can have a SVL and SIL assigned to his work profile, which determines friends that can and cannot see the user. Each profile can also have a SVL and SIL that provide independent lists to determine whether to enable the user's presence to be known by another user. In other embodiments additional SVLs or SILs may be included. In this example, work SVL 208 and work SIL 210 identify configuration settings that can be used by a user. In this example, work SVL 208 identifies friends who can see the user when he logs in using this visibility profile or, while logged-in, changes his profile to work visibility profile 202. Work SIL 210 identifies users who cannot see the user when logged-in under work visibility profile 202. Likewise home SVL 212, home SIL 214, mobile SVL 216, and home SIL 218 may be used to implement different selective visibility/invisibility lists.
Upon receipt of the request, a SVL, SIL, or both SVL and SIL can be retrieved based on the mode and visibility profile requested, creating a filter for a “reverse buddy” list (RBL) (306). In this example, RBL may be a list of users/friends who list this user in their individual and respective “friends” lists. Users/friends in the RBL who are online may receive notifications whenever this user logs in, logs off, or changes status. The server uses the SVL and SIL to filter the notifications to the correct subset of users/friends in the RBL. By filtering those users/friends listed on the RBL, this user may configure his visibility profile to continue to allow selected users/friends to see his or her online status, regardless of a current visibility mode (e.g., invisible to all users). Once the necessary information has been retrieved, the server broadcasts an update to the eligible users/friends (308). Other embodiments of the above techniques are described below.
A determination is made to whether each friend, N, listed in the RBL is also listed in the SVL (312). In other embodiments, a friend, N, may be in the RBL and not on the SVL, in which case the friend would receive a broadcast that the user is online. In other words, if a friend, N, is on a user's RBL and SVL, then the friend, N, would receive a broadcast alerting him to the user when the latter initially logs in. In other words, if a friend, N, is listed in the RBL and also in the SVL, then the user's status is broadcast to the friend, N, as online (i.e., available, visible) (314). If a friend, N, is in the RBL, but not in the SVL, then the user's status is broadcast to the friend, N, as offline (i.e., unavailable, invisible) (316).
Changing or modifying a visibility profile includes a variety of functions, which are not necessarily limited to those mentioned herein. Functions such as changing the users on the SVL, SIL, or both lists may be performed using the above-described process. Other functions may include visibility profile configuration, location, machine, or other setting changes.
Changes based on location and machine may also include identifying the specific machine or device that the user logs in to use, thus implementing a machine or device-specific visibility profile. For example, in the case of a mobile device such as a cell phone or personal digital assistant (PDA), when a user logs-in, a specific visibility profile may be implemented that identifies a discrete set of users who may see the user as being “available” or visible. This may be useful and appealing to users who pay air-time usage charges for mobile device communication services. In other words, a mobile device user may wish to restrict the number of friends who can view the user as available or visible. In another example, a laptop user may also require changes to a visibility profile.
A user may log on to a laptop computer, which may be connected to and disconnected from various networks, using various and configurable visibility profiles. In the example of a laptop, a user can configure a visibility profile that is invoked when a user logs in while connected to a home network. However, when the user's laptop is connected to a LAN, for example, at his place of business, a different visibility profile may be invoked, one in which he is broadcast as being visible to his co-workers. In still others, a visibility mode may be specified where a user is not connected to any network but, for example, using a wireless communication media while sitting in a park. In this example, which is similar to that of a mobile device such as a cell phone where a user wishes to appear as offline or selectively invisible to all friends, so as to avoid data traffic congestion or increased air time usage charges from friends. Other visibility profiles for use with a laptop may be configured in accordance with examples given earlier (e.g., time, user, machine, location, etc.) and are not limited to those examples presented. Visibility profiles may be configured to implement a particular group of settings when the user logs in while connected to his home network and, for all other networks, a different group of settings. In other words, a user can identify specific users that he wants to appear available to, but condition based on the location of his mobile device. Visibility profiles may be configured in other embodiments based on various characteristics other than those mentioned above. Other functions for configuring a visibility profile are discussed below in connection with
However, if at least one visibility profile exists, then, after the desired entry is deleted, the deletion is saved to the visibility profile for the current user (610). In other embodiments, this process may be reiterated until the user logs out or selects another action besides deletion of a visibility profile or an entry within an existing visibility profile.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
This application claims priority to U.S. Provisional Patent Application No. 60/525,428 entitled “VISIBILITY PROFILES” filed Nov. 26, 2003 which is incorporated herein by reference for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
4819191 | Scully et al. | Apr 1989 | A |
5220657 | Bly et al. | Jun 1993 | A |
5767848 | Matsuzaki et al. | Jun 1998 | A |
5822123 | Davis et al. | Oct 1998 | A |
5877759 | Bauer | Mar 1999 | A |
5880731 | Liles et al. | Mar 1999 | A |
6237025 | Ludwig et al. | May 2001 | B1 |
6301609 | Aravamudan et al. | Oct 2001 | B1 |
6380959 | Wang et al. | Apr 2002 | B1 |
6430602 | Kay et al. | Aug 2002 | B1 |
6487583 | Harvey et al. | Nov 2002 | B1 |
6493724 | Cusack et al. | Dec 2002 | B1 |
6539421 | Appleman et al. | Mar 2003 | B1 |
6564246 | Varma et al. | May 2003 | B1 |
6564249 | Shiigi | May 2003 | B2 |
6611814 | Lee et al. | Aug 2003 | B1 |
6614450 | Vossler | Sep 2003 | B1 |
6640230 | Alexander et al. | Oct 2003 | B1 |
6651053 | Rothschild | Nov 2003 | B1 |
6677976 | Parker et al. | Jan 2004 | B2 |
6747970 | Lamb et al. | Jun 2004 | B1 |
6760580 | Robinson et al. | Jul 2004 | B2 |
6781608 | Crawford | Aug 2004 | B1 |
6807565 | Dodrill et al. | Oct 2004 | B1 |
6816884 | Summers | Nov 2004 | B1 |
6907447 | Cooperman et al. | Jun 2005 | B1 |
6980983 | Banerjee et al. | Dec 2005 | B2 |
6983370 | Eaton et al. | Jan 2006 | B2 |
7028262 | Estrada et al. | Apr 2006 | B2 |
20020143877 | Hackbarth et al. | Oct 2002 | A1 |
20030028390 | Stern et al. | Feb 2003 | A1 |
20030041108 | Henrick et al. | Feb 2003 | A1 |
20030046296 | Doss et al. | Mar 2003 | A1 |
20030052915 | Brown et al. | Mar 2003 | A1 |
20030065788 | Salomki | Apr 2003 | A1 |
20030101235 | Zhang | May 2003 | A1 |
20030117427 | Haughawout et al. | Jun 2003 | A1 |
20030208545 | Eaton et al. | Nov 2003 | A1 |
20030224760 | Day | Dec 2003 | A1 |
20040117443 | Barsness | Jun 2004 | A1 |
20040133638 | Doss et al. | Jul 2004 | A1 |
20040154022 | Boss et al. | Aug 2004 | A1 |
20040162879 | Arcuri et al. | Aug 2004 | A1 |
20040172455 | Green et al. | Sep 2004 | A1 |
20040215731 | Tzann-en Szeto | Oct 2004 | A1 |
20040243547 | Chhatrapati et al. | Dec 2004 | A1 |
20050039134 | Wiggeshoff et al. | Feb 2005 | A1 |
20050055648 | Dong | Mar 2005 | A1 |
20050086211 | Mayer | Apr 2005 | A1 |
20050160367 | Sirota et al. | Jul 2005 | A1 |
20060236269 | Borna | Oct 2006 | A1 |
Number | Date | Country |
---|---|---|
WO 0069140 | Nov 2000 | WO |
WO 02073332 | Sep 2002 | WO |
WO 03032613 | Apr 2003 | WO |
WO 03084258 | Oct 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20050114783 A1 | May 2005 | US |
Number | Date | Country | |
---|---|---|---|
60525428 | Nov 2003 | US |