The rapid growth of computer networks has created new modalities of communication over these computer networks. These new modalities include, among others, email, chat (i.e., instant messaging), short message service (“SMS”), and voice over Internet Protocol (“VoIP”). In conventional implementations, a dedicated user interface is provided for each modality. For example, a first user interface may be provided enabling a user to send an email message, while a second user interface may be provided enabling a user to chat by transmitting and receiving instant messages. In many cases, the first user interface is provided in an entirely separate window than the second user interface, thereby causing the user to alternate, sometimes awkwardly, between windows in order to send an email and to chat at the same time.
Further, communications through the first interface are typically mutually exclusive from communications through the second interface. For example, an email exchange between two users bears no relation to a chat exchange between the same two users, even if the email exchange and the chat exchange occur at the same time. As such, users are generally responsible for maintaining communications between multiple modalities, thereby creating additional challenges with respect to communicating across multiple modalities.
It is with respect to these considerations and others that the disclosure made herein is presented.
Technologies are described herein for providing multi-modal communication through modal-specific user interfaces. In particular, a communication controller is provided that enables one user interface operating under one modality to communicate with another user interface operating under another modality. For example, the communication controller may enable a first user utilizing an email interface to communicate with a second user utilizing a chat interface.
In order to display communications generated in one modality on an interface designed for another modality, the communication controller may be adapted to convert communications from one modality into another modality. Examples of modalities may include, but are not limited to, email, chat (i.e., instant messaging), short message service (“SMS”), and voicemail. The communication controller may be further adapted to operate in the background of a communications network between two or more users. Thus, a user may seamlessly transmit and receive communications through her preferred modality irrespective of the other user's chosen interface or modality. Since a user can transmit and receive communications in a single modality, the responsibility of maintaining any knowledge or concern for the modality of others can be removed from the user.
According to one aspect presented herein, a computer program provides multi-modal communication through modal-specific interfaces. The computer program receives, from a first interface across a computer network, a communication in a first modality. The computer program converts the communication into a second modality. Upon converting the communication into the second modality, the computer program provides the communication to a second interface across the computer network.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
The following detailed description is directed to technologies for providing multi-modal communication through a modality-specific user interface. While the subject matter described herein is presented in the general context of program modules that execute in conjunction with the execution of an operating system and application programs on a computer system, those skilled in the art will recognize that other implementations may be performed in combination with other types of program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and which are shown by way of illustration specific embodiments or examples. Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of a computing system and methodology for providing multi-modal communication through a modality-specific user interface will be described.
The email interface 106A may be any suitable interface capable of enabling the first user 102A to transmit emails to and to receive emails from other users. Examples of email interfaces include those provided by GROUPWISE™ from NOVELL INC. and OUTLOOK® messaging and collaboration client from MICROSOFT CORPORATION. In one embodiment, the email interface 106A is a dedicated email application. The email interface 106A may be a standalone application executing on the first computer 104A. In the alternative, the email interface 106A may be a web application accessible through a web browser executing on the first computer 104A. In another embodiment, the email interface 106A is provided within any suitable application.
The chat interface 106b may be any suitable interface capable of enabling the second user 102B to transmit instant messages to and to receive instant messages from other users. Examples of chat interfaces include those provided by AOL® INSTANT MESSENGER™ software from AOL LLC and WINDOWS MESSENGER® messaging client from MICROSOFT CORPORATION. In one embodiment, the chat interface 106B is a dedicated instant messaging application. The chat interface 106B may be a standalone application executing on the second computer 104B. In the alternative, the chat interface 106B may be a web application accessible through a web browser (not shown) executing on the second computer 104B. In another embodiment, the chat interface 106B is provided within any suitable application.
It should be appreciated that the email interface 106A and the chat interface 106B are merely illustrative examples of communication interfaces. Other suitable communication interfaces that enable users to communicate via text, images, audio, video, and combinations thereof may be similarly utilized. It should further be appreciated that each communication interface may be specific to a particular modality. Each communication interface may be distinguished by its design, which can be optimized for a specific modality, as well as by the modal-specific options that are provided. In many cases, even if the interfaces 106 are provided in a single application, the interfaces 106 are still typically distinguished from each other via a drop-down menu or other suitable interface selection mechanism. In the alternative, the application may automatically switch the interfaces 106 for the users.
As illustrated in
For example, when the first user 102A sends an email to the second user 102B, the communication controller 108 converts the email into an instant message and provides the instant message to the second user 102B via the chat interface 106B. Since the second user 102B is provided with an instant message instead of an email, the second user 102B may have no knowledge that the first user 102A is using the email interface 106A. As far as the second user 102B is concerned, the first user 102A may even be using another chat interface.
Upon receiving the instant message from the first user 102A through the communication controller 108, the second user 102B may reply to the instant message through the chat interface 106B. When the second user 102B sends the instant message reply to the first user 102A, the communication controller 108 converts the instant message reply into an email and provides the email to the first user 102A through the email interface 106A. Since the first user 102A is provided with an email instead of an instant message, the first user 102A may have no knowledge that the second user 102B is using the chat interface 106B. As far as the first user 102A is concerned, the second user 102A may even be using another email interface.
The ability for the first user 102A and the second user 102B to communicate through separate interfaces and across different modalities without any knowledge of or concern for the other's modality provides an additional level of abstraction over conventional implementations. The communication controller 108 essentially hides the possibility that multiple users may be utilizing interfaces operating under different modalities. Accordingly, a user can utilize her preferred communication interface, even if the communication interface is modality-specific and operates under a different modality than other users.
In contrast, a conventional implementation that provides multi-modal communication typically does not allow a user to choose a preferred communication interface irrespective of other users. In one example, a sender may be limited to using the chat interface 106B only when the recipient is online (i.e., presence information). In another example, a recipient who receives an email from the email interface 106A may be limited to viewing the email on another email interface. That is, the recipient cannot choose whether to receive the email in another format, such as SMS or voicemail messages, by default.
In one embodiment, the users 102 may configure the communication controller 108 to convert incoming communications under one modality into one or more other modalities. For example, the first user 102A may configure the communication controller 108 to convert incoming communications into emails and voicemail messages. If the incoming message is text-based, the voicemail messages may be generated via a suitable text-to-speech converter.
The users 102 may further configure the communication controller 108 to select appropriate modalities based on predefined conditions being met or business logic. For example, the second user 102B may configure the communication controller 108 to convert incoming communications into an instant message if the second user 102B is online or into a SMS message if the second user 102B is offline. By enabling the users 102 to specify logic defining how the users 102 will receive incoming communications, the communication controller 108 provides enhanced flexibility over conventional implementations.
Referring now to
As illustrated in
As further illustrated in
The writing pane 214 enables the second user 102B to enter a reply to the instant message 216 in the form of an instant message 222. Once the second user 102B accesses a submit button 224 to submit the instant message 222 to the first user 102A, the communication controller 108 converts the instant message 222 into an email. For example, the email converted from the instant message 222 may be displayed in an inbox (not shown) or other suitable notification interface within the email interface 106A.
Turning now to
Referring to
At operation 306, the communication controller 108 provides the converted first communication to the second interface. For example, upon converting the email 204 into the instant message 216, the communication controller 108 may provide the instant message 216 to the chat interface 106B. Upon receiving the converted first communication from the communication controller 108, the second interface may display the first communication in the second modality as specified by the second user 102B. The routine 300 then proceeds to operation 308.
At operation 308, the communication controller 108 receives a second communication in the second modality from a second interface. For example, if the second interface is the chat interface 106B, then the modality of the second communication is chat. The second communication may be a reply, such as the instant message 222, to the first communication. The routine 300 then proceeds to operation 310, where the communication controller 108 converts the second communication from the second modality into a first modality associated with a first interface. For example, if the first interface is the email interface 106A, then the communication controller 108 converts the instant message 222 received from the chat interface 106B into an email. Upon converting the second communication into the first modality, the routine 300 proceeds to operation 312.
At operation 312, the communication controller 108 provides the converted second communication to the first interface. For example, upon converting the instant message 222 into the email, the communication controller 108 may provide the email to the email interface 106A. Upon receiving the converted second communication from the communication controller 108, the first interface may display the second communication in the first modality as specified by the first user 102A.
Referring now to
By way of example, and not limitation, computer-readable media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. For example, computer-readable media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 400.
According to various embodiments, the computer 400 may operate in a networked environment using logical connections to remote computers through a network 418. The computer 400 may connect to the network 418 through a network interface unit 410 connected to the bus 406. It should be appreciated that the network interface unit 410 may also be utilized to connect to other types of networks and remote computer systems. The computer 400 may also include an input/output controller 408 for receiving and processing input from a number of input devices (not shown), including a keyboard, a mouse, a microphone, and a game controller. Similarly, the input/output controller 408 may provide output to a display or other type of output device (not shown).
Based on the foregoing, it should be appreciated that technologies for providing multi-modal communication through modal-specific interfaces are presented herein. Although the subject matter presented herein has been described in language specific to computer structural features, methodological acts, and computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts and mediums are disclosed as example forms of implementing the claims.
The subject matter described above is provided by way of illustration only and should not be construed as limiting. Various modifications and changes may be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
6216173 | Jones et al. | Apr 2001 | B1 |
6286104 | Buhle et al. | Sep 2001 | B1 |
6397264 | Stasnick et al. | May 2002 | B1 |
6430604 | Ogle et al. | Aug 2002 | B1 |
6549937 | Auerbach et al. | Apr 2003 | B1 |
6779060 | Azvine et al. | Aug 2004 | B1 |
7111044 | Lee | Sep 2006 | B2 |
7277951 | Marriott et al. | Oct 2007 | B2 |
7315613 | Kleindienst et al. | Jan 2008 | B2 |
7363344 | Coletrane et al. | Apr 2008 | B1 |
7363345 | Austin-Lane et al. | Apr 2008 | B2 |
7376701 | Bhargava et al. | May 2008 | B2 |
7552183 | Coletrane et al. | Jun 2009 | B2 |
7818374 | Bates et al. | Oct 2010 | B2 |
8060566 | Appleman | Nov 2011 | B2 |
8161117 | Ye et al. | Apr 2012 | B2 |
20020021307 | Glenn et al. | Feb 2002 | A1 |
20020150091 | Lopponen et al. | Oct 2002 | A1 |
20020194388 | Boloker et al. | Dec 2002 | A1 |
20030046401 | Abbott et al. | Mar 2003 | A1 |
20030164859 | Evans | Sep 2003 | A1 |
20040061718 | Fitzpatrick et al. | Apr 2004 | A1 |
20040064514 | Daniell et al. | Apr 2004 | A1 |
20040128342 | Maes et al. | Jul 2004 | A1 |
20040215721 | Szeto et al. | Oct 2004 | A1 |
20050132012 | Muller et al. | Jun 2005 | A1 |
20050203757 | Lei et al. | Sep 2005 | A1 |
20060005133 | Lyle et al. | Jan 2006 | A1 |
20060017709 | Akihiro | Jan 2006 | A1 |
20060168095 | Sharma et al. | Jul 2006 | A1 |
20060281474 | Domville et al. | Dec 2006 | A1 |
20070050722 | Schulz et al. | Mar 2007 | A1 |
20070116195 | Thompson et al. | May 2007 | A1 |
20070130259 | Daniell et al. | Jun 2007 | A1 |
20070293212 | Quon et al. | Dec 2007 | A1 |
20080059587 | Burtner et al. | Mar 2008 | A1 |
20100169424 | Gustafsson et al. | Jul 2010 | A1 |
Number | Date | Country |
---|---|---|
2004-015710 | Jan 2004 | JP |
2004-241946 | Aug 2004 | JP |
2005-018423 | Jan 2005 | JP |
10-2008-0049289 | Jun 2008 | KR |
10-20080049289 | Jun 2008 | KR |
2299528 | May 2007 | RU |
2006102661 | Aug 2007 | RU |
WO 2006101428 | Sep 2006 | WO |
Entry |
---|
Hyeong-Muk Im, KR 10-2008-0049289, Real-Time Intergration Messaging System for Providing Instant Messaging Server and Electronic Mail Server and Service Method Thereof, publication date: Jun. 4, 2008, [English Translation {machine translation} by the Korean Intellectual Property Office, 18 pages ]. |
IEEE 100, The Authoritative Dictionary of IEEE Standards Terms, 7th edition, copyright 2000 by The Institute of Electrical and Electronics Engineers. ISBN 0-7381-2601-2. “interface” definitions. pp. 574-576. |
IBM, “A means for routing a human to human collaboration based on message context and user roles”, Jun. 14, 2005, IPCOM000125722D, pp. 1-3. |
IBM, “Synchronous / Asynchronous instant messaging chat gateway using an event processing infrastructure,” Jun. 28, 2007, IPCOM000154357D, pp. 1-2. |
Kelly, “IBM's Unified Communications and Collaboration Strategy”, May 2007, Wainhouse Research, LLC, pp. 13. |
Chakraborty, et al., “Pervasive Enablement of Business Processes”, Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications (PERCOM'04), IEEE Computer Society, IEEE, 2004, pp. 11. |
International Search Report dated Dec. 23, 2009 in International Application No. PCT/US2009/044101. |
Chinese Official Action dated Mar. 1, 2012 in Chinese Application No. 200980124693.2. |
European Search Report dated Dec. 20, 2011 in European Application No. 09798372.0. |
Chinese Official Action dated Dec. 11, 2012 in Chinese Application No. 200980124693.2 |
Japanese Official Action dated Nov. 13, 2012 Japanese Application No. 2011-516369. |
Chinese Official Action dated Mar. 27, 2013 in Chinese Application No. 200980124693.2. |
Japanese Official Action dated Apr. 30, 2013 in Japanese Application No. 2011-516369. |
Russian Official Action dated Jun. 13, 2013 in Russian Application No. 2010152821. |
Abstract Russia Patent No. RU 2295841 published Mar. 20, 2005 in the name of Jussi et al. |
Russia Notice of Allowance dated Jan. 27, 2014 in Russian Application No. 2010152821. |
Australian Official Action dated Mar. 6, 2014 in Australian Application No. 2009271514. |
Australian Official Action dated May 16, 2014 in Australian Application No. 2009271514. |
Australian Official Action dated Jul. 31, 2014 in Australian Application No. 2009271514. |
Number | Date | Country | |
---|---|---|---|
20090319918 A1 | Dec 2009 | US |