1. The Field of the Invention
The present invention relates to methods, systems and computer program products for real-time communication interfaces.
2. The Relevant Technology
The popularity of the Internet and satellite-based technologies has enhanced the way people communicate with each other by allowing users quick and easy access to a virtually endless sea of communication methods. Any given person may now contact another person with greater or lesser immediacy using various media that include accessing the World Wide Web, electronic mail (email), satellite-based or Internet-based telephony, video conferencing, and instant text messaging. These methods allow people to stay in touch with each other, and to access information on a variety of subjects, in some cases instantly.
Currently, instant text messaging (IM) is one of the more popular forms of relatively immediate or real-time communication. Such real-time communication allows a user to communicate with another user within a matter of seconds. In operation, real-time communication interfaces typically display a selectable contact list. When a user desires to communicate with a contact in real-time, the user may select a contact from the contact list and send real-time text communications to the user. In so doing, the user's message usually is received by the contact within a second or two of being sent. This ability to communicate with other contacts in such a short time highlights a number of advantages instant text messaging has over other types of electronic messaging, such as email.
Real-time communication users converse with other contacts typically using a separate conversation interface for each contact (i.e., one-on-one session), or one conversation interface for multiple contacts (i.e., chat session). Messages appear in each conversation interface in time-dependant alternating segments. Thus, users can monitor continuous text conversations through one conversation interface, even after multiple iterations of sending and receiving responses. This ability allows for a fluid real-time conversation between users. Thus, real-time communication provides many conveniences compared with other messaging protocols such as electronic mail.
Despite such conveniences,
For example, incoming message notification 170 obstructs email interface 140, which itself obstructs word processing application 150. Email interface 140 and real-time communication interface 120 both obstruct real-time communication interface 130. Instant messenger interface 110 and incoming message notification 160 simply occupy currently unused desktop screen real estate. As a result, for a user to monitor the real-time communication conversations 110, 120, and 130, as well as to reference the word processing document 150 or email 140, the user must toggle between each of the different interfaces. In addition to obstructing other interfaces, notification 170 requires explicit user interaction in order to dismiss the notification so that the user can proceed with other, potentially more pressing tasks. Notification 160 automatically fades from view after a predetermined amount of time, giving the user a limited amount of time to take any desired action.
Although notifications 160 and 170 may display part of a received real-time message, neither notification represents a user interface for real-time communication. Note, for example, that notifications 160 and 170 do not include a text input box or other input field for composing real-time messages. If a user decides to participate in a real-time conversation by interacting with notifications 160 and 170, a separate user interface, such as user interfaces 110, 120, or 130, is launched. Once launched, user interfaces 110, 120, and 130 remain a fixed (maximized) size, regardless of the amount of user interaction with each user interface. For example, user interface 120 displays as shown until explicitly resized, moved, closed, or minimized by a user.
A user may attempt to remedy the screen space and multiple interface issues by arranging or resizing the various application interfaces. In addition, the user may simply turn off incoming message notifications 160 and 170 in order to avoid distractions. While most present GUI-based operating systems provide this ability to arrange various interfaces selectively, having to explicitly interact with multiple user interfaces can be burdensome. Accordingly, methods, systems, and computer program products that make real-time communication user interfaces less intrusive by automatically adjusting the user interfaces based on a user's level of interaction are desired.
The present invention relates to making user interfaces for real-time communication less intrusive by automatically adjusting the user interfaces based on the user's level of interaction. In accordance with example embodiments, an initial representation of a user interface for real-time communication is displayed and user input directed to the initial representation is monitored. The initial representation of the user interface is automatically adapted to the user's activity level based on the monitored user input. For example, the initial representation may be automatically adapted to an intermediate representation that includes a text input box, a larger representation that also includes the text input box, or a smaller representation. Because each contains a text input box, both the intermediate representation and the enlarged or larger representation can receive user input. Automatically adapting occurs without explicit user input to reduce or enlarge the initial representation, such as an explicit minimize, maximize, or resize input.
In an example embodiment, the initial representation is enlarged in response to hovering over or clicking on the initial representation. The initial representation may be reduced in response to a user sending a real-time message. For example, the user may compose a real-time message in the text input box of a larger representation of the user interface. Then, after the user sends the real-time message, the larger representation may be reduced automatically to the intermediate representation.
When the intermediate representation is reduced to the smaller representation, a message may be displayed to indicate the location of the smaller representation, which after reduction may be simply an icon. Subsequent real-time messages may be displayed next to the smaller representation, at least for a predetermined time, as they are received. Interacting with the displayed real-time messages for the smaller representation may cause the smaller representation to be enlarged to either an intermediate representation or the larger representation.
The initial representation of the user interface for real-time communication may be displayed in a desktop bar that also displays representations of other user interfaces, such as for a calendar, streaming audio or video, a contact list which allows custom identification information to be associated with individual contacts, etc. A user may initiate a real-time message to a contact by selecting the contact's representation, or dragging a computerized object, such as a file icon, and dropping the computerized object on the contact. As the initial representation is adapted, these other representations may be adapted as well. For example, as the initial representation enlarges, representations of one or more other user interfaces may be reduced. Similarly, as the initial representation reduces, the representations of the other user interfaces may be enlarged.
These and other objects and features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
To further clarify the above and other advantages and features of the present invention, a more particular description of the invention will be rendered by references to specific embodiments thereof, which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
The present invention relates to simplifying user interaction with real time communication user interfaces by adapting the user interfaces to the user's activity level. Example embodiments of the present invention may comprise a special purpose or general-purpose computer including various computer hardware, as discussed in greater detail below. Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communication connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
Desktop bar 220 (for
Desktop bar 220 (in
Note, however, that intermediate, larger or enlarged, and smaller or reduced, are relative terms. Each qualifier should be evaluated relative to other representations of user interfaces for real-time communication. Also note that while minimized ordinarily refers to an icon and/or text representation of a currently running application or process, in the context of this application, minimized and minimized state also can be used to reference an intermediate representation of a user interface displayed in a desktop bar. In other words, minimizing a real-time communication user interface may be used to display the user interface in desktop bar 220, rather than displaying the user interface as merely an icon and/or text.
The “After” representation of text input box 270 is an example of an enlarged or larger representation of a user interface for real-time communication. After user Bryan 230 sends his message, at least a portion of the text will appear under Jena's 240 message as part of a conversation history; and text input box 270 reduces or shrink back to its initial size. Among other things, automatically adjusting or adapting the text input box 270 of the real-time communication interface based on user interaction allows for a compact user interface layout that initially favors other applications, but gives way to an enlarged or larger user interface when the user's interaction with the real-time communication interface make an enlarged or larger user interface appropriate. This ability to automatically adjust a user interface based on a user's interaction with the user interface, as opposed to explicit resize, maximize or minimize input, represents a significant advancement, particularly in the context of real-time communication, where real-time messages may interrupt other activities.
Because user Bryan 310 is monitoring (that is not actively participating and therefore having little or no interaction with) the real-time conversation between Jena 320 and Mike 330, the user interface for the real-time communication is a reduced or smaller representation 327. The reduced or small representation 327 allows other user interfaces, such as video newscast 360, list of incoming emails 375, the word processing application of
Smaller or reduced user interface representations for real-time communication may take a variety of forms. Furthermore, the user may be offered one or more dynamic options based on whether a user hovers (e.g., places a cursor over the balloon) or selects the balloon (e.g., “clicks” on the balloon). Such dynamic options could include displaying a portion of the message, displaying an option to explicitly maximize the conversation window, an option to view the conversation history, an option to cancel the conversation session, etc. Of course, the invention is not limited to any of these examples.
Continuing with the “Before” sequence, Jena 320 sends Mike 330 a text message 322. This message notification 322 for user Bryan may remain only for a predetermined time period. For example, if user Bryan 310 fails to interact with the message notification 322, the message fades, and therefore is not shown in the “After” representation of desktop bar 300. Interaction may comprise, e.g., “hovering” over the message, or selecting the message, as described with the conversation balloons above. After the message notification 322 fades, the sending contact's representation 325 in the “After” sequence may be highlighted, alerting user Bryan 310 to a received message. Here, for example icon 325 (“After”) is shown outlined, representing that Jena 320 has sent a real-time message that has not been viewed, selected, etc. by user Bryan 310. One will appreciate that this sort highlighting may comprise a wide variety of methods such as bolding or outlining a representation, blinking a representation, inserting smaller textual notices near the representation, enlarging the representation, etc. Contact Mike 330 responds to contact Jena's message 322, as shown in the
In
Continuing with
The user interface 311 may include the two window options 312 and 314 as shown, as well as additional options (not shown), and may provide the user with a variety of menu options. For example, option 312 may provide an option to display a conversation history, or may provide an option to move the conversation window upon selection (e.g., “clicking”) to make the conversation window appear as a separated interface (e.g.,
In addition, these various, optional user interfaces may enlarge or reduce based on adjustments made existing conversation window 311. For example, in
In practice, a user, e.g. user Bryan 410, may change the user's appearance to other contacts, e.g. 420, 430, 440, by typing a user name in the text input option 452. To do so, the application software, may present a user, e.g. user Bryan 410, with several options 455 including using (or altering) a default icon, or selecting a custom image. It should be appreciated, however, that customized text, icons, and graphics are merely examples of manipulating a user's representation of others.
Each of the enlarged user interface representations 615, 645, and 685 show examples of some options and capabilities that a real-time communication user interfaces may provide. For clarity, however, most common options are numbered, and will be described, only with respect to user interface representation 615. User interface representation 615 includes a window minimize button 608, a window maximize button 604, a window close button 606, and an interface minimize button 618. For enlarged user interface representation 615, 645, and 685, the window minimize button 608 may serve to reduce the conversation window to corresponding conversation windows 610, 640 or 650, and 680 or 690; the window maximize button 604 may serve to enlarge the conversation windows to a larger size if they have been previously reduced or resized or may display the conversation history; and the window exit button 606 may serve to close the conversation entirely. The interface minimize button 618 may be designed to perform the same function as window minimize button 608, or may dock conversation windows 615, 645, and 685 to the desktop bar 600.
Conversation window 615 also includes a menu button 622 that may provide a list of additional interface options, a webcam button 624 that may provide an option for audio messaging (e.g., conversation window 645) or video messaging (e.g., conversation window 685), and a send file button 626 for adding a file to a real-time message. A format and emoticon toolbar 612, a text entry box 614, and at least a portion of the ongoing text conversation 620 show toward the bottom of conversation window 615.
For an audio conversation, e.g. audio conversation window 645, the real-time communication user interface may provide additional audio controls 632 to adjust the volume, speakers, or quit the audio conversation. The audio conversation window 645 shows that audio and text chat may be combined into a single interface, and may be reduced into alternative audio user interfaces, e.g., window 640 or window 650, which may represent minimized representations of conversation window 645. Conversation windows 640 and 650 merely illustrate one example of the extent to which optional controls may be included in a reduced audio conversation window 645. Note that audio conversation window 650 also includes a window minimize button 604 and a window maximize button 606.
Similar to audio conversation window 645, video conversation window 685 provides audio controls 632 to adjust the volume, speakers, or quit the audio portion of the real-time video messaging communication. Video conversation window 685 includes video stream 672, shows a text entry box 614 and an ongoing text conversation history 620 for combined real-time text and video messages. As in the case of the other conversation windows 615 and 645, a user may reduce the video conversation window 685 into smaller user interfaces, e.g. video conversations windows 680 and 690. Like smaller audio conversation windows 640 and 650, smaller video conversation windows 680 and 690 illustrate merely one example of the extent to which optional controls may be included in a reduced video conversation window 685. Note that video conversation window 690 also includes window minimize and maximize buttons 604 and 606.
The present invention also may be described in terms of methods comprising functional steps and/or non-functional acts. The following is a description of acts and steps that may be performed in practicing the present invention. Usually, functional steps describe the invention in terms of results that are accomplished, whereas non-functional acts describe more specific actions for achieving a particular result. Although the functional steps and non functional acts may be described or claimed in a particular order, the present invention is not necessarily limited to any particular ordering or combination of acts and/or steps.
A step for automatically adapting (730) one or more other user interfaces to account for size changes in the initial representation of the user interface may include an act of automatically reducing or enlarging (732) the one or more other user interfaces when the initial representation is enlarged or reduced. When a user interface representation is reduced, a step for indicating (740) the location of the reduced representation may include an act of displaying (742) a message that indicates where the reduced representation is located. For reduced user interface representations, such as a user interface that has been reduced to an icon, received real-time messages may be displayed (752) adjacent to the reduced representation.
Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where local and remote processing devices perform tasks and are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
With reference to
The computer 820 may also include a magnetic hard disk drive 827 for reading from and writing to a magnetic hard disk 839, a magnetic disk drive 828 for reading from or writing to a removable magnetic disk 829, and an optical disc drive 830 for reading from or writing to removable optical disc 831 such as a CD ROM or other optical media. The magnetic hard disk drive 827, magnetic disk drive 828, and optical disc drive 830 are connected to the system bus 823 by a hard disk drive interface 832, a magnetic disk drive-interface 833, and an optical drive interface 834, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 820. Although the exemplary environment described herein employs a magnetic hard disk 839, a removable magnetic disk 829 and a removable optical disc 831, other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile disks, Bernoulli cartridges, RAMs, ROMs, and the like.
Program code means comprising one or more program modules may be stored on the hard disk 839, magnetic disk 829, optical disc 831, ROM 824 or RAM 825, including an operating system 835, one or more application programs 836, other program modules 837, and program data 838. A user may enter commands and information into the computer 820 through keyboard 840, pointing device 842, or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 821 through a serial port interface 846 coupled to system bus 823. Alternatively, the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). A monitor 847 or another display device is also connected to system bus 823 via an interface, such as video adapter 848. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
The computer 820 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 849a and 849b. Remote computers 849a and 849b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the computer 820, although only memory storage devices 850a and 850b and their associated application programs 836a and 836b have been illustrated in
When used in a LAN networking environment, the computer 820 is connected to the local network 851 through a network interface or adapter 853. When used in a WAN networking environment, the computer 820 may include a modem 854, a wireless link, or other means for establishing communication over the wide area network 852, such as the Internet. The modem 854, which may be internal or external, is connected to the system bus 823 via the serial port interface 846. In a networked environment, program modules depicted relative to the computer 820, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communication over wide area network 852 may be used.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Number | Name | Date | Kind |
---|---|---|---|
5377317 | Bates et al. | Dec 1994 | A |
5390295 | Bates et al. | Feb 1995 | A |
5617526 | Oran et al. | Apr 1997 | A |
5699535 | Amro | Dec 1997 | A |
5715415 | Dazey et al. | Feb 1998 | A |
5793365 | Tang et al. | Aug 1998 | A |
5852440 | Grossman et al. | Dec 1998 | A |
5898431 | Webster et al. | Apr 1999 | A |
6025841 | Finkelstein et al. | Feb 2000 | A |
6052121 | Webster et al. | Apr 2000 | A |
6147773 | Taylor et al. | Nov 2000 | A |
6310632 | Monroe et al. | Oct 2001 | B1 |
6342908 | Bates et al. | Jan 2002 | B1 |
6353448 | Scarborough et al. | Mar 2002 | B1 |
6396487 | Jameson | May 2002 | B1 |
6396521 | Lai et al. | May 2002 | B1 |
6411312 | Sheppard | Jun 2002 | B1 |
6512529 | Janssen et al. | Jan 2003 | B1 |
6646673 | Caviedes et al. | Nov 2003 | B2 |
6670970 | Bonura et al. | Dec 2003 | B1 |
6865599 | Zhang | Mar 2005 | B2 |
6865719 | Nicholas, III | Mar 2005 | B1 |
7020849 | Chen | Mar 2006 | B1 |
7124372 | Brin | Oct 2006 | B2 |
7146573 | Brown et al. | Dec 2006 | B2 |
7185057 | Brown et al. | Feb 2007 | B2 |
7441200 | Savage | Oct 2008 | B2 |
20010047626 | Ohkado | Dec 2001 | A1 |
20020028018 | Hawkins et al. | Mar 2002 | A1 |
20020089546 | Kanevsky et al. | Jul 2002 | A1 |
20030001899 | Partanen et al. | Jan 2003 | A1 |
20030063120 | Wong et al. | Apr 2003 | A1 |
20030105812 | Flowers et al. | Jun 2003 | A1 |
20030142139 | Brown et al. | Jul 2003 | A1 |
20030233650 | Zaner et al. | Dec 2003 | A1 |
20040103156 | Quillen et al. | May 2004 | A1 |
20040133638 | Doss et al. | Jul 2004 | A1 |
20040183829 | Kontny et al. | Sep 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20040268263 A1 | Dec 2004 | US |