Communications applications are available for enabling users to have conversations in which synchronous, real-time communication is occurring between parties. For example, conversations have traditionally been held over telephones, though telephone conversation capability has been extended through conference calling, video conferencing, and multiple party conversations via voice over IP (VoIP).
In addition to telephone, conversations have come to include text-based forms of real-time communication such as instant messaging and group chat. In these approaches, two or more users exchange text messages that are transmitted and read by all users. The users participate in an exchange of messages that occurs synchronously for all users. In this way, synchronous text-based conversations can differ from communications such as email in which the parties are not in synchronous, real-time communication, but exchange messages over extended periods of time.
Network-based meetings are also performed online in which one party shares a computer desktop or application with one or more other parties over a network connection. In this way, all meeting participants are able to view a common presentation and interact to exchange ideas. A meeting can be any type of collaboration session, including those in which each participant can speak to the other participants or exchange text messages, for example.
Typically, different applications can be used for conversations and meetings. Oftentimes, a different application is used for each different type of conversation, for example, an instant messaging application for texting and a separate VoIP application for voice conversations over IP networks. Additionally, instant messaging, chat threads, and recorded VoIP conversations can be saved for future reference. However, it can be difficult, for example, for a user to organize the various conversation applications and locate saved conversations in addition to managing a separate meeting application.
The following presents a simplified summary in order to provide a basic understanding of some novel embodiments described herein. This summary is not an extensive overview, and it is not intended to identify key/critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
To that end, architecture is disclosed for bringing a conversation environment and a meeting environment into a single communications application. In this way, a user experience is provided that enables communication and collaboration around applications and related topics, projects and documents rather than verbal or text-based communication.
The communications application includes a meeting component for providing a meeting environment to the user. The meeting component enables the user to select a particular meeting from multiple meetings. A meeting schedule component tracks scheduled online meetings defined according to a list. An ad hoc collaboration component enables the user to create an ad hoc meeting. In this way, users can initiate, interact and manage meetings seamlessly inside a single communications application. The meetings environment also enables the user to manage content related to one or more of the meetings, such as applications, documents and other pre-meeting or post-meeting content.
The communications application also includes a conversation component for providing a conversation environment to the user. The conversation component enables the user to manage multiple conversation threads. The multiple conversation threads can be in any suitable format, such as instant messaging, group chat, telephone calls, or an online meeting. The conversation threads can include active conversation threads, past conversation threads, and persistent conversation threads, for example. The communications application also enables the user to perform searches of the meetings and conversations.
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of the various ways in which the principles disclosed herein can be practiced and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. Other advantages and novel features will become apparent from the following detailed description when considered in conjunction with the drawings.
The disclosed communications architecture provides a user experience that includes a conversation environment and a meeting embodiment in a single real-time communications application. Real-time communications applications are people-centric, and all communications are only centered on people. As VoIP solutions evolved, a phone environment has been added; however, the introduction of conversations and meeting into the real-time application provides a rich user experience for addressing modalities heretofore not available in a single real-time communications application.
A navigation menu enables the user to select between multiple communications environments, including a conversations environment and a meeting environment, among other selections. Multiple conversation threads can be accessed in various conversation formats, including formats associated with instant messaging, group chat, a telephone call, voice, video, email, application sharing, and an online meeting, for example. A meeting environment can be navigated for accessing one or more meetings. Other suitable communications environments can be also be navigated from the same navigation menu, besides the conversation environment and meeting environment.
The disclosed architecture brings the management of different types of conversations (e.g., text-based, audio-based, etc.) into a single communications application, thus allowing a user to navigate and move seamlessly between conversations. Real-time messaging applications are “people-centric” since the various modalities of communication are centered on people and associated human interactions. A “meeting” is a specialized type of interaction where users are collaborating with multiple modalities (e.g., voice, text, video, documents, desktop sharing, etc.). A conversation on the telephone or with text can be escalated to a meeting experience. Conversely, a meeting can lead to a follow-up conversation on a phone or conference call. Rather than using multiple separate applications for these interactions, incorporating both a conversation environment and a meeting environment into a single communication application allows the user to navigate through ad hoc and scheduled communications, follow-up on past and missed conversations and escalate these communications into an immersive real-time meeting experience.
The communications system and application also includes a selection pane for displaying a list of the conversation threads or meetings, depending on the environment selected by the user. The selection pane can include a list of active conversation threads or meetings, as well as lists of history conversation threads or meetings and persistent conversation threads or meetings. A preview pane can also be included in the communications system. The preview pane displays a preview of a specific item from the list shown in the selection pane.
Reference is now made to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. It may be evident, however, that the novel embodiments can be practiced without these specific details. In other instances, well known structures and devices are shown in block diagram form in order to facilitate a description thereof. The intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the claimed subject matter.
Through the meeting component 102, the meeting environment provides easy access to online meetings and related content. The meeting component 102 enables online meetings to be created in the communications application 104 that are available in the meeting environment. The meeting component 102 provides access to meeting-related content stored on external applications, such as a remote server. The meeting component 102 also provides one-click access to join available meetings displayed within the communications application 104, as discussed in detail hereinbelow. Additionally, a user can search all meetings to which access is available. In these ways, the meeting component 102 enables a range of online conferencing capabilities to become integral parts of meetings and provides users with a single application to join and participate in meetings.
The conversation component 108 provides conversation management for users participating in multiple online conversations. This helps users organize conversation threads 110 according to individual users or topics. A user can also browse or search other ongoing conversation threads 110 related to a given topic or project, as will be set forth in greater detail hereinbelow. It is to be appreciated that conversation threads 110 can be associated with different conversation types, including but not limited to, instant messaging, group chat, telephone calls, video, and/or an online meeting.
As also illustrated in
The conversation threads 400 can also include past conversation threads 404. The conversation component 108 enables the user to view a conversation history of recent or old conversation threads 404 and quickly restart a conversation.
The conversation threads 400 can also include persistent conversation threads 406. The conversation component 108 enables the user to view, create, and manage topic or group-centric conversations that persist over a period of time between multiple users. It is to be appreciated that the conversation threads 400 can include other types of conversations in addition to those indicated hereinabove, and that the conversation threads 400 depicted are not to be construed as limiting in any way.
As illustrated in
As also illustrated in
As also illustrated in
As described hereinabove the communication system 500 can define a conversation environment and a meeting environment in a single communications application. However, the communication system 500 and the associated application can also include a “people & groups” environment and “phone” environment. In such an implementation, the navigation menu component 502 can provide a conversation environment that enables users to manage active, past and persistent conversations, along with a meeting environment that enables users to manage communications around scheduled and ad hoc collaborations among users and topics.
As disclosed herein, the subject embodiments provide a single unified user experience that provides meetings and conversations and other types of conversations to be managed as objects for initiating communication and collaboration, regardless of the storage or data source. In this way, the subject embodiments provide advantages over previous systems that employ unrelated applications that store various communications in different, unassociated locations.
Included herein is a set of flow charts representative of exemplary methodologies for performing novel aspects of the disclosed architecture. While, for purposes of simplicity of explanation, the one or more methodologies shown herein, for example, in the form of a flow chart or flow diagram, are shown and described as a series of acts, it is to be understood and appreciated that the methodologies are not limited by the order of acts, as some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all acts illustrated in a methodology may be required for a novel implementation.
Additionally, it is to be appreciated that one or more different communications environment types can be selected in the communications application. These different communications environment types are different from the conversations environment and meetings environment, and can be suitably used for any different sort of communication that might be contemplated by a user.
As illustrated in
The meeting information field 1114 can also be selected to display tagged meetings. These are meetings that are tagged by the user so the meetings can be viewed inside the meeting environment. A MAPI (messaging application programming interface) property on a meeting stored in the communications application can allow querying for tagged meetings. Alternatively, the application can maintain a reference to GUIDs (globally unique IDs) of tagged meetings, as a separate object in a local or server application.
As illustrated in
The selection pane 1212 illustrated in
As described hereinabove, the subject embodiments provide a single application for accessing multiple communications environments, and multiple types of communications formats within a particular environment. The subject embodiments enable a user to quickly look to observe and navigate active communications and communications history items. Selecting items on lists and previewing items enables quick and convenient navigation and management, enabling users to leverage all available communications information in a single application.
While certain ways of displaying information to users are shown and described with respect to certain figures as screenshots, those skilled in the relevant art will recognize that various other alternatives can be employed. The terms “screen,” “screenshot”, “webpage,” “document”, and “page” are generally used interchangeably herein. The pages or screens are stored and/or transmitted as display descriptions, as graphical user interfaces, or by other methods of depicting information on a screen (whether personal computer, PDA, mobile telephone, or other suitable device, for example) where the layout and information or content to be displayed on the page is stored in memory, database, or another storage facility.
As used in this application, the terms “component” and “system” are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical and/or magnetic storage medium), an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers. The word “exemplary” may be used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
Referring now to
The computing system 1300 for implementing various aspects includes the computer 1302 having processing unit(s) 1304, a system memory 1306, and a system bus 1308. The processing unit(s) 1304 can be any of various commercially available processors such as single-processor, multi-processor, single-core units and multi-core units. Moreover, those skilled in the art will appreciate that the novel methods can be practiced with other computer system configurations, including minicomputers, mainframe computers, as well as personal computers (e.g., desktop, laptop, etc.), hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
The system memory 1306 can include volatile (VOL) memory 1310 (e.g., random access memory (RAM)) and non-volatile memory (NON-VOL) 1312 (e.g., ROM, EPROM, EEPROM, etc.). A basic input/output system (BIOS) can be stored in the non-volatile memory 1312, and includes the basic routines that facilitate the communication of data and signals between components within the computer 1302, such as during startup. The volatile memory 1310 can also include a high-speed RAM such as static RAM for caching data.
The system bus 1308 provides an interface for system components including, but not limited to, the memory subsystem 1306 to the processing unit(s) 1304. The system bus 1308 can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), and a peripheral bus (e.g., PCI, PCIe, AGP, LPC, etc.), using any of a variety of commercially available bus architectures.
The computer 1302 further includes storage subsystem(s) 1314 and storage interface(s) 1316 for interfacing the storage subsystem(s) 1314 to the system bus 1308 and other desired computer components. The storage subsystem(s) 1314 can include one or more of a hard disk drive (HDD), a magnetic floppy disk drive (FDD), and/or optical disk storage drive (e.g., a CD-ROM drive DVD drive), for example. The storage interface(s) 1316 can include interface technologies such as EIDE, ATA, SATA, and IEEE 1394, for example.
One or more programs and data can be stored in the memory subsystem 1306, a removable memory subsystem 1318 (e.g., flash drive form factor technology), and/or the storage subsystem(s) 1314, including an operating system 1320, one or more application programs 1322, other program modules 1324, and program data 1326. Generally, programs include routines, methods, data structures, other software components, etc., that perform particular tasks or implement particular abstract data types. All or portions of the operating system 1320, applications 1322, modules 1324, and/or data 1326 can also be cached in memory such as the volatile memory 1310, for example. It is to be appreciated that the disclosed architecture can be implemented with various commercially available operating systems or combinations of operating systems (e.g., as virtual machines).
The aforementioned application programs 1322, program modules 1324, and program data 1326 can include the computer-implemented communications system 100, the meeting component 102, the communications application 104, the multiple meetings 106, the conversation component 108, and the multiple conversation threads 110 of
The aforementioned application programs 1322, program modules 1324, and program data 1326 can also include the computer-implemented system 500, the navigation menu component 502, the multiple communications components 504, the communications items 506, the conversation component 508, the meeting component 510, the selection pane component 512, the preview pane component 514, the specific communications item 516, and the notification component 518, of
The aforementioned application programs 1322, program modules 1324, and program data 1326 can further include the user interface 1100, the identification display 1102, the phone selector 1104, the people & groups selector 1106, the meetings selector 1108, the conversations selector 1110, the calendar information 1112, the meeting information field 1114, the join meeting button 1116, the new meeting button 1118, and the conference now button 1120 of
The storage subsystem(s) 1314 and memory subsystems (1306 and 1318) serve as computer readable media for volatile and non-volatile storage of data, data structures, computer-executable instructions, and so forth. Computer readable media can be any available media that can be accessed by the computer 1302 and includes volatile and non-volatile media, removable and non-removable media. For the computer 1302, the media accommodate the storage of data in any suitable digital format. It should be appreciated by those skilled in the art that other types of computer readable media can be employed such as zip drives, magnetic tape, flash memory cards, cartridges, and the like, for storing computer executable instructions for performing the novel methods of the disclosed architecture.
A user can interact with the computer 1302, programs, and data using external user input devices 1328 such as a keyboard and a mouse. Other external user input devices 1328 can include a microphone, an IR (infrared) remote control, a joystick, a game pad, camera recognition systems, a stylus pen, touch screen, gesture systems (e.g., eye movement, head movement, etc.), and/or the like. The user can interact with the computer 1302, programs, and data using onboard user input devices 1330 such a touchpad, microphone, keyboard, etc., where the computer 1302 is a portable computer, for example. These and other input devices are connected to the processing unit(s) 1304 through input/output (I/O) device interface(s) 1332 via the system bus 1308, but can be connected by other interfaces such as a parallel port, IEEE 1394 serial port, a game port, a USB port, an IR interface, etc. The I/O device interface(s) 1332 also facilitate the use of output peripherals 1334 such as printers, audio devices, camera devices, and so on, such as a sound card and/or onboard audio processing capability.
One or more graphics interface(s) 1336 (also commonly referred to as a graphics processing unit (GPU)) provide graphics and video signals between the computer 1302 and external display(s) 1338 (e.g., LCD, plasma) and/or onboard displays 1340 (e.g., for portable computer). The graphics interface(s) 1336 can also be manufactured as part of the computer system board.
The computer 1302 can operate in a networked environment (e.g., IP) using logical connections via a wire/wireless communications subsystem 1342 to one or more networks and/or other computers. The other computers can include workstations, servers, routers, personal computers, microprocessor-based entertainment appliance, a peer device or other common network node, and typically include many or all of the elements described relative to the computer 1302. The logical connections can include wire/wireless connectivity to a local area network (LAN), a wide area network (WAN), hotspot, and so on. LAN and WAN networking environments are commonplace in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global communications network such as the Internet.
When used in a networking environment the computer 1302 connects to the network via a wire/wireless communication subsystem 1342 (e.g., a network interface adapter, onboard transceiver subsystem, etc.) to communicate with wire/wireless networks, wire/wireless printers, wire/wireless input devices 1344, and so on. The computer 1302 can include a modem or has other means for establishing communications over the network. In a networked environment, programs and data relative to the computer 1302 can be stored in the remote memory/storage device, as is associated with a distributed system. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.
The computer 1302 is operable to communicate with wire/wireless devices or entities using the radio technologies such as the IEEE 802.xx family of standards, such as wireless devices operatively disposed in wireless communication (e.g., IEEE 802.11 over-the-air modulation techniques) with, for example, a printer, scanner, desktop and/or portable computer, personal digital assistant (PDA), communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. This includes at least Wi-Fi (or Wireless Fidelity) for hotspots, WiMax, and Bluetooth™ wireless technologies. Thus, the communications can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices. Wi-Fi networks use radio technologies called IEEE 802.11x (a, b, g, etc.) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wire networks (which use IEEE 802.3-related media and functions).
The illustrated aspects can also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in local and/or remote storage and/or memory system.
Referring now to
The environment 1400 also includes one or more server(s) 1404. The server(s) 1404 can also be hardware and/or software (e.g., threads, processes, computing devices). The servers 1404 can house threads to perform transformations by employing the architecture, for example. One possible communication between a client 1402 and a server 1404 can be in the form of a data packet adapted to be transmitted between two or more computer processes. The data packet may include a cookie and/or associated contextual information, for example. The environment 1400 includes a communication framework 1406 (e.g., a global communication network such as the Internet) that can be employed to facilitate communications between the client(s) 1402 and the server(s) 1404.
Communications can be facilitated via a wire (including optical fiber) and/or wireless technology. The client(s) 1402 are operatively connected to one or more client data store(s) 1408 that can be employed to store information local to the client(s) 1402 (e.g., cookie(s) and/or associated contextual information). Similarly, the server(s) 1404 are operatively connected to one or more server data store(s) 1410 that can be employed to store information local to the servers 1404.
What has been described above includes examples of the disclosed architecture. It is, of course, not possible to describe every conceivable combination of components and/or methodologies, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.