1. Technical Field
The present invention relates generally to an improved data processing system and in particular to an improved method and apparatus for processing data. Still more particularly, the present invention relates to a method, apparatus, and computer instructions for managing messaging addresses in an instant messaging client.
2. Description of Related Art
Instant messaging is an online chat medium, allowing users to communicate with each other and collaborate in real-time over a network data processing system. Instant messaging is commonly used over the Internet. Instant messaging applications monitor and report the status of users that have established each other as online contacts. This information is typically presented to a user in a window. Instant messaging applications also are often used by users conducting business. By utilizing instant messaging, business users can view each other's availability and initiate a text conversation with colleagues or customers when a desired contact becomes available.
Typically, with instant messaging applications, communications between users are initiated by users selecting the name of the person with whom they desire to communicate. Then, the users type messages in a dialog box in the window and press “send”. These messages appear instantly on the other selected recipient's computer.
Until now, instant messaging has been developed largely for home users, but used by home and business users alike. Instant messaging allows an organization to deploy and utilize this “need-to-have” technology in a business setting.
Additionally, instant messaging has moved into the mobile arena. Personal digital assistants (PDAs) and mobile phones now provide instant messaging capabilities to allow users to instant message each other in the same manner as from a more traditional fixed data processing system. Mobile users, however, are only allotted a very small amount of screen space for their applications. When it comes to using an instant messaging client on a mobile device, such as a mobile phone, oftentimes only six to seven lines of text are displayed. As a result, it is more difficult to read instant messages. Further, it is also more difficult to select different functions from the instant messaging client due to the limited amount of display space.
Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for managing data for an instant messaging client to reduce the amount of scrolling necessary to view the data and to initiate different functions.
The present invention provides a method, apparatus, and computer instructions for managing user lists. A group of instant messaging addresses used most frequently by a user of an instant messaging client on the communications device is identified. The identified group of instant messaging addresses is displayed visibly within a display in the communications device.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
With reference now to the Figures and in particular with reference to
Computer 102 is connected to communications network 100 through physical link 110, and computer 104 is connected to communications network 100 through physical link 112. In contrast, mobile phone 106 is connected to communications network 100 through wireless communications link 114, and personal digital assistant 108 is connected to communications network 100 through wireless communications link 116.
The mobile devices, mobile phone 106 and personal digital assistant 108, provide smaller display space for users. As mentioned before, with a smaller number of lines being displayed, less data can be displayed and access to functions is made more difficult.
The present invention recognizes that selecting instant messaging addresses for users is made more difficult because only a few lines, such as six or seven lines, may be viewed at one time before requiring the user to scroll the screen. As a result, when a user has a large number of instant messaging addresses, the user may be required to scroll through the list to find a particular address that the user wishes to select for a chat session. The present invention provides an improved method, apparatus, and computer instructions for managing instant messaging addresses in an instant messaging client to reduce or eliminate the scrolling needed to select users for chat sessions.
Turning next to
Baseband processor 202 provides for receiver and transmitter operations and is also referred to as a transceiver. In particular, baseband processor 202 handles all of the audio, signal, and data processing needed to receive and send data using RF transmissions or Blue Tooth transmissions. Application processor 204 provides the processing power for other functions within camera phone 200. For example, calculators, calendars, alarms, camera functions, and directories are provided through application processor 204. Flash/SRAM 206 is a storage device in which various instructions for providing the functions within camera phone 200 are located and provide upgrades. Flash card 208 is a storage device in which user data and applications may be stored. An example of flash card 208 is a secure digital card.
A pathway for the transmission of voice and other types of data is through RFIC 210. Additionally, short range transmissions may be sent or received through Blue Tooth unit 216. Blue Tooth unit 216 conforms to Blue Tooth wireless specification, which defines the link layer and application layer for product developers. Both of these transmissions are made through antenna 214 in this illustrative example.
Color LCD 218 provides a display for pictures and other data for camera phone 200. Camera 220, in this example, is a complementary metal oxide semiconductor (CMOS) camera which may be built into camera phone 200 or connected to camera phone 200 as a module, such as IC card 222. IC card 222 also may contain other application specific functions, such as a global positioning system (GPS) or other functions, such as a modem or additional memory.
Camera 220 forms the camera module of camera phone 200, while the other components form the digital phone module of camera phone 200 in these illustrative examples. Instructions or circuits are added to camera phone 200 to display users with whom a user chats most frequently.
Turning now to
An operating system runs on processor 304 and is used to coordinate and provide control of various components within PDA 300 in
Those of ordinary skill in the art will appreciate that the hardware in
Turning now to
The present invention provides a method, apparatus, and computer instructions for managing instant messaging addresses for users presented through the instant messaging client for a user to select for a chat session. These user lists are also referred to as a people list or a buddy list. These types of lists are typically organized by user-determined groups. These groups reflect groups saved on a server, such as instant messaging server 408. The mechanism of the present invention also may be implemented in instant messaging server 408 instead of on one of the instant messaging clients depending on the particular implementation.
The mechanism of the present invention generates a group in which the entries contain addresses or users that a user has most frequently communicated with. This particular grouping is displayed in a manner such that the group is displayed at the top of the list or in a position such that scrolling to see these entries is minimized or eliminated. The list generated by the mechanism of the present invention has a limited number of entries to reduce the necessity for scrolling. For example, the group may contain five entries for instant messaging addresses with which the user of an instant messaging client has had the most frequent communication.
Turning next to
Additionally, dialog windows 504 provide an interface for user input to send messages to other users. Contact and control window 506 is presented by instant messaging application 500 to provide the user with a list of user names, as well as other information, such as, for example, identifying other users that are currently online. Contact and control window 506 also provides an interface to allow the user to set different preferences. For example, the user may set passwords required to access different names used in instant messaging sessions. Further, a user may employ contact and control window 506 to set other preferences, such as colors and fonts used in instant messaging application 500.
Further, the list of names presented by contact and control window 506 is stored in contact list 508 in these examples. Additional user names may be added or deleted from contact list 508. This contact list is employed in presenting the list of names within contact and control window 506. Additionally, the user may view the status of other users on contact and control window 506. This status may be, for example, available or busy. When the status is available, instant messaging application 500 will accept messages from another instant messaging application to start a new conversation. When the status of another user is busy, messages from instant messaging application 500 are not accepted by the other application for that user.
The mechanism of the present invention for identifying users or instant messaging addresses used most frequently by a user may be implemented as a process within instant messaging application 500. In particular, instant messaging application 500 may include a process to identify the frequency with which a user uses instant messaging addresses for chat sessions. These messaging addresses may include information about users on a user list, such as names, email addresses, user IDs, and nicknames. With the frequency, a subset of the users in a user list may be identified and displayed visibly within a display of a communications device in a manner such that scrolling is avoided. By identifying the most frequently used entries and displaying those entries in a group within a display, a user is less likely to scroll down the user list to look for other users. As a result, the user list in an instant messaging client is made more usable and convenient to the user.
Although the depicted examples illustrate the processes being implemented in an instant messaging client, these processes may be implemented in other components. For example, the identification of the frequency of use of instant messaging entries could be implemented on an instant messaging server if messages and chat sessions are always relayed through the instant messaging server.
Turning now to
If the user for user list 600 chats with people dispersed across these different groups, a usability issue occurs with respect to devices such as a mobile phone or PDA. If only six or seven lines are displayed, then all of the entries cannot be viewed at a single time. If a user chats with several people across these different groups, the user must continually scroll through the user list. In this example, a history group or other selected group containing entries for users with which the most frequent communication has occurred is not shown in the instance in which the process for generating such a group has not yet been run.
Turning next to
In this example, History Group 700 contains entries 702, 704, 706, 708, and 710. Entry 702 comes from Pervasive Team 602 in
Although in this example the group is described as being identified from those with which the most frequent chats have occurred on a daily basis, this identification of frequency may be made in many ways. For example, the identification may be made on an hourly basis, weekly basis or even continuously. The mechanism of the present invention is dynamic and will adjust the group automatically.
With reference next to
With reference now to
Other numbers of entries may be displayed other than the five entries shown in display 900. The number of entries displayed depends on the size of the display in a device and on how much the user desires to scroll through entries. Even though some limited scrolling may occur, the mechanism of the present invention places History Group 902 in a top level. As a result, this is the group within the user list shown first and any scrolling, if needed, if minimized.
This mechanism of the present invention allows a user an effective system for managing user lists because the amount of scrolling is limited based on the manner in which entries are selected for History Group 902. Additionally, the mechanism of the present invention dynamically organizes History Group 902 to contain entries for users with which the user communicates most frequently into a single group. As a result, the entries used most often are readily available in a single group that is expanded at the top of the user list each time the user logs on to the instant messaging client.
Turning next to
The process begins by identifying users in a history group from a user list (step 1000). This identification may be made by identifying the number of users or entries that are to be present in this group. Thereafter, the group is populated using entries having the most frequent communication with the user. Next, the history group is displayed in the top level (step 1002). This display is in a manner as illustrated in display 900 in
With reference next to
The process begins by determining whether a chat with a user from a user list is detected (step 1100). If a chat is not detected, the process returns to step 1100. When a chat with a user in the user list is detected, then statistics are recorded (step 1102).
These statistics may take various forms depending on the manner in which the frequency is to be calculated. For example, these statistics may be the number of messages sent to the user on a list, the number of messages received from the user on the list, or a combination of the two. Additionally, these statistics also may include the number of words or characters sent and received with the user on the list.
Next, a determination is made as to whether the user is currently in the history group (step 1104). If the user is currently in the history group, the process returns to step 1100.
If the user is not in the history group, then the frequency for the user identified for the chat session is compared with entries for users in the history group (step 1106). Then a determination is made as to whether a replacement of an entry in the history group should be made with the user (step 1108). If a replacement is not to be made, the process returns to step 1100.
Otherwise, an entry with the lowest frequency in the history group is removed (step 1110). Thereafter, an entry for the user is placed into the history group (step 1112).
Of course, various algorithms and mechanisms may be used for populating the history groups described above. One example of another algorithms may be basing the frequency on the total number of messages sent and received with respect to a user on the user list, the total number of messages sent to the user on the address list, and or the total number of messages received from the user on the user list. Another example bases the frequency on the number of chats initiated by the user of the instant messaging program or the number of chats initiated by a user on the user list. The frequency may be based on the total number of characters or data exchanged. Further, caching algorithms for Web pages on Web servers and gateways may be modified to identify frequency of users on a user list instead of Web pages. A similar modification may be made with respect to algorithms for cache lines in a cache.
Thus, the present invention provides an improved method, apparatus, and computer instructions for managing user lists in a communications device. The mechanism of the present invention identifies a group of instant messaging addresses used most frequently by a user of an instant messaging client on the communications device. This group is displayed visibly on the display of the communications device in a manner to reduce or eliminate the scrolling needed to select entries from the user lists.
Although the depicted examples are illustrated with respect to devices having a limited display area, the mechanism of the present invention may be applied to other communications devices, such as computers, that have sufficient display area to display entire user lists.
It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.