INTELLIGENT CO-BROWSING AND CO-EDITING
A leader of a group can specify how content is to be displayed to a group of users. One of these users can specify different instructions regarding the display of the content. The system can then display the content to the user, using either (or both) of the leader's instructions and the user's specific instructions. Using these various independent instructions, the system can automatically change the way the content is displayed to a group of users.
Latest NOVELL, INC. Patents:
- F* and W temper aluminum alloy products and methods of making the same
- Service usage metering techniques
- Generating and automatically loading reduced operating system based on usage pattern of applications
- System and method for implementing cloud mitigation and operations controllers
- System and method for displaying multiple time zones in an online calendar view
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/224,778, titled “COLLABORATION TOOLS”, filed Jul. 10, 2009 and U.S. Provisional Patent Application Ser. No. 61/236,005, titled “PRESENCE-ENABLED INBOX”, filed Jul. 10, 2009, which are hereby incorporated by reference.
This application is related to U.S. patent application Ser. No. ______, titled “COLLABORATION SWARMING”, filed ______, U.S. patent application Ser. No. ______, titled “AUTO-GENERATED AND INFERRED GROUP CHAT PRESENCE”, filed ______, U.S. patent application Ser. No. ______, titled “UNIFIED ADDRESSING, SENDING, AND RECEIVING COLLABORATION SERVICE”, filed ______, U.S. patent application Ser. No. ______, titled “UNIFIED EDITABLE INBOX”, filed , and U.S. patent application Ser. No. ______, titled “PRESENCE-ENABLED INBOX”, filed , all of which are commonly assigned with this application and are hereby incorporated by reference.
FIELDThis invention pertains to team review of content, and more particularly to enabling multiple users to view and/or edit content at the same time.
BACKGROUNDThe traditional presentation has long been a useful way for one person to educate a group of others about a topic. By combining a spoken description with useful diagrams, outlined text, and other visual modes of presenting information, the presenter can, in a relatively short amount of time, educate his audience about the topic. In addition, presentations are useful whether the audience is just one person or an auditorium full.
Historically, the usefulness of presentations was limited by the need for each audience member to be able to hear the presenter and see the visual materials. But with the advent of computerized presentations, the usefulness of presentations has increased. Presentations can be made over the Internet, with each audience member sitting in front of a separate computer screen. Each audience member can adjust the size of the visual materials and the volume of the speaker's voice to suit his own tastes. In addition, electronic presentations require no materials to be produced, as everything is edited in an electronic form, which reduces the cost to prepare presentations.
But one thing has not changed since the days of projectors. Regardless of whether the presentation uses a projector or a computer, the presenter has complete control over the presentation. Audience members can, of course, ask questions of the presenter, which can have a minimal impact on the course of the presentation. But generally, the presenter has a script, and everyone follows that script without variance.
A need remains for a way to address these and other problems associated with the prior art.
SUMMARYA machine hosts a content. One user instructs the machine in the presentation of that content to himself and other users. Another user can switch away from the presentation of the content as directed by the first user, and can instruct the machine to present the content to himself in a different way.
The foregoing and other features, objects, and advantages of the invention will become more readily apparent from the following detailed description, which proceeds with reference to the accompanying drawings.
As an example of how an embodiment of the invention according to
But while users 120, 125, 130, 135, 140 can simply follow the display of content 115 as instructed by Joe 105, the other members of the team can also take control of the display of the content to themselves. For example, Thomas 135 can issue his own instructions 160 regarding the display of the content for himself. Instructions 160 are separate from instructions 110, and can apply just to the display of content 115 to Thomas 135 (that is, the other members of the team do not see the display of content 115 as directed by instructions 160). Thus, while the rest of the team is following the lead of Joe 105 and viewing one section of content 115, Thomas 135 can be viewing another section of content 115 independently.
While the above example demonstrates how multiple members of a team can simultaneously browse content 115, embodiments of the invention also allow the members of the team to simultaneously edit content 115 as well. For example, Joe's instructions 110 can include edits to the section of the code being discussed by the team, while at the same time, Thomas's instructions 160 can include editing another portion of content 115. In fact, it is possible for both Joe 105 and Thomas 135 to simultaneously edit the same section of content 115. A person of ordinary skill in the art will recognize that if Joe 105 is leading the team through that section of code, then the edits being made by Thomas 135 as part of instructions 160 will also be immediately apparent to the rest of the team.
Although the description of
In addition, as discussed above, the term “display” is intended to encompass both viewing and editing of the content. Thus, embodiments of the invention include the possibility that there can be multiple users all editing the content simultaneously.
While the above discussion focuses on a predefined group of persons interested in a particular content, a person of ordinary skill in the art will recognize that the group does not need to be predefined. That is, members can join and depart the group as their interest dictates. In addition, it is possible for members of the group to be given different levels of involvement. For example, aside from the leader of the group (such as Joe 105, whose instructions 110 are generally controlling the display of the content), users can elect to be participants in the group, or just audience members. Audience members can simply follow the discussion without becoming involved; participants have a higher level of involvement, potentially contributing to the discussion. Audience members can either “self-promote” to participants, or can request the leader of the group to promote them to participants.
Although
Embodiments of the invention also enable particular users to control whether the users are permitted to display other portions of the content, or to edit the content. For example, Joe 105, as the leader of the group, can grant or deny the members of the group permission to display portions of the content other than what Joe 105 is displaying. Joe 105, as leader of the group, can also grant or deny the members of the group the ability to edit the content.
It is worth noting that co-browsing and co-editing are separate from each other: one does not imply the other. For example, if Joe 105 denies both co-browsing and co-editing, then all the members of the group must follow Joe's display of the content. If Joe 105 permits co-browsing but denies co-editing, then other members of the group can display other portions of the content, but cannot edit any of the content. If Joe 105 permits co-editing but denies co-browsing, then the members of group can edit the portion of the content Joe 105 is displaying, but cannot display another portion of the content. Finally, if Joe 105 permits both co-browsing and co-editing, then the members of the group can both display and edit other portions of the content. In addition, in embodiments of the invention, these controls over co-browsing and co-editing can be toggled during the display of the content. That is, at different times Joe 105 can permit and/or deny co-browsing and co-editing. Finally, although the above discussion focuses on Joe 105, as leader of the group, having the ability to grant or deny co-browsing and co-editing permission, a person of ordinary skill in the art will recognize that this ability can lie with any member(s) of the group, and not necessarily with the leader of the group.
Machine 205 can be connected to network 210, which allows other machines, such as computer systems 215, 220, and 225 to interact with machine 205. Computer systems 215, 220, and 225 can be computers operated by other members of the team. Exemplary computer 215 can include computer 230, monitor 235, keyboard 240, and mouse 245. A person skilled in the art will recognize that other components not shown in
Network 210, which is shown as connecting machine 205 with computer systems 215, 220, and 225, can be any type of network. For example, network 210 can include a local area network (LAN), a wide area network (WAN), and the Internet, among other possibilities. A person of ordinary skill in the art will recognize that network 210 can also include combinations of different network types, and can include varieties of both wireless and wireline networks. In addition, while
To support co-browsing and co-editing of content, machine 205 includes input 250 and display mechanism 255. Input 250 can receive instructions from one or more users interested in a particular content. Display mechanism 255 then issues directions regarding the display of the content according to the instructions received via input 250. Display mechanism can issue directions to all members of the team (such as when the leader of the presentation issues instructions regarding the particular piece of content to display to the team), or to just one particular user (such as when one user wants to break away from the team and examine a different section of the content on his own).
In another embodiment of the invention, the user can have just one window. In this window, the user can follow the leader's presentation of the content. Then, when the user wants to display a different portion of the content from what the leader is displaying, the user can change the display in the window to his selected portion of the content. When the user is finished reviewing his selected portion of the content, the user can rejoin the leader's presentation.
In this alternative embodiment of the invention, to change the display of the content in the window, the user can disassociate from the leader's presentation. Then, when the user is ready to rejoin the group, he can re-associate with the leader's display of the content.
In
In all of the above discussion, the focus has been on one user displaying the content differently from how the leader is presenting the content. A person of ordinary skill in the art will recognize that embodiments of the invention are not limited to only two users displaying different portions of the content. Any number of users can display the content, each according to different instructions (and even with those display instructions in parallel with the leader's display instructions).
In addition, there is nothing special about the identity of the user issuing the instructions for display of the content to the group. For example, in
In another embodiment of the invention, the system tracks which users are looking at what portions of the content. The system can also track who each user is following. For example, referring back to
Any desired policies can be used to control when focus can be shifted away from that requested by the leader of the group. Some of the more obvious choices are when the majority (or some other threshold percentage) of the group is looking at some other portion of the content. But a person skilled in the art will recognize other possible policies that can be used. For example, if one of the followers of the content discussion is a manager of the project and his focus shifts away from that of the leader, the system can automatically follow the manager's focus, even though he is not leading the discussion.
Pointing into reduced content 505 are arrows 510 and 515. Arrows 510 and 515 identify what portions of the content each of the various members of the group are viewing. While
Reduced content 505 can be simply a representation of the overall content, without being itself readable. But reduced content 505 can also be a reduced version of the overall content, so that by enlarging reduced content 505 one can read the content, and reduced content 505 can be enlarged by resizing reduced content 505. (Of course, if the overall content is sufficiently long, the reduction in the size of the content will make it generally illegible unless enlarged to a significant extent.)
In
At block 625, the system receives from the second user instructions regarding the display of the content. These instructions can, as discussed above with reference to
At block 635, the system can display the content to other users. In contrast with block 610, where the display to the users was the display selected by the first user, in block 635 the display of the content is the display selected by the second user. As shown by dashed arrow 640, block 635 can be omitted. Finally, at block 645, the system can receive a request from the second user to re-associate with the group. As shown by dashed arrow 650, block 645 can be omitted.
The following discussion is intended to provide a brief, general description of a suitable machine in which embodiments of the disclosed technology can be implemented. As used herein, the term “machine” is intended to broadly encompass a single machine or a system of communicatively coupled machines or devices operating together. Exemplary machines can include computing devices such as personal computers, workstations, servers, portable computers, handheld devices, tablet devices, and the like.
Typically, a machine includes a system bus to which processors, memory (e.g., random access memory (RAM), read-only memory (ROM), and other state-preserving medium), storage devices, a video interface, and input/output interface ports can be attached. The machine can also include embedded controllers such as programmable or non-programmable logic devices or arrays, Application Specific Integrated Circuits, embedded computers, smart cards, and the like. The machine can be controlled, at least in part, by input from conventional input devices (e.g., keyboards and mice), as well as by directives received from another machine, interaction with a virtual reality (VR) environment, biometric feedback, or other input signal.
The machine can utilize one or more connections to one or more remote machines, such as through a network interface, modem, or other communicative coupling. Machines can be interconnected by way of a physical and/or logical network, such as an intranet, the Internet, local area networks, wide area networks, etc. One having ordinary skill in the art will appreciate that network communication can utilize various wired and/or wireless short range or long range carriers and protocols, including radio frequency (RF), satellite, microwave, Institute of Electrical and Electronics Engineers (IEEE) 545.11, Bluetooth, optical, infrared, cable, laser, etc.
Embodiments of the disclosed technology can be described by reference to or in conjunction with associated data including functions, procedures, data structures, application programs, instructions, etc. that, when accessed by a machine, can result in the machine performing tasks or defining abstract data types or low-level hardware contexts. Associated data can be stored in, for example, volatile and/or non-volatile memory (e.g., RAM and ROM) or in other storage devices and their associated storage media, which can include hard-drives, floppy-disks, optical storage, tapes, flash memory, memory sticks, digital video disks, biological storage, and other tangible, physical storage media.
Associated data can be delivered over transmission environments, including the physical and/or logical network, in the form of packets, serial data, parallel data, propagated signals, etc., and can be used in a compressed or encrypted format. Associated data can be used in a distributed environment, and stored locally and/or remotely for machine access.
Having described and illustrated the principles of the invention with reference to illustrated embodiments, it will be recognized that the illustrated embodiments may be modified in arrangement and detail without departing from such principles, and may be combined in any desired manner. And although the foregoing discussion has focused on particular embodiments, other configurations are contemplated. In particular, even though expressions such as “according to an embodiment of the invention” or the like are used herein, these phrases are meant to generally reference embodiment possibilities, and are not intended to limit the invention to particular embodiment configurations. As used herein, these terms may reference the same or different embodiments that are combinable into other embodiments.
Consequently, in view of the wide variety of permutations to the embodiments described herein, this detailed description and accompanying material is intended to be illustrative only, and should not be taken as limiting the scope of the invention. What is claimed as the invention, therefore, is all such modifications as may come within the scope and spirit of the following claims and equivalents thereto.
Claims
1. An apparatus, comprising:
- a machine;
- an input to the machine to receive first instructions from a first user regarding a first display of a content to at least one other user and to receive second instructions from a second user regarding a second display of said content, said second user being one of said at least one other user, said second instructions differing from said first instructions; and
- a display mechanism to display said content according to said first instructions and according to said second instructions.
2. An apparatus according to claim 1, wherein said second instructions include edits to said content.
3. An apparatus according to claim 1, wherein the display mechanism is operative to display said content according to said first instructions in a first window and to display said content according to said second instructions in a second window.
4. An apparatus according to claim 1, wherein the display mechanism is operative to display said content according to said second instructions, overriding said first instructions.
5. An apparatus according to claim 4, wherein the input is operative to receive a request from said second user to disassociate from the display of said content according to said first instructions.
6. An apparatus according to claim 5, wherein the input is further operative to receive a request from second user to re-associate the display of said content according to said first instructions.
7. An apparatus according to claim 1, wherein:
- the input is operative to receive said second instructions from a plurality of second users regarding the display of said content, said plurality of second users being a subset of said at least one other user; and
- the display mechanism is operative to display said content to said at least one other user according to said second instructions.
8. A method, comprising:
- receiving first instructions from a first user regarding a first display of a content to at least one other user;
- displaying the content to the at least one other user on at least a first display according to the first instructions;
- receiving second instructions from a second user regarding a second display of the content, wherein the second user is one of the at least one other user and the second instructions are different from the first instructions; and
- displaying the content to the second user on one of the at least a first display according to the second instructions.
9. A method according to claim 8, wherein:
- receiving second instructions from a second user includes receiving second instructions to edit the content from the second user; and
- displaying the content to the second user includes displaying the edit of the content.
10. A method according to claim 8, wherein receiving second instructions from a second user includes receiving a request from the second user to disassociate a display of the content according to the first instructions.
11. A method according to claim 10, further comprising receiving a request from the second user to re-associate with the display of the content according to the first instructions.
12. A method according to claim 8, wherein:
- displaying the content to the at least one other user according to the first instructions includes displaying the content to the at least one other user according to the first instructions in a first window; and
- displaying the content to the second user according to the second instructions includes displaying the content to the second user according to the second instructions in a second window.
13. A method according to claim 12, wherein displaying the content to the second user according to the second instructions in a second window includes displaying the content to the second user according to the second instructions in a second window without affecting the display of the content to the at least one other user according to the first instructions in the first window.
14. A method according to claim 8, wherein:
- receiving second instructions from a second user includes receiving second instructions from a plurality of second users regarding the display of the content, wherein the plurality of second users is a subset of the at least one other user; and
- displaying the content to the second user according to the second instructions includes displaying the content to the at least one other user according to the second instructions.
15. An article, comprising a storage medium, said storage medium having stored thereon instructions that, when executed by a machine, result in:
- receiving first instructions from a first user regarding a first display of a content to at least one other user;
- displaying the content to the at least one other user according to the first instructions;
- receiving second instructions from a second user regarding a second display of the content, wherein the second user is one of the at least one other user and the second instructions are different from the first instructions; and
- displaying the content to the second user according to the second instructions.
16. An article according to claim 15, wherein:
- receiving second instructions from a second user includes receiving second instructions to edit the content from the second user; and
- displaying the content to the second user includes displaying the edit of the content.
17. An article according to claim 15, wherein receiving second instructions from a second user includes receiving a request from the second user to disassociate a display of the content according to the first instructions.
18. An article according to claim 17, said storage medium having stored thereon further instructions that, when executed by a machine, result in receiving a request from the second user to re-associate with the display of the content according to the first instructions.
19. An article according to claim 15, wherein:
- displaying the content to the at least one other user according to the first instructions includes displaying the content to the at least one other user according to the first instructions in a first window; and
- displaying the content to the second user according to the second instructions includes displaying the content to the second user according to the second instructions in a second window.
20. An article according to claim 19, wherein displaying the content to the second user according to the second instructions in a second window includes displaying the content to the second user according to the second instructions in a second window without affecting the display of the content to the at least one other user according to the first instructions in the first window.
Type: Application
Filed: Jan 19, 2010
Publication Date: Jan 13, 2011
Applicant: NOVELL, INC. (PROVO, UT)
Inventors: Andrew Fox (Sudbury, MA), David Marshall LaPalomento (Lexington, MA), Ian Edward Roughley (Cambridge, MA), Scott A. Isaacson (Woodland Hills, UT)
Application Number: 12/690,071
International Classification: G06F 3/048 (20060101); G06F 15/16 (20060101);