The present invention relates generally to the creation and editing of graphical presentations. More particularly, the present invention relates to temporarily highlighting information in computer application documents.
Computer networks, and especially the Internet, have allowed people to use computer systems to communicate data. One way in which computer systems communicate data is by sending documents electronically. Some software applications have allowed computer systems to transfer documents or other data quickly. With the fast transfers of data, people can interact in near real-time to data or documents being shared between two or more computer systems. An example of these near real-time interactions occurs in web meetings where two or more users in distant areas interact with and react to data transferred between their computers. In some web meetings, users also discuss the data over the phone while exchanging the electronic data between the computer systems.
Unfortunately, it is very difficult in many situations to focus on a portion or piece of data that is being viewed on the two or more remote computer systems. The web meetings are not in person, and normal human interactions such as pointing to, gesturing to, or drawing on a physical document are not possible. Thus, users generally must permanently alter the document during a web meeting and send the edits to the participants to highlight or draw the attention of the participants to a certain portion of the document. The edits “dirty” the document by permanently changing the documents format or appearance. Either after the meeting or later in the meeting users are forced to methodically erase the edits used to “highlight” portions of the document. The “dirtying” of documents does not fairly duplicate the normal human interaction and wastes time in undoing the edits. It is with respect to these and other considerations that the present invention has been made.
The present invention relates to new and improved embodiments of systems and methods for using visual indicia to highlight a portion of a document and having the visual indicia automatically disappear. In one embodiment, a method for temporarily marking a portion of a document comprises sending a marking directive that produces a visual indicia on a document being viewed on two or more display devices connected over a network, waiting a period of time, and automatically erasing the visual indicia on the document being viewed on the two or more display devices.
In another embodiment of the present invention, a system comprises a user interface for providing temporary visual indicia. The user interface interaction comprises receiving, within a document, an edit to the document that creates the visual indicia, displaying the visual indicia in the document, waiting a period of time, and automatically erasing the visual indicia from the document.
In still another embodiment of the present invention, a system comprises components for generating temporary visual indicia on a document viewed on two display devices. The components comprise a marking component that produces a marking directive upon input by a user and sends the marking directive to the display devices to create the visual indicia, a clock component that counts for a period of time, and an erasing component that erases the visual indicia in response to the clock component reaching the period of time.
The invention may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
A more complete appreciation of the present invention and its improvements can be obtained by reference to the accompanying drawings, which are briefly summarized below, to the following detailed description of exemplary embodiments of the invention, and to the appended claims.
The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. The invention may however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that the disclosure will be thorough and complete and will fully convey the scope of the invention to those skilled in the art.
An exemplary peer-to-peer computer system 100 that generates a temporary visual indicia is shown in
The computer systems 106 and 108 display information on a display device, such as display screen 112 and/or 114. The display screen 112 is enlarged to show details of the display. In embodiments of the present invention, the display 112 and/or 114 relates to a peer-to-peer application 116 and/or 118, such as Microsoft® OneNote® note-taking program offered by Microsoft® Corporation of Redmond, Wash. The peer-to-peer application can be any program that can broadcast data to other computers over a network. In one embodiment, the peer-to-peer application is a web meeting software application. In embodiments of the present invention, the peer-to-peer applications 116 and 118 jointly display the same document 120. The document 120 is a container for any type of information, such as a text document, a graphics document, a spreadsheet document, etc. Importantly, although the peer-to-peer applications 116 and 118 display a document 120, many other types of content may be managed and displayed in accordance with the present invention, and thus, the document example is not meant as a limitation but merely as an illustration.
In the example shown in
Within document window 126, there is a set of content, such as content 134. In this particular example, document window 126 displays content 134 for the ABC Document. The document may have more content than that shown as represented by the ellipses 136. In addition to the content 134, the document window 126 displays visual indicia 138. In embodiments of the present invention, visual indicia 138 is any type of visual display in the document 120 that can draw the attention of a user to the content 134 highlighted by the visual indicia 138. In particular embodiments, the visual indicia 138 is a mark created with a “pen” utility, as shown by visual indicia 138. Other visual indicia 138 can comprise “highlighting,” font changes, graphic components, special text or writing, or other editing that a user can produce with the user interface. The visual indicia 138 is shared with the other computer systems in the peer-to-peer system 102. As such, document window 140 also displays the visual indicia 138. The visual indicia 138 is created on both display windows 126 and 140 shortly after a user creates the visual indicia 138 in the ABC document 120.
In order to create the visual indicia 138, a user may select, with a cursor 144, the “Pen as Pointer” control 132. The “Pen as Pointer” control 132, in embodiments, transforms any edit action in the document 120 into a marking action. The marking action is then sent to other computer systems, such as computer system 108. The application window 126 and the visual indicia 138 will be discussed in more detail below, but in general, the visual indicia 138 displays a temporary mark in all documents connected to the peer-to-peer system 102. After a period of time, the peer-to-peer system 104 automatically erases the visual indicia 138, and the content 142 is displayed without the visual indicia 138 in the document 120. Thus, the computer system 100 provides temporary visual indicia similar to “disappearing ink.” The computer system 100 provides advantages because a document 120 is not needlessly “dirtied” or altered to draw the attention of the users temporarily to some portion of the document 120. Rather, the temporary visual indicia 138 marks a document 120 to direct a user's attention and then will automatically erase or disappear after a period of time.
An example of a suitable operating environment in which the invention may be implemented is illustrated in
With reference to
Device 200 may also contain communications connection(s) 212 that allow the device to communicate with other devices. Communications connection(s) 212 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
Device 200 may also have input device(s) 214 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 216 such as a display, speakers, printer, etc. may also be included. The devices 214 may help form the user interface 102 discussed above while devices 216 may display results 108 discussed above. All these devices are well know in the art and need not be discussed at length here.
Computing device 200 typically includes at least some form of computer readable media. Computer readable media can be any available media that can be accessed by processing unit 202. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Combinations of the any of the above should also be included within the scope of computer readable media.
The computer device 200 may operate in a networked environment using logical connections to one or more remote computers (not shown). The remote computer may be a personal computer, a server computer system, a router, a network PC, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the computer device 200. The logical connections between the computer device 200 and the remote computer may include a local area network (LAN) or a wide area network (WAN), but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
When used in a LAN networking environment, the computer device 200 is connected to the LAN through a network interface or adapter. When used in a WAN networking environment, the computer device 200 typically includes a modem or other means for establishing communications over the WAN, such as the Internet. The modem, which may be internal or external, may be connected to the computer processor 202 via the communication connections 212, or other appropriate mechanism. In a networked environment, program modules or portions thereof may be stored in the remote memory storage device. By way of example, and not limitation, a remote application programs may reside on memory device connected to the remote computer system. It will be appreciated that the network connections explained are exemplary and other means of establishing a communications link between the computers may be used.
An exemplary system 300 with components for generating temporary visual indicia on two or more display devices is shown in
The user of the first peer-to-peer application 302 establishes a “meeting” with the other user of the second peer-to-peer application 314. Establishing a “meeting” in such a system is explained in U.S. patent application Ser. No. 10/920,640, filed Aug. 18, 2004, and assigned to Microsoft® Corporation, which is incorporated by reference herein in its entirety. Upon establishing the “meeting,” the user issues a directive to share the document 306. The document 308 is transferred to the peer-to-peer application 302 to send to the other user. In embodiments, the peer-to-peer application 302 broadcasts the document 312 over the network 310. The second peer-to-peer application 314 receives the document 312 and sends the document 316 to the second user's user interface 318. The document 320 is then displayed in the user interface 316. The system 300 allows two or more people to view the same document simultaneously.
In communicating information about the document 306, the user may desire to highlight or draw attention to a certain portion of the document 306. For example, in a web meeting, a user may wish to discuss only a small portion of the shared document 306. However, the user may be unable to effectively direct, to the appropriate portion of the document 306, the other user viewing the document 320 on a remotely connected computer 314. Essentially, the user cannot provide a physical gesture or action that directs the other user's attention. Thus, the user needs to use a tool in the web meeting to draw the other user's attention to the correct portion of the document 306.
In some embodiments, the user informs the peer-to-peer application 302 that a future edit, to the document 306, should generate temporary visual indicia. In one embodiment, the user sends a “Pen as Pointer” input control signal 322. For example, the user selects a “Pen as Pointer” control, such as control 132, which sends the directive or control signal 322 to the peer-to-peer application 302. The peer-to-peer application 302 changes the state of one or more editing devices within the user interface 304 to input temporary visual indicia. For example, some programs have a pen input that allows a user to draw lines with the mouse cursor in the user interface 304. The peer-to-peer application 302 recognizes the “pen” input as an input for temporary visual indicia after receiving the “Pen as Pointer” 322. Other inputs may be the “highlighting” function that creates a colored background behind text, as seen in document 306 shown in
The user then enters an edit into the document 306 to create visual indicia 338, such as a grey highlight shown in document 306 in
In one embodiment, peer-to-peer application 302 also starts a timer 326 and, upon completion of a predetermined period of time, automatically erases the visual indicia. In one embodiment, the clock 326 counts for 10 seconds. Upon reaching the end of the predetermined period of time, the clock 326, in one embodiment, sends an interrupt or notice to the peer-to-peer application 302 that the predetermined period of time has elapsed. In another embodiment, the peer-to-peer application 302 polls a clock 326 and determines if the predetermined time has elapsed.
In response to the clock 326 reaching the end of the predetermined period of time, the peer-to-peer application 302 sends an erase ink function 324 to the user interface 304 that erases the visual indicia 338 from the document 306. In a further embodiment, the peer-to-peer application 302 issues an erase directive 332 over the network 310. The second peer-to-peer application 314 receives the erase directive 332 and translates the directive 332 into an erase ink function 334 that is sent to the user interface 318. The user interface 318 erases the visual indicia 340 from the document 320 in response to receiving the erase ink function 334.
In another embodiment, when the peer-to-peer application 302 receives the “Pen as Pointer” input 322, the peer-to-peer application 302 changes the “type” of ink used on the document 306 to a “disappearing ink” type. The peer-to-peer application 302 then receives an ink input 324 in “disappearing ink.” The peer-to-peer application 302 broadcasts a mark directive 328 that provides data about the visual indicia 338, which is in “disappearing ink.” Upon receiving the mark directive 328, the peer-to-peer application 314 sends a draw ink function 330 to the user interface 318 to generate the visual indicia 340 on the document 320. In addition, the peer-to-peer application 314 starts a timer 336 to time for a predetermined period of time. In response to the predetermined period of time having elapsed on the timer 336, the peer-to-peer application 314 sends an erase ink function 334 to the user interface 318 to erase the visual indicia 340 from the document 320. Thus, in this embodiment, the first peer-to-peer application 302 does not need to send an erase directive 332 to have the visual indicia 338 and/or 340 automatically disappear. Rather, the “disappearing ink” type data transmitted with the mark directive 328 provide the data required for the peer-to-peer application to know to automatically erase the visual indicia 340 after the period of time. In embodiments of the invention, data within the mark directive 328 also provides the duration for the period of time to wait before erasing the visual indicia 340.
It should be noted that the erase function 334 for document 320 may not occur at the same moment in time as the erase function on document 306. The difference in time may occur because of time differences between the sending of the ink command 324 and the draw ink command 330. The time differences are attributable to the time required to send the mark directive 328 to the peer-to-peer application 314. While there may be a time difference in some embodiments, the disappearing ink function appears, to each user, to function independently on each user interface 318 and/or 304.
In another embodiment, the peer-to-peer application 314 receives an erase ink directive 334 from the user interface 318 before the peer-to-peer application 314 either receives an erase directive 332 or the clock 336 reaches the period of time. In this embodiment, the peer-to-peer application 314 can immediately erase one or more of the visual indicia 340 in the document 320. Allowing the user to erase the visual indicia 340 before the expiration of the period of time provides the user with control over the clutter on the user interface 318.
A user may enter two or more visual indicia into a document 306. In embodiments of the present invention, each visual indicia starts a new clock 326 or 336 and either creates a new erase directive 332 and/or a new erase ink function 334. Thus, the documents 306 and 320 can display multiple visual indicia, which all disappear at different times. In other embodiments, the system 300 works in reverse with the peer-to-peer application 314 also sending mark directives 328 and/or erase directives 332 to the other peer-to-peer application 302. Thus, a second user may enter a “pen as pointer” input 342 into the user interface 318. Then, any edits to the document 320 create visual indicia 340 that are broadcast to the first peer-to-peer application 302.
In some embodiments, the mark directive 328 and the erase directive 332 receive a higher or highest priority for transmission over the network 310. The network 310 may be transmitting several communications between the peer-to-peer applications 302 and 314. Each communication can have a priority for transmission. If a communication has a low priority, the lower priority communication may wait a period of time before the network 310 transmits the lower priority communication as other higher priority communications are first sent over the network 310. However, the mark directive 328 and the erase directive 332 may be time sensitive. In other words, when a mark 338 is placed on document 306, the mark 340 needs to appear on document 320 relatively quickly to ensure that the users' conversation is not stilted waiting for the appearance of the marks 338 and/or 340. A delay of 10 seconds may be too long in some situations, while a delay of 1 minute may be appropriate in other situations. Regardless, the network 310 can assign a higher or highest priority for transmission to the mark directive 328 or erase directive 332 to ensure there is not an unnecessary time delay between the appearance of the marks 338 and 340 on the documents 306 and 320.
An exemplary method 400 for generating temporary visual indicia is shown in
In response to the predetermined period of time having elapsed, erase operation 406 automatically erases the visual indicia. In one embodiment, the peer-to-peer application broadcasts an erase directive, such as erase directive 332, to direct the erasure of the visual indicia. In another embodiment, the peer-to-peer application sends an erase ink function, such function 334, to erase the visual indicia without receiving an erase directive. In all embodiments, no user input is required to erase the visual indicia after sending the marking directive. However, in some embodiments, the user may erase the visual indicia before the visual indicia are automatically erased.
A further embodiment of a method 500 for generating temporary visual indicia is shown in
Receive operation 506 then receives a pen input, such as input 138, in a portion of the document. In one embodiment, the user selects a drawing function in the user interface and uses the cursor to draw “pen like” visual indicia on the document. Then, send operation 508 sends a marking directive, such as marking directive 328, to the other peer-to-peer applications. In embodiments, the other peer-to-peer applications translate the marking directive into a draw ink function, such as function 330, and render visual indicia, such as visual indicia 138, on the document rendered in the display device, such as computer system 108. In response to sending the marking directive, receiving the marking directive, or receiving the pen input, start operation 510 starts a clock, such as clock 326 and/or 336. The clock counts for a predetermined period of time. In one embodiment, each peer-to-peer application starts its own clock. In another embodiment, only the peer-to-peer application that sent the marking directive starts a clock.
In response to the clock counting for the period of time, erase operation 512 automatically erases the visual indicia from the document. In embodiments of the present invention, each peer-to-peer application erases the pen ink from the document. In another embodiment, optional send operation 514 sends an erase directive, such as erase directive 332. In one embodiment, the peer-to-peer application sends an erase directive to the other peer-to-peer applications. The other peer-to-peer applications translate the erase directive into an erase ink function, such as function 334, that deletes the visual indicia from the document.
The present invention relates to software components, classes, and object for generating temporary visual indicia. A Folder class provides objects for managing data in a peer-to-peer application. Under the Folder class, a Section class provides objects for managing certain types of documents, such as text document, notes, spreadsheets, etc. Under the Section class, a Pages class provides objects to manage instantiations of particular documents of a certain document type managed by the Section class. Pages objects may be text objects, image objects, etc. One object in the Pages class is an Ink object. Ink objects have a property for type of ink. If the ink is to be automatically erased, the ink object is a PointerInk object and has a property set that the ink should be automatically erased. When the PointerInk object is sent to another peer-to-peer application in response to a user interface action, the sending peer-to-peer application reads the property, starts the clock, and sends the marking directive. In response to the clock reaching the predetermined period of time, the peer-to-peer application sends an erase directive to delete the PointerInk object.
Although the present invention has been described in language specific to structural features, methodological acts, and computer-readable media containing such acts, it is to be understood that the present invention defined in the appended claims is not necessarily limited to the specific structure, acts, or media described. One skilled in the art will recognize other embodiments or improvements that are within the scope and spirit of the present invention. Therefore, the specific structure, acts, or media are disclosed as exemplary embodiments of implementing the claimed invention. The invention is defined by the appended claims.