US20150199308A1 - Systems and methods for controlling the display of online documents - Google Patents
Systems and methods for controlling the display of online documents Download PDFInfo
- Publication number
- US20150199308A1 US20150199308A1 US13/275,123 US201113275123A US2015199308A1 US 20150199308 A1 US20150199308 A1 US 20150199308A1 US 201113275123 A US201113275123 A US 201113275123A US 2015199308 A1 US2015199308 A1 US 2015199308A1
- Authority
- US
- United States
- Prior art keywords
- browser window
- client
- browser
- presentation
- computing device
- 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
-
- G06F17/2247—
-
- 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
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
-
- 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
- H04L65/402—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
- H04L65/4025—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services where none of the additional parallel sessions is real time or time sensitive, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Definitions
- a presentation application is typically used to produce a presentation that is often a collection of slides or documents having media including text, pictures, embedded audio and video, and other rich media and interactive content.
- online presentation applications have been developed which have the ability for a number of users, potentially at physically remote locations relative to one another, to easily collaborate and modify presentation slides. Additionally, the online presentation application may allow users to present their slides at any remote location having online access.
- presentation produced by online presentation applications lack some of the functionality of offline software-based presentation applications.
- a feature missing from current online document processing applications is the ability to control, from one browser window, the presentation of an online document running in another browser window. Such a feature is especially useful in the context of using presentation applications to present a slide deck.
- users want to be able to do two things: control the progression of slides in the presentation and review any notes (or speaker notes) that they may have prepared to assist them with their presentation. It is also desirable that the speaker notes not appear on the same window as the slides.
- Current-day online presentation applications allow users to view their presentation slides in one browser window and their speaker notes in another separate browser window. Thus, the users can view their speaker notes, while their audience views, separately, the presentation.
- these online presentation applications do not allow the users to control the progression of slides from the speaker notes window. Therefore, users would have to jump back and forth between the two windows to progress the slides and review their speaker notes.
- the present disclosure describes systems and methods that provide this missing feature.
- the systems and methods described herein are directed to computerized methods for controlling from one browser window, an online application being displayed on another browser window. More particularly, in one aspect, the systems and methods described herein are directed to computerized methods for rendering and controlling a presentation document in an online presentation application.
- the methods may include displaying, on a first browser window at a client computing device, a first portion of a presentation document.
- the methods may further include receiving, in a second browser window at the client computing device, a request for displaying a second portion of the presentation document on the first browser.
- the methods may then include replacing, in the first browser window of the client computing device, the displayed first portion of the presentation document with the second portion of the presentation document based on the request received at the second browser window.
- the first portion and second portion of the presentation document includes one or more presentation slides.
- the methods may include opening the second browser window in response to a request received at the first browser window.
- the methods may further include displaying, on the second browser window at the client computing device, one or more user input components for allowing users to submit a request.
- the one or more user input components may include at least one of an image, button, text box, radio-button, and check-box.
- the methods described herein may further include displaying, on the second browser window at the client computing device, a third portion of the presentation document, which may include one or more pages of notes.
- the first browser window may receive a request for displaying the third portion of the presentation document in this second browser window.
- the first portion of the presentation document is replaced with the second portion of the presentation document in the first browser window based on the request received at the first browser window.
- the first browser window may be configured to display speaker notes and the computerized methods may further include displaying, on the first browser window, a third portion of the presentation document including one or more pages of notes.
- the systems and methods described herein include computerized methods for rendering and controlling Hypertext Markup Language (HTML) data and Cascading Style Sheets (CSS) data in a browser.
- the methods may include receiving, in a first browser window at a client computing device, a first set of data including HTML, CSS and Javascript data, and receiving, in the second browser window at the client computing device, a request for replacing the first set of data with a second set of data including HTML, CSS and Javascript data.
- the methods may further include replacing, in the first browser window of the client computing device, the first set of data with the second set of data based on the request received in the second browser window.
- the first browser window may be configured to listen for requests received in the second browser window.
- the methods may further include displaying, on the second browser window at the client computing device, one or more user input components for allowing users to submit a request.
- the second browser window may also be configured to receive a third set of data including HTML and CSS data.
- the first browser window receives the second set of data from a server and creates the second browser window.
- the first browser window may also receive requests submitted by users.
- the first set of data may be replaced with the second set of data based on such a request in the first browser window.
- the systems and methods described herein include systems for rendering and controlling a presentation document in an online presentation application.
- the systems may include a first browser window and a second browser window.
- the first browser window may include a client engine for running the online presentation application, and a user interface for displaying a portion of the presentation document to a user and receiving requests from the user.
- the second browser window may include a user interface for controlling the presentation document displayed on the first browser window.
- the second browser may also include a user interface for receiving a portion of the presentation document from the user.
- the client engine may include a controller for generating the second browser window, listening to requests received at the second browser window, and replacing the displayed portion of the presentation document in the first browser with another portion of the presentation document based on the received requests.
- the client engine may be configured to provide HTML, CSS and Javascript data to the user interface in the first browser.
- the client engine may be configured to receive Javascript calls from the user interface in the first browser.
- the client engine is configured to receive data corresponding to the presentation document and online presentation application data from a server.
- the user interface in at least one of the first browser and the second browser may include components receptive to inputs received from at least one of a mouse, keyboard, HTML frame/object, and HTML form.
- the components may be receptive to at least one of mouse double-clicks, mouse down, mouse up, mouse over, mouse move, mouse out, key down, key press, and key up.
- FIG. 1 is a block diagram depicting an online multi-browser system, according to an illustrative embodiment of the invention
- FIG. 2 is a block diagram depicting an exemplary computing device illustrated in FIG. 1 ;
- FIG. 3 is a block diagram depicting an implementation of the system of FIG. 1 , according to an illustrative embodiment of the invention
- FIG. 4 is a block diagram depicting an exemplary presentation application interface that may be presented across multiple browsers to a user;
- FIG. 5 is a flow chart depicting the overall operation of the various components of the system of FIG. 1 implemented as an online presentation application;
- FIG. 6 is a flow chart depicting the operation of the various components of the system of FIG. 1 when displaying speaker notes in a presentation application;
- FIG. 7 is a flow chart depicting the operation of the various components of the system of FIG. 1 when the user navigates presentation slides using the parent browser window;
- FIG. 8 is a flow chart depicting the operation of the various components of the system of FIG. 1 when the user navigates presentation slides using the child browser window.
- the systems and methods described herein include software and hardware for controlling, from one browser window, the display of information in an online document processing application on another browser window.
- the systems and methods described herein provide a user with the ability to view a presentation slide deck on a first browser window while simultaneously viewing speaker notes for each slide of the slide deck in a second browser window.
- the systems and methods not only provide the user with the ability to view speaker notes, but also control the slideshow from the second browser window.
- FIGS. 1 and 2 provide an overview of an exemplary system, computing devices, and methods used to provide such an online document processing application.
- FIGS. 3 and 4 describe in more detail one exemplary system having two browsers—a parent browser and a child browser—running an online presentation application.
- FIGS. 5-8 provide exemplary methods, according to the present disclosure, for controlling an online presentation application running in a parent browser window from either the parent browser window itself or from a child browser window.
- FIG. 1 is a block diagram depicting an online multi-browser system 100 , according to an illustrative embodiment of the invention.
- System 100 includes multiple clients 110 that can connect to servers, such as server 120 , via a network 140 .
- Network 140 may include a local area network (LAN), a wide area network (WAN), a telephone network, such as the Public Switched Telephone Network (PSTN), an intranet, the Internet, or a combination of networks.
- LAN local area network
- WAN wide area network
- PSTN Public Switched Telephone Network
- Three clients 110 and one server 120 are illustrated as connected to network 140 for simplicity.
- Two clients 110 are shown as being associated with a single user 111 .
- a client may perform one or more functions of a server and a server may perform one or more functions of a client.
- a client 110 may include a device, such as a personal computer, a laptop computer, a wireless telephone, a personal digital assistant (PDA), mobile devices, smart phones, touch-responsive tablet devices, or another type of computation or communication device.
- a client 110 may include display devices including a projection screen or television display. Users of clients 110 may access or receive information from server 120 .
- clients 110 may generally interact with server 120 such that clients 110 , in conjunction with server 120 , execute an online document application, such as an online presentation application.
- Server 120 may include software, labeled as document server component 125 , to assist implementing the online presentation application.
- Online presentation applications created by users of clients 110 may be stored by server 120 in, for example, a database on storage media 130 .
- server 120 may be implemented as, for example, a single computing device or as multiple distributed computing devices.
- server 120 may be implemented as, for example, a single computing device or as multiple distributed computing devices.
- a computing device is operating as a client or a server may depend on the context of the role of the computing device within the application.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- clients 110 may be through browser programs 115 at clients 110 .
- the online presentation application may be a web application that runs within browsers 115 .
- clients 110 may not be required to install any presentation specific software to use the online presentation application at client 110 .
- browsers or browser programs are discussed herein, these terms are intended to refer to any program that allows a user to browse markup documents (e.g., web documents), regardless of whether the browser program is a stand alone program or an embedded program, such as a browser program included as part of an operating system.
- FIG. 2 is an exemplary diagram of computing device 200 , such as one of clients 110 or server 120 .
- Computing device 200 may include a bus 210 , a processor 220 , a main memory 230 , a read only memory (ROM) 240 , a storage device 250 , an input device 260 , an output device 270 , and a communication interface 280 .
- Bus 210 may include a path that permits communication among the components of computing device 200 .
- Processor 220 may include any type of processor, microprocessor, or processing logic that interprets and executes instructions.
- Main memory 230 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processor 220 .
- ROM 240 may include a ROM device or another type of static storage device that may store static information and instructions for use by processor 220 .
- Storage device 250 may include a magnetic and/or optical recording medium and its corresponding drive.
- Input device 260 may include a mechanism that permits a user to input information to computing device 200 , such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc.
- Output device 270 may include a conventional mechanism that outputs information to the user, including a display, a printer, a speaker, etc.
- Communication interface 280 may include any transceiver-like mechanism that enables computing device 200 to communicate with other devices and/or systems.
- communication interface 280 may include mechanisms for communicating with another device or system via a network, such as network 140 .
- Document server component 125 may be implemented in software and stored in a computer-readable medium, such as memory 230 .
- a computer-readable medium may be defined as one or more physical or logical memory devices and/or carrier waves.
- the software instructions defining document server component 125 may be read into memory 230 from another computer-readable medium, such as data storage device 250 , or from another device via communication interface 280 .
- the software instructions contained in memory 230 cause processor 220 to perform processes that will be described later.
- hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the present disclosure.
- implementations consistent with the principles of the systems and methods described are not limited to any specific combination of hardware circuitry and software.
- An online presentation application may be implemented as a distributed web application in which portions of the application execute at one or more of clients 110 and at server 120 . More specifically, clients 110 that wish to use the online presentation application may request the presentation application from server 120 . In response, server 120 may transmit portions of the presentation application for local execution at clients 110 . The online presentation application may thus execute as a distributed application across server 120 and one or more of clients 110 .
- FIG. 3 is a block diagram depicting an implementation of the system 300 (or system 100 of FIG. 1 ), according to an illustrative embodiment of the invention.
- FIG. 3 depicts a client 110 having two browsers—a parent browser 350 and a child browser 352 .
- users may display the parent browser, having a slideshow, on a projector screen, while viewing a child browser from their laptop computer on a podium.
- system 300 may also include two or more clients, one running a parent browser and the others running child browsers.
- the parent browser 350 includes a client engine 316 and a user interface 317 .
- the client engine 316 further includes a controller 318 .
- the child browser 352 includes a user interface 319 .
- the client 110 is connected via a network 140 to a document server component 125 .
- Document server component 125 includes a front-end component 326 and a back-end component 327 .
- Front-end component 326 may include a web and/or XML server that interfaces with clients 110 .
- front-end component 326 may receive HTTP requests from clients 110 and transmit XML data to clients 110 .
- Back-end component 327 may perform the more substantive processing related to the presentation application, such as the calculation of functions required to update a set of slides.
- portions of the online presentation application executes within clients 110 .
- Client engine 316 within parent browser 350 , may be implemented using, for example, Javascript that is downloaded from server 120 when needed by client 110 .
- User interface 317 may provide the final user interface that is displayed in browsers 350 and 352 based on, for example, HTML (hyper-text markup language) and CSS (cascading style sheets) data supplied from client engine 316 .
- User interface 317 and client engine 316 act to reduce the start-stop start-stop nature of traditional browser-based web applications, as client engine 316 adds a client-side layer that can handle many of the user interactions with user interface 317 .
- browser 350 may load client engine 316 from server 120 (or, alternatively, from a local cache).
- Client engine 316 may be responsible for both rendering the interface the user sees and communicating with server 120 on the user's behalf.
- Client engine 316 allows the user's interaction with the online presentation application to happen asynchronously, i.e., independent of communication with server 120 .
- the client engine 316 further includes a controller 318 , which is configured with code to create the child browser 352 and exchange data, including but not limited to HTML, CSS, Javascript, with the user interface 319 of child browser 352 .
- the controller 318 may receive HTML and CSS data to be displayed in the child browser 352 from the server 120 (or, alternatively, from a local cache).
- the client engine 316 initiates a user session of the presentation application within the parent browser 350 .
- the controller 318 may open a child browser 352 for displaying speaker notes and other information to the user via user interface 319 .
- the controller 318 may communicate directly or indirectly (via network 140 ) to the child browser 352 .
- the user may, via user interface 319 in child browser 352 , choose to control the progression of slides displayed in the parent browser.
- the controller 318 is programmed to subscribe to events such as button clicks or keyboard presses while the user is on the child browser 352 . Upon detection of such an event, the controller updates the slides in the parent browser 350 , and the child browser 352 updates the speaker notes.
- the client-side operation of the online presentation application may be implemented using the known Asynchronous JavaScript And XML (AJAX) web development techniques, although one of ordinary skill in the art will recognize that other technologies could be used.
- AJAX Asynchronous JavaScript And XML
- parent browser 350 and child browser 352 are shown, in FIG. 3 , as being within a single client device 110 , in certain implementations, the parent browser 350 and the child browser 352 may be on different clients.
- parent browser 350 may include browser 115 in client 110 and child browser 352 may include browser 115 located in client 110 operated by user 111 .
- the parent and child browsers are in separate client devices.
- a user may use their mobile device, smart phone, tablet or any suitable device for controlling a presentation being displayed on a different computing device.
- the different computing device may include another computer or laptop or any suitable computing device that may or may not be connected to a projection screen for displaying the presentation.
- the different computing device is embedded within a projection screen.
- the different computing device may also include another mobile device, smart phone, tablet or any other suitable device so that while one device is viewing the presentation, another device is controlling the progression of the presentation slides.
- the client engine 316 instead of communicating directly with the child browser 352 , communicates via the network 140 and server 120 .
- the client engine 316 may initiate a user session of the presentation application within the parent browser 350 .
- the server 120 may open a child browser 352 for displaying speaker notes and other information to the user via user interface 319 .
- the user may, via user interface 319 in child browser 352 on a different client device, choose to control the progression of slides displayed in the parent browser 350 .
- the parent browser 350 may, itself, be initiated by the server 120 .
- the server 120 upon receiving a request from one or more client devices, the server 120 initiates a parent browser 350 on a client device to run the presentation application.
- the server 120 may initiate a child browser 352 on the same client device or a different client device.
- the server 120 may request additional authorization to allow a user to operate the child browser 352 and thereby control the presentation being displayed on the parent browser 350 .
- the authorized user may include at least one of a user operating a client device having the parent browser 350 , a user operating a client device intended to have the child browser 352 , a user operating a client device having the child browser 352 , and a user authorized by a user of the client device having the parent browser 350 .
- the authorized user may generally include any user possessing suitable credentials to view or run the presentation.
- a user may initiate the child browser 352 from a location remote to the location of the parent browser 350 .
- a first user may be viewing a presentation remotely via videoconference.
- the presentation may be running on a different computing device operated by a second user.
- the second user may send a link to the first user to allow the first user to access and open a child browser 352 in the first user's remote location.
- the first user may then, via the child browser 352 control the slides in the presentation.
- the systems and methods described herein may be adapted to allow for a plurality of parent browsers 350 and a plurality of child browsers 352 .
- one child browser 352 may be configured to operate presentations running on a plurality of parent browsers 350 .
- the child browser 352 may control the operation of the same or different presentations running on the plurality of parent browsers 350 .
- the child browser 350 may function as a dashboard having user interface elements for simultaneously control a plurality of different presentation slide decks.
- a plurality of child browsers 352 may be configured to control a single parent browser 350 .
- a plurality of users collaborating on a presentation slide deck may have child browsers 352 capable of controlling the presentation running on a single browser 350 .
- one or more child browsers 352 in one or more client devices may be configured to control one or more parent browsers 350 in one or more of the same or different client devices.
- FIG. 4 is a block diagram depicting an exemplary presentation application interface 400 that may be presented across multiple browsers to a user.
- Interface 400 depicts the interface displayed to the user when presenting a slide show.
- interface 400 includes a parent browser window 450 and a child browser window 452 .
- the parent browser 450 includes slides 402 , a progress button 404 , slide selector menu 406 and an action menu 408 .
- the action menu 408 includes a list of user-selectable items including “Show speaker notes” item 412 .
- the parent browser 450 may include any number of text boxes, media placeholders, forms, buttons, drop-down menus, radio buttons, check-boxes as desirable without departing from the scope of the invention. When displayed, users may view and modify one or more slides in their presentation.
- the child browser window 452 depicts speaker notes 430 along with other useful information for the user.
- the child browser window 452 includes slide preview section 415 having a slide preview 420 , a previous slide preview/selector 422 , a next slide preview/selector 424 and a slide selector menu 426 .
- the child browser window 452 further includes a timing section 428 having a time indicator, a pause button and a reset button.
- the user interface may include any number of browsers configured to control each other.
- the user interface may also include any number of input components (e.g., buttons) and output components (e.g., slides) without departing from the scope of the invention.
- FIG. 5 is a flow chart depicting the overall operation of the various components of the system of FIGS. 1 and 3 implemented as an online presentation application.
- a user at one of clients 110 may initiate a presentation application session (step 501 ).
- the user of a client 110 may contact front-end component 326 using parent browser 352 .
- the user may be required to have previously registered or created an account with and be logged into document server component 125 .
- the document server component 125 may transmit client engine 316 to the client 110 (step 502 ). Some portions of client engine 316 may be cached at client 110 from a previous session, in which case these portions do not need to be re-downloaded from server 120 .
- the programming code that comprises client engine 316 may be implemented in a modular manner. In this situation, portions of client engine 316 may be transmitted to client 110 on an as-demand basis as the functionality of those portions of client engine 316 are needed by client 110 .
- client engine 316 may implement a number of “core” functions, such as basic user interaction and display functions, that are always transmitted to client 110 , while other functions, such as more specialized presentation functions, may be transmitted to client 110 on an as-need basis. Additionally, some functions of online presentation application may always be executed by back-end component 327 and may therefore never be transmitted to client engine 316 .
- core such as basic user interaction and display functions
- the online presentation application may be an entirely web-based application in which the client does not need to pre-install any portion of client engine 316 .
- a user will typically be able to use the online presentation application from any computing device that includes a compatible browser 115 and that is connected to network 140 .
- Client engine 316 once loaded at client 110 , may present, via user interface 317 , the graphical user interface (interface 400 of FIG. 4 ) of a slide deck to the user (step 503 ).
- the slides 450 are the data object that the presentation application presents to the user.
- the slide deck presented to a user may be a “blank” slide deck from which the user may begin a new presentation document, a presentation document retrieved from a previous session of the online presentation application, or a version of the presentation document imported from a conventional presentation document (e.g., an “.pptx” document, a “.key” document, or other types of known presentation document formats).
- a user can, for example, enter text and media into the presentation slides and perform formatting operations relating to the slide deck.
- client engine 316 interacts with and makes requests of document server component 120 as necessary (step 504 ).
- the above-described functions and operations that are allowable by the online presentation application are exemplary.
- the online presentation application may permit a user to perform numerous operations that are generally recognized as being consistent with a presentation application.
- client engine 316 may handle most or all of the functionality associated with responding to user actions relating to navigating and/or formatting the interface without needing to contact document server component 125 .
- Other functions of the presentation application may be handled by logic in back-end component 327 .
- the online presentation application can provide a high level of responsiveness to user actions that tend to occur frequently and for which users expect immediate feedback.
- client engine 316 and back-end component 327 may be modified such that client engine 316 handles more or fewer functions and similarly, back-end component 327 may also handle more or fewer functions.
- the data that comprises the presentation document may be saved (step 505 ).
- the presentation document may be saved by document server component 125 to database 130 .
- the presentation document may be accessible by the user (or by other users) from any computing device connected to network 140 .
- the user may interact and select from several options in interface 400 in FIG. 4 .
- the user may choose to view speaker notes in a separate browser window. Accordingly, the user may select the “Show speaker notes” button 412 in the action menu 408 in the parent browser window 450 .
- FIG. 6 shows the various steps that the system performs when a user selects the show speaker notes option (step 601 ).
- FIG. 6 is a flow chart depicting the operation of the various components of the system of FIG. 1 when displaying speaker notes in a presentation application.
- the controller 318 in the client engine 316 runs code to open a “blank” new child browser window 452 (step 602 ). If a window was already opened, the controller 318 may close the open window and then open a new child window. In certain embodiments, the controller 318 may select a unique name when opening a new child window.
- the controller 318 populates the new child window with HTML and CSS from the server (step 603 ) or a local cache.
- the HTML and CSS data includes, among other things, the contents of the speaker notes to be displayed in section 430 , the contents of the slides to be displayed in section 415 and other information related to the arrangement and appearance of the child window 452 .
- Events may include operations involving user interactions with the user interface in the parent browser or child browser.
- Typical events may include inputs from a mouse or pointing device, keyboard or typing device, HTML frame/object, HTML form, and other user interfaces.
- Some examples of inputs from a mouse include double-clicks, mouse down, mouse up, mouse over, mouse move and mouse out.
- Some example of inputs from a keyboard include key down, key press, key up.
- an event target may relate to an event such as selecting with a mouse, clicking-on a button, or using a keyboard shortcut in the parent browser window 450 or child browser window 452 .
- Event targets in the parent browser window 450 may include slide progress button 404 , or an item from the slide selector menu 406 .
- mouse clicks anywhere on the slide 402 may be an event target to indicate slide advancement.
- event targets in the child browser window 452 may include buttons 422 or 424 for moving slides forward or backward, slide selector 426 , or any other portion of the child window 452 .
- event targets may be assigned to any portion of the parent and child browser windows.
- the child window 352 may include code for listening to parent window 350 event targets and child window event targets.
- the child window 352 may begin listening for parent window event targets (step 604 ) using an event handler script.
- the parent browser, particularly the controller 318 also subscribes to child window event targets (step 605 ).
- FIG. 7 depicts the various steps that the system performs when the user selects the parent browser window as being active (step 701 ).
- the user may click on an event target.
- the user may desire to advance the slide and click on the slide progress button 404 (step 702 ).
- the controller 318 listening for such an event, may read this button click as an event and run the corresponding Javascript to advance the slides in the parent browser window 450 (step 703 ).
- the child browser also listening for such an event in the parent window (as described with reference step 604 in FIG. 6 ), initiates changes within the child browser window to advance the slide in the preview section 415 and update the speaker notes section 430 to correspond to the new slide (step 704 ).
- the child window may also update its other components to conform to the new slide and any passage of time.
- FIG. 8 depicts the various steps that the system performs when the user desires to control the parent browser window from the child browser window.
- An example of such situation is when a user is reviewing speaker notes while presenting the slide deck.
- the speaker may be standing at a podium delivering a presentation to an audience.
- the audience may be able to view the slide deck (parent browser window 450 ) on a large projection screen while the user is viewing the speaker notes (child browser window) on a laptop at the podium.
- the slides are typically running from the same laptop and the user may be controlling the advancement of the slides.
- the user may desire to view the speaker notes and select the child window, thereby automatically deselecting the parent browser window (step 801 ).
- the user may select an event target in the child window (step 802 ). For example, the user may select button 424 in child window 452 to move from slide 2 to slide 3 .
- the child browser causes an action to be initiated which the controller 318 is subscribed to listen for (step 803 ). Consequently, the controller 318 updates runs one or more Javascript functions and updates the parent browser window to advance the slides (step 804 ).
- the child window also updates its components to advance the slide in the preview section 415 and update the speaker notes section 430 to correspond to the new slide (step 805 ).
- the child browser window does not need to include Javascript for controlling slides. Instead slide progression and control is handled by the controller 318 which is subscribed to listen to child window event targets such as keyboard shortcuts and mouse clicks.
- logic may include hardware, such as an application specific integrated circuit or a field programmable gate array, software, or a combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Computational Linguistics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
In many aspects, the systems and methods described herein include software and hardware for controlling, from one browser window, the display of information in an online document processing application on another browser window. For example, the systems and methods described herein provide a user with the ability to view a presentation slide deck on a first browser window while simultaneously viewing speaker notes for each slide of the slide deck in a second browser window. The systems and methods not only provide the user with the ability to view speaker notes, but also control the slideshow from the second browser window.
Description
- Electronic document processing applications are in widespread use in various industries including finance, business, law and academia. One type of electronic document processing application is a slideware application or presentation application. A presentation application is typically used to produce a presentation that is often a collection of slides or documents having media including text, pictures, embedded audio and video, and other rich media and interactive content.
- Existing presentation applications tend to be software programs that execute locally on a computer system of a single user. The presentation slides produced by such a system can be difficult to distribute and difficult to modify or collaborate on when working in a group environment.
- Recently, online presentation applications have been developed which have the ability for a number of users, potentially at physically remote locations relative to one another, to easily collaborate and modify presentation slides. Additionally, the online presentation application may allow users to present their slides at any remote location having online access.
- However, presentation produced by online presentation applications lack some of the functionality of offline software-based presentation applications.
- A feature missing from current online document processing applications, especially online presentation applications, is the ability to control, from one browser window, the presentation of an online document running in another browser window. Such a feature is especially useful in the context of using presentation applications to present a slide deck. When presenting, users want to be able to do two things: control the progression of slides in the presentation and review any notes (or speaker notes) that they may have prepared to assist them with their presentation. It is also desirable that the speaker notes not appear on the same window as the slides. Current-day online presentation applications allow users to view their presentation slides in one browser window and their speaker notes in another separate browser window. Thus, the users can view their speaker notes, while their audience views, separately, the presentation. However, these online presentation applications do not allow the users to control the progression of slides from the speaker notes window. Therefore, users would have to jump back and forth between the two windows to progress the slides and review their speaker notes. The present disclosure describes systems and methods that provide this missing feature.
- Generally, the systems and methods described herein are directed to computerized methods for controlling from one browser window, an online application being displayed on another browser window. More particularly, in one aspect, the systems and methods described herein are directed to computerized methods for rendering and controlling a presentation document in an online presentation application. The methods may include displaying, on a first browser window at a client computing device, a first portion of a presentation document. The methods may further include receiving, in a second browser window at the client computing device, a request for displaying a second portion of the presentation document on the first browser. The methods may then include replacing, in the first browser window of the client computing device, the displayed first portion of the presentation document with the second portion of the presentation document based on the request received at the second browser window. In certain embodiments, the first portion and second portion of the presentation document includes one or more presentation slides.
- The methods may include opening the second browser window in response to a request received at the first browser window. The methods may further include displaying, on the second browser window at the client computing device, one or more user input components for allowing users to submit a request. The one or more user input components may include at least one of an image, button, text box, radio-button, and check-box. The methods described herein may further include displaying, on the second browser window at the client computing device, a third portion of the presentation document, which may include one or more pages of notes. The first browser window may receive a request for displaying the third portion of the presentation document in this second browser window.
- In certain embodiments, the first portion of the presentation document is replaced with the second portion of the presentation document in the first browser window based on the request received at the first browser window. The first browser window may be configured to display speaker notes and the computerized methods may further include displaying, on the first browser window, a third portion of the presentation document including one or more pages of notes.
- In another aspect, the systems and methods described herein include computerized methods for rendering and controlling Hypertext Markup Language (HTML) data and Cascading Style Sheets (CSS) data in a browser. The methods may include receiving, in a first browser window at a client computing device, a first set of data including HTML, CSS and Javascript data, and receiving, in the second browser window at the client computing device, a request for replacing the first set of data with a second set of data including HTML, CSS and Javascript data. The methods may further include replacing, in the first browser window of the client computing device, the first set of data with the second set of data based on the request received in the second browser window. The first browser window may be configured to listen for requests received in the second browser window. The methods may further include displaying, on the second browser window at the client computing device, one or more user input components for allowing users to submit a request. The second browser window may also be configured to receive a third set of data including HTML and CSS data.
- In certain embodiments, the first browser window receives the second set of data from a server and creates the second browser window. The first browser window may also receive requests submitted by users. The first set of data may be replaced with the second set of data based on such a request in the first browser window.
- In another aspect, the systems and methods described herein include systems for rendering and controlling a presentation document in an online presentation application. The systems may include a first browser window and a second browser window. The first browser window may include a client engine for running the online presentation application, and a user interface for displaying a portion of the presentation document to a user and receiving requests from the user. The second browser window may include a user interface for controlling the presentation document displayed on the first browser window. The second browser may also include a user interface for receiving a portion of the presentation document from the user. In certain embodiments, the client engine may include a controller for generating the second browser window, listening to requests received at the second browser window, and replacing the displayed portion of the presentation document in the first browser with another portion of the presentation document based on the received requests.
- According to the system, the client engine may be configured to provide HTML, CSS and Javascript data to the user interface in the first browser. The client engine may be configured to receive Javascript calls from the user interface in the first browser. In certain embodiments, the client engine is configured to receive data corresponding to the presentation document and online presentation application data from a server. The user interface in at least one of the first browser and the second browser may include components receptive to inputs received from at least one of a mouse, keyboard, HTML frame/object, and HTML form. The components may be receptive to at least one of mouse double-clicks, mouse down, mouse up, mouse over, mouse move, mouse out, key down, key press, and key up.
- The above and other advantages of the disclosure will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
-
FIG. 1 is a block diagram depicting an online multi-browser system, according to an illustrative embodiment of the invention; -
FIG. 2 is a block diagram depicting an exemplary computing device illustrated inFIG. 1 ; -
FIG. 3 is a block diagram depicting an implementation of the system ofFIG. 1 , according to an illustrative embodiment of the invention; -
FIG. 4 is a block diagram depicting an exemplary presentation application interface that may be presented across multiple browsers to a user; -
FIG. 5 is a flow chart depicting the overall operation of the various components of the system ofFIG. 1 implemented as an online presentation application; -
FIG. 6 is a flow chart depicting the operation of the various components of the system ofFIG. 1 when displaying speaker notes in a presentation application; -
FIG. 7 is a flow chart depicting the operation of the various components of the system ofFIG. 1 when the user navigates presentation slides using the parent browser window; and -
FIG. 8 is a flow chart depicting the operation of the various components of the system ofFIG. 1 when the user navigates presentation slides using the child browser window. - To provide an overall understanding of the invention, certain illustrative embodiments will now be described, including systems and methods for displaying a document on a plurality of client computing devices by a server. However, it will be understood by one of ordinary skill in the art that the systems and methods described herein may be adapted and modified as is appropriate for the application being addressed and that the systems and methods described herein may be employed in other suitable applications, and that such other additions and modifications will not depart from the scope thereof.
- Generally, the systems and methods described herein include software and hardware for controlling, from one browser window, the display of information in an online document processing application on another browser window. For example, the systems and methods described herein provide a user with the ability to view a presentation slide deck on a first browser window while simultaneously viewing speaker notes for each slide of the slide deck in a second browser window. The systems and methods not only provide the user with the ability to view speaker notes, but also control the slideshow from the second browser window.
FIGS. 1 and 2 provide an overview of an exemplary system, computing devices, and methods used to provide such an online document processing application.FIGS. 3 and 4 describe in more detail one exemplary system having two browsers—a parent browser and a child browser—running an online presentation application.FIGS. 5-8 provide exemplary methods, according to the present disclosure, for controlling an online presentation application running in a parent browser window from either the parent browser window itself or from a child browser window. -
FIG. 1 is a block diagram depicting anonline multi-browser system 100, according to an illustrative embodiment of the invention.System 100 includesmultiple clients 110 that can connect to servers, such asserver 120, via anetwork 140.Network 140 may include a local area network (LAN), a wide area network (WAN), a telephone network, such as the Public Switched Telephone Network (PSTN), an intranet, the Internet, or a combination of networks. Threeclients 110 and oneserver 120 are illustrated as connected to network 140 for simplicity. Twoclients 110 are shown as being associated with asingle user 111. In practice, there may be more clients, users and/or servers. Also, in some instances, a client may perform one or more functions of a server and a server may perform one or more functions of a client. - A
client 110 may include a device, such as a personal computer, a laptop computer, a wireless telephone, a personal digital assistant (PDA), mobile devices, smart phones, touch-responsive tablet devices, or another type of computation or communication device. In certain embodiments, aclient 110 may include display devices including a projection screen or television display. Users ofclients 110 may access or receive information fromserver 120. - In the implementation shown,
clients 110 may generally interact withserver 120 such thatclients 110, in conjunction withserver 120, execute an online document application, such as an online presentation application.Server 120 may include software, labeled asdocument server component 125, to assist implementing the online presentation application. Online presentation applications created by users ofclients 110 may be stored byserver 120 in, for example, a database onstorage media 130. Although illustrated as a single device inFIG. 1 ,server 120 may be implemented as, for example, a single computing device or as multiple distributed computing devices. One of ordinary skill in the art will appreciate that whether a device is functioning as a server or a client often depends on the specific application being implemented. That is, whether a computing device is operating as a client or a server may depend on the context of the role of the computing device within the application. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. - The interaction of
clients 110 withserver 120 may be throughbrowser programs 115 atclients 110. For example, the online presentation application may be a web application that runs withinbrowsers 115. In this manner,clients 110 may not be required to install any presentation specific software to use the online presentation application atclient 110. When browsers or browser programs are discussed herein, these terms are intended to refer to any program that allows a user to browse markup documents (e.g., web documents), regardless of whether the browser program is a stand alone program or an embedded program, such as a browser program included as part of an operating system. -
FIG. 2 is an exemplary diagram ofcomputing device 200, such as one ofclients 110 orserver 120.Computing device 200 may include abus 210, aprocessor 220, amain memory 230, a read only memory (ROM) 240, astorage device 250, aninput device 260, anoutput device 270, and acommunication interface 280.Bus 210 may include a path that permits communication among the components ofcomputing device 200. -
Processor 220 may include any type of processor, microprocessor, or processing logic that interprets and executes instructions.Main memory 230 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution byprocessor 220.ROM 240 may include a ROM device or another type of static storage device that may store static information and instructions for use byprocessor 220.Storage device 250 may include a magnetic and/or optical recording medium and its corresponding drive. -
Input device 260 may include a mechanism that permits a user to input information tocomputing device 200, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc.Output device 270 may include a conventional mechanism that outputs information to the user, including a display, a printer, a speaker, etc.Communication interface 280 may include any transceiver-like mechanism that enablescomputing device 200 to communicate with other devices and/or systems. For example,communication interface 280 may include mechanisms for communicating with another device or system via a network, such asnetwork 140. -
Document server component 125 may be implemented in software and stored in a computer-readable medium, such asmemory 230. A computer-readable medium may be defined as one or more physical or logical memory devices and/or carrier waves. - The software instructions defining
document server component 125 may be read intomemory 230 from another computer-readable medium, such asdata storage device 250, or from another device viacommunication interface 280. The software instructions contained inmemory 230cause processor 220 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the present disclosure. Thus, implementations consistent with the principles of the systems and methods described are not limited to any specific combination of hardware circuitry and software. - An online presentation application, as described herein, may be implemented as a distributed web application in which portions of the application execute at one or more of
clients 110 and atserver 120. More specifically,clients 110 that wish to use the online presentation application may request the presentation application fromserver 120. In response,server 120 may transmit portions of the presentation application for local execution atclients 110. The online presentation application may thus execute as a distributed application acrossserver 120 and one or more ofclients 110. -
FIG. 3 is a block diagram depicting an implementation of the system 300 (orsystem 100 ofFIG. 1 ), according to an illustrative embodiment of the invention.FIG. 3 depicts aclient 110 having two browsers—aparent browser 350 and achild browser 352. In one example, when presenting, users may display the parent browser, having a slideshow, on a projector screen, while viewing a child browser from their laptop computer on a podium. As was described with reference toFIG. 1 ,system 300 may also include two or more clients, one running a parent browser and the others running child browsers. Theparent browser 350 includes aclient engine 316 and auser interface 317. Theclient engine 316 further includes acontroller 318. Thechild browser 352 includes auser interface 319. Theclient 110 is connected via anetwork 140 to adocument server component 125.Document server component 125 includes a front-end component 326 and a back-end component 327. Front-end component 326 may include a web and/or XML server that interfaces withclients 110. For example, front-end component 326 may receive HTTP requests fromclients 110 and transmit XML data toclients 110. Back-end component 327 may perform the more substantive processing related to the presentation application, such as the calculation of functions required to update a set of slides. - In certain embodiments, portions of the online presentation application executes within
clients 110.Client engine 316, withinparent browser 350, may be implemented using, for example, Javascript that is downloaded fromserver 120 when needed byclient 110.User interface 317 may provide the final user interface that is displayed inbrowsers client engine 316. -
User interface 317 andclient engine 316, together, act to reduce the start-stop start-stop nature of traditional browser-based web applications, asclient engine 316 adds a client-side layer that can handle many of the user interactions withuser interface 317. Instead of loading a web page at the start of a user session,browser 350 may loadclient engine 316 from server 120 (or, alternatively, from a local cache).Client engine 316 may be responsible for both rendering the interface the user sees and communicating withserver 120 on the user's behalf.Client engine 316 allows the user's interaction with the online presentation application to happen asynchronously, i.e., independent of communication withserver 120. - The
client engine 316 further includes acontroller 318, which is configured with code to create thechild browser 352 and exchange data, including but not limited to HTML, CSS, Javascript, with theuser interface 319 ofchild browser 352. In certain embodiments, thecontroller 318 may receive HTML and CSS data to be displayed in thechild browser 352 from the server 120 (or, alternatively, from a local cache). - During operation, the
client engine 316 initiates a user session of the presentation application within theparent browser 350. Upon a request from a user, viauser interface 317, thecontroller 318, may open achild browser 352 for displaying speaker notes and other information to the user viauser interface 319. In certain implementations, thecontroller 318 may communicate directly or indirectly (via network 140) to thechild browser 352. The user may, viauser interface 319 inchild browser 352, choose to control the progression of slides displayed in the parent browser. Thecontroller 318 is programmed to subscribe to events such as button clicks or keyboard presses while the user is on thechild browser 352. Upon detection of such an event, the controller updates the slides in theparent browser 350, and thechild browser 352 updates the speaker notes. - In one implementation, the client-side operation of the online presentation application may be implemented using the known Asynchronous JavaScript And XML (AJAX) web development techniques, although one of ordinary skill in the art will recognize that other technologies could be used.
- Although, the
parent browser 350 andchild browser 352 are shown, inFIG. 3 , as being within asingle client device 110, in certain implementations, theparent browser 350 and thechild browser 352 may be on different clients. In such implementations, referring tosystem 100 shown inFIG. 1 ,parent browser 350 may includebrowser 115 inclient 110 andchild browser 352 may includebrowser 115 located inclient 110 operated byuser 111. In such implementations, the parent and child browsers are in separate client devices. In one example, a user may use their mobile device, smart phone, tablet or any suitable device for controlling a presentation being displayed on a different computing device. The different computing device may include another computer or laptop or any suitable computing device that may or may not be connected to a projection screen for displaying the presentation. In certain implementations, the different computing device is embedded within a projection screen. The different computing device may also include another mobile device, smart phone, tablet or any other suitable device so that while one device is viewing the presentation, another device is controlling the progression of the presentation slides. - In certain implementations, during operation of a system having parent and child browsers on different devices, the
client engine 316, instead of communicating directly with thechild browser 352, communicates via thenetwork 140 andserver 120. Theclient engine 316 may initiate a user session of the presentation application within theparent browser 350. Upon a request from a user in local or remote client device, viauser interfaces server 120, may open achild browser 352 for displaying speaker notes and other information to the user viauser interface 319. The user may, viauser interface 319 inchild browser 352 on a different client device, choose to control the progression of slides displayed in theparent browser 350. - The
parent browser 350 may, itself, be initiated by theserver 120. In such implementations, upon receiving a request from one or more client devices, theserver 120 initiates aparent browser 350 on a client device to run the presentation application. Upon receiving a request from an authorized user, theserver 120 may initiate achild browser 352 on the same client device or a different client device. Theserver 120 may request additional authorization to allow a user to operate thechild browser 352 and thereby control the presentation being displayed on theparent browser 350. - The authorized user may include at least one of a user operating a client device having the
parent browser 350, a user operating a client device intended to have thechild browser 352, a user operating a client device having thechild browser 352, and a user authorized by a user of the client device having theparent browser 350. The authorized user may generally include any user possessing suitable credentials to view or run the presentation. - In certain implementations, a user may initiate the
child browser 352 from a location remote to the location of theparent browser 350. For example, a first user may be viewing a presentation remotely via videoconference. The presentation may be running on a different computing device operated by a second user. In such an example, the second user may send a link to the first user to allow the first user to access and open achild browser 352 in the first user's remote location. The first user may then, via thechild browser 352 control the slides in the presentation. - Additionally and optionally, the systems and methods described herein may be adapted to allow for a plurality of
parent browsers 350 and a plurality ofchild browsers 352. In such arrangements, onechild browser 352 may be configured to operate presentations running on a plurality ofparent browsers 350. Thechild browser 352 may control the operation of the same or different presentations running on the plurality ofparent browsers 350. For example, thechild browser 350 may function as a dashboard having user interface elements for simultaneously control a plurality of different presentation slide decks. In another arrangement, a plurality ofchild browsers 352 may be configured to control asingle parent browser 350. In such an arrangement, a plurality of users collaborating on a presentation slide deck may havechild browsers 352 capable of controlling the presentation running on asingle browser 350. Generally, one ormore child browsers 352 in one or more client devices may be configured to control one ormore parent browsers 350 in one or more of the same or different client devices. -
FIG. 4 is a block diagram depicting an exemplarypresentation application interface 400 that may be presented across multiple browsers to a user.Interface 400 depicts the interface displayed to the user when presenting a slide show. In particular,interface 400 includes aparent browser window 450 and achild browser window 452. Theparent browser 450 includesslides 402, aprogress button 404,slide selector menu 406 and anaction menu 408. Theaction menu 408 includes a list of user-selectable items including “Show speaker notes”item 412. Theparent browser 450 may include any number of text boxes, media placeholders, forms, buttons, drop-down menus, radio buttons, check-boxes as desirable without departing from the scope of the invention. When displayed, users may view and modify one or more slides in their presentation. - The
child browser window 452 depicts speaker notes 430 along with other useful information for the user. In particular, thechild browser window 452 includesslide preview section 415 having aslide preview 420, a previous slide preview/selector 422, a next slide preview/selector 424 and aslide selector menu 426. Thechild browser window 452 further includes atiming section 428 having a time indicator, a pause button and a reset button. The user interface may include any number of browsers configured to control each other. The user interface may also include any number of input components (e.g., buttons) and output components (e.g., slides) without departing from the scope of the invention. - Turning to
FIGS. 5-8 , the methods of operation ofsystem 100 ofFIG. 1 (andsystem 300 ofFIG. 3 ) will be described in more detail.FIG. 5 is a flow chart depicting the overall operation of the various components of the system ofFIGS. 1 and 3 implemented as an online presentation application. A user at one ofclients 110 may initiate a presentation application session (step 501). For instance, the user of aclient 110 may contact front-end component 326 usingparent browser 352. In some implementations, the user may be required to have previously registered or created an account with and be logged intodocument server component 125. - In response to the user initiating a presentation session, the
document server component 125 may transmitclient engine 316 to the client 110 (step 502). Some portions ofclient engine 316 may be cached atclient 110 from a previous session, in which case these portions do not need to be re-downloaded fromserver 120. In some implementations, the programming code that comprisesclient engine 316 may be implemented in a modular manner. In this situation, portions ofclient engine 316 may be transmitted toclient 110 on an as-demand basis as the functionality of those portions ofclient engine 316 are needed byclient 110. For example,client engine 316 may implement a number of “core” functions, such as basic user interaction and display functions, that are always transmitted toclient 110, while other functions, such as more specialized presentation functions, may be transmitted toclient 110 on an as-need basis. Additionally, some functions of online presentation application may always be executed by back-end component 327 and may therefore never be transmitted toclient engine 316. - Because
client engine 316 can be transmitted toclient 110 as needed byclient 110, the online presentation application may be an entirely web-based application in which the client does not need to pre-install any portion ofclient engine 316. Advantageously, a user will typically be able to use the online presentation application from any computing device that includes acompatible browser 115 and that is connected to network 140. -
Client engine 316, once loaded atclient 110, may present, viauser interface 317, the graphical user interface (interface 400 ofFIG. 4 ) of a slide deck to the user (step 503). Theslides 450 are the data object that the presentation application presents to the user. The slide deck presented to a user may be a “blank” slide deck from which the user may begin a new presentation document, a presentation document retrieved from a previous session of the online presentation application, or a version of the presentation document imported from a conventional presentation document (e.g., an “.pptx” document, a “.key” document, or other types of known presentation document formats). - Through
interface 400 ofFIG. 4 , a user can, for example, enter text and media into the presentation slides and perform formatting operations relating to the slide deck. In response,client engine 316 interacts with and makes requests ofdocument server component 120 as necessary (step 504). The above-described functions and operations that are allowable by the online presentation application are exemplary. Through theinterface 400, the online presentation application may permit a user to perform numerous operations that are generally recognized as being consistent with a presentation application. - In one implementation,
client engine 316 may handle most or all of the functionality associated with responding to user actions relating to navigating and/or formatting the interface without needing to contactdocument server component 125. Other functions of the presentation application may be handled by logic in back-end component 327. By handling formatting and data entry feedback locally atclient 110, the online presentation application can provide a high level of responsiveness to user actions that tend to occur frequently and for which users expect immediate feedback. - One of ordinary skill in the art will recognize that in alternate implementations, the division of functions executed at
client engine 316 and back-end component 327 may be modified such thatclient engine 316 handles more or fewer functions and similarly, back-end component 327 may also handle more or fewer functions. - Periodically, or at the explicit direction of the user via
interface 400, the data that comprises the presentation document may be saved (step 505). In one possible implementation, the presentation document may be saved bydocument server component 125 todatabase 130. In this manner, the presentation document may be accessible by the user (or by other users) from any computing device connected tonetwork 140. - As described above, the user may interact and select from several options in
interface 400 inFIG. 4 . For example, at the start of a presentation, the user may choose to view speaker notes in a separate browser window. Accordingly, the user may select the “Show speaker notes”button 412 in theaction menu 408 in theparent browser window 450. -
FIG. 6 shows the various steps that the system performs when a user selects the show speaker notes option (step 601). In particular,FIG. 6 is a flow chart depicting the operation of the various components of the system ofFIG. 1 when displaying speaker notes in a presentation application. Thecontroller 318 in theclient engine 316 runs code to open a “blank” new child browser window 452 (step 602). If a window was already opened, thecontroller 318 may close the open window and then open a new child window. In certain embodiments, thecontroller 318 may select a unique name when opening a new child window. - Once the new child window is opened, the
controller 318 populates the new child window with HTML and CSS from the server (step 603) or a local cache. In particular, the HTML and CSS data includes, among other things, the contents of the speaker notes to be displayed insection 430, the contents of the slides to be displayed insection 415 and other information related to the arrangement and appearance of thechild window 452. - Additionally, the
controller 318 provides thechild browser window 352 information about event targets (step 603). Events may include operations involving user interactions with the user interface in the parent browser or child browser. Typical events may include inputs from a mouse or pointing device, keyboard or typing device, HTML frame/object, HTML form, and other user interfaces. Some examples of inputs from a mouse include double-clicks, mouse down, mouse up, mouse over, mouse move and mouse out. Some example of inputs from a keyboard include key down, key press, key up. - In certain embodiments, an event target may relate to an event such as selecting with a mouse, clicking-on a button, or using a keyboard shortcut in the
parent browser window 450 orchild browser window 452. Event targets in theparent browser window 450 may includeslide progress button 404, or an item from theslide selector menu 406. In certain embodiments, mouse clicks anywhere on theslide 402 may be an event target to indicate slide advancement. Similarly, event targets in thechild browser window 452 may includebuttons slide selector 426, or any other portion of thechild window 452. Generally, event targets may be assigned to any portion of the parent and child browser windows. - Returning to
FIG. 6 , thechild window 352 may include code for listening toparent window 350 event targets and child window event targets. Thechild window 352 may begin listening for parent window event targets (step 604) using an event handler script. The parent browser, particularly thecontroller 318, also subscribes to child window event targets (step 605). - During use of the online presentation application, a user may select the parent browser window or the child browser as being active.
FIG. 7 depicts the various steps that the system performs when the user selects the parent browser window as being active (step 701). In particular, the user may click on an event target. For example, the user may desire to advance the slide and click on the slide progress button 404 (step 702). Thecontroller 318, listening for such an event, may read this button click as an event and run the corresponding Javascript to advance the slides in the parent browser window 450 (step 703). The child browser, also listening for such an event in the parent window (as described withreference step 604 inFIG. 6 ), initiates changes within the child browser window to advance the slide in thepreview section 415 and update the speaker notessection 430 to correspond to the new slide (step 704). The child window may also update its other components to conform to the new slide and any passage of time. - In certain embodiments, during use of the online presentation application, a user may select the child browser window as being active.
FIG. 8 depicts the various steps that the system performs when the user desires to control the parent browser window from the child browser window. An example of such situation is when a user is reviewing speaker notes while presenting the slide deck. The speaker may be standing at a podium delivering a presentation to an audience. The audience may be able to view the slide deck (parent browser window 450) on a large projection screen while the user is viewing the speaker notes (child browser window) on a laptop at the podium. In such an example, the slides are typically running from the same laptop and the user may be controlling the advancement of the slides. During the presentation, the user may desire to view the speaker notes and select the child window, thereby automatically deselecting the parent browser window (step 801). - In certain embodiments, when the user is ready to advance a slide, the user may select an event target in the child window (step 802). For example, the user may select
button 424 inchild window 452 to move fromslide 2 to slide 3. When the user selects such an event target, the child browser causes an action to be initiated which thecontroller 318 is subscribed to listen for (step 803). Consequently, thecontroller 318 updates runs one or more Javascript functions and updates the parent browser window to advance the slides (step 804). The child window also updates its components to advance the slide in thepreview section 415 and update the speaker notessection 430 to correspond to the new slide (step 805). Advantageously, according to systems and methods described herein, the child browser window does not need to include Javascript for controlling slides. Instead slide progression and control is handled by thecontroller 318 which is subscribed to listen to child window event targets such as keyboard shortcuts and mouse clicks. - It will be apparent to one of ordinary skill in the art that aspects of the present disclosure, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects consistent with the principles of the disclosure is not limiting of the invention. Thus, the operation and behavior of the aspects of the disclosure were described without reference to the specific software code—it being understood that one of ordinary skill in the art would be able to design software and control hardware to implement the aspects based on the description herein.
- Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous.
- Further, certain portions of the disclosure may be implemented as “logic” or a “component” that performs one or more functions. This logic may include hardware, such as an application specific integrated circuit or a field programmable gate array, software, or a combination of hardware and software.
Claims (21)
1. A computerized method for rendering and controlling a presentation document in an online presentation application, comprising:
transmitting, from a client computing device to a server, a request to initiate a presentation application session;
in response to the request, receiving a client engine from the server;
displaying in the session, using the client engine and on a first web browser window at the client computing device, a first portion of an online collaboratively editable presentation document;
receiving, at the client engine and via a second web browser window at the client computing device, a request for displaying a second portion of the online collaboratively editable presentation document on the first browser; and
replacing, using the client engine and in the first web browser window of the client computing device, the displayed first portion of the presentation document with the second portion of the presentation document based on the request received at the second browser window;
wherein the client engine is configured to listen for requests received in the second web browser window.
2. The computerized method of claim 1 , wherein each of the first portion and second portion of the presentation document includes one or more presentation slides.
3. The computerized method of claim 1 , further comprising displaying, using the client engine and on the second browser window at the client computing device, one or more user input components for allowing users to submit a request.
4. The computerized method of claim 3 , wherein the one or more user input components include at least one of an image, button, text box, radio-button, and check-box.
5. The computerized method of claim 1 , further comprising displaying, using the client engine and on the second browser window at the client computing device, a third portion of the presentation document.
6. The computerized method of claim 5 , wherein the third portion of the presentation document includes one or more pages of notes.
7. The computerized method of claim 5 , further comprising receiving, at the client engine and via the first browser window at the client computing device, a request for displaying the third portion of the presentation document in the second browser window.
8. The computerized method of claim 1 , wherein the first portion of the presentation document is replaced with the second portion of the presentation document in the first browser window based on the request received at the client engine.
9. The computerized method of claim 1 , further comprising opening, by the client engine, the second browser window in response to a request received at the first browser window.
10. The computerized method of claim 1 , further comprising displaying, using the client engine and via the first browser window, a third portion of the presentation document including one or more pages of notes.
11. A computerized method for rendering and controlling Hypertext Markup Language (HTML) data and Cascading Style Sheets (CSS) data in a browser, comprising:
transmitting, from a client computing device to a server, a request to initiate a session;
in response to the request, receiving a client engine from the server;
receiving, at the client engine and via a first browser window at the client computing device, a first set of data including HTML, CSS and Javascript data;
receiving, at the client engine and via the second browser window at the client computing device, a request for replacing the first set of data with a second set of data including HTML, CSS and Javascript data; and
replacing, by the client engine in the first browser window of the client computing device, the first set of data with the second set of data based on the request received in the second browser window;
wherein the client engine is configured to listen for requests received in the second browser window.
12. The computerized method of claim 11 , wherein the client engine receives the second set of data from a server and creates the second browser window.
13. The computerized method of claim 11 , wherein the first set of data is replaced with the second set of data based on a request in the first browser window.
14. The computerized method of claim 11 , further comprising displaying, using a client engine and on the second browser window at the client computing device, one or more user input components for allowing users to submit a request.
15. The computerized method of claim 11 , further comprising receiving, at the client engine and via the second browser window at the client computing device, a third set of data including HTML and CSS data.
16. A system having circuitry for rendering and controlling a presentation document in an online presentation application at a client computing device, comprising:
a client computing device including a first browser window having a client engine for running the online presentation application, and a user interface for displaying a portion of the presentation document to a user and receiving requests from the user, wherein the client engine is received from a server in response to a request to initiate a presentation application session; and
a client computing device including a second browser window having a user interface for receiving requests from a user for controlling the presentation document displayed in the first browser window;
wherein the client engine includes a controller circuit for generating the second browser window, listening to requests received at the second browser window, and replacing the displayed portion of the presentation document in the first browser with another portion of the presentation document based on the received requests.
17. The system of claim 16 , wherein the client engine is configured to provide HTML, CSS and Javascript data to the user interface in the first browser.
18. The system of claim 16 , wherein the client engine is configured to receive Javascript calls from the user interface in the first browser.
19. The system of claim 16 , wherein the client engine is configured to receive data corresponding to the presentation document and online presentation application data from a server.
20. The system of claim 16 , wherein the user interface in at least one of the first browser and the second browser includes components receptive to inputs received from at least one of a mouse, keyboard, HTML frame/object, and HTML form.
21. The system of claim 20 , wherein the components are receptive to at least one of mouse double-clicks, mouse down, mouse up, mouse over, mouse move, mouse out, key down, key press, and key up.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/275,123 US20150199308A1 (en) | 2011-10-17 | 2011-10-17 | Systems and methods for controlling the display of online documents |
US15/248,848 US10481771B1 (en) | 2011-10-17 | 2016-08-26 | Systems and methods for controlling the display of online documents |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/275,123 US20150199308A1 (en) | 2011-10-17 | 2011-10-17 | Systems and methods for controlling the display of online documents |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/248,848 Continuation US10481771B1 (en) | 2011-10-17 | 2016-08-26 | Systems and methods for controlling the display of online documents |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150199308A1 true US20150199308A1 (en) | 2015-07-16 |
Family
ID=53521514
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/275,123 Abandoned US20150199308A1 (en) | 2011-10-17 | 2011-10-17 | Systems and methods for controlling the display of online documents |
US15/248,848 Active 2032-01-14 US10481771B1 (en) | 2011-10-17 | 2016-08-26 | Systems and methods for controlling the display of online documents |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/248,848 Active 2032-01-14 US10481771B1 (en) | 2011-10-17 | 2016-08-26 | Systems and methods for controlling the display of online documents |
Country Status (1)
Country | Link |
---|---|
US (2) | US20150199308A1 (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160014209A1 (en) * | 2014-05-23 | 2016-01-14 | Osix Corporation | Computer-Implemented Methods, Computer Readable Media, And Systems For Initiating Co-Use Of Applications |
US20160191604A1 (en) * | 2014-12-24 | 2016-06-30 | Vmware, Inc. | Remoting Application User Interfaces |
US20180011829A1 (en) * | 2016-07-06 | 2018-01-11 | Fuji Xerox Co., Ltd. | Data processing apparatus, system, data processing method, and non-transitory computer readable medium |
US20180307379A1 (en) * | 2017-04-24 | 2018-10-25 | Naver Corporation | Method and apparatus for providing web browsing interface |
WO2018201039A1 (en) * | 2017-04-28 | 2018-11-01 | Reina Christine | Epaper display printer |
US20180365198A1 (en) * | 2017-06-20 | 2018-12-20 | Naver Corporation | Method and apparatus for providing web browsing interface |
CN110008444A (en) * | 2018-01-05 | 2019-07-12 | 天津数观科技有限公司 | System and method for playing instrument panel by slide |
US10423713B1 (en) * | 2013-10-15 | 2019-09-24 | Google Llc | System and method for updating a master slide of a presentation |
US10469562B2 (en) | 2016-06-24 | 2019-11-05 | Vmware, Inc. | Virtual machine pixel remoting |
US10547711B2 (en) | 2015-03-25 | 2020-01-28 | Vmware, Inc. | Using off-screen user interface data during remote sessions |
CN110765284A (en) * | 2019-10-25 | 2020-02-07 | 天津车之家数据信息技术有限公司 | Method, system, computing device and storage medium for generating presentation |
US10693923B2 (en) | 2015-01-28 | 2020-06-23 | Vmware, Inc. | Establishing streaming sessions during remote sessions |
US10970101B2 (en) | 2016-06-03 | 2021-04-06 | Vmware, Inc. | System and method for dynamically configuring virtual displays and virtual inputs for different remote sessions that each present content for a virtual machine |
US11023652B2 (en) * | 2018-07-16 | 2021-06-01 | Smartsuite Tech Inc. | Presentation system and method |
CN114492334A (en) * | 2022-01-28 | 2022-05-13 | 北京索为系统技术股份有限公司 | On-line editing method and device for requirement items based on document editor |
CN116226418A (en) * | 2023-01-28 | 2023-06-06 | 创云融达信息技术(天津)股份有限公司 | Realization method of webpage version demonstration slide PPT |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030048291A1 (en) * | 2001-09-10 | 2003-03-13 | Andreas Dieberger | Navigation method for visual presentations |
US20030160813A1 (en) * | 2002-02-25 | 2003-08-28 | Raju Narayan D. | Method and apparatus for a dynamically-controlled remote presentation system |
US20070245248A1 (en) * | 2006-04-14 | 2007-10-18 | Bernd Christiansen | Systems and methods for displayng to a presenter visual feedback corresponding to visual changes received by viewers |
US20070294626A1 (en) * | 2006-06-15 | 2007-12-20 | Microsoft Corporation | Controlling application sharing |
US20080126943A1 (en) * | 1999-06-15 | 2008-05-29 | Microsoft Corporation | System and method for recording a presentation for on-demand viewing over a computer network |
US20080282167A1 (en) * | 2007-04-06 | 2008-11-13 | Darin Beamish | Private presenter notes |
US20100023869A1 (en) * | 2004-06-22 | 2010-01-28 | Ylian Saint-Hilaire | Remote audio |
US20100083096A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Visualizing Content Positioning within a Document Using Layers |
US20100169790A1 (en) * | 2008-12-29 | 2010-07-01 | Apple Inc. | Remote control of a presentation |
US20100169951A1 (en) * | 2008-12-29 | 2010-07-01 | Apple Inc. | Remote slide presentation |
US20100218099A1 (en) * | 2009-02-20 | 2010-08-26 | William Van Melle | Systems and Methods for Audience-Enabled Access to Presentation Content |
US20100251122A1 (en) * | 2009-03-31 | 2010-09-30 | Samsung Electronics Co., Ltd. | Method and apparatus for controlling presentation slides |
US20100269046A1 (en) * | 2009-04-15 | 2010-10-21 | Wyse Technology Inc. | Sever-side computing from a remote client device |
US20110066957A1 (en) * | 2009-09-17 | 2011-03-17 | Border Stylo, LLC | Systems and Methods for Anchoring Content Objects to Structured Documents |
US20110078560A1 (en) * | 2009-09-25 | 2011-03-31 | Christopher Douglas Weeldreyer | Device, Method, and Graphical User Interface for Displaying Emphasis Animations for an Electronic Document in a Presentation Mode |
US20110164043A1 (en) * | 2010-01-05 | 2011-07-07 | Research In Motion Limited | Method of remotely controlling a presentation to freeze an image using a portable electronic device |
US20110264705A1 (en) * | 2010-04-22 | 2011-10-27 | Brandon Diamond | Method and system for interactive generation of presentations |
US20120096087A1 (en) * | 2010-04-21 | 2012-04-19 | Felice Curcelli | System and method for generating publications via collaboration |
US8887052B1 (en) * | 2009-01-09 | 2014-11-11 | Google Inc. | Presentation remote control |
US20150199350A1 (en) * | 2008-05-23 | 2015-07-16 | Google Inc. | Method and system for providing linked video and slides from a presentation |
US20150350029A1 (en) * | 2014-05-30 | 2015-12-03 | Linkedin Corporation | Remote control and modification of live presentation |
Family Cites Families (164)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146552A (en) | 1990-02-28 | 1992-09-08 | International Business Machines Corporation | Method for associating annotation with electronically published material |
US5231577A (en) | 1990-04-06 | 1993-07-27 | Microsoft Corporation | Method and system for processing formatting information in a spreadsheet |
US5408470A (en) | 1993-10-14 | 1995-04-18 | Intel Corporation | Deferred synchronization of distributed objects |
US6877137B1 (en) | 1998-04-09 | 2005-04-05 | Rose Blush Software Llc | System, method and computer program product for mediating notes and note sub-notes linked or otherwise associated with stored or networked web pages |
US5799325A (en) | 1993-11-19 | 1998-08-25 | Smartpatents, Inc. | System, method, and computer program product for generating equivalent text files |
US5793966A (en) | 1995-12-01 | 1998-08-11 | Vermeer Technologies, Inc. | Computer system and computer-implemented process for creation and maintenance of online services |
JP3338585B2 (en) | 1995-05-16 | 2002-10-28 | 富士通株式会社 | Apparatus and method for converting presentation data |
US5761669A (en) | 1995-06-06 | 1998-06-02 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5819304A (en) | 1996-01-29 | 1998-10-06 | Iowa State University Research Foundation, Inc. | Random access memory assembly |
US5758358A (en) | 1996-01-29 | 1998-05-26 | Microsoft Corporation | Method and system for reconciling sections of documents |
US5758361A (en) | 1996-03-20 | 1998-05-26 | Sun Microsystems, Inc. | Document editor for linear and space efficient representation of hierarchical documents |
US7432938B1 (en) | 1996-08-19 | 2008-10-07 | Qwest Communications International, Inc. | System and method for annotating electronic documents |
US6061697A (en) | 1996-09-11 | 2000-05-09 | Fujitsu Limited | SGML type document managing apparatus and managing method |
US6006252A (en) | 1996-10-08 | 1999-12-21 | Wolfe; Mark A. | System and method for communicating information relating to a network resource |
US6662210B1 (en) | 1997-03-31 | 2003-12-09 | Ncr Corporation | Method of remote collaboration system |
US7031954B1 (en) | 1997-09-10 | 2006-04-18 | Google, Inc. | Document retrieval system with access control |
US6049664A (en) | 1997-11-25 | 2000-04-11 | Alphablox Corporation | Tier-neutral development mechanism for hypertext based applications |
US7263497B1 (en) | 1998-02-06 | 2007-08-28 | Microsoft Corporation | Secure online music distribution system |
KR100285265B1 (en) | 1998-02-25 | 2001-04-02 | 윤덕용 | Db management system and inverted index storage structure using sub-index and large-capacity object |
US6154738A (en) | 1998-03-27 | 2000-11-28 | Call; Charles Gainor | Methods and apparatus for disseminating product information via the internet using universal product codes |
US6438564B1 (en) | 1998-06-17 | 2002-08-20 | Microsoft Corporation | Method for associating a discussion with a document |
US6243706B1 (en) | 1998-07-24 | 2001-06-05 | Avid Technology, Inc. | System and method for managing the creation and production of computer generated works |
US6865713B1 (en) | 1998-08-07 | 2005-03-08 | International Business Machines Corporation | Apparatus, program product and method of annotating a hypertext document with comments |
US6449639B1 (en) | 1998-12-23 | 2002-09-10 | Doxio, Inc. | Method and system for client-less viewing of scalable documents displayed using internet imaging protocol commands |
US6377957B1 (en) | 1998-12-29 | 2002-04-23 | Sun Microsystems, Inc. | Propogating updates efficiently in hierarchically structured date |
US6708309B1 (en) | 1999-03-11 | 2004-03-16 | Roxio, Inc. | Method and system for viewing scalable documents |
US6501779B1 (en) | 1999-05-26 | 2002-12-31 | Nxi Communications, Inc. | Network communication system |
US6327584B1 (en) | 1999-07-30 | 2001-12-04 | Hewlett-Packard Company | Apparatus and method for using version control to dynamically update files while the files are available for access |
US6349314B1 (en) | 1999-09-29 | 2002-02-19 | Motorola, Inc. | Adaptive scheduler for mark and sweep garbage collection in interactive systems |
US6859909B1 (en) | 2000-03-07 | 2005-02-22 | Microsoft Corporation | System and method for annotating web-based documents |
US7007232B1 (en) | 2000-04-07 | 2006-02-28 | Neoplasia Press, Inc. | System and method for facilitating the pre-publication peer review process |
US6898761B2 (en) | 2000-05-01 | 2005-05-24 | Raytheon Company | Extensible markup language genetic algorithm |
JP2001352423A (en) | 2000-06-09 | 2001-12-21 | Kyocera Corp | Image data management system and method in network |
US7210099B2 (en) | 2000-06-12 | 2007-04-24 | Softview Llc | Resolution independent vector display of internet content |
US7035910B1 (en) | 2000-06-29 | 2006-04-25 | Microsoft Corporation | System and method for document isolation |
AU2001287421A1 (en) | 2000-08-21 | 2002-03-04 | Thoughtslinger Corporation | Simultaneous multi-user document editing system |
US7152203B2 (en) | 2000-09-11 | 2006-12-19 | Appeon Corporation | Independent update and assembly of web page elements |
US20020035580A1 (en) | 2000-09-21 | 2002-03-21 | Yoshinori Tanabe | Computer readable medium containing HTML document generation program |
JP2002108662A (en) | 2000-10-02 | 2002-04-12 | Fujitsu Ltd | Method for managing information |
US6766333B1 (en) | 2000-11-08 | 2004-07-20 | Citrix Systems, Inc. | Method and apparatus for synchronizing a user interface element displayed on a client and a software application component executing on a web server |
US20020133492A1 (en) | 2000-11-16 | 2002-09-19 | Samson Information Tech, L.L.C. | System and methods for web browser based document scanning, remote storage, and retrieval |
US6766334B1 (en) | 2000-11-21 | 2004-07-20 | Microsoft Corporation | Project-based configuration management method and apparatus |
US8255791B2 (en) | 2000-11-29 | 2012-08-28 | Dov Koren | Collaborative, flexible, interactive real-time displays |
US20020129096A1 (en) | 2001-02-14 | 2002-09-12 | Mansour Peter M. | Platform-independent distributed user interface client architecture |
GB2373085B (en) | 2001-03-08 | 2004-10-06 | Ibm | Method, computer program and system for style sheet generation |
US6725219B2 (en) | 2001-03-13 | 2004-04-20 | Seiko Epson Corporation | Internet presentation system |
JP3692054B2 (en) | 2001-05-21 | 2005-09-07 | 株式会社東芝 | Document structure conversion method, document structure conversion apparatus, and program |
EP1435046A2 (en) | 2001-08-03 | 2004-07-07 | Koninklijke Philips Electronics N.V. | Method of and system for updating a document |
JP4045399B2 (en) | 2001-08-24 | 2008-02-13 | 富士ゼロックス株式会社 | Structured document management apparatus and structured document management method |
GB0120712D0 (en) | 2001-08-24 | 2001-10-17 | Intuwave Ltd | Web server resident on a mobile computing device |
US7103848B2 (en) | 2001-09-13 | 2006-09-05 | International Business Machines Corporation | Handheld electronic book reader with annotation and usage tracking capabilities |
US7162451B2 (en) | 2001-11-30 | 2007-01-09 | International Business Machines Corporation | Information content distribution based on privacy and/or personal information |
US7529778B1 (en) | 2001-12-12 | 2009-05-05 | Microsoft Corporation | System and method for providing access to consistent point-in-time file versions |
US7017113B2 (en) | 2002-01-25 | 2006-03-21 | The United States Of America As Represented By The Secretary Of The Air Force | Method and apparatus for removing redundant information from digital documents |
JP3857663B2 (en) | 2002-04-30 | 2006-12-13 | 株式会社東芝 | Structured document editing apparatus, structured document editing method and program |
EP1367504B1 (en) | 2002-05-27 | 2008-04-16 | Sap Ag | Method and computer system for indexing structured documents |
US6928476B2 (en) | 2002-08-23 | 2005-08-09 | Mirra, Inc. | Peer to peer remote data storage and collaboration |
CA2421825C (en) | 2002-09-20 | 2012-07-10 | Mks Inc. | Version control system for software development |
US7818678B2 (en) | 2002-10-31 | 2010-10-19 | Litera Technology Llc | Collaborative document development and review system |
US7904807B2 (en) | 2002-11-05 | 2011-03-08 | Xerox Corporation | System and method for copying formatting information between Web pages |
US7634728B2 (en) | 2002-12-28 | 2009-12-15 | International Business Machines Corporation | System and method for providing a runtime environment for active web based document resources |
US7904823B2 (en) | 2003-03-17 | 2011-03-08 | Oracle International Corporation | Transparent windows methods and apparatus therefor |
EP1623302A4 (en) | 2003-03-18 | 2012-11-21 | Networks Dynamics Inc | Network operating system and method |
US7350142B2 (en) | 2003-03-27 | 2008-03-25 | Microsoft Corporation | Method and system for creating a table version of a document |
GB0307714D0 (en) | 2003-04-03 | 2003-05-07 | Ibm | System and method for information collation |
US7349929B2 (en) | 2003-04-25 | 2008-03-25 | Sap Ag | Accessing data based on user identity |
US7506069B2 (en) | 2003-04-25 | 2009-03-17 | Sap Ag | Accessing data in a computer network |
US7426543B2 (en) | 2003-04-25 | 2008-09-16 | Sap Ag | Accessing data stored in multiple locations |
US7437557B2 (en) | 2003-06-03 | 2008-10-14 | Lg Electronics Inc. | Garbage collection system and method for a mobile communication terminal |
US20040260594A1 (en) | 2003-06-18 | 2004-12-23 | Maddox Edward P. | Maintenance and inspection system and method |
US20040260714A1 (en) | 2003-06-20 | 2004-12-23 | Avijit Chatterjee | Universal annotation management system |
US7620648B2 (en) | 2003-06-20 | 2009-11-17 | International Business Machines Corporation | Universal annotation configuration and deployment |
US7890928B2 (en) | 2003-07-26 | 2011-02-15 | Pilla Gurumurty Patrudu | Mechanism and system for representing and processing rules |
US20050033811A1 (en) | 2003-08-07 | 2005-02-10 | International Business Machines Corporation | Collaborative email |
US7181445B2 (en) | 2003-09-05 | 2007-02-20 | Bellsouth Intellectual Property Corporation | Aggregating, retrieving, and providing access to document visuals |
US7418656B1 (en) | 2003-10-03 | 2008-08-26 | Adobe Systems Incorporated | Dynamic annotations for electronics documents |
JP2005131915A (en) | 2003-10-30 | 2005-05-26 | Seiko Epson Corp | Printing apparatus, printing method and program for printing apparatus |
US20050125461A1 (en) | 2003-12-08 | 2005-06-09 | International Business Machines Corporation | Version control of metadata |
US7380039B2 (en) | 2003-12-30 | 2008-05-27 | 3Tera, Inc. | Apparatus, method and system for aggregrating computing resources |
WO2005065066A2 (en) | 2004-01-08 | 2005-07-21 | Micronic Laser Systems Ab | Method and device for data integrity checking in a spatial light modulator |
US8201079B2 (en) | 2004-01-15 | 2012-06-12 | International Business Machines Corporation | Maintaining annotations for distributed and versioned files |
US7689578B2 (en) | 2004-01-15 | 2010-03-30 | International Business Machines Corporation | Dealing with annotation versioning through multiple versioning policies and management thereof |
GB2410814A (en) | 2004-02-05 | 2005-08-10 | Stephen John Doyle | Document conversion enabling browser content across different types of terminal devices |
US7812860B2 (en) | 2004-04-01 | 2010-10-12 | Exbiblio B.V. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
JP2005293239A (en) | 2004-03-31 | 2005-10-20 | Fujitsu Ltd | Information sharing device, and information sharing method |
JP4547990B2 (en) | 2004-05-25 | 2010-09-22 | 富士ゼロックス株式会社 | Information processing apparatus and information processing program |
US20060031751A1 (en) | 2004-05-26 | 2006-02-09 | Shai Ehud | Method for creating editable web sites with increased performance & stability |
US20060053194A1 (en) | 2004-09-03 | 2006-03-09 | Schneider Ronald E | Systems and methods for collaboration |
US20070118794A1 (en) | 2004-09-08 | 2007-05-24 | Josef Hollander | Shared annotation system and method |
US7812986B2 (en) | 2005-08-23 | 2010-10-12 | Ricoh Co. Ltd. | System and methods for use of voice mail and email in a mixed media environment |
US7667862B2 (en) | 2004-10-05 | 2010-02-23 | Isee Media Inc. | Method and system for streaming images to wireless devices |
US7472341B2 (en) | 2004-11-08 | 2008-12-30 | International Business Machines Corporation | Multi-user, multi-timed collaborative annotation |
US7656543B2 (en) | 2004-11-12 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Albuming images |
JP4686177B2 (en) | 2004-12-02 | 2011-05-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Web page authoring apparatus, web page authoring method and program |
US9275052B2 (en) | 2005-01-19 | 2016-03-01 | Amazon Technologies, Inc. | Providing annotations of a digital work |
US7792788B2 (en) | 2005-03-04 | 2010-09-07 | Microsoft Corporation | Method and system for resolving conflicts operations in a collaborative editing environment |
US7653875B2 (en) | 2005-04-07 | 2010-01-26 | Microsoft Corporation | Browser sensitive web content delivery |
US20060282762A1 (en) | 2005-06-10 | 2006-12-14 | Oracle International Corporation | Collaborative document review system |
US7491399B2 (en) | 2005-06-23 | 2009-02-17 | University Of Maryland Biotechnology Institute | In Ovo vaccine against infectious bursal disease |
US8539604B2 (en) | 2005-08-03 | 2013-09-17 | International Business Machines Corporation | Method, system and program product for versioning access control settings |
US7779347B2 (en) | 2005-09-02 | 2010-08-17 | Fourteen40, Inc. | Systems and methods for collaboratively annotating electronic documents |
US7424670B2 (en) | 2005-09-09 | 2008-09-09 | Microsoft Corporation | Annotating documents in a collaborative application with data in disparate information systems |
US20070061714A1 (en) | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Quick styles for formatting of documents |
CA2621488A1 (en) | 2005-09-13 | 2007-03-22 | Spacetime3D, Inc. | System and method for providing three-dimensional graphical user interface |
FR2892885B1 (en) | 2005-11-02 | 2008-01-25 | Streamezzo Sa | METHOD FOR MANAGING CHARACTER FONTS WITHIN MULTIMEDIA SCENES, CORRESPONDING COMPUTER PROGRAM AND TERMINAL. |
CN100399335C (en) | 2005-11-15 | 2008-07-02 | 李利鹏 | Method for converting source file to target web document |
US20070118795A1 (en) | 2005-11-23 | 2007-05-24 | Peter Noyes | A Method of Processing Annotations Using an Editable Multi-Dimensional Catalog |
US20070174762A1 (en) | 2006-01-24 | 2007-07-26 | International Business Machines Corporation | Personal web page annotation system |
US7774703B2 (en) | 2006-02-09 | 2010-08-10 | Microsoft Corporation | Virtual shadow awareness for multi-user editors |
US20070220068A1 (en) | 2006-02-15 | 2007-09-20 | Bruce Thompson | Electronic document and business process control |
WO2007115224A2 (en) | 2006-03-30 | 2007-10-11 | Sri International | Method and apparatus for annotating media streams |
CA2543304A1 (en) | 2006-04-11 | 2007-10-11 | Ibm Canada Limited - Ibm Canada Limitee | Code highlight and intelligent location descriptor for programming shells |
US7734666B2 (en) | 2006-04-28 | 2010-06-08 | Sap Ag | Method and system for inspecting memory leaks and analyzing contents of garbage collection files |
GB0610116D0 (en) | 2006-05-20 | 2006-06-28 | Ibm | A method, apparatus and computer program for collaborative editing of a document |
US8745227B2 (en) | 2006-06-07 | 2014-06-03 | Apple Inc. | Distributed secure content delivery |
US20080028302A1 (en) | 2006-07-31 | 2008-01-31 | Steffen Meschkat | Method and apparatus for incrementally updating a web page |
US20080059539A1 (en) | 2006-08-08 | 2008-03-06 | Richard Chin | Document Collaboration System and Method |
JP4189416B2 (en) | 2006-08-28 | 2008-12-03 | 株式会社東芝 | Structured document management system and program |
US7739255B2 (en) | 2006-09-01 | 2010-06-15 | Ma Capital Lllp | System for and method of visual representation and review of media files |
KR101443404B1 (en) | 2006-09-15 | 2014-10-02 | 구글 인코포레이티드 | Capture and display of annotations in paper and electronic documents |
JP4847300B2 (en) | 2006-11-27 | 2011-12-28 | 株式会社日立製作所 | Memory leak detection method, memory leak detection device, and memory leak detection program |
US8151204B2 (en) | 2006-11-29 | 2012-04-03 | Siemens Medical Solutions Usa, Inc. | Document viewing and management system |
US20080301571A1 (en) | 2007-01-18 | 2008-12-04 | Herzog Robert M | System and Method for Administration and Documentation of Health Care Services |
US20080222273A1 (en) | 2007-03-07 | 2008-09-11 | Microsoft Corporation | Adaptive rendering of web pages on mobile devices using imaging technology |
US8555160B2 (en) | 2007-03-27 | 2013-10-08 | Canon Kabushiki Kaisha | Apparatus and methods for creating and/or editing color-image processing files |
US8019780B1 (en) | 2007-03-30 | 2011-09-13 | Google Inc. | Handling document revision history information in the presence of a multi-user permissions model |
US20080270406A1 (en) | 2007-04-27 | 2008-10-30 | International Business Machines Corporation | System and method for adding comments to knowledge documents and expediting formal authoring of content |
US8266534B2 (en) | 2007-06-28 | 2012-09-11 | Microsoft Corporation | Collaborative generation of meeting minutes and agenda confirmation |
US8555200B2 (en) | 2007-08-21 | 2013-10-08 | Wetpaint.Com, Inc. | Representing editable attributes of embedded content |
US8327264B2 (en) | 2007-09-27 | 2012-12-04 | Sap Ag | Document personalizer |
US7904515B2 (en) | 2007-10-09 | 2011-03-08 | International Business Machines Corporation | Solution for managing multiple related discussion threads in an online collaboration environment |
US8190987B2 (en) | 2007-10-25 | 2012-05-29 | Microsoft Corporation | Private views of data and local calculations during real time collaboration |
US8868623B2 (en) | 2007-10-30 | 2014-10-21 | International Business Machines Corporation | Enhanced garbage collection in a multi-node environment |
US20090119572A1 (en) | 2007-11-02 | 2009-05-07 | Marja-Riitta Koivunen | Systems and methods for finding information resources |
US7950064B2 (en) | 2007-11-16 | 2011-05-24 | International Business Machines Corporation | System and method for controlling comments in a collaborative document |
US20090132907A1 (en) | 2007-11-20 | 2009-05-21 | Shin-Chung Shao | Annotation Structure for Web Pages, System and Method for Annotating Web Pages |
US8825758B2 (en) * | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
CA2659698C (en) | 2008-03-21 | 2020-06-16 | Dressbot Inc. | System and method for collaborative shopping, business and entertainment |
US20090249224A1 (en) | 2008-03-31 | 2009-10-01 | Microsoft Corporation | Simultaneous collaborative review of a document |
US20090254802A1 (en) | 2008-04-04 | 2009-10-08 | Print Asset Management, Inc. | Publishing system and method that enables users to collaboratively create, professional appearing digital publications for "On-Demand" distribution in a variety of media that includes digital printing |
US8312380B2 (en) | 2008-04-04 | 2012-11-13 | Yahoo! Inc. | Local map chat |
US7478330B1 (en) | 2008-04-30 | 2009-01-13 | International Business Machines Corporation | Systems and methods involving improved web browsing |
US7885861B2 (en) | 2008-06-23 | 2011-02-08 | Vistaprint Technologies Limited | Method, system, and storage for creating a montage of composite product images |
US20100005410A1 (en) | 2008-07-03 | 2010-01-07 | Pang Xin | Mobile device application framework |
US20100031135A1 (en) | 2008-08-01 | 2010-02-04 | Oracle International Corporation | Annotation management in enterprise applications |
US20100050089A1 (en) | 2008-08-20 | 2010-02-25 | Company 100, Inc. | Web browser system of mobile communication terminal, using proxy server |
US8347208B2 (en) | 2009-03-04 | 2013-01-01 | Microsoft Corporation | Content rendering on a computer |
US8332815B2 (en) | 2009-03-17 | 2012-12-11 | International Business Machines Corporation | Enhanced development tool for utilizing a javascript object notation (JSON) bridge for non-java-based component communication within java-based composite applications |
US8446377B2 (en) | 2009-03-24 | 2013-05-21 | Microsoft Corporation | Dual screen portable touch sensitive computing system |
TWI385537B (en) | 2009-05-04 | 2013-02-11 | Univ Nat Taiwan | Assisting method and apparatus for accessing markup language document |
US9081783B2 (en) | 2009-06-08 | 2015-07-14 | International Business Machines Corporation | Automated dynamic reprioritization of presentation materials |
US20100318894A1 (en) | 2009-06-11 | 2010-12-16 | Microsoft Corporation | Modifications to Editable Elements of Web Pages Rendered in Word Processor Applications |
US9400769B2 (en) | 2009-08-06 | 2016-07-26 | Hewlett-Packard Development Company, L.P. | Document layout system |
US8732247B2 (en) | 2009-09-28 | 2014-05-20 | Bjorn Michael Dittmer-Roche | System and method of simultaneous collaboration |
US8701127B2 (en) | 2010-01-15 | 2014-04-15 | Microsoft Corporation | Web services access to content items stored by collaboration systems |
US20110219331A1 (en) | 2010-03-02 | 2011-09-08 | International Business Machines Corporation | Window resize on remote desktops |
US20110252339A1 (en) | 2010-04-12 | 2011-10-13 | Google Inc. | Collaborative Cursors in a Hosted Word Processor |
US20110264880A1 (en) | 2010-04-23 | 2011-10-27 | Tatu Ylonen Oy Ltd | Object copying with re-copying concurrently written objects |
US8356071B2 (en) | 2010-05-14 | 2013-01-15 | Mitel Networks Corporation | Presentational system and method for IP telephones and other devices |
US9652440B2 (en) | 2010-05-27 | 2017-05-16 | Microsoft Technology Licensing, Llc | Concurrent utilization of a document by multiple threads |
AU2010358550B2 (en) | 2010-08-04 | 2015-12-24 | Copia Interactive, Llc | System for and method of collaborative annotation of digital content |
KR20120049604A (en) | 2010-11-09 | 2012-05-17 | 삼성전자주식회사 | Method and apparatus for managing memory of a mobile device |
US20120131483A1 (en) | 2010-11-22 | 2012-05-24 | International Business Machines Corporation | Drag-and-drop actions for web applications using an overlay and a set of placeholder elements |
US9578114B2 (en) | 2011-09-27 | 2017-02-21 | Microsoft Technology Licensing, Llc | External service application discovery method |
-
2011
- 2011-10-17 US US13/275,123 patent/US20150199308A1/en not_active Abandoned
-
2016
- 2016-08-26 US US15/248,848 patent/US10481771B1/en active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126943A1 (en) * | 1999-06-15 | 2008-05-29 | Microsoft Corporation | System and method for recording a presentation for on-demand viewing over a computer network |
US20030048291A1 (en) * | 2001-09-10 | 2003-03-13 | Andreas Dieberger | Navigation method for visual presentations |
US20030160813A1 (en) * | 2002-02-25 | 2003-08-28 | Raju Narayan D. | Method and apparatus for a dynamically-controlled remote presentation system |
US20100023869A1 (en) * | 2004-06-22 | 2010-01-28 | Ylian Saint-Hilaire | Remote audio |
US20070245248A1 (en) * | 2006-04-14 | 2007-10-18 | Bernd Christiansen | Systems and methods for displayng to a presenter visual feedback corresponding to visual changes received by viewers |
US20070294626A1 (en) * | 2006-06-15 | 2007-12-20 | Microsoft Corporation | Controlling application sharing |
US20080282167A1 (en) * | 2007-04-06 | 2008-11-13 | Darin Beamish | Private presenter notes |
US20150199350A1 (en) * | 2008-05-23 | 2015-07-16 | Google Inc. | Method and system for providing linked video and slides from a presentation |
US20100083096A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Visualizing Content Positioning within a Document Using Layers |
US20100169790A1 (en) * | 2008-12-29 | 2010-07-01 | Apple Inc. | Remote control of a presentation |
US20100169951A1 (en) * | 2008-12-29 | 2010-07-01 | Apple Inc. | Remote slide presentation |
US8887052B1 (en) * | 2009-01-09 | 2014-11-11 | Google Inc. | Presentation remote control |
US20100218099A1 (en) * | 2009-02-20 | 2010-08-26 | William Van Melle | Systems and Methods for Audience-Enabled Access to Presentation Content |
US20100251122A1 (en) * | 2009-03-31 | 2010-09-30 | Samsung Electronics Co., Ltd. | Method and apparatus for controlling presentation slides |
US20100269046A1 (en) * | 2009-04-15 | 2010-10-21 | Wyse Technology Inc. | Sever-side computing from a remote client device |
US20110066957A1 (en) * | 2009-09-17 | 2011-03-17 | Border Stylo, LLC | Systems and Methods for Anchoring Content Objects to Structured Documents |
US20110078560A1 (en) * | 2009-09-25 | 2011-03-31 | Christopher Douglas Weeldreyer | Device, Method, and Graphical User Interface for Displaying Emphasis Animations for an Electronic Document in a Presentation Mode |
US20110164043A1 (en) * | 2010-01-05 | 2011-07-07 | Research In Motion Limited | Method of remotely controlling a presentation to freeze an image using a portable electronic device |
US20120096087A1 (en) * | 2010-04-21 | 2012-04-19 | Felice Curcelli | System and method for generating publications via collaboration |
US20110264705A1 (en) * | 2010-04-22 | 2011-10-27 | Brandon Diamond | Method and system for interactive generation of presentations |
US20150350029A1 (en) * | 2014-05-30 | 2015-12-03 | Linkedin Corporation | Remote control and modification of live presentation |
Non-Patent Citations (9)
Title |
---|
"Simultaneously edit a presentation with other authors" by MicrosoftTM Office: MAC, published November 11, 2010, pages 1-4. * |
Conner Google Apps: The Missing Manual, published by O'Rilley Media in May 2008, pages 1-26. * |
Krieger "Documents Presentations and Workbooks Using Microsoft Office to Create Content That Gets Noticed", published May 2011, pages 1-104. * |
MrNate, My experiences working with Google Docs Presentations, published March 5, 2009 by Dopefly.com, pages 1-6 * |
Popa, Now You Can: Insert YouTube Clips in Google Docs Presentations Plus speaker notes in Google Presentations, published April 29, 2008 by Softpedia website, pages 1-4. * |
Raggett (Slidy-a web based alternative to Microsoft PowerPoint), published 2006, pages 1-13. * |
Remote Control Google Presentations with Your Android: No App Necessary, published February 1, 2011 by Android for Academics website, pages 1-2. * |
Taylor (COOL APPLE KEYNOTE PRESENTATION TRIKS AND TIPS), published April 2011, pages 1-5 * |
Tsompanopoulou et al., A Platform for Delivering Multimedia Presentations on Cultural Heritage, 2010 14th Panhellenic Conference on Informatics, pages 175-179 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10423713B1 (en) * | 2013-10-15 | 2019-09-24 | Google Llc | System and method for updating a master slide of a presentation |
US11809812B1 (en) | 2013-10-15 | 2023-11-07 | Google Llc | System and method for updating a master slide of a presentation |
US11222163B1 (en) | 2013-10-15 | 2022-01-11 | Google Llc | System and method for updating a master slide of a presentation |
US9871868B2 (en) * | 2014-05-23 | 2018-01-16 | Osix Corporation | Computer-implemented methods, computer readable media, and systems for initiating co-use of applications |
US20160014209A1 (en) * | 2014-05-23 | 2016-01-14 | Osix Corporation | Computer-Implemented Methods, Computer Readable Media, And Systems For Initiating Co-Use Of Applications |
US20160191604A1 (en) * | 2014-12-24 | 2016-06-30 | Vmware, Inc. | Remoting Application User Interfaces |
US11075976B2 (en) * | 2014-12-24 | 2021-07-27 | Vmware, Inc. | Remoting application user interfaces |
US10693923B2 (en) | 2015-01-28 | 2020-06-23 | Vmware, Inc. | Establishing streaming sessions during remote sessions |
US10547711B2 (en) | 2015-03-25 | 2020-01-28 | Vmware, Inc. | Using off-screen user interface data during remote sessions |
US10970101B2 (en) | 2016-06-03 | 2021-04-06 | Vmware, Inc. | System and method for dynamically configuring virtual displays and virtual inputs for different remote sessions that each present content for a virtual machine |
US10469562B2 (en) | 2016-06-24 | 2019-11-05 | Vmware, Inc. | Virtual machine pixel remoting |
US20180011829A1 (en) * | 2016-07-06 | 2018-01-11 | Fuji Xerox Co., Ltd. | Data processing apparatus, system, data processing method, and non-transitory computer readable medium |
CN107589882A (en) * | 2016-07-06 | 2018-01-16 | 富士施乐株式会社 | Data processing equipment, system and data processing method |
US20180307379A1 (en) * | 2017-04-24 | 2018-10-25 | Naver Corporation | Method and apparatus for providing web browsing interface |
US11243649B2 (en) * | 2017-04-24 | 2022-02-08 | Naver Corporation | Method and apparatus for providing web browsing interface including dividing the content display region into at least two spaces, and allowing selection of different modes for loading web pages ot the at elast two spaces |
WO2018201039A1 (en) * | 2017-04-28 | 2018-11-01 | Reina Christine | Epaper display printer |
US20180365198A1 (en) * | 2017-06-20 | 2018-12-20 | Naver Corporation | Method and apparatus for providing web browsing interface |
CN110008444A (en) * | 2018-01-05 | 2019-07-12 | 天津数观科技有限公司 | System and method for playing instrument panel by slide |
US11023652B2 (en) * | 2018-07-16 | 2021-06-01 | Smartsuite Tech Inc. | Presentation system and method |
CN110765284A (en) * | 2019-10-25 | 2020-02-07 | 天津车之家数据信息技术有限公司 | Method, system, computing device and storage medium for generating presentation |
CN110765284B (en) * | 2019-10-25 | 2023-03-24 | 天津车之家数据信息技术有限公司 | Method, system, computing device and storage medium for generating presentation |
CN114492334A (en) * | 2022-01-28 | 2022-05-13 | 北京索为系统技术股份有限公司 | On-line editing method and device for requirement items based on document editor |
CN116226418A (en) * | 2023-01-28 | 2023-06-06 | 创云融达信息技术(天津)股份有限公司 | Realization method of webpage version demonstration slide PPT |
Also Published As
Publication number | Publication date |
---|---|
US10481771B1 (en) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10481771B1 (en) | Systems and methods for controlling the display of online documents | |
US11360790B2 (en) | Collaborative and non-collaborative workspace application container with application persistence | |
US10740551B2 (en) | Collaborative access spreadsheet with a real-time visual indication identifying last edit user | |
US11271986B2 (en) | Document sharing through browser | |
US11689603B2 (en) | Systems and methods for client-side contextual engagement | |
US11263397B1 (en) | Management of presentation content including interjecting live feeds into presentation content | |
JP5670470B2 (en) | Quick access utility | |
US20030160813A1 (en) | Method and apparatus for a dynamically-controlled remote presentation system | |
US7711722B1 (en) | Webcast metadata extraction system and method | |
CN105830150A (en) | Intent-based user experience | |
US20110265010A1 (en) | System and method for generation of website display and interface | |
US11507726B2 (en) | Messaging application supporting presentation service | |
US20150019989A1 (en) | System and Method for Superimposing a Context-Sensitive Virtual Agent on a Web-Based User Interface | |
US20140045163A1 (en) | Interactive response system and question generation method for interactive response system | |
US11416319B1 (en) | User interface for searching and generating graphical objects linked to third-party content | |
WO2022245483A1 (en) | Management of presentation content including generation and rendering of a transparent glassboard representation | |
US11978121B1 (en) | System and method for enabling real-time iterative collaborative decision support | |
US20160283070A1 (en) | Using reactive behaviors during remote sessions | |
CN113779465B (en) | Page preview method, related device and equipment | |
CN117880234A (en) | Session message processing method, apparatus, electronic device and readable storage medium | |
CN118535050A (en) | Service providing method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:COOPER, SARAH;LEDER, MIKHAIL;REEL/FRAME:027073/0571 Effective date: 20111017 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044129/0001 Effective date: 20170929 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |