PATENT DOCUMENT

Publication Number: US-9600133-B2
Application Number: US-201213724855-A
Country: US
Kind Code: B2

Title: Action representation during slide generation

Abstract:
Techniques for displaying object animations on a slide are disclosed. In accordance with these techniques, objects on a slide may be assigned actions when generating or editing the slide. The effects of the actions on the slide are depicted using one or more respective representations which represent the slide as it will appear after implementation of one or more corresponding actions.

Claims:
What is claimed is: 
     
       1. An electronic device, comprising:
 a memory storing one or more routines; and 
 a processing component configured to execute the one or more routines stored in the memory, wherein the one or more routines, when executed by the processing component provide an application interface of a presentation application, wherein the presentation application: 
 receives inputs via one or more input structures of the electronic device to select an object displayed on a slide editing pane of the presentation application executing on the electronic device at a starting point on the slide editing pane; and 
 assigns at least one action to be performed on the object when the slide is displayed in a presentation, wherein one or more representations are displayed concurrently with the object on the slide editing pane and wherein each representation depicts the object as it will appear at one or more endpoints, waypoints, or both on the slide editing pane after a respective action or actions are performed and wherein the concurrent display of the object at the starting point and the one or more representations at the one or more endpoints, waypoints, or both visually depict the appearance of and sequence of at least two stages of the object, based upon the at least one action. 
 
     
     
       2. The electronic device of  claim 1 , wherein the presentation application, when executed, receives additional inputs via the one or more input structures to manipulate at least one representation such that a corresponding action to be performed on the object is modified. 
     
     
       3. The electronic device of  claim 1 , wherein assigning at least one action to be performed on the object comprises assigning at least one of a movement action, a rotation action, an opacity action, or a scaling action to the object. 
     
     
       4. The electronic device of  claim 1 , wherein assigning at least one action to be performed on the object comprises selecting an action from a list displayed by the presentation application. 
     
     
       5. The electronic device of  claim 1 , wherein the presentation application, when executed, displays the slide as it will appear in a presentation using a preview window that is distinct from the slide editing pane of the presentation application. 
     
     
       6. The electronic device of  claim 1 , wherein the object and the one or more representations are not animated when concurrently displayed. 
     
     
       7. An electronic device, comprising:
 a memory storing one or more routines; and 
 a processing component configured to execute the one or more routines stored in the memory, wherein the one or more routines, when executed by the processing component provide an application interface of a presentation application, wherein the presentation application:
 receives an input assigning one or more effects to be applied to an object displayed on a slide editing pane of the presentation application running on the electronic device at a starting point on the slide editing pane; and 
 concurrently displays for review one or more representations with the object on the slide editing pane, wherein each representation depicts the object at one or more endpoints, waypoints, or both on the slide editing pane after application of one or more respective effects and wherein the concurrent display of the object at the starting point and the one or more representations at the one or more endpoints, waypoints, or both visually depict the appearance of and sequence of at least two stages of the object, based upon the one or more effects. 
 
 
     
     
       8. The electronic device of  claim 7 , wherein the presentation application, when executed, receives additional inputs modifying an effect applied to the object when a corresponding concurrently displayed representation is manipulated. 
     
     
       9. The electronic device of  claim 7 , wherein the one or more effects include one or more of a movement, a change in opacity, a change in scale, or a rotation. 
     
     
       10. The electronic device of  claim 7 , wherein the presentation application, when executed, receives further inputs assigning one or more initiation conditions for each effect to specify when the effect will begin during a presentation of the slide. 
     
     
       11. The electronic device of  claim 7 , wherein the object and the one or more representations are not animated when concurrently displayed. 
     
     
       12. One or more tangible, non-transitory computer-readable media comprising instructions that, when executed by one or more processors, cause the one or more processors to:
 provide an application interface of a presentation application, wherein the presentation application:
 receives inputs via one or more input structures of an electronic device to select an object displayed on a slide editing pane of the presentation application executing on the electronic device at a starting point on the slide editing pane; and 
 assigns at least one action to be performed on the object when the slide is displayed in a presentation, wherein one or more representations are displayed concurrently with the object on the slide editing pane and wherein each representation depicts the object as it will appear at one or more endpoints, waypoints, or both on the slide editing pane after a respective action or actions are performed and wherein the concurrent display of the object at the starting point and the one or more representations at the one or more endpoints, waypoints, or both visually depict the appearance of and sequence of at least two stages of the object, based upon the at least one action. 
 
 
     
     
       13. The computer-readable media of  claim 12 , wherein the presentation application, when executed, receives additional inputs via the one or more input structures to manipulate at least one representation such that a corresponding action to be performed on the object is modified. 
     
     
       14. The computer-readable media of  claim 12 , wherein assigning at least one action to be performed on the object comprises assigning at least one of a movement action, a rotation action, an opacity action, or a scaling action to the object. 
     
     
       15. The computer-readable media of  claim 12 , wherein assigning at least one action to be performed on the object comprises selecting an action from a list displayed by the presentation application. 
     
     
       16. The computer-readable media of  claim 12 , wherein the presentation application, when executed, displays the slide as it will appear in a presentation using a preview window that is distinct from the slide editing pane of the presentation application. 
     
     
       17. A method, comprising:
 receiving inputs via one or more input structures of an electronic device to select an object displayed on a slide editing pane of a presentation application executing on the electronic device at a starting point on the slide editing pane; and 
 assigning at least one action to be performed on the object when the slide is displayed in a presentation, wherein one or more representations are displayed concurrently with the object on the slide editing pane and wherein each representation depicts the object as it will appear at one or more endpoints, waypoints, or both on the slide editing pane after a respective action or actions are performed and wherein the concurrent display of the object at the starting point and the one or more representations at the one or more endpoints, waypoints, or both visually depict the appearance of and sequence of at least two stages of the object, based upon the at least one action. 
 
     
     
       18. The method of  claim 17 , comprising receiving additional inputs via the one or more input structures to manipulate at least one representation such that a corresponding action to be performed on the object is modified. 
     
     
       19. The method of  claim 17 , wherein assigning at least one action to be performed on the object comprises assigning at least one of a movement action, a rotation action, an opacity action, or a scaling action to the object. 
     
     
       20. The method of  claim 17 , wherein assigning at least one action to be performed on the object comprises selecting an action from a list displayed by the presentation application. 
     
     
       21. The method of  claim 17 , comprising displaying the slide as it will appear in a presentation using a preview window that is distinct from the slide editing pane of the presentation application.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 12/345,513, entitled “Action Representation During Slide Generation”, filed Dec. 29, 2008, which is a continuation-in part of U.S. patent application Ser. No. 11/834,614, entitled “Action Builds and Smart Builds for use in a Presentation Application”, filed Aug. 6, 2007, both of which are herein incorporated by reference in their entirety for all purposes. 
    
    
     BACKGROUND 
     1. Technical Field 
     The present invention relates generally to generating slides for a presentation. 
     2. Description of the Related Art 
     This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present invention, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art. 
     One use which has been found for computers has been to facilitate the communication of information to an audience. For example, it is not uncommon for various types of public speaking, (such as lectures, seminars, classroom discussions, keynote addresses, and so forth), to be accompanied by computer generated presentations that emphasize or illustrate points being made by the speaker. For example, such presentations may include music, sound effects, images, videos, text passages, numeric examples or spreadsheets, or audiovisual content that emphasizes points being made by the speaker. 
     Typically, these presentations are composed of “slides” that are sequentially presented in a specified order. These slides may include a variety of graphical objects, such as pictures, clipart, shapes, text, images, and so forth. The graphical objects on a slide may be moved on the slide or subjected to various visual effects when the slide is presented. However, design of such graphically complex slides may be difficult, particularly where multiple graphical objects are provided on the slide and/or where complex or combined motion or other effects are implemented. 
     SUMMARY 
     Certain aspects of embodiments disclosed herein by way of example are summarized below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of certain forms an invention disclosed and/or claimed herein might take and that these aspects are not intended to limit the scope of any invention disclosed and/or claimed herein. Indeed, any invention disclosed and/or claimed herein may encompass a variety of aspects that may not be set forth below. 
     The present disclosure generally relates to techniques for generating slides on which graphical objects are moved or undergo other actions, i.e., effects, on a slide. For example, an action or sequence of actions may be specified to be performed on one or more objects on a slide. In one embodiment, the assignment of such actions to objects on the slide may be performed on a screen that depicts representations of the objects as they will appear after each action is performed. The different actions may then be reviewed and/or modified at this screen. That is, an object undergoing a movement action will be depicted at locations prior to and after the move. Likewise, an object being rotated will be depicted both prior to and after rotation, and so forth. Further, for more complex action sequences, each of the actions may be simultaneously displayed for review and/or modification. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description of certain exemplary embodiments is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein: 
         FIG. 1  is a perspective view illustrating an electronic device in accordance with one embodiment of the present invention; 
         FIG. 2  is a simplified block diagram illustrating components of an electronic device in accordance with one embodiment of the present invention; 
         FIG. 3  depicts a screen of a presentation application used for generating slides in accordance with one embodiment of the present invention; 
         FIG. 4  depicts a screen of a presentation application in which an action may be assigned to an object on a slide, in accordance with one embodiment of the present invention; 
         FIG. 5  depicts a screen of a presentation application in which a movement action is assigned to an object on a slide, in accordance with one embodiment of the present invention; 
         FIG. 6  depicts a screen of a presentation application in which an opacity action is assigned to an object on a slide, in accordance with one embodiment of the present invention; 
         FIG. 7  depicts a screen of a presentation application in which a rotation action is assigned to an object on a slide, in accordance with one embodiment of the present invention; 
         FIG. 8  depicts a screen of a presentation application in which a scaling action is assigned to an object on a slide, in accordance with one embodiment of the present invention; 
         FIG. 9  depicts a screen of a presentation application in which a series of actions is assigned to an object on a slide, in accordance with one embodiment of the present invention; 
         FIG. 10  depicts a screen of a presentation application in which another series of actions is assigned to an object on a slide, in accordance with one embodiment of the present invention; 
         FIG. 11  depicts a screen of a presentation application in which a further series of actions is assigned to an object on a slide, in accordance with one embodiment of the present invention; and 
         FIG. 12  depicts a screen of a presentation application in which another series of actions is assigned to an object on a slide, in accordance with one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS 
     One or more specific embodiments of the present invention will be described below. These described embodiments are only exemplary of the present invention. Additionally, in an effort to provide a concise description of these exemplary embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers&#39; specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure. 
     The application is generally directed to providing a visual representation of an object as it would appear after an action is implemented. In certain embodiments, the representation might be manipulated to configure the manner in which the action is to be performed, such as by moving the representation to a different destination location or rotating the representation to configure the degree of rotation applied to the object. With this in mind, an example of a suitable device for use in accordance with the present disclosure is as follows. 
     An exemplary electronic device  100  is illustrated in  FIG. 1  in accordance with one embodiment of the present invention. In some embodiments, including the presently illustrated embodiment, the device  100  may be processor-based system, such as a laptop or desktop computer, suitable for preparing and/or displaying presentations, such as using the Keynote® software package available from Apple Inc. as part of the iWork® productivity package. Other processor-based systems suitable for preparing and/or displaying presentations may include servers, thin-client workstations, portable or handheld devices capable of running presentation software, or the like. By way of example, the electronic device  100  may be a model of a MacBook®, MacBook® Pro, MacBook Air®, iMac®, Mac® mini, or Mac Pro® available from Apple Inc. 
     In the presently illustrated embodiment, the exemplary electronic device  100  includes an enclosure or housing  102 , a display  104 , input structures  106 , and input/output connectors  108 . The enclosure  102  may be formed from plastic, metal, composite materials, or other suitable materials, or any combination thereof. The enclosure  102  may protect the interior components of the electronic device  100  from physical damage, and may also shield the interior components from electromagnetic interference. 
     The display  104  may be a liquid crystal display (LCD), cathode ray tube (CRT) or other suitable display type. For example, in one embodiment, a suitable LCD display may be based on light emitting diodes (LED) or organic light emitting diodes (OLED). In certain implementations, the display  104  may be controlled by graphics circuitry  110  ( FIG. 2 ). Graphics circuitry  110  may include a graphics processing unit (GPU) and associated memory and buffers, such as may be present on a dedicated graphics card suitable for rendering two- and three-dimensional graphics operations. 
     In one embodiment, one or more of the input structures  106  are configured to control the device  100  or applications running on the device  100 . Embodiments of the electronic device  100  may include any number of input structures  106 , including buttons, switches, a mouse, a control or touch pad, a keyboard, a keypad, a touchscreen, or any other suitable input structures. The input structures  106  may operate to control functions of the electronic device  100  or applications running on the device  100  and/or any interfaces or devices connected to or used by the electronic device  100 . For example, the input structures  106  may allow a user to navigate a displayed user interface or application interface. 
     The exemplary device  100  may also include various input and output ports  108  to allow connection of additional devices. For example, the device  100  may include any number of input and/or output ports  108 , such as headphone and headset jacks, video ports, universal serial bus (USB) ports, IEEE-1394 ports, Ethernet and modem ports, and AC and/or DC power connectors. Further, the electronic device  100  may use the input and output ports  108  to connect to and send or receive data with any other device, such as a modem, external display, projector, networked computers, printers, or the like. For example, in one embodiment, the electronic device  100  may connect to a scanner, digital camera or other device capable of generating digital images (such as an iPhone® or other camera-equipped cellular telephone) via a USB connection to send and receive data files, such as image files. 
     The electronic device  100  includes various internal components which contribute to the function of the device  100 .  FIG. 2  is a block diagram illustrating the components that may be present in the electronic device  100  and which may allow the device  100  to function in accordance with the techniques discussed herein. Those of ordinary skill in the art will appreciate that the various functional blocks shown in  FIG. 2  may comprise hardware elements (including circuitry), software elements (including computer code stored on a machine-readable medium) or a combination of both hardware and software elements. It should further be noted that  FIG. 2  is merely one example of a particular implementation and is merely intended to illustrate the types of components that may be present in a device  100  that allow the device  100  to function in accordance with the present techniques. 
     In the presently illustrated embodiment, the components may include the display  104 , the I/O ports  108 , and the graphics circuitry  110  discussed above. In addition, as discussed in greater detail below, the components may include input circuitry  150 , one or more processors  152 , a memory device  154 , a non-volatile storage  156 , expansion card(s)  158 , a networking device  160 , and a power source  162 . 
     The input circuitry  150  may include circuitry and/or electrical pathways by which user interactions with one or more input structures  106  are conveyed to the processor(s)  152 . For example, user interaction with the input structures  106 , such as to interact with a user or application interface displayed on the display  104 , may generate electrical signals indicative of the user input. These input signals may be routed via the input circuitry  150 , such as an input hub or bus, to the processor(s)  152  for further processing. 
     The processor(s)  152  may provide the processing capability to execute the operating system, programs, user and application interfaces, and any other functions of the electronic device  100 . The processor(s)  152  may include one or more microprocessors, such as one or more “general-purpose” microprocessors, one or more special-purpose microprocessors and/or ASICS, a microcontroller, or some combination thereof. For example, the processor  152  may include one or more instruction processors, as well as graphics processors, audio processors, video processors, and/or related chip sets. 
     As noted above, the components may also include a computer-readable media in the form of a memory  154 . The memory  154  may include a volatile memory, such as random access memory (RAM), and/or a non-volatile memory, such as read-only memory (ROM). The memory  154  may store a variety of information and may be used for various purposes. For example, the memory  154  may store firmware for the electronic device  100  (such as a basic input/output instruction or operating system instructions), other programs that enable various functions of the electronic device  100 , user interface functions, processor functions, and may be used for buffering or caching during operation of the electronic device  100 . 
     The components may further include other computer-readable media, such as a non-volatile storage  156 . The non-volatile storage  156  may include flash memory, a hard drive, or any other suitable optical, magnetic, or solid-state storage medium, or a combination thereof. The non-volatile storage  156  may be used to physically encode and store data files such as media content (e.g., music, image, video, and/or presentation files), software (e.g., a presentation application for implementing the presently disclosed techniques on electronic device  100 ), wireless connection information (e.g., information that may enable the electronic device  100  to establish a wireless connection, such as a telephone or wireless network connection), and any other suitable data. In some embodiments, non-volatile storage  156  may store programs or applications executable on the processor  152 , maintain files formatted to be read and edited by one or more of the applications, and store any additional files that may aid the operation of one or more applications (e.g., files with metadata). It will be understood that data may be stored interchangeably in memory  154  and storage device  156 , based on the operation of the electronic device  110 . 
     The embodiment illustrated in  FIG. 2  may also include one or more card slots. The card slots may be configured to receive an expansion card  158  that may be used to add functionality to the electronic device  100 , such as additional memory, I/O functionality, or networking capability. Such an expansion card  158  may connect to the device through any type of suitable connector, and may be accessed internally or external to the enclosure  102 . For example, in one embodiment, the expansion card  158  may be flash memory card, such as a SecureDigital (SD) card, mini- or microSD, CompactFlash card, Multimedia card (MMC), or the like. 
     The components depicted in  FIG. 2  also include a network device  160 , such as a network controller or a network interface card (NIC). In one embodiment, the network device  160  may be a wireless NIC providing wireless connectivity over any 802.11 standard or any other suitable wireless networking standard. The network device  160  may allow the electronic device  100  to communicate over a network, such as a Local Area Network (LAN), Wide Area Network (WAN), or the Internet. Further, the electronic device  100  may connect to and send or receive data with any device on the network, such as portable electronic devices, personal computers, printers, and so forth. Alternatively, in some embodiments, the electronic device  100  may not include a network device  160 . In such an embodiment, a NIC may be added into card slot  158  to provide similar networking capability as described above. 
     Further, the components may also include a power source  162 . In one embodiment, the power source  162  may be one or more batteries, such as a lithium-ion polymer battery. The battery may be user-removable or may be secured within the housing  102 , and may be rechargeable. Additionally, the power source  162  may include AC power, such as provided by an electrical outlet, and the electronic device  100  may be connected to the power source  162  via a power adapter. This power adapter may also be used to recharge one or more batteries if present. 
     With the foregoing discussion in mind, various techniques and algorithms for implementing aspects of the present disclosure on such electronic devices  100  and accompanying hardware and memory devices are discussed below. Turning to  FIG. 3 , an illustrative screen  200  of a presentation application (such as Keynote® available from Apple Inc.) is depicted in accordance with one embodiment of the invention. The application may be stored as one or more executable routines in memory  154  and/or storage  156  ( FIG. 2 ) and, when executed, may display on screen  200 . 
     The presentation application may provide multiple modes of operation, such as an edit mode and a presentation mode. When in the edit mode, the presentation application may provide a convenient and user-friendly interface for a user to add, edit, remove, or otherwise modify the slides of a slide show. For example, when in the edit mode, the user may add or remove text, numeric, graphic, or video objects on the slide and/or may assign actions and/or effects to one or more of the objects provided on a slide. When in the presentation mode, the user may display a created slide or a sequence of slides in a format suitable for audience viewing. In some embodiments, the presentation application may provide a full-screen presentation of the slides in the presentation mode, including any animations, transitions, or other properties defined for each object within the slides. 
     As used herein, the term “object” refers to any individually editable component on a slide of a presentation. That is, something that can be added to a slide and/or be altered or edited on the slide, such as to change its location, size, orientation, appearance or to change its content, may be described as an object. For example, a graphic, such as an image, photo, line drawing, clip-art, chart, table, which may be provided on a slide may constitute an object. In addition, a character or string of characters may constitute an object. Likewise, an embedded video clip may also constitute an object that is a component of a slide. 
     Turning to the figures, the screen  200  of  FIG. 3  represents a screen that may be displayed when a presentation application is in an edit mode, such as for slide creation or modification. In the depicted example, the screen  200  includes three panes: a slide organizer  202 , a slide canvas  210 , and a toolbar  220  for creating and editing various aspects of a slide of a presentation. By using these panes, a user may select a slide of a presentation, add and/or edit the contents of a slide, and animate or add effects related to the contents of a slide. It should be understood that the size of each pane in display screen  200  is merely illustrative, and that the relative size of each pane may be adjusted by a user. 
     The slide organizer  202  may display a representation  204  of each slide of a presentation that is being generated or edited. The slide representations  204  may take on a variety of forms, such as an outline of the text in the slide or a thumbnail image of the slide. Slide organizer  202  may allow the user to organize the slides prepared using the application. For example, the user may determine or manipulate the order in which the slides are presented by dragging a slide representation  204  from one relative position to another. As illustrated in  FIG. 3 , the slides representations  204  in slide organizer  202  may be indented or otherwise visually set apart for further organizational clarity. 
     In certain implementations, selection of a slide representation  204  in the slide organizer  202  results in the presentation application displaying the corresponding slide information on the slide canvas  210 . For example, for a selected slide representation (identified by highlight region  206 ) the corresponding slide may be displayed as slide  212  on the slide canvas  210 . The displayed slide  212  may include one or more suitable objects  214  such as, for example, text, images, graphics, video, or any other suitable object. In some embodiments, a user may add or edit features or properties of a slide  214  when displayed on the slide canvas  210 . For example, a user may edit settings or properties associated with slide  212  (e.g., the slide background or template) on the canvas  210  or may edit the location, orientation, size, properties, and/or animation of objects (e.g., object  214 ) in the selected slide. The user may select a different slide  212  to be displayed for editing on slide canvas  210  by selecting a different slide representation  204  from the slide organizer  202 , such as by using input structures  106  ( FIG. 1 ). 
     In the depicted implementation a user may customize objects  214  associated with slide  212  or the properties of slide  212  using various tools provided by the presentation application in association with the canvas  210 . For example, a toolbar  220  may include several selectable icons  222  for activating respective tools and/or functions that may be used in creating or editing the slide  212 . For example, the toolbar  220  may include an icon that, when selected, activates a build tool that allows one or more objects (e.g., images, tables, videos, etc.) to be selected and/or grouped. Animations (motion, rotation, changes in size, shading, color, opacity, and so forth) may be generated for such selected objects or groups of objects. These animations may be rendered using hardware acceleration and/or other capabilities of the graphics circuitry  110  ( FIG. 2 ). In some embodiments, the animations may be rendered in real-time (e.g., using dedicated graphics circuitry, such as a GPU on a video card) when slides containing the animations are displayed or presented as part of a presentation. 
     In some embodiments, screen  200  may allow an options window  230  to be opened or displayed. The presentation application may display the options window  230  automatically (e.g., based on the presentation application context) or in response to a user instruction (e.g., in response to a user instruction to display options related to one or more selected objects). Such an options window  230  may be moved, resized, and/or minimized/maximized independently of panes  202 ,  210 , and  220 , for example as an overlay over any of the panes. Options window  230  may provide one or more user input mechanisms of any suitable type, such as drop down menus, radio buttons, sliders, and so forth. The options available from options window  230  may vary based on a tool selected in toolbar  220  or by a type of object(s)  214  selected on the slide  212 . For example, the options window  230  may provide different respective options if a table, video, graphic, or text is selected on the slide  212  or if no object  214  is selected. It will be understood that although only one options window  230  is shown in  FIG. 3 , screen  200  may include any suitable number of option windows  230 . 
     In some embodiments, a user may animate, transform, or otherwise apply an effect to one or more objects  214  in a slide  212  of a presentation, such as to generate a new slide or a build, e.g., an animation step, within an existing slide. A slide may contain various textual or graphical elements that may be introduced or animated in incremental or step-wise builds. For example, a slide may list a number of textual elements provided as bullet points, but each bullet point may be introduced as a different build of the slide, so that a time interval or user input causes an animation which results in the next build of the slide being displayed. In this way, the slide may be constructed so that it initially appears with a title but no bullet points, then a series of builds each result in the introduction and display of another bullet point on the slide until the steps are complete and the next slide is displayed. Similarly, a slide may include discrete builds in which one or more graphical or textual elements are animated (moved, rotated, scaled, faded in, faded out, and so forth) at each build. Thus, as used herein, it should be understood that the term slide should be understood as encompassing a slide and any or all of the build permutations of that slide, i.e., the slide after animation build 1, animation build 2, and so forth. 
     With this in mind and returning to the discussion of the edit mode of the presentation application, a user may invoke an action build mode via a respective icon on the toolbar  220 . Such an action build mode may allow the user to assign one or more effects to an object or objects  214  displayed on the slide  212  when the slide  212  is displayed during a presentation. For example, the user may assign a sequence of actions, i.e., an action build, to the objects  214  on the slide  212  such that the actions are sequentially implemented to the object  214  via different steps or builds of the slide  212  when the slide  212  is displayed in a presentation. In this way a sequence of actions, such as motion, rotation, as well as changes to color opacity, size and so forth, may be applied to objects  214  on the slide  212  when the slide  212  is displayed in a presentation. For example, such a sequence of actions may be used to animate an object  214  on the slide  212 . 
       FIG. 4  depicts a presentation application screen after activation of an action build mode, in accordance with one implementation. In the depicted embodiment, a build inspector window  252  is provided when in the action build mode. In such an embodiment, a user may interact with the build inspector window  252  to select an action or sequence of actions to be applied to one or more of the objects  214  of the slide  212 . For example, the user might generate a sequence of actions to be applied to one or more objects  214  (i.e., an action build) by selecting and/or configuring actions from the build inspector window  252  while the object(s)  214  are selected. 
     In the depicted embodiment, the build inspector window  252  includes a preview window  254 , which may depict the slide  212  as it would appear when displayed as part of a presentation. For example, the preview window  254  may provide an unobstructed view of the slide  212 , i.e., without displaying any overlying windows which may be present when constructing or editing the slide  212 . Similarly, to the extent that objects  214  are to be animated on the slide  212 , the preview window  254  may depict the slide  212  with the object or objects  214  undergoing the specified animation, i.e., as the slide  212  would appear during a presentation. 
     In one embodiment, the build inspector window  252  may provide one or more selectable or preset action options  260 . For example, the build inspector window  252  may include a drop down menu with one or more selectable actions  260  that may be applied to the selected object(s)  214  of the slide  212 . In such an embodiment, the user may select a particular action by placing a highlight region  262  over the desired action, for example using a pointer controlled by an input device (e.g., input structure  106 ,  FIG. 1 ). In the example of  FIG. 4 , the available actions may include Move, Opacity, Rotate and Scale, though other actions may also be available. In some embodiments, the action options may include computational heavy processes that utilize graphics circuitry  110 , if available. 
       FIG. 5  is an illustrative display of a presentation application screen displayed in response to a user selecting the “move” option  270  from the selectable actions  260  ( FIG. 4 ) displayed on the build inspector window  252 . In response to the selection of the “move” action the presentation application may display an “after-action” representation  274  of the object  214  that depicts the object  214  as it will appear after execution of the specified action, such as after being moved in the depicted example. In certain embodiments, the representation  274  may be transparent or semi-transparent (i.e., may have a reduced opacity relative to the object  214 ) or may otherwise visually indicated (by opacity, color, brightness, shading, borders, or so forth) as representing the object  214  after execution of a specified action or effect. 
     In addition, in embodiments where the object  214  is moved or rotated, a line  276  may be displayed indicating the path along which the object  214  moves from the starting point of the “move” action to the destination point, i.e., the waypoint or endpoint. The path line  276  may also visually indicate characteristics of the movement, such as whether the motion is at a constant velocity or, if not, where acceleration and deceleration occur. Such visual indication may be provided by use of color or of dotted and/or dashed lines to indicate different types of motion. 
     In one such embodiment, the user may select and move the representation  274  to set or change the location of the waypoint to which the object  214  is moved. Similarly, in some embodiments, the user may select and change the shape of the path line  276 , for example by selecting and dragging one or more points of line  276 . Thus the path line  276  need not be linear, but may undergo curved or angular changes in direction, as specified by the user. 
     In one implementation, a user may define settings controlling the action specified using the build inspector window  252 . For example, in the depicted implementation, selection of the “move” option  270  results in the display of move options  280 , such as path type (curved or linear), duration of the move, and acceleration characteristics. As will be appreciated, the presentation application may include these and/or other suitable options or settings for such a “move” action. Likewise, for other selectable actions  260 , these or other appropriate options may be displayed upon selection of the desired action. 
     As discussed above, in some embodiments, the presentation application may preview the selected action applied to object  412  on preview window  254 . For example, after the user configures a “move” action, changes a setting of a selected “move” action, changes the path of the object  214 , and/or changes the waypoint destination of the object  214 , the presentation application may animate object  214  in preview window  254  to show the animation as it will appear during presentation of the slide  212 . Likewise, animations incorporating rotations, changes in scale, changes in opacity, and so forth, may also be displayed in the preview window  254 , as discussed below. 
     While movement represents one type of action that may be applied to the object(s)  214 , other types of actions may also be possible. As discussed above, actions related to opacity, rotation, and scaling, as well as others, may also be provided by the presentation application. For example, referring to  FIG. 6 , a user may select an “opacity” option  290  from a drop-down list of selectable actions  260  ( FIG. 4 ) displayed on the build inspector window  252 . In response to the selection of the “opacity” action the presentation application may display an “after-action” representation  274  that depicts the object or objects  214  as they will appear after the action is applied or otherwise visually indicates that the action is performed to the object(s)  214 . 
     For example, in the context of the present “opacity” action, the opacity and/or the outline of the representation  274  may be visually altered to indicate the change in opacity. In instances where the object(s)  214  does not move while the opacity is changed, i.e., where the object(s)  214  is stationary when changing opacity, the presentation application may depict the object(s)  214  and the “after-action” representation  274  as a stack  294  or layer of images to indicate that the object is being changed, as depicted in  FIG. 6 . Such an implementation may be useful in instances where it would otherwise be difficult to distinguish a depicted object  214  and a corresponding overlying or underlying representation having a different opacity. Likewise, in instances where the opacity of the object  214  and/or the “after-action” representation  274  is transparent or nearly transparent (i.e., where the opacity is at or near zero), the presentation application may display the transparent or nearly transparent image using an outline or other visual indication that an object or representation is present, even though it is essentially transparent. 
     In certain implementations a user may define settings controlling an opacity effect using the build inspector window  252 . For example, in the depicted implementation, selection of the “opacity” option  290  results in the display of opacity options  292 , such as a slider or numeric field for setting the degree of opacity of the object (s)  214  and/or a duration over which the change in opacity occurs. As will be appreciated, the presentation application may include these and/or other suitable options or settings for such an “opacity” action. 
     After the user configures an “opacity” action and/or changes a setting of a selected “opacity” action, the presentation application may animate an object  214  in preview window  254  to show the animation, in this example, a change in opacity, as it will appear during presentation of the slide  212 . Thus, in certain embodiments, the user may preview how the slide  212  will appear during a presentation, including a change in opacity effect applied to an object  214 . 
     Referring to  FIG. 7 , in certain implementations a user may select a “rotate” option  300  from a drop-down list of selectable actions  260  ( FIG. 4 ) displayed on the build inspector window  252 . In response to the selection of the “rotate” action the presentation application may display an “after-action” representation  274  of an object or objects  214  that depicts the object of objects  214  after rotation. In certain embodiments, the user may select the representation  274  and alter the degree of rotation of the representation  274 , thereby changing the degree of rotation applied to the object  214  by the corresponding action. 
     As described with the preceding types of actions, in certain implementations a user may define settings controlling a rotation effect using the build inspector window  252 . For example, in the depicted implementation, selection of the “rotate” option  300  results in the display of rotation options  304 , such as for entry of the rotation orientation, the rotation amount (e.g., in degrees), the direction of rotation, the duration over which the rotation takes place, the speed and/or acceleration of the rotation, the characteristics, if any, of the acceleration of the rotation, and so forth. As will be appreciated, the presentation application may include these and/or other suitable options or settings for such a “rotation” action. 
     After the user configures a “rotation” action and/or changes a setting of a selected “rotation” action, the presentation application may animate object  214  in preview window  254  to show the rotation of the object or objects  214  as it will appear during presentation of the slide  212 . Thus, in certain embodiments, the user may preview how the slide  212  will appear during a presentation, including a rotation effect applied to an object  214 . 
     Turning to  FIG. 8 , in certain implementations a user may select a “scale” option  310  from a drop-down list of selectable actions  260  ( FIG. 4 ) displayed on the build inspector window  252 . In response to the selection of the “scale” action the presentation application may display an “after-action” representation  274  of an object or objects  214  that depicts the object or objects  214  after an increase (depicted in  FIG. 8 ) or reduction in size. In certain embodiments, the user may select the representation  274  and alter the degree to enlarge or reduce the size of the representation  274 , thereby changing the degree of scaling applied to the object  214  by the corresponding action. 
     As described with the preceding types of actions, in certain implementations a user may define settings controlling a scaling effect using the build inspector window  252 . For example, in the depicted implementation, selection of the “scale” option  310  results in the display of scaling options  312 , such as for entry of the amount or degree of scaling (e.g., −100%, −50%, −25%, 25%, 50%, 100%, 200%, and so forth) relative to the initial size of the object or objects  214 , the duration over which the scaling effect is applied, rate or change in rate of the scaling effect and so forth. As will be appreciated, the presentation application may include these and/or other suitable options or settings for such a “scale” action. 
     After the user configures a “scale” action and/or changes a setting of a selected “scale” action, the presentation application may animate object  214  in preview window  254  to show the object or objects  214  being changed in scale as will occur during presentation of the slide  212 . Thus, in certain embodiments, the user may preview how the slide  212  will appear during a presentation, including a scaling effect applied to an object  214 . 
     The preceding describes different individual actions that may be applied to an object or objects  214  selected on a slide  212 . As described, in conjunction with each action, an after-action representation  274  of the object  214  is displayed on the slide canvas  210  so that a user can see the placement and/or appearance of the object  214  at each stage of the animation of the slide  212 . 
     However, it should also be appreciated that, in certain implementations, an object or objects  214  may have more than one action assigned. For example, the user may define several successive actions to be applied to an object  214 . In one embodiment, for objects  214  on which multiple actions are applied, each action applied to the object  214  is listed in a build order window  310 . For example, in the depicted embodiment the build order window  310  sequentially lists the actions  312  (such as “move”, “rotate”, “scale” and/or “opacity” actions) applied to the object  214 . A user may cause the build order window  310  to be displayed using any suitable approach. For example, in one implementation the build order window  310  may be displayed when an additional action (i.e., a second, third, fourth, and so forth action) is added to an object  214  on the slide  212  (such as by using an “add action” option  308 ). Likewise, the build order window  310  may be displayed when an object  214  which has at least two actions already assigned is selected on the canvas  210 . 
     The listing  312  of actions provided in the build order window  310  may include any suitable information, such as an indication of the object  214  to which the actions apply, the type of actions specified, the order in which the actions are to be applied to the object  214 , and so forth. A user may select a listed action for review or modification using any suitable approach, such as by placing highlight region over an action of interest to select the action. 
     For example, in one embodiment, a user may select a listed action  314  from the build order window  310  to display settings and/or options associated with that particular action (displayed in the build inspector window  252  in the present example) and may review and/or modify such settings and options. In one embodiment, selection of an action  314  in the list  312  of actions may cause the corresponding “after-action” representation and/or path to be visually indicated, such as by use of color, brightness, shading, and/or line- or border-type. Conversely, selecting an “after-action” representation or path on the canvas  210  may cause selection of the corresponding action or actions  312  in the build order window  310 . 
     The presentation application may initiate respective listed actions  312  using any suitable approach. In some embodiments, the user may define the manner in which the presentation application initiates one or more of the listed actions  312 . In the depicted embodiment a dropdown menu  316  is provided listing different initiation options. For example, the user may select an option that causes the selected action  314  to be performed on the object(s)  214  in the event of a mouse click or similar input from an input structure  106  ( FIG. 1 ). In such an example, a user giving a presentation that includes the slide  212  may click a mouse button to initiate the next specified action in the list  312 , such as to initiate a selected “move” or “rotate” action on the object  214 . Thus, a user input may serve as the trigger that causes a specified action to be performed on the object(s)  214 . 
     However, other conditions may also act to initiate a listed action to be performed on the object  214 . For example, the dropdown menu  316  (or other selection mechanism) may provide other options for initiating some or all of the listed actions associated with object  214 . For example, in addition to a mouse click or other user input, the dropdown menu  316  may allow the user to specify a time delay (e.g., 1 second), such as in field  318 , after which an action in the list  312  is initiated after completion of the preceding action in the list  312 . Alternatively, an action in the list  312  may be designated to begin as soon as the preceding action completes, simultaneously or in conjunction with the start of the preceding action in the list  312  (for example, an object  214  may begin a “rotate” and/or “fade” action at the same time a “move” action begins), or in a staggered manner, such as after the preceding action begins but before the preceding action completes (for example, an object  214  may begin a “rotate” and/or “fade” after a “move” action begins but before the “move” action ends). Similarly, multiple actions may be assigned to an object  214  such that the actions end at the same time, such as at the completion of a move, regardless of whether the actions began at the same time or not. Likewise, other suitable initiation conditions may also be configurable for each listed action  312 , such as via the dropdown menu  316 . 
     In some embodiments, the presentation application may preview the successive actions applied to the object(s)  214  in the preview window  254 . The preview of the slide  212  displayed in the preview window  254  may be configured to act in accordance with the designated initiation conditions for each action (such as to wait for a mouse click to advance or to implement a specified time delay) or may show the complete build or animation sequence without waiting for such cues. In some embodiments, the preview may be performed based on some but not all action initiation conditions. For example, the preview may not wait for user inputs when these are specified to begin an action (i.e., the preview may simply assume the presence of such a user input), but may wait for specified time delays and so forth. 
     Thus, in accordance with these embodiments, multiple actions can be assigned to an object  214  of a slide  212 . The assigned actions can be configured to begin and/or end at the same times (or in response to the same inputs), to begin in sequence (i.e., one beginning after the completion of the previous), and/or to begin in an overlapping manner (i.e., one beginning after the previous action has begun but before the previous action has ended). Further, as described herein, in one embodiment the presentation application may display representations of the object  214  on slide canvas  210  which depict the object  214  after the completion of one or more actions so that a user can see the placement and/or appearance of the object  214  at each stage of the animation of the slide  212 . Such “after-action” representations may be displayed for all objects  214  on the slide  212  or only for a selected object or objects  214 . Likewise, the “after-action” representations may be displayed for only certain actions, such as “move” or “rotate” actions, applied to an object  214  or may be otherwise limited, such as based on number or space constraints, to avoid unduly cluttering the canvas  210   
     With the foregoing in mind and by way of example,  FIG. 9  depicts an object  214  undergoing two successive movements. In the depicted screen, the user has generated a curved first path line  340  between object  214  and a first representation  342  depicting the object  214  at a first waypoint after completion of the first action, i.e., after the first move. A second action is then configured to move the object  214  along a straight second path line  346  to a second waypoint, where the object  214  is depicted by a second representation  348  as it would appear after completion of the second action. As discussed above, the successive actions may each be configured (such as at drop down menu  316  and field  318 ) to begin in response to a user input (i.e., a mouse click) or automatically (such as based on the completion of a previous action, with or without a time delay). 
     Similarly,  FIG. 10  depicts a series of successive actions applied to an object  214 . In the depicted screen, the object  214  is moved to a first waypoint where its position after completion of the action, i.e., the movement, is shown by a first representation  342 . A second action is then configured to rotate the object  214  ninety-degrees. The result of this action applied to the object  214  is depicted by a second representation  348  as it would appear after completion of the second action, i.e., the rotation. Thus, in this example, the object  214  is moved and then separately rotated, with a distinct “after-action” representation provided for the completion of each successive action. The successive actions may each be configured (such as at drop down menu  316  and field  318 ) to begin in response to a user input (i.e., a mouse click) or automatically (such as based on the completion of a previous action, with or without a time delay). 
     Turning to  FIG. 11 , a corresponding example is provided where the movement and rotation of the object  214  occurs simultaneously. In this example, the object  214  is concurrently rotated and moved to a waypoint where the object  214  as it would appear after the concurrent movement and rotation is depicted by the representation  348 . Thus, in this example, the object  214  is moved and concurrently rotated, with a single “after-action” representation  348  provided depicting the outcome of the combined actions. In one implementation, one of the actions may be configured (such as at drop down menu  316  and field  318 ) to begin in response to a user input (i.e., a mouse click) or automatically (such as based on the completion of a previous action, with or without a time delay). The second, concurrently implemented action, may be configured to begin automatically with the other action, such as via an option in the drop-down menu  316 . To indicate in the listing  312  of build order window  310  that the actions will be performed simultaneously, the presentation application may display a visual indicator  352  linking concurrently implemented actions. 
     By way of further example, an object  214  subjected to a series of actions is depicted in  FIG. 12 . In this example, the object  214  is successively moved and rotated to point in the direction of the next move, with the representations  360  and  362  representing the position and orientation of the object  214  after the move and rotation respectively. Next, the object  214  is configured to concurrently move and rotate, with the representation  364  representing the position and orientation of the object  214  after the concurrent move and rotate actions. Next, the object  214  is concurrently enlarged and faded into transparency (using respective scale and opacity actions), such as to simulate rising off the slide  212  and disappearing. In this example, the representation  366  relates the size and change in opacity of the object  214  after the concurrent scaling and opacity actions. As noted previously, in this implementation the presentation application may preview the actions applied to the objects  214  in the preview window  254  such that a user can review how the slide  212  will appear in a presentation. 
     While the invention may be susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and have been described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the following appended claims.

Metadata:
Filing Date: 20121221
Publication Date: 20170321
Grant Date: 20170321
Priority Date: 20070806
Inventors: VAUGHAN PAUL BRADFORD
TILTON JAMES ERIC
CONNORS CHRISTOPHER MORGAN
MELTON RALPH LYNN
CAPELA JAY CHRISTOPHER
BODA TED STEPHEN
Assignee: APPLE INC
CPC Classifications: [{"code": "G06T13/80", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/048", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06T13/80", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06T13/80", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/048", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 40589403