HIERARCHICAL PRESENTATION EDITOR

In a method for editing slide arrangement within a hierarchical slide presentation, a processor displays a holistic view of a plurality of slides including a first slide and a second slide, wherein the second slide is associated with the first slide in a first parent-child relationship. A processor receives an indication that the first slide is selected. A processor receives an instruction to move the first slide to a location within the holistic view of the plurality of slides. A processor determines that the second slide shall remain associated with the first slide. A processor relocates the first slide to the location within the holistic view of the plurality of slides and relocates the second slide such that the second slide remains associated with the first slide.

FIELD OF THE INVENTION

The present invention relates generally to the field of presentation software, and more particularly to editing a hierarchical or multi-path slide presentation.

BACKGROUND OF THE INVENTION

Microsoft® PowerPoint® software provides a user with the ability to create electronic presentations containing one or more slides and the ability to display those slides in a slide show. Displaying slides in a slide show generally involves displaying each slide full screen on a display and sequentially presenting the slides, usually accompanied by a person acting as a presenter or an audio recording.

Microsoft® PowerPoint® software enables a user to create, insert, and edit slides within a presentation. A user may edit the contents of a slide as well as the sequential order in which the slide will be presented during the slide show presentation.

SUMMARY

Aspects of an embodiment of the present invention disclose a method, computer program product, and computing system for editing slide arrangement within a hierarchical slide presentation. A processor displays a holistic view of a plurality of slides including a first slide and a second slide, wherein the second slide is associated with the first slide in a first parent-child relationship. A processor receives an indication that the first slide is selected. A processor receives an instruction to move the first slide to a location within the holistic view of the plurality of slides. A processor determines that the second slide shall remain associated with the first slide. A processor relocates the first slide to the location within the holistic view of the plurality of slides and relocates the second slide such that the second slide remains associated with the first slide.

DETAILED DESCRIPTION

FIG. 1depicts a diagram of computing system10in accordance with one embodiment of the present invention for creating, editing, and viewing hierarchical slide-based presentations.FIG. 1provides an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented.

In the depicted embodiment, computing system10includes computing device20. Computing system10may also include a network, servers, computing devices, or other devices not shown.

Computing device20may be a management server, a web server, personal computer (PC), desktop computer, laptop computer, netbook computer, tablet computer, personal digital assistant (PDA), or smart phone. In general, computing device20may be any electronic device capable of sending and receiving data. Computing device20includes slide presentation program110, editing function120, and user interface (UI)130. Computing device20may include components, as depicted and described in further detail with respect toFIG. 4.

User interface (UI)130operates on computing device20to generate display signals corresponding to content, such as windows, menus, and icons, and to receive various forms of user input. In one embodiment, UI130comprises an interface to editing function120and slide presentation program110. UI130may display data received from editing function120and slide presentation program110. UI130may send input to editing function120and slide presentation program110. UI130may comprise one or more interfaces such as an operating system interface and/or application interfaces.

Slide presentation program110may be a slide-based presentation program. Slide presentation program110may allow a user to create and present a slide-based presentation wherein one or more slides may be cycled through and stored as a single presentation. Slide presentation program110may allow for linear or hierarchical arrangements of slides in a single presentation. A linear presentation will have one or more slides arranged in a linear manner. For example, slides may progress in a chronological fashion beginning with a first slide and ending with a last slide. In contrast, a hierarchical arrangement may have multiple paths of associated or children slides that diverge from parent slides during an otherwise linear presentation.FIG. 3depicts an example of a hierarchical arrangement for a presentation. In one embodiment, slide presentation program110resides on computing device20. In one embodiment, slide presentation program110includes editing function120.

Editing function120operates to allow a user to edit a presentation within slide presentation program110. Editing function120may allow a user to position and arrange slides within a hierarchical presentation. Editing function120may present a thumbnail based overview of the hierarchical presentation whereby slides may be added and/or moved to desired locations within the hierarchy.

FIG. 2depicts a flowchart of the steps of editing function120, a function of slide presentation program110, executing within the computing system ofFIG. 1, in accordance with an embodiment of the present invention. Editing function120operates to display a holistic view of the layout of a hierarchical slide presentation and rearrange the layout based on commands and information received from UI130. Embodiments of editing function120may also allow a user to create new slides and add content to slides.

In one embodiment, initially, a user at computing device20may create a new slide presentation using slide presentation program110. Using a function of slide presentation program110, such as embodiments of editing function120, a user may create a new slide and add content to that slide. Such content may include text, pictures, movies, audio, hyperlinks, or other types of visual, audible, or written information. A user may add any number of slides and place content upon each slide based upon the requirements for the particular presentation. Once multiple slides are placed within a presentation, a user may use editing function120to rearrange the order of the slides or create associated or parent/child relationships between two or more slides. In addition to parent/child relationships between slides that branch off of the linear path of the slide presentation, a chronological relationship may exist between slides on the same linear path. For example, there is a chronological relationship between slide 1 and slide 2, as depicted onFIG. 3. Also depicted onFIG. 3is a second chronological relationship between slide 1.2 and slide 1.3.

In step210, editing function120displays a holistic overview of the open slide presentation.FIG. 3depicts an example of one embodiment of such a holistic overview. In general, the holistic overview of the open slide presentation will depict the entire layout or a reasonably large portion of the slide presentation. Such a layout will depict parent/child relationships between associated slides and may include a numbering system or other method of organizing the presentation layout. Methods of organizing the presentation layout may include arrows indicating one or more paths in the presentation, labels located on or near each slide (e.g., child of slide 1, etc.) and/or a numbering system, such as the numbering system depicted inFIG. 3. In one embodiment, the layout will include thumbnail images of each slide in the presentation. In such an embodiment, there may be an option that allows for the thumbnail image to be temporarily replaced with an indication of the location within the slide presentation. For example, there may be an option that causes the thumbnail images to be replaced with a numbering system indicating what position the slide is located at within the slide presentation. In some embodiments, if a large number of slides exist in the presentation, an option may allow a user to scale the view of the layout of the slides in order to increase the viewing area of the layout. In another embodiment, the window may include scrolling arrows for scrolling horizontally and/or vertically to view all of the slides.

In step220, editing function120receives an indication that a slide has been selected. In one embodiment, UI130may send an indication to editing function120that a user at computing device20has selected a slide. In some embodiments, a selection may be initiated by a user by clicking on the slide using a mouse and cursor, touch screen, or other method of selection. In other embodiments, rather than selecting a slide, a drag and drop selection process may be used.

In step230, editing function120receives an instruction to move or insert the selected slide to a location. If the slide previously existed within the presentation, editing function120receives an instruction to move the selected slide to a location. If the slide has been newly created, editing function120may receive an instruction to insert the slide at a location. In one embodiment, once a slide has been selected, the location to move or insert the slide may be the next received selection, such as a selection received via a mouse and cursor or touch screen input. In an embodiment that uses drag and drop, the received location to move or insert the slide may be the location where the slide has been dropped, after being dragged, such as when a user drags by clicking the left mouse button and holding the button down, and drops by releasing the left mouse button at the desired location.

In step240, editing function120places the slide at the received location according to the instruction (see step230). In one embodiment, selecting a location in between two slides will insert the slide in between the two slides and surrounding slides will relocate as necessary. For example, if the selected location is in between a first slide and a second slide, the moved slide may take the position of the second slide, the original second slide will become the third slide, and the original first slide will continue to be the first slide. In some embodiments, if the received location is another slide, editing function120may cause the inserted or moved slide to become a child slide with respect to the slide located at the received location.

In decision250, editing function120determines if there are other slides associated with the moved or inserted slide, such as slides associated by a parent/child relationship. If editing function120determines that there are no such associated slides (decision250, no branch), the function is complete. Editing function120may determine that there are no slides associated with the moved or inserted slide by looking to the hierarchical layout of the presentation. Typically, the linear aspect of a hierarchical presentation will progress in a chronological or numerical fashion, while associated slides may exist that break away from that organizational layout.

If editing function120determines that there are slides associated with the moved or inserted slide (decision250, yes branch), editing function120will determine whether the slides should remain associated (decision260). In some embodiments, editing function120may determine that there are slides associated with the moved or inserted slide by the hierarchical layout of the presentation. In other embodiments, editing function120may determine that such a relationship exists based on previously input information, such as if the user actively associated the slides by selecting a slide when rearranging slides (see step230).

If editing function120determines that the associated slides should not remain associated with the moved or inserted slide (decision260, no branch), the function is complete. If such a determination is made, any previously associated slides will remain in the original location along the presentation hierarchy. In some embodiments, such slides may automatically become associated with nearby slides along the presentation hierarchy. In other embodiments, the slides may have a broken link and request a user to select an association, or otherwise rearrange the slide layout to remedy the broken link. In still other embodiments, editing function120may prompt the user regarding the deletion of associated slides, and based on the received response, determine if the associated slides should be deleted from the presentation.

If editing function120determines that the associated slides should remain associated with the moved or inserted slide (decision260, yes branch), editing function120will place the associated slides according to the received location (step270). For example, children slides of the moved or inserted slide will remain children slides of the moved or inserted slide and their location along the hierarchical presentation will adjust accordingly. In some embodiments, editing function120may generate a prompt to query a user at computing device20, and based on the received response, determine that the associated slides should remain associated with the moved or inserted slide. Once the associated slides have been moved, the function is complete.

FIG. 3is an exemplary user interface window to slide presentation program110executing editing function120in accordance with one embodiment of the present invention. User interface window300may be a user interface window to slide presentation program110of computing device20. User interface window300allows a user to edit the arrangement of slides in a hierarchical slide presentation. User interface window300also allows a user to insert a new slide or select and edit the content of an existing slide.

User interface window300includes title bar310, options toolbar320, and slide arrangement area330. Title bar310indicates information about the contents of the window, such as the filename of the depicted slide presentation. Options toolbar320may include various option buttons or menus. In the depicted embodiment, options toolbar320includes an options button, an edit button, a save button, a preview button, a view presentation button, and an insert new slide button. Other embodiments may include different option buttons or menus, or different arrangements of such option buttons or menus. In the depicted embodiment, the insert new slide button creates a new slide to insert into the slide presentation. The view presentation button will display the slide presentation as a slideshow, in some embodiments the slideshow may be depicted as shown inFIG. 4. The preview button may show a print preview for if a user were to print a handout version of the slide presentation. The save button may allow a user to save both the contents and arrangement of the slides to tangible storage located on computing device20or to another location. The edit button may allow a user to select a slide to edit, such as by clicking on the slide with a cursor and mouse. Alternatively, a user may be able to select a slide to edit by double-clicking on a slide or right-clicking and selecting an edit option from a pop-up menu. The options button may include additional options, such as presentation theme, animations, color schemes, or other options typically found in slide presentation software.

Slide arrangement area330is an area within which slides may be arranged in a hierarchical order, in the manner discussed with regards toFIG. 2. In the depicted embodiment, slide arrangement area330is arranged such that the top row contains the linear set of slides or the parent slides within the presentation. As discussed with respect toFIG. 2, a user may associate a slide with a parent slide, thus creating an associated or child slide. In the depicted example, slide 1.1 is a child slide with respect to slide 1. Additional slides may be associated with children slides which will create additional parent/child or slide associations. In the depicted example, all lower rows are associated with the slide that contains a downward facing arrow. For example, slides 1.1, 1.2, and 1.3 are all associated with slide 1, and slides 1.3.1 and 1.3.2 are associated with both slide 1.3 and slide 1. A user may rearrange slides by selecting a slide and dragging it to a desired location. As previously discussed, if the moved slide has associated children slides, a prompt may appear asking the user if such slides should remain associated, and if so the associated slides will also be moved to the corresponding location. It should be recognized that this is one possible arrangement, and other arrangements or organizational methods may be contemplated by one of ordinary skill in the art.

FIG. 4is an exemplary user interface window to slide presentation program110in accordance with one embodiment of the present invention. User interface window400may be a user interface window to slide presentation program110of computing device20ofFIG. 1. User interface window400allows a user to navigate through a previously stored hierarchical slide presentation. In some embodiments, user interface window400may be a full screen window, such that user interface window400takes up the entirety of the display on which user interface window400is presented. In the depicted embodiment, user interface window400is shown as viewed by a user who has selected to view the slide show of a slide presentation.

User interface window400includes slide content410, navigation arrows420, home button430, and location information440. Slide content410may include any type of information that could be located on a slide such as text, images, videos, hyperlinks, or other information. Navigation arrows420may allow a user to navigate the slide presentation. Home button430may allow a user to navigate to the beginning of the slide presentation, or alternatively, to the slide from which the currently depicted slide associates (i.e., slide 2 if the depicted slide is slide 2.3). Location information440may display the name of the slide, slide number, or other information about the slide.

As previously mentioned, navigation arrows420may allow a user to navigate the slide presentation. Typically, navigation arrows420will allow a user to progress the slideshow in a linear path by selecting the left arrow to go backwards in the presentation, and the right arrow to go forwards in the presentation. For example, if the depicted slide is slide 2, selecting the right navigation arrow may cause the presentation to move to slide 3. The up and down arrows may allow a user to deviate from the linear path. In the depicted embodiment, the up and down arrows may allow a user to navigate between associated slides within the hierarchical presentation. For example, slide 2 may have associated or children slides, such as slides 2.1-2.4. When such associated slides exist, they may be accessed by the down navigation arrow of navigation arrows420. When an associated or child slide is depicted, the parent slide may be accessed by the up navigation arrow of navigation arrows420. A parent slide is any slide from which another slide associates.

In some embodiments, the display of each arrow of navigation arrows420may change to reflect whether or not there is an accessible slide along that direction of the hierarchical slide presentation. For example, in the depicted embodiment, the left, down, and right arrows are black, while the up arrow is white. In this embodiment, the black arrows indicate that there is a slide in that direction along the hierarchy, while the white arrow indicates that there is not a slide in that direction along the hierarchy. In one embodiment, a user may select the arrows with a cursor. In another embodiment, a user may use arrows located on a keyboard or other input device, rather than selecting navigation arrows420, as depicted onFIG. 4.

Slide presentation program110and editing function120are stored in persistent storage508of computing device20for execution by one or more of the respective computer processors504of computing device20via one or more memories of memory506of computing device20. In this embodiment, persistent storage508includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage508can include a solid state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage media that is capable of storing program instructions or digital information.

The media used by persistent storage508may also be removable. For example, a removable hard drive may be used for persistent storage508. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer-readable storage medium that is also part of persistent storage508.

Communications unit510, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit510includes one or more network interface cards. Communications unit510may provide communications through the use of either or both physical and wireless communications links. Slide presentation program110and editing function120may be downloaded to persistent storage508of computing device20through communications unit510of computing device20.

I/O interface(s)512allows for input and output of data with other devices that may be connected to computing device20. For example, I/O interface512may provide a connection to external devices518such as a keyboard, keypad, a touch screen, and/or some other suitable input device. External devices518can also include portable computer-readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention, e.g., slide presentation program110and editing function120, can be stored on such portable computer-readable storage media and can be loaded onto persistent storage508of computing device20via I/O interface(s)512of computing device20. I/O interface(s)512also connect to a display520.