US20170075507A1 - Displaying user activity in real-time collaborative editing systems - Google Patents
Displaying user activity in real-time collaborative editing systems Download PDFInfo
- Publication number
- US20170075507A1 US20170075507A1 US14/855,906 US201514855906A US2017075507A1 US 20170075507 A1 US20170075507 A1 US 20170075507A1 US 201514855906 A US201514855906 A US 201514855906A US 2017075507 A1 US2017075507 A1 US 2017075507A1
- Authority
- US
- United States
- Prior art keywords
- node
- active region
- view
- document
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G06F17/24—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
Definitions
- the present invention relates generally to the field of real-time collaborative editing systems, and more particularly to user interface display enhancements for real-time collaborative editing systems.
- Real-time collaborative editing systems users can edit the same file simultaneously.
- Real-time collaborative editing systems allow multiple users to view files, edit files, and see edits by other users simultaneously.
- Real-time collaborative editing systems are often accessed via web browsers. Such web browsers display files or portions of files via the viewport. Often, files are larger than can be seen clearly in one viewport, requiring a user to scroll to see other portions of a document. Users continue to face challenges when multiple users are editing different portions of a document simultaneously.
- a computer-implemented method includes identifying a document.
- the document is operated upon by a real-time collaborative editing system.
- the document includes a first active region and one or more additional active regions.
- the method identifies a first node and one or more additional nodes.
- the first node and the one or more additional nodes accessing the document via the real-time collaborative editing system.
- the method identifies a second node.
- the second node is one of the one or more additional nodes.
- the method identifies a second active region.
- the second active region is one of the one or more additional active regions.
- the method identifies a first node view.
- the first node view displays the first active region via the first node.
- the method identifies a second node view.
- the second node view displays the second active region via the second node.
- the method responds to input from the first node by creating a third node view.
- the third node view displays the second active region
- FIG. 1 is a block diagram of a computing environment suitable for operation of an active region display program, in accordance with at least one embodiment of the invention.
- FIG. 2 is a flowchart depicting operational steps for an active region display program, in accordance with at least one embodiment of the present invention.
- FIG. 3 is an exemplary illustration of a user interface created by the display program of a pop-up window, in accordance with at least one embodiment of the present invention.
- FIG. 4 is an exemplary illustration of a user interface created by the display program of thumbnail icons, in accordance with at least one embodiment of the present invention.
- FIG. 5 is an exemplary illustration of a user interface created by the display program of a document map, in accordance with at least one embodiment of the present invention.
- FIG. 6 is a block diagram of components of a computing apparatus suitable for executing the display program, in accordance with at least one embodiment of the present invention.
- FIG. 1 is a block diagram displaying an exemplary computing environment suitable for operation of at least one embodiment of the invention.
- a computing environment 100 includes a real-time collaborative editing system 110 , a document 120 , a first active region 130 , a second active region 135 , a first node 150 , a second node 155 , a first node view 160 , a second node view 162 , an active region display program 170 , and a third node view 164 , all in mutual electronic communication and interconnected within the computing environment 100 .
- the computing environment 100 may be a cloud-based, virtual, or distributed environment or a remote environment on defined server hardware, or, more generally, the computing environment 100 may be any type of environment suitable for simultaneous access by multiple users of the real-time collaborative editing system 110 .
- the active region display program 170 may generate the third node view 164 .
- a node such as the first node 150 or the second node 155 , may display the third node view 164 .
- the first node 150 includes a first node view 160 .
- the active region display program 170 may receive input from the first node 150 and second active region 135 and generate the third node view 164 as output.
- the active region display program 170 may send the third node view 164 to the first node 150 .
- the real-time collaborative editing system 110 is a collaborative software application that stores files, and allows multiple nodes to access, view, and edit the files, and allows the multiple nodes to view edits made by other nodes in real-time.
- the real-time collaborative editing system 110 may store, access, and/or edit the document 120 .
- the real-time collaborative editing system 110 may enable multiple nodes, such as the first node 150 and the second node 155 to access, view, and edit the document 120 .
- the document 120 is an entity of data available to nodes, such as the first node 150 and the second node 155 , within the real-time collaborative editing system 110 that is capable of being manipulated as an entity.
- the document 120 may be a word processing document or a spreadsheet.
- the document 120 may be stored on and/or accessed via the real-time collaborative editing system 110 .
- the document 120 contains regions, including the first active region 130 and the second active region 135 .
- the first active region 130 is a page or page-like portion of the document and the second active region 135 is a different page or page-like portion of the document.
- the first active region 130 and the second active region 135 refer to a same portion of the document 120 .
- the first active region 130 may be understood as a portion of the document 120 that is displayed via the first node view 160 .
- the second active region 135 may be understood as a portion of the document 120 wherein the document 120 is displayed via the second node view 162 .
- the first node 150 is a client computing device.
- the first node 150 may be, for example, a personal computer, desktop computer, laptop computer, netbook computer, tablet computer, personal digital assistant (PDA), smart phone, or other computation and/or communication device.
- the first node 150 may be understood as any electronic device or computing system capable of processing program instructions, sending and receiving data information, and communicating with the document 120 and the active region display program 170 via the real-time collaborative editing system 110 within the computing environment 100 .
- the first node 150 may display the first active region 130 via first node view 160 .
- the first node view 160 may also send input to the first active region 130 to edit the first active region 130 via the real-time collaborative editing system 110 .
- the second node 155 is a device similar to the first node 150 .
- the second node 155 may display the second active region 135 via the second node view 162 .
- the first node view 160 is a viewport.
- the first node view 160 may be a rectangular area expressed in rendering-device-specific coordinates.
- the first node view 160 may be expressed in pixels for screen coordinates, by which the first active region 130 is rendered.
- the first node view 160 is may display the first active region 130 , the second active region 135 and any other portion of the document 120 .
- the first node view 160 is a generic web browser.
- the second node view 162 and the third node view 164 are viewports similar to the first node view 160 .
- the active region display program 170 receives input from at least two nodes, such as the first node 150 and the second node 155 and is capable of sending output to the at least one node within the real-time collaborative editing system 110 .
- the active region display program 170 may receive the second active region 135 as input and generate the third node view 164 as output.
- the active region display program 170 may return the third node view 164 to the first node 150 .
- the active region display program 170 may be a dedicated real-time collaborative editing system program, a function integrated within another program, or any program or function that can communicate with the first node 150 and the second active region 135 via a real-time collaborative editing system.
- FIG. 2 is a flowchart depicting the operational steps of the active region display program 170 executing within the computing environment 100 of FIG. 1 , in accordance with an embodiment of the present invention.
- the active region display program 170 identifies the document 120 within the real-time collaborative editing system 110 .
- the document 120 includes the first active region 130 and the second active region 135 .
- the document 120 may also include one or more additional active regions.
- the active region display program 170 identifies active regions within the document 120 including the first active region 130 and the second active region 135 . Identifying may include automated calls to the active region display program 170 , for example, from an integrated development environment or as part of the real-time collaborative editing system 110 .
- the active region display program 170 identifies the first node 150 and the second node 155 . In some embodiments, the active region display program 170 identifies the first node 150 , the second node 155 , and one or more additional nodes, all within the real-time collaborative editing system 110 and all accessing the document 120 .
- the active region display program 170 identifies the first node view 160 , which displays the first active region 130 identified at step 200 , and identifies the second node view 162 , which displays the second active region 135 .
- the active region display program 170 responds to input from the first node 150 , by generating the third node view 164 , which displays the second active region 135 .
- the third node view is created in response to input from the first node 150 .
- the input may include a user selecting an icon via the first node 150 or the first node view 160 .
- the active region display program 170 presents the third node view 164 via the first node 150 .
- the active region display program 170 may complete step 208 by presenting the third node view 164 via the first node.
- the active region display program 170 may present the third node view 164 as a pop-up window (see, e.g. FIG. 3 ).
- the pop-up window may be displayed in front of the first node view 160 , where both the third node view 164 and the first node view 160 are displayed via the first node 150 .
- the second active region 135 is editable via the third node view 164 .
- the third node view 164 may display the second active region 135 via the first node 150 .
- the first node 150 may edit the second active region 135 via the third node view. Changes made via the third node view 164 changes the second active region 135 via the real-time collaborative editing system 110 .
- the active region display program 170 may display each of the active regions identified at step 200 as display artefacts within a node view such as the first node view 160 , the second node view 162 , and/or the third node view 164 .
- the display artefacts may be a line number for each of the active regions identified at step 200 .
- the display artefact may illustrate a width and a height for each of the active regions identified at step 200 as compared to a width and a height for the document identified at step 200 .
- the active region display program 170 may identify a location for each active region within the real-time collaborative editing system 110 .
- the display artefacts may be thumbnail images (see, e.g.
- the thumbnail images may be displayed at the top of a node view such as the first node view 160 . In other embodiments, the thumbnail images may be displayed along a scroll bar within the node view. In some embodiments, selecting the thumbnail images may be the input that the active region display program 170 responds to at step 206 .
- the active region display program 170 the display artefacts may be presented within a node view, such as the first node view 160 as a document map (see, e.g. FIG. 5 ).
- the document map may illustrate a document, such as the document 120 and indicate active regions, such as the first active region 130 and the second active region 135 .
- the document map may presented as a sidebar within a node view such as the first node view 160 .
- the document map may be another node view, that is also a viewport and similar to the first node view 160 .
- the document map may be displayed and hidden responsive to input such as a user selecting to view or hide the document map.
- FIG. 3 is an exemplary illustration of a user interface of the active region display program 170 , in accordance with at least one embodiment of the present invention.
- FIG. 3 includes an example node 300 , an example node view 302 , and an example pop-up window 304 .
- the example node 300 is a node similar to the first node 150 .
- the example node 300 displays the example node view 302 similar to the first node 150 displaying the first node view 160 .
- the example node 300 is a laptop computer, as shown, and the example node view 302 is a web browser, as shown.
- the example pop-up window 304 is generated by the active region display program 170 .
- the example pop-up window 304 is a node view similar to the third node view 164 .
- the horizontal lines illustrated within the example node view 302 and within the example pop-up window 304 represent the text of a document, such as the document 120 .
- the text from a document displayed via the example pop-up window 304 is an active region within the document and the text from a document displayed via the example node view 302 is an active region with the same document. Both active regions may be editable within a real-time collaborative editing system such as the real-time collaborative editing system 110 .
- FIG. 4 is an exemplary illustration of a user interface of the active region display program 170 , in accordance with at least one embodiment of the present invention.
- FIG. 4 includes an example node 400 , an example node view 402 , and an example thumbnail image 404 .
- the example node 400 is similar to the first node 150 and the example node view 402 is similar to the first node view 160 .
- the example thumbnail image 404 is a display artefact corresponding to an active region within a document.
- FIG. 5 is an exemplary illustration of a user interface of the active region display program 170 , in accordance with at least one embodiment of the present invention.
- FIG. 5 include an example node 500 , an example node view 502 , and an example document map 504 .
- the example node 500 is similar to the first node 150 and the example node view 502 is similar to the first node view 160 .
- the example document map 504 is a display artefact corresponding to active regions within a document.
- the horizontal lines illustrated within the example document map 504 represent the text of an entire document.
- the rectangular icons illustrated within the example document map 504 indicate active regions within the document.
- the document includes three active regions displayed via three node views (not shown).
- FIG. 6 is a block diagram depicting components of a computer 600 suitable for executing the active region display program 170 .
- FIG. 6 displays the computer 600 , the one or more computer processor(s) 604 (including one or more computer processors), the communications fabric 602 , the memory 606 , the RAM, the cache 616 , the persistent storage 608 , the communications unit 610 , the I/O interface(s) 612 , the display 620 , and the external devices 618 .
- FIG. 6 provides only an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
- the computer 600 operates over a communications fabric 602 , which provides communications between the cache 616 , the computer processor(s) 604 , the memory 606 , the persistent storage 608 , the communications unit 610 , and the input/output (I/O) interface(s) 612 .
- the communications fabric 602 may be implemented with any architecture suitable for passing data and/or control information between the computer processor(s) 604 (e.g. microprocessors, communications processors, and network processors, etc.), the memory 606 , the external devices 618 , and any other hardware components within a system.
- the communications fabric 602 may be implemented with one or more buses or a crossbar switch.
- the memory 606 and persistent storage 608 are computer readable storage media.
- the memory 606 includes a random access memory (RAM).
- the memory 606 may include any suitable volatile or non-volatile implementations of one or more computer readable storage media or one or more computer readable media.
- the cache 616 is a fast memory that enhances the performance of computer processor(s) 604 by holding recently accessed data, and data near accessed data, from memory 606 .
- Program instructions for the active region display program 170 may be stored in the persistent storage 608 or in memory 606 , or more generally, any computer readable storage media, for execution by one or more of the respective computer processor(s) 604 via the cache 616 .
- the persistent storage 608 may include a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, the persistent storage 608 may include, a solid state hard disk drive, a semiconductor storage device, read-only memory (ROM), electronically erasable programmable read-only memory (EEPROM), flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.
- the media used by the persistent storage 608 may also be removable.
- a removable hard drive may be used for persistent storage 608 .
- Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is also part of the persistent storage 608 .
- the communications unit 610 in these examples, provides for communications with other data processing systems or devices.
- the communications unit 610 may include one or more network interface cards.
- the communications unit 610 may provide communications through the use of either or both physical and wireless communications links.
- the active region display program 170 may be downloaded to the persistent storage 608 through the communications unit 610 .
- the source of the various input data may be physically remote to the computer 600 such that the input data may be received and the output similarly transmitted via the communications unit 610 .
- the I/O interface(s) 612 allows for input and output of data with other devices that may operate in conjunction with the computer 600 .
- the I/O interface(s) 612 may provide a connection to the external devices 618 , which may include a keyboard, keypad, a touch screen, and/or some other suitable input devices.
- External devices 618 may also include portable computer readable storage media, for example, thumb drives, portable optical or magnetic disks, and memory cards.
- Software and data used to practice embodiments of the present invention may be stored on such portable computer readable storage media and may be loaded onto the persistent storage 608 via the I/O interface(s) 612 .
- the I/O interface(s) 612 may similarly connect to a display 620 .
- the display 620 provides a mechanism to display data to a user and may be, for example, a computer monitor.
- the present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the blocks may occur out of the order noted in the Figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Computer Interaction (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A computer-implemented method includes identifying a document that is operated upon by a real-time collaborative editing system. The document includes a first active region and additional active regions. The method identifies a first node and one or more additional nodes, all accessing the document via the real-time collaborative editing system. The method identifies a second node that is one of the one or more additional nodes. The method identifies a second active region, which is one of the additional active regions. The method identifies a first node view, which displays the first active region via the first node. The method identifies a second node view. The second node view displays the second active region via the second node. The method responds to input from the first node by creating a third node view that is displayed via the second active region and presented via the first node.
Description
- The present invention relates generally to the field of real-time collaborative editing systems, and more particularly to user interface display enhancements for real-time collaborative editing systems.
- In real-time collaborative editing systems, users can edit the same file simultaneously. Real-time collaborative editing systems allow multiple users to view files, edit files, and see edits by other users simultaneously. Real-time collaborative editing systems are often accessed via web browsers. Such web browsers display files or portions of files via the viewport. Often, files are larger than can be seen clearly in one viewport, requiring a user to scroll to see other portions of a document. Users continue to face challenges when multiple users are editing different portions of a document simultaneously.
- A computer-implemented method includes identifying a document. The document is operated upon by a real-time collaborative editing system. The document includes a first active region and one or more additional active regions. The method identifies a first node and one or more additional nodes. The first node and the one or more additional nodes accessing the document via the real-time collaborative editing system. The method identifies a second node. The second node is one of the one or more additional nodes. The method identifies a second active region. The second active region is one of the one or more additional active regions. The method identifies a first node view. The first node view displays the first active region via the first node. The method identifies a second node view. The second node view displays the second active region via the second node. The method responds to input from the first node by creating a third node view. The third node view displays the second active region. The method presents the third node view via the first node.
-
FIG. 1 is a block diagram of a computing environment suitable for operation of an active region display program, in accordance with at least one embodiment of the invention. -
FIG. 2 is a flowchart depicting operational steps for an active region display program, in accordance with at least one embodiment of the present invention. -
FIG. 3 is an exemplary illustration of a user interface created by the display program of a pop-up window, in accordance with at least one embodiment of the present invention. -
FIG. 4 is an exemplary illustration of a user interface created by the display program of thumbnail icons, in accordance with at least one embodiment of the present invention. -
FIG. 5 is an exemplary illustration of a user interface created by the display program of a document map, in accordance with at least one embodiment of the present invention. -
FIG. 6 is a block diagram of components of a computing apparatus suitable for executing the display program, in accordance with at least one embodiment of the present invention. - Referring now to the invention in more detail,
FIG. 1 is a block diagram displaying an exemplary computing environment suitable for operation of at least one embodiment of the invention. Acomputing environment 100 includes a real-timecollaborative editing system 110, adocument 120, a firstactive region 130, a secondactive region 135, afirst node 150, asecond node 155, afirst node view 160, asecond node view 162, an activeregion display program 170, and athird node view 164, all in mutual electronic communication and interconnected within thecomputing environment 100. Thecomputing environment 100 may be a cloud-based, virtual, or distributed environment or a remote environment on defined server hardware, or, more generally, thecomputing environment 100 may be any type of environment suitable for simultaneous access by multiple users of the real-timecollaborative editing system 110. - The active
region display program 170 may generate thethird node view 164. A node, such as thefirst node 150 or thesecond node 155, may display thethird node view 164. Thefirst node 150 includes afirst node view 160. The activeregion display program 170 may receive input from thefirst node 150 and secondactive region 135 and generate thethird node view 164 as output. The activeregion display program 170 may send thethird node view 164 to thefirst node 150. - The real-time
collaborative editing system 110 is a collaborative software application that stores files, and allows multiple nodes to access, view, and edit the files, and allows the multiple nodes to view edits made by other nodes in real-time. The real-timecollaborative editing system 110 may store, access, and/or edit thedocument 120. The real-timecollaborative editing system 110 may enable multiple nodes, such as thefirst node 150 and thesecond node 155 to access, view, and edit thedocument 120. - The
document 120 is an entity of data available to nodes, such as thefirst node 150 and thesecond node 155, within the real-timecollaborative editing system 110 that is capable of being manipulated as an entity. For example, thedocument 120 may be a word processing document or a spreadsheet. Thedocument 120 may be stored on and/or accessed via the real-timecollaborative editing system 110. Thedocument 120 contains regions, including the firstactive region 130 and the secondactive region 135. In some embodiments, the firstactive region 130 is a page or page-like portion of the document and the secondactive region 135 is a different page or page-like portion of the document. In other embodiments the firstactive region 130 and the secondactive region 135 refer to a same portion of thedocument 120. In general, the firstactive region 130 may be understood as a portion of thedocument 120 that is displayed via thefirst node view 160. In general, the secondactive region 135 may be understood as a portion of thedocument 120 wherein thedocument 120 is displayed via thesecond node view 162. - The
first node 150 is a client computing device. Thefirst node 150 may be, for example, a personal computer, desktop computer, laptop computer, netbook computer, tablet computer, personal digital assistant (PDA), smart phone, or other computation and/or communication device. In general, thefirst node 150 may be understood as any electronic device or computing system capable of processing program instructions, sending and receiving data information, and communicating with thedocument 120 and the activeregion display program 170 via the real-timecollaborative editing system 110 within thecomputing environment 100. Thefirst node 150 may display the firstactive region 130 viafirst node view 160. Thefirst node view 160 may also send input to the firstactive region 130 to edit the firstactive region 130 via the real-timecollaborative editing system 110. Thesecond node 155 is a device similar to thefirst node 150. Thesecond node 155 may display the secondactive region 135 via thesecond node view 162. - The
first node view 160 is a viewport. Thefirst node view 160 may be a rectangular area expressed in rendering-device-specific coordinates. For example, thefirst node view 160 may be expressed in pixels for screen coordinates, by which the firstactive region 130 is rendered. Thefirst node view 160 is may display the firstactive region 130, the secondactive region 135 and any other portion of thedocument 120. In some embodiments, thefirst node view 160 is a generic web browser. Thesecond node view 162 and thethird node view 164 are viewports similar to thefirst node view 160. - The active
region display program 170 receives input from at least two nodes, such as thefirst node 150 and thesecond node 155 and is capable of sending output to the at least one node within the real-timecollaborative editing system 110. The activeregion display program 170 may receive the secondactive region 135 as input and generate thethird node view 164 as output. The activeregion display program 170 may return thethird node view 164 to thefirst node 150. The activeregion display program 170 may be a dedicated real-time collaborative editing system program, a function integrated within another program, or any program or function that can communicate with thefirst node 150 and the secondactive region 135 via a real-time collaborative editing system. -
FIG. 2 is a flowchart depicting the operational steps of the activeregion display program 170 executing within thecomputing environment 100 ofFIG. 1 , in accordance with an embodiment of the present invention. - At
step 200, the activeregion display program 170 identifies thedocument 120 within the real-timecollaborative editing system 110. Thedocument 120 includes the firstactive region 130 and the secondactive region 135. Thedocument 120 may also include one or more additional active regions. Atstep 200, the activeregion display program 170 identifies active regions within thedocument 120 including the firstactive region 130 and the secondactive region 135. Identifying may include automated calls to the activeregion display program 170, for example, from an integrated development environment or as part of the real-timecollaborative editing system 110. - At
step 202, the activeregion display program 170 identifies thefirst node 150 and thesecond node 155. In some embodiments, the activeregion display program 170 identifies thefirst node 150, thesecond node 155, and one or more additional nodes, all within the real-timecollaborative editing system 110 and all accessing thedocument 120. - At
step 204, the activeregion display program 170 identifies thefirst node view 160, which displays the firstactive region 130 identified atstep 200, and identifies thesecond node view 162, which displays the secondactive region 135. - At
step 206, the activeregion display program 170 responds to input from thefirst node 150, by generating thethird node view 164, which displays the secondactive region 135. The third node view is created in response to input from thefirst node 150. In some embodiments the input may include a user selecting an icon via thefirst node 150 or thefirst node view 160. - At
step 208, the activeregion display program 170 presents thethird node view 164 via thefirst node 150. The activeregion display program 170 may completestep 208 by presenting thethird node view 164 via the first node. The activeregion display program 170 may present thethird node view 164 as a pop-up window (see, e.g.FIG. 3 ). The pop-up window may be displayed in front of thefirst node view 160, where both thethird node view 164 and thefirst node view 160 are displayed via thefirst node 150. Further, in some embodiments, the secondactive region 135 is editable via thethird node view 164. For example, thethird node view 164 may display the secondactive region 135 via thefirst node 150. Thefirst node 150 may edit the secondactive region 135 via the third node view. Changes made via thethird node view 164 changes the secondactive region 135 via the real-timecollaborative editing system 110. - In some embodiments, the active
region display program 170 may display each of the active regions identified atstep 200 as display artefacts within a node view such as thefirst node view 160, thesecond node view 162, and/or thethird node view 164. For example, the display artefacts may be a line number for each of the active regions identified atstep 200. The display artefact may illustrate a width and a height for each of the active regions identified atstep 200 as compared to a width and a height for the document identified atstep 200. In such embodiments, the activeregion display program 170 may identify a location for each active region within the real-timecollaborative editing system 110. In some embodiments, the display artefacts may be thumbnail images (see, e.g.FIG. 4 ). The thumbnail images may be displayed at the top of a node view such as thefirst node view 160. In other embodiments, the thumbnail images may be displayed along a scroll bar within the node view. In some embodiments, selecting the thumbnail images may be the input that the activeregion display program 170 responds to atstep 206. - In some embodiments, the active
region display program 170 the display artefacts may be presented within a node view, such as thefirst node view 160 as a document map (see, e.g.FIG. 5 ). The document map may illustrate a document, such as thedocument 120 and indicate active regions, such as the firstactive region 130 and the secondactive region 135. The document map may presented as a sidebar within a node view such as thefirst node view 160. In other embodiments, the document map may be another node view, that is also a viewport and similar to thefirst node view 160. In such an embodiment, the document map may be displayed and hidden responsive to input such as a user selecting to view or hide the document map. -
FIG. 3 is an exemplary illustration of a user interface of the activeregion display program 170, in accordance with at least one embodiment of the present invention.FIG. 3 includes anexample node 300, anexample node view 302, and an example pop-upwindow 304. Theexample node 300 is a node similar to thefirst node 150. Theexample node 300 displays theexample node view 302 similar to thefirst node 150 displaying thefirst node view 160. In this example, theexample node 300 is a laptop computer, as shown, and theexample node view 302 is a web browser, as shown. - The example pop-up
window 304 is generated by the activeregion display program 170. The example pop-upwindow 304 is a node view similar to thethird node view 164. InFIG. 3 , the horizontal lines illustrated within theexample node view 302 and within the example pop-upwindow 304 represent the text of a document, such as thedocument 120. The text from a document displayed via the example pop-upwindow 304 is an active region within the document and the text from a document displayed via theexample node view 302 is an active region with the same document. Both active regions may be editable within a real-time collaborative editing system such as the real-timecollaborative editing system 110. -
FIG. 4 is an exemplary illustration of a user interface of the activeregion display program 170, in accordance with at least one embodiment of the present invention.FIG. 4 includes anexample node 400, anexample node view 402, and anexample thumbnail image 404. Theexample node 400 is similar to thefirst node 150 and theexample node view 402 is similar to thefirst node view 160. Theexample thumbnail image 404 is a display artefact corresponding to an active region within a document. -
FIG. 5 is an exemplary illustration of a user interface of the activeregion display program 170, in accordance with at least one embodiment of the present invention.FIG. 5 include anexample node 500, anexample node view 502, and anexample document map 504. Theexample node 500 is similar to thefirst node 150 and theexample node view 502 is similar to thefirst node view 160. Theexample document map 504 is a display artefact corresponding to active regions within a document. InFIG. 5 , the horizontal lines illustrated within theexample document map 504 represent the text of an entire document. The rectangular icons illustrated within theexample document map 504 indicate active regions within the document. InFIG. 5 , the document includes three active regions displayed via three node views (not shown). -
FIG. 6 is a block diagram depicting components of acomputer 600 suitable for executing the activeregion display program 170.FIG. 6 displays thecomputer 600, the one or more computer processor(s) 604 (including one or more computer processors), thecommunications fabric 602, thememory 606, the RAM, thecache 616, thepersistent storage 608, thecommunications unit 610, the I/O interface(s) 612, thedisplay 620, and theexternal devices 618. It should be appreciated thatFIG. 6 provides only an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made. - As depicted, the
computer 600 operates over acommunications fabric 602, which provides communications between thecache 616, the computer processor(s) 604, thememory 606, thepersistent storage 608, thecommunications unit 610, and the input/output (I/O) interface(s) 612. Thecommunications fabric 602 may be implemented with any architecture suitable for passing data and/or control information between the computer processor(s) 604 (e.g. microprocessors, communications processors, and network processors, etc.), thememory 606, theexternal devices 618, and any other hardware components within a system. For example, thecommunications fabric 602 may be implemented with one or more buses or a crossbar switch. - The
memory 606 andpersistent storage 608 are computer readable storage media. In the depicted embodiment, thememory 606 includes a random access memory (RAM). In general, thememory 606 may include any suitable volatile or non-volatile implementations of one or more computer readable storage media or one or more computer readable media. Thecache 616 is a fast memory that enhances the performance of computer processor(s) 604 by holding recently accessed data, and data near accessed data, frommemory 606. - Program instructions for the active
region display program 170 may be stored in thepersistent storage 608 or inmemory 606, or more generally, any computer readable storage media, for execution by one or more of the respective computer processor(s) 604 via thecache 616. Thepersistent storage 608 may include a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, thepersistent storage 608 may include, a solid state hard disk drive, a semiconductor storage device, read-only memory (ROM), electronically erasable programmable read-only memory (EEPROM), flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information. - The media used by the
persistent storage 608 may also be removable. For example, a removable hard drive may be used forpersistent storage 608. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is also part of thepersistent storage 608. - The
communications unit 610, in these examples, provides for communications with other data processing systems or devices. In these examples, thecommunications unit 610 may include one or more network interface cards. Thecommunications unit 610 may provide communications through the use of either or both physical and wireless communications links. The activeregion display program 170 may be downloaded to thepersistent storage 608 through thecommunications unit 610. In the context of some embodiments of the present invention, the source of the various input data may be physically remote to thecomputer 600 such that the input data may be received and the output similarly transmitted via thecommunications unit 610. - The I/O interface(s) 612 allows for input and output of data with other devices that may operate in conjunction with the
computer 600. For example, the I/O interface(s) 612 may provide a connection to theexternal devices 618, which may include a keyboard, keypad, a touch screen, and/or some other suitable input devices.External devices 618 may also include portable computer readable storage media, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention may be stored on such portable computer readable storage media and may be loaded onto thepersistent storage 608 via the I/O interface(s) 612. The I/O interface(s) 612 may similarly connect to adisplay 620. Thedisplay 620 provides a mechanism to display data to a user and may be, for example, a computer monitor. - The programs described herein are identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
- The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Claims (20)
1. A computer-implemented method comprising:
identifying a document, said document being operated upon by a real-time collaborative editing system, said document comprising a first active region and one or more additional active regions;
identifying a first node and one or more additional nodes, said first node and said one or more additional nodes accessing said document via said real-time collaborative editing system;
identifying a second node; said second node being one of said one or more additional nodes;
identifying a second active region; said second active region being one of said one or more additional active regions;
identifying a first node view, said first node view displaying said first active region via said first node;
identifying a second node view, said second node view displaying said second active region via said second node;
responsive to input from said first node, creating a third node view, said third node view displaying said second active region; and
presenting said third node view via said first node.
2. The computer-implemented method of claim 1 , wherein said first node and each of said one or more additional nodes comprise a web browser.
3. The computer-implemented method of claim 1 , wherein presenting said third node view via said first node comprises:
generating a pop-up window, said third node view being displayed via said pop-up window; and
presenting said pop-up window via said first node.
4. The computer-implemented method of claim 1 , wherein said second active region is editable via said third node view.
5. The computer-implemented method of claim 1 , further comprising, for each of said one or more additional active regions, displaying that of said one or more additional active regions as a display artefact via said first node view.
6. The computer-implemented method of claim 5 , wherein said display artefact comprises a thumbnail image.
7. The computer-implemented method of claim 5 , wherein said display artefact comprises a document map.
8. A computer program product comprising:
one or more computer readable storage media and program instructions stored on said one or more computer readable media, said program instructions comprising instructions to:
identify a document, said document being operated upon by a real-time collaborative editing system, said document comprising a first active region and one or more additional active regions;
identify a first node and one or more additional nodes, said first node and said one or more additional nodes accessing said document via said real-time collaborative editing system;
identify a second node; said second node being one of said one or more additional nodes;
identify a second active region; said second active region being one of said one or more additional active regions;
identify a first node view, said first node view displaying said first active region via said first node;
identify a second node view, said second node view displaying said second active region via said second node;
responsive to input from said first node, create a third node view, said third node view displaying said second active region; and
present said third node view via said first node.
9. The computer program product of claim 8 , wherein said first node and each of said one or more additional nodes comprise a web browser.
10. The computer program product of claim 8 , wherein instructions to present said third node view via said first node comprise instructions to:
generate a pop-up window, said third node view being displayed via said pop-up window; and
present said pop-up window via said first node.
11. The computer program product of claim 8 , wherein said second active region is editable via said third node view.
12. The computer program product of claim 8 , further comprising, for each of said one or more additional active regions, instructions to display that of said one or more additional active regions as a display artefact via said first node view.
13. The computer program product of claim 12 , wherein said display artefact comprises a thumbnail image.
14. The computer program product of claim 12 , wherein said display artefact comprises a document map.
15. A computer system comprising:
one or more computer processors;
one or more computer readable storage media;
computer program instructions;
said computer program instructions being stored on said computer readable storage media for execution by at least one of said one or more processors, said computer program instructions comprising instructions to:
identify a document, said document being operated upon by a real-time collaborative editing system, said document comprising a first active region and one or more additional active regions;
identify a first node and one or more additional nodes, said first node and said one or more additional nodes accessing said document via said real-time collaborative editing system;
identify a second node; said second node being one of said one or more additional nodes;
identify a second active region; said second active region being one of said one or more additional active regions;
identify a first node view, said first node view displaying said first active region via said first node;
identify a second node view, said second node view displaying said second active region via said second node;
responsive to input from said first node, create a third node view, said third node view displaying said second active region; and
present said third node view via said first node.
16. The computer system of claim 15 , wherein said first node and each of said one or more additional nodes comprise a web browser.
17. The computer system of claim 15 , wherein instructions to present said third node view via said first node comprise instructions to:
generate a pop-up window, said third node view being displayed via said pop-up window; and
present said pop-up window via said first node.
18. The computer system of claim 15 , wherein said second active region is editable via said third node view.
19. The computer system of claim 15 , further comprising, for each of said one or more additional active regions, instructions to display that of said one or more additional active regions as a display artefact via said first node view.
20. The computer system of claim 19 , wherein said display artefact comprises a document map.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/855,906 US20170075507A1 (en) | 2015-09-16 | 2015-09-16 | Displaying user activity in real-time collaborative editing systems |
US14/972,686 US9471897B1 (en) | 2015-09-16 | 2015-12-17 | Displaying user activity in real-time collaborative editing systems |
US15/228,487 US9710129B2 (en) | 2015-09-16 | 2016-08-04 | Displaying user activity in real-time collaborative editing systems |
US15/405,381 US9921797B2 (en) | 2015-09-16 | 2017-01-13 | Displaying user activity in real-time collaborative editing systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/855,906 US20170075507A1 (en) | 2015-09-16 | 2015-09-16 | Displaying user activity in real-time collaborative editing systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/972,686 Continuation US9471897B1 (en) | 2015-09-16 | 2015-12-17 | Displaying user activity in real-time collaborative editing systems |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170075507A1 true US20170075507A1 (en) | 2017-03-16 |
Family
ID=57120879
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/855,906 Abandoned US20170075507A1 (en) | 2015-09-16 | 2015-09-16 | Displaying user activity in real-time collaborative editing systems |
US14/972,686 Expired - Fee Related US9471897B1 (en) | 2015-09-16 | 2015-12-17 | Displaying user activity in real-time collaborative editing systems |
US15/228,487 Expired - Fee Related US9710129B2 (en) | 2015-09-16 | 2016-08-04 | Displaying user activity in real-time collaborative editing systems |
US15/405,381 Expired - Fee Related US9921797B2 (en) | 2015-09-16 | 2017-01-13 | Displaying user activity in real-time collaborative editing systems |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/972,686 Expired - Fee Related US9471897B1 (en) | 2015-09-16 | 2015-12-17 | Displaying user activity in real-time collaborative editing systems |
US15/228,487 Expired - Fee Related US9710129B2 (en) | 2015-09-16 | 2016-08-04 | Displaying user activity in real-time collaborative editing systems |
US15/405,381 Expired - Fee Related US9921797B2 (en) | 2015-09-16 | 2017-01-13 | Displaying user activity in real-time collaborative editing systems |
Country Status (1)
Country | Link |
---|---|
US (4) | US20170075507A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840112A (en) * | 2022-05-16 | 2022-08-02 | 北京轻网科技有限公司 | POP resource management method, device, equipment and computer readable storage medium |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159849A1 (en) | 2011-12-20 | 2013-06-20 | Keng Fai Lee | Jump to Collaborator Cursor |
US20170075507A1 (en) | 2015-09-16 | 2017-03-16 | International Business Machines Corporation | Displaying user activity in real-time collaborative editing systems |
US11030259B2 (en) | 2016-04-13 | 2021-06-08 | Microsoft Technology Licensing, Llc | Document searching visualized within a document |
US10740407B2 (en) * | 2016-12-09 | 2020-08-11 | Microsoft Technology Licensing, Llc | Managing information about document-related activities |
US10552529B2 (en) * | 2017-05-03 | 2020-02-04 | International Business Machines Corporation | Data change alerts in a collaborative environment |
US10884571B2 (en) * | 2018-01-11 | 2021-01-05 | Microsoft Technology Licensing, Llc | Dependency-based presence for co-authored documents |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4974173A (en) * | 1987-12-02 | 1990-11-27 | Xerox Corporation | Small-scale workspace representations indicating activities by other users |
US5781785A (en) * | 1995-09-26 | 1998-07-14 | Adobe Systems Inc | Method and apparatus for providing an optimized document file of multiple pages |
US6564246B1 (en) * | 1999-02-02 | 2003-05-13 | International Business Machines Corporation | Shared and independent views of shared workspace for real-time collaboration |
US20150003314A1 (en) * | 2013-06-27 | 2015-01-01 | Samsung Electronics Co., Ltd. | Method and apparatus for offloading data traffic in a wireless communication system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214395B2 (en) | 2006-04-21 | 2012-07-03 | Microsoft Corporation | Tracking and editing a resource in a real-time collaborative session |
US8453052B1 (en) | 2006-08-16 | 2013-05-28 | Google Inc. | Real-time document sharing and editing |
US7853886B2 (en) * | 2007-02-27 | 2010-12-14 | Microsoft Corporation | Persistent spatial collaboration |
US8387006B1 (en) * | 2007-12-05 | 2013-02-26 | Adobe Systems Incorporated | System and method for authoring a web page to be run-time editable |
US20100257457A1 (en) | 2009-04-07 | 2010-10-07 | De Goes John A | Real-time content collaboration |
US8943408B2 (en) * | 2009-05-27 | 2015-01-27 | Adobe Systems Incorporated | Text image review process |
US8407290B2 (en) | 2009-08-31 | 2013-03-26 | International Business Machines Corporation | Dynamic data sharing using a collaboration-enabled web browser |
WO2011130286A1 (en) | 2010-04-12 | 2011-10-20 | Google Inc. | Collaborative cursors in a hosted word processor |
US9336137B2 (en) * | 2011-09-02 | 2016-05-10 | Google Inc. | System and method for performing data management in a collaborative development environment |
US20130159849A1 (en) | 2011-12-20 | 2013-06-20 | Keng Fai Lee | Jump to Collaborator Cursor |
US9158746B2 (en) | 2012-06-13 | 2015-10-13 | International Business Machines Corporation | Managing concurrent editing in a collaborative editing environment using cursor proximity and a delay |
US20150033140A1 (en) | 2013-07-23 | 2015-01-29 | Salesforce.Com, Inc. | Providing active screen sharing links in an information networking environment |
US20170075507A1 (en) | 2015-09-16 | 2017-03-16 | International Business Machines Corporation | Displaying user activity in real-time collaborative editing systems |
-
2015
- 2015-09-16 US US14/855,906 patent/US20170075507A1/en not_active Abandoned
- 2015-12-17 US US14/972,686 patent/US9471897B1/en not_active Expired - Fee Related
-
2016
- 2016-08-04 US US15/228,487 patent/US9710129B2/en not_active Expired - Fee Related
-
2017
- 2017-01-13 US US15/405,381 patent/US9921797B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4974173A (en) * | 1987-12-02 | 1990-11-27 | Xerox Corporation | Small-scale workspace representations indicating activities by other users |
US5781785A (en) * | 1995-09-26 | 1998-07-14 | Adobe Systems Inc | Method and apparatus for providing an optimized document file of multiple pages |
US6564246B1 (en) * | 1999-02-02 | 2003-05-13 | International Business Machines Corporation | Shared and independent views of shared workspace for real-time collaboration |
US20150003314A1 (en) * | 2013-06-27 | 2015-01-01 | Samsung Electronics Co., Ltd. | Method and apparatus for offloading data traffic in a wireless communication system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840112A (en) * | 2022-05-16 | 2022-08-02 | 北京轻网科技有限公司 | POP resource management method, device, equipment and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
US9921797B2 (en) | 2018-03-20 |
US20170075509A1 (en) | 2017-03-16 |
US9471897B1 (en) | 2016-10-18 |
US20170115950A1 (en) | 2017-04-27 |
US9710129B2 (en) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9921797B2 (en) | Displaying user activity in real-time collaborative editing systems | |
US9710217B2 (en) | Identifying the positioning in a multiple display grid | |
US10242094B2 (en) | Generating word clouds | |
US9390529B2 (en) | Display of graphical representations of legends in virtualized data formats | |
US10452231B2 (en) | Usability improvements for visual interfaces | |
US20160283073A1 (en) | Intelligent interactive screen capture | |
US20180276721A1 (en) | Real-time advertising placement | |
US20170199748A1 (en) | Preventing accidental interaction when rendering user interface components | |
US20160179978A1 (en) | Undo and redo of content specific operations | |
US11029842B2 (en) | Creating and manipulating layers on a user device using touch gestures | |
US10474356B2 (en) | Virtual keyboard improvement | |
US9250760B2 (en) | Customizing a dashboard responsive to usage activity | |
US10839036B2 (en) | Web browser having improved navigational functionality | |
US10831367B2 (en) | Efficient temporary dynamic anchor points within and between application document(s) | |
US10229335B2 (en) | Displaying the meaning of selected text | |
US20180246734A1 (en) | Cognitive scrollbar | |
US10394365B2 (en) | Web server that renders a web page based on a client pressure profile | |
US20160378275A1 (en) | Screen reader improvements | |
US10282049B2 (en) | Display screen management system, method and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DUNNE, JONATHAN;JIANG, MING ZHE;SHAO, HUA;AND OTHERS;REEL/FRAME:036580/0387 Effective date: 20150915 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |