WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and system for generating and displaying a slide show with animations and transitions in a browser    
United States Patent6396500   
Link to this pagehttp://www.wikipatents.com/6396500.html
Inventor(s)Qureshi; Imran I. (Sunnyvale, CA); Gasser; Ralph U. (Mountain View, CA); Sandoval; Gustavo (Cupertino, CA); Parker; Robert L. C. (Cupertino, CA)
AbstractA method and system for automatically translating slides in a slide presentation file into a series of corresponding slide HTML pages for displaying a slide show with a viewing facility such as a browser. An animated object is generated for each object in the HTML page that is related to an animation of the object in the corresponding slide created for presentation by the other facility. A queue is generated for defining the order and time line for the graphical display of each animated and non-animated object of each HTML page. The browser graphically displays the contents of each HTML page in accord with the order and time line defined by the queue so that a graphical display of the generated slide show is presented to the user in a manner that is related to the intended presentation by the other facility of the originally created slide show. Divisions in the HTML page are created with nested DIV tags so that percentages related to default dimensions in the HTML page may be used to define the dimensions of a display space for objects included in the HTML page. The objects may include text, movies, audio clips, animations, transitions, images, and image maps associated with hyperlinks. User interface controls are provided to select options for animating objects and transitions and automatically fitting the objects in the page to the size of the display.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 6396500
Method and system for generating and displaying a slide show with

     animations and transitions in a browser - US Patent 6396500 Drawing
Method and system for generating and displaying a slide show with animations and transitions in a browser
Inventor     Qureshi; Imran I. (Sunnyvale, CA); Gasser; Ralph U. (Mountain View, CA); Sandoval; Gustavo (Cupertino, CA); Parker; Robert L. C. (Cupertino, CA)
Owner/Assignee     Microsoft Corporation (Redmond, WA)
Patent assignment
All assignments
Publication Date     May 28, 2002
Application Number     09/271,731
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     March 18, 1999
US Classification     345/473 345/418 345/474 345/619
Int'l Classification     G06T 017/00
Examiner     Vo; Cliff N.
Assistant Examiner    
Attorney/Law Firm     Christensen O'Connor Johnson Kindness PLLC
Address
Parent Case    
Priority Data    
USPTO Field of Search     345/418 345/473 345/474 345/619 345/434 345/435 345/436 345/437 345/438 345/439
Patent Tags     generating displaying slide show with animations transitions browser
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
6181342
Niblack
345/635
Jan,2001

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:

1. A method for generating a slide show for presentation by a viewing facility, the slide show being generated from a plurality of slides that were originally created for a slide show to be presented by another facility, comprising:

(a) saving each object in the plurality of slides created for presentation by the other facility in a corresponding series of pages, a page including each object associated with a corresponding slide;

(b) generating a size for a display space of each page, the size of the display space being related to a size of a container for a page, the container including each object in the page and each object in the container being displayable in the display space of the page;

(c) generating an animated object for each object in the page that is related to an animation of the object in the corresponding slide created for presentation by the other facility, the animated object being included in the container for the page;

(d) generating a queue for defining an order for the display of each object and each animated object in each container of each page and defining a time line for presenting the generated slide show; and

(e) employing the viewing facility to display the contents of each container for each page in accord with the order and the time line defined by the queue, so that the generated slide show is presented to a user in a graphical display related to the presentation by the other facility of the originally created slide show.

2. The method of claim 1, further comprising:

(a) generating an animated transition for each page that is related to an animation of the transition between the corresponding slide and the next slide in the slide show created for presentation by the other facility; and

(b) adding the animated transition to the time line of the queue, so that the animated transition is displayed between an end of presenting the page and starting the presentation of a next page for the generated slide show.

3. The method of claim 2, wherein generating the animated object and the animated transition further comprises:

(a) generating an object animation tag that is stored in the container for the page; and

(b) generating a transition animation tag that is stored in the container for the page.

4. The method of claim 3, wherein the object animation tag and the transition animation tag identify respective parameters including type, duration and order.

5. The method of claim 4, wherein the respective parameters for the object animation tag and the transition animation tag are employed to generate the queue that defines the order and time line for presenting the generated slide show.

6. The method of claim 1, further comprising selecting a mode for displaying the generated slide show, the mode including window and full screen, the size of the full screen mode being equivalent to the dimensions of a display displaying the generated slide show to the user.

7. The method of claim 1, further comprising:

(a) selecting an entry animation for each animated object; and

(b) selecting an exit animation for each animated object.

8. The method of claim 1, further comprising:

(a) selecting an entry sound for each animated object; and

(b) selecting of an exit sound for each animated object.

9. The method of claim 1, further comprising selecting a shape to be animated that is attached to the object, the object not being animated.

10. The method of claim 1, further comprising selectively ordering the presentation of each object and each animated object in each container of each page so that the queue defining the order for presenting the generated slide show is changed.

11. The method of claim 1, further comprising previewing the presentation of the generated slide show in a thumbnail display.

12. The method of claim 1, further comprising selecting the object in the page to not be animated.

13. The method of claim 1, further comprising:

(a) when the object in the page is selected, generating an animated object in the page; and

(b) enabling the selection of a trigger for a start of the animation for the animated object, the trigger including a time interval and selection of the animated object by a pointing device.

14. The method of claim 1, wherein the animation is an in-place animation, comprising: box in, box out, circle in, circle out, wipe up, wipe down, wipe right, wipe left, vertical blinds, horizontal blinds, checkerboard across, checkerboard down, random dissolve, split vertical in, split vertical out, strips left down, strips left up, strips right down, strips right up, random bars horizontal, random bars vertical, and random in-place animation.

15. The method of claim 1, wherein the animation is a nonscaled effect, comprising peek, crawl, and fly.

16. The method of claim 1, wherein the animation is a scaled effect, comprising spiral, zoom, stretch, and swivel.

17. The method of claim 1, further comprising playing a clip associated with the presentation of the generated slide show by the viewing facility, the clip including movie, sound and video.

18. The method of claim 17, further comprising selecting a start index and an end index for the sound clip associated with the presentation of the generated slide show.

19. The method of claim 17, further comprising selecting a continuously looped display of the movie clip associated with the presentation of the generated slide show.

20. The method of claim 17, further comprising selecting the movie clip to rewind after the movie clip is displayed.

21. The method of claim 17, further comprising pausing the presentation of the slide show when the clip is playing.

22. The method of claim 17, further comprising automatically ending the playing of the clip.

23. The method of claim 17, further comprising ending the playing of the clip after the presentation of a selected number of slides in the generated slide show by the viewing facility.

24. The method of claim 1, further comprising:

(a) generating a chart element animation tag for each chart element in the page that is related to the animation of the chart element in the corresponding slide created for presentation by the other facility, the chart element including legend, grid, text and graphics;

(b) generating an animated chart element for each chart element animation tag, the animated chart element being included in the container for the page; and

(c) adding the animated chart element to the queue, so that the animated chart element is presented in the generated slide show by the viewing facility.

25. The method of claim 24, further comprising:

(a) selecting an entry animation for each animated chart element; and

(b) selecting an exit animation for each animated chart element.

26. The method of claim 24, further comprising:

(a) selecting an entry sound for each animated chart element; and

(b) selecting an exit sound for each animated chart element.

27. The method of claim 24, further comprising selecting the order for displaying the animated chart element in the presentation of the generated slide show.

28. The method of claim 1, further comprising

(a) generating a size and a position for each object included in each page, the size and the position of each object being related to the size of the display space and being stored in the container of the page associated with the object; and

(b) determining if a dimension of a display is different than a corresponding dimension of the display space of the page and, if so,

(i) generating a scalar that is related to the difference in the dimension of the display and the corresponding dimension of the display space of the page, the scalar being employed to calculate another size for the display space of the page that is related to the size of a display and a default size of the page, the calculation of the other size of the display space causing the related size and position of the object to be changed in proportion to the other size of the display space; and

(ii) automatically relocating the graphical display of the display space of the page and the changed size and position of the object in the display, so that the user can view the object in the display space without having to scroll in the graphical display of the display space.

29. The method of claim 1, wherein the page, the display space and the object are encoded with a computer language selected from a group comprising HTML, DHTML, CGI, JavaScript, VBScript, and VRHTML.

30. The method of claim 29, further comprising employing a DIV tag to create sizes and positions for the page, the display space and the object that are percent based.

31. The method of claim 1, wherein the dimensions of the display space, page, and the dimensions and position of the object are measured in lines of resolution, so that the graphical display of the display space and the object automatically adjusts to the dimensions of a display.

32. The method of claim 1, wherein the graphical display of the object in the display space is automatically fitted to the size of the display when at least one of the dimensions of the display is dynamically changed.

33. The method of claim 1, wherein the viewing facility is a browser program.

34. The method of claim 1, wherein the viewing facility is a program module associated with another program including operating system, presentation, editor, spread sheet, desktop publisher, word processor, and database.

35. The method of claim 1, wherein the viewing facility presents the slide show to the user, further comprising a control for controlling the presentation of the slide show, the control performing functions that include advancing, reversing, pausing, and exiting when the control is selected.

36. The method of claim 1, wherein the page is scaleable to the size of the graphical display.

37. A computer-readable media having computer-executable instructions for performing the method recited in any one of claims 1, 2, 3, 6, 14, 15, and 16.

38. A method for generating a slide show for presentation by a viewing facility, the slide show being generated from a plurality of slides that were originally created for a slide show to be presented by another facility, comprising:

(a) employing a first facility for generating a scaleable page, the first facility implementing actions, including:

(i) saving each object in the plurality of slides created for presentation by the other facility in a corresponding series of scaleable pages, a scaleable page including each object associated with a corresponding slide;

(ii) generating a size for a display space of each scaleable page, the size of the display space being related to a size of a container for a scaleable page, the container including each object in the scaleable page and each object in the container being displayable in the display space of the scaleable page; and

(iii) generating a tag that is related to an animation in the corresponding slide created for presentation by the other facility, the tag being included in the container of the scaled page; and

(b) employing a second facility to determine when the viewing facility is selected to display the generated slide show, if true, the second facility implementing actions, including:

(i) generating an animated object for each tag, the animated object being included in the container for the scaleable page;

(ii) generating a queue for defining an order for the display of each object and each animated object in each container of each scaleable page and defining a time line for presenting the generated slide show; and

(iii) employing the viewing facility to graphically display the contents of each container for each scaleable page in accord with the time line defined by the queue, so that the viewing facility presents the generated slide show to a user in a graphical display related to the presentation by the other facility of the originally created slide show.

39. The method of claim 38, wherein the first facility is a module that is executed within the other facility that created the slide show for presentation by the other facility.

40. The method of claim 38, wherein the second facility is a module that is executed by the viewing facility.

41. A computer system for generating a slide show for presentation by a viewing facility, the slide show being generated from a plurality of slides that were originally created for a slide show to be presented by another facility, comprising:

(a) a memory that stores a plurality of logical instructions;

(b) a display for graphically displaying the object to a user; and

(c) a processor coupled to the memory, the processor implementing the logical instructions, including:

(i) saving each object in the plurality of slides created for presentation by the other facility in a corresponding series of scaleable pages, a scaleable page including each object associated with a corresponding slide;

(ii) generating a size for a display space of each scaleable page, the size of the display space being related to a size of a container for a scaleable page, the container including each object in the scaleable page and each object in the container being displayable in the display space of the scaleable page;

(iii) generating an animated object for each object in the scaleable page that is related to an animation of the object in the corresponding slide created for presentation by the other facility, the animated object being included in the container for the scaleable page;

(iv) generating a queue for defining an order for the display of each object and each animated object in each container of each scaleable page and defining a time line for presenting the generated slide show; and

(v) employing the viewing facility to graphically display the contents of each container for each scaleable page in accord with the time line defined by the queue, so that the viewing facility presents the generated slide show to a user in a graphical display related to the presentation by the other facility of the originally created slide show.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

The present invention relates to the graphical display of slides in a display, and more particularly, to a method and a system for translating slides into pages of animated and non-animated objects for graphical display as a slide show by a viewing facility such as a browser.

BACKGROUND OF THE INVENTION

Computer programs often have associated data files that are processed by the computer program during its normal execution. A data file can contain information that is processed and presented to a user either in a video presentation or an audio presentation, or a combination of video and audio. Presentation programs are examples of computer programs that process an associated data file.

Presentation programs enable a user to create, edit, manage, and perform "presentations" such as a slide show displayed by a computer. One example of a popular presentation program is "PowerPoint," available from "Microsoft Corporation", of Redmond, Washington. A slide show presentation includes a set of electronic "slides," each slide corresponding to one screen or page of output. An electronic slide may also be converted to a 35 mm or overhead transparency and displayed in a standard slide projector or overhead projector. Each slide contains one or more objects, such as text, graphical images, or graphic automation. A slide may also include a sound object or video that is played when the slide is displayed during a "slide show" performance.

A presentation program "performs" a slide show by sequentially displaying a series of slides contained within the slide show presentation. The slides are displayed on a computer screen or projected onto a separate surface. During a performance of a slide show, a "presenter" controls the performance by invoking commands to "advance" to the next slide. A command can be entered using a keyboard, a mouse, or another suitable input device.

Alternatively, an author of a slide show presentation can include slide "timings" with each slide. A slide timing corresponding to a slide indicates the number of seconds that the slide is displayed before the presentation program automatically advances to the next slide. During a performance of a slide show, a slide show presentation will automatically advance to the next slide when the existing slide's timing ends. An ordered sequence of slides is predetermined by a slide show presentation author. During a performance of a slide show, a presenter can enter commands to alter the sequence of slides.

The "PowerPoint" program enables a user to save a slide show in an associated slide presentation file, so that the slide show can be recreated at another location that has access to "PowerPoint" and the slide presentation file. Unfortunately, a presentation program such as "PowerPoint" is not commonplace and many computer users do not have access to this type of program. In the past, slide presentation files were often distributed on a storage medium that also contained at least a display only version of the presentation program for graphically displaying the slide show to a user with the information stored in the slide presentation file. Since there is limited space available on a contemporary storage medium that is intended for mass distribution, the number and size of slide presentation files that can economically be distributed in this manner is presently limited. Additionally, since a slide show included in a slide presentation file must be displayed with some version of a presentation program, additional effort is required to locate, purchase and install the program before the slide show can be graphically displayed to other users, if not previously installed.

An on-line information system typically includes one computer system (a server) that makes information available so that other computer systems (clients) can remotely access the information. The server manages access to the information, which can be structured as a set of independent on-line services. The server and client communicate via messages conforming to a communication protocol and sent over a communication channel such as a computer network or through a dial-up connection.

Information resources managed by the server may include files, databases, and programs on the server system or on an external computer system. The information that the server provides may simply be stored on the server, may be converted from other formats manually or automatically, may be computed on the server in response to a client request, may be derived from data and programs on the server or other machines, or may be derived by any combination of these techniques.

The user of an on-line service typically uses a browser program executed on the client system to access the information managed by the on-line service. The browser enables the user to selectively view, search, download, print, edit, and/or file the information managed by the server. On-line services are available on the World Wide Web (WWW, which operates over the global Internet. The Internet interconnects a large number of otherwise unrelated computers or sites. Similar services are available on private networks called Intranets that may not be connected to the Internet, and through local area networks (LANs). The WWW and similar private architectures provide a "web" of interconnected document objects. On the WWW, these document objects are located at various sites on the global Internet.

Among the types of document objects in an on-line service are documents and scripts. Documents that are published on the WWW are written in the Hypertext Markup Language (HTML). HTML documents can be created using programs specifically designed for that purpose or by executing script files. An HTML document includes a hierarchical set of markup elements; most elements have a start tag, followed by content, followed by an end tag. The content is a combination of text and nested markup elements. Tags, which are enclosed in angle brackets (`<` and `>`), indicate how the document is structured and how to display the document, as well as destinations and labels for hypertext links. There are tags for markup elements such as titles and headers, text attributes such as bold and italic, lists, paragraph boundaries, links to other documents or other parts of the same document, in-line graphic images, and for many other features.

The following lines of exemplary HTML code briefly illustrate how the language is used in a sample HTML document:

Some words are <B>bold</B>, others are <I>italic</I>. Here we start a new paragraph.<P>

Here's a hyperlink to the <A HREF="http://www.microsoft.com">Microsoft Corporation </A>home page.

This sample HTML document is a hypertext document because it contains a hypertext link to another document in the line that includes "HREF=. " The format of this link is described below. A hypertext document may also have a link to other parts of the same document. Linked documents may generally be located anywhere on the Internet. When a user is viewing the document using a browser, the links are displayed as highlighted words or phrases. For example, using a browser, the sample document above might be displayed on the user's screen as follows:

Some words are bold, others are italic. Here we start a new paragraph.

Here's a link to the Microsoft Corporation home page.

In a browser, the link may be selected, for example, by clicking on the highlighted area with a mouse. Typically, the screen cursor changes when positioned on a hypertext link. Selecting a link will cause the associated document to be displayed. Thus, clicking on the highlighted text "Microsoft Corporation" would fetch and display the associated home page for that entity. Similarly, the HTML language also provides a mechanism (the image or "IMG" element) that enables an HTML document to include an image that is stored as a separate file. When the end user views the HTML document, the included image is displayed as part of the document, at the point where the image element was positioned in the document. Also, when the user is viewing an HTML page that includes a display of a thumbnail image using a browser, a hyperlink connection from the thumbnail image to the original image can be activated by selecting the displayed thumbnail image. In this way, the original image is retrieved and graphically displayed when the user selects the thumbnail image.

One of the most commonly installed programs on a computer is a browser for graphically displaying an HTML page that may be accessed locally or through an on-line service connected to a network such as the Internet. The browser program may be a stand-alone program such as the "Microsoft Corporation's Internet Explorer" or the browser's functionality may be integrated into a computer operating system, e.g., the "Windows 98" operating system available from the "Microsoft Corporation." Although the browser is used to generate a graphical display of objects included in an HTML page, the dimensions of the browser's display window can differ from the dimensions initially coded for the display space of the page. The size of the browser's display window can vary according to the resolution of the video display or the window dimensions that are selected by a user.

In the prior art, one solution to this problem has been to create different HTML pages that are encoded for different video display resolutions in an HTML document. Another solution has been to create all of the HTML pages in a document at the lowest video display resolution offered by most video displays, e.g., 640.times.480. None of the prior art solutions solve the problem of automatically fitting the graphical display of an HTML page to a display window that has dimensions that are different than the dimensions initially encoded for the HTML page.

It is desirable to have a facility that enables a presentation program to generate an HTML document that includes a set of HTML pages that closely relate to each slide in a slide presentation file created by the program. Preferably, such a facility would enable another user to employ another program, such as a browser, that is already installed on the other user's computer to present a slide show with a graphical display of the HTML document by the browser. In this case, when the HTML document related to the slide show presentation is distributed to other users on a storage medium, the medium would not have to include a version of the presentation program. Since more of the capacity of the storage medium could be used for storing HTML documents related to slide show presentations, significantly larger slide show presentations could be distributed on the same storage medium.

Also, an HTML document corresponding to the slide show presentation could be distributed over a network as an information resource with an on-line service, so that another user could easily download the document to their computer and graphically display the HTML pages corresponding to the slides in the slide show presentation with an HTML-enabled facility already installed on the computer such as a browser program. It is also preferable that the facility would automatically fit the dimensions and positions of a graphical display of objects in an HTML page to a display and a window in the display when the size of the window dimensions are different than the display space of the HTML page.

Additionally, the slide show presentation may include animations that are either associated with objects in a slide and/or transitions between slides. The object animations could include scaled and nonscaled effects such as crawl, fly, zoom, stretch, spiral and swivel. The transition animation types could comprise dissolve, checkerboard, and wipe effects. Also, transition animations could be started automatically based on a predetermined time interval such as provided for in a "kiosk" style slide show and/or they could be selected, e.g., an input from a pointing device and/or a keyboard could cause an animated transition to occur.

It is also desirable to have a facility that enables the user to include both object and transition animations in an HTML document generated from a plurality of slides originally created with a presentation program. The animations would be closely related to the corresponding object and transition animations included in the slides that are used to generate the HTML document. Preferably, such a facility would enable different modes for graphically displaying the animations along with the contents of a scaleable HTML page in an HTML-enabled viewing program such as a browser. One mode might cause the browser to present the generated slide show in a window of the display and another might present the slide show as a full-screen display.

SUMMARY OF THE INVENTION

The present invention provides a method for generating a slide show for graphical display by a viewing facility. The slide show is generated from a plurality of slides that were originally created for a slide show to be presented with another facility. Each object in the plurality of slides originally created for presentation by the other facility is saved in a corresponding series of pages. The contents of the pages, e.g., an object disposed in a display space, are included in a container for the page. The size of the display space is related to the size of the container. Also, the size and position of the object in the display space of the page is related to the size of the page's display space.

The present invention generates an animated object for each object in the page that is related to an animation of the object in the corresponding slide created for presentation by the other facility. Each animated object is included in the container for the page. The present invention generates a queue for ordering the display of each object and each animated object in each container of each page. The queue defines an order and time line and for presenting the generated slide show to a user.

A viewing facility is employed to display the contents of each container for each page in accord with the order and time line defined by the queue. The generated slide show is presented to the user in a graphical display that is related to the intended presentation by the other facility of the originally created slide show.

In accordance with other aspects of this invention, an animated transition is generated for each page that is related to an animation of the transition between the corresponding slide and the next slide in the slide show created for presentation by the other facility. The animated transition is added to the queue, so that the animated transition is presented between the display of a slide in the generated slide show that corresponds to the page and a next slide in the generated slide show.

In accordance with further aspects of this invention, an object animation tag is generated for each animated object and stored in the container for the associated page. Similarly, a transition animation tag is stored in the container for the associated page. The object and transition animation tags identify respective parameters including type, duration and order. The respective parameters for the object animation tag and the transition animation tag are employed to generate the queue that defines the order and time line for presenting the generated slide show.

In accordance with another aspect of the present invention, the user may select a mode for displaying the generated slide show with the viewing facility. The selectable modes include a window and full screen. The size of the full screen mode is set equal to the dimensions of a display displaying the generated slide show to the user. Additionally, the user may separately select an entry and an exit animation and/or sound for each animated object. Also, the user may select a shape attached to a non-animated object to be animated.

In accordance with still further aspects of this invention, the user may reorder the display of each object and each animated object in each container of each page so that the queue defining the order and time line for presenting the generated slide show is changed. A preview of the presentation of the generated slide show may be selected for a thumbnail display. Also, the user may select an object in a page to be animated or not. The user may also select a trigger for starting the animation of the animated object. The trigger may include a time interval and the selection of the animated object by a pointing device.

In accordance with other aspects of this invention, the animation may be an in-place animation, comprising: box in, box out, wipe up, circle in, circle out, wipe down, wipe right, wipe left, vertical blinds, horizontal blinds, checkerboard across, checkerboard down, random dissolve, split vertical in, split vertical out, strips left down, strips left up, strips right down, strips right up, random bars horizontal, random bars vertical and random in-place animation. The animation may also be a nonscaled effect, including crawl, peek and fly. Further, the animation could be a scaled effect such as spiral, zoom, stretch, and swivel.

In accordance with still other aspects of this invention, a movie, sound and/or video clip may be played with the presentation of the generated slide show. The user may select a start index and an end index for the sound clip associated with the presentation of the generated slide show. The user may also select a continuously looped display of a movie clip or cause the clip to rewind after it is displayed. The presentation of the slide show may be paused when the clip is playing or automatically end when the playing of the clip is completed. Also, the playing of the clip may be selected to end after the presentation of a selected number of slides in the generated slide show by the viewing facility.

In accordance with further aspects of this invention, a chart element animation tag may be generated for each chart element in the page that is related to the animation of the chart element in the corresponding slide created for presentation by the other facility. An animated chart element is generated for each chart element animation tag and included in the container for the page. The chart element may include a legend, grid, text, and graphics. The animated chart element is added to the queue, so that it will be presented in the generated slide show by the viewing facility. The user may select an entry and exit animation and/or sound for each animated chart element. Also, the user may select the order for displaying the animated chart element.

In accordance with still further aspects of this invention, a size and a position for each object included in each page are generated, the size and the position of each object being related to the size of the display space and being stored in the container of the page associated with the object. The present invention determines if a dimension of a display is different than a corresponding dimension of the display space of the page. If so, a scalar is generated that is related to the difference in the dimension of the display and the corresponding dimension of the display space of the page. The scalar is employed to calculate another size for the display space of the page, which is related to the size of a display and a default size of the page. The calculation of the other size of the display space causes the related size and position of the object to be changed in proportion to the other size of the display space. The graphical display of the display space of the page and the changed size and position of the object are automatically relocated in the display, so that the user can view the object in the display space without having to scroll the graphical display of the display space.

Additionally, the page, the display space and the object may be encoded with a computer language selected from a group including HTML, DHTML, CGI, JavaScript, VBScript and VRHTML. The computer language may support a DIV tag to create sizes and positions that are percent-based for the scaleable page, the display space and the object.

In accordance with yet another aspect of this invention, the dimensions of the display space, scaleable, page and the dimensions and position of the object may be measured in the lines of resolution for the display. In this way, the graphical display of the display space and the object may be automatically adjusted to the dimensions of the display. Also, the graphical display of the object in the display space may be automatically fitted to the size of the display when at least one of the dimensions of the display is dynamically changed.

In accordance with other aspects of this invention, the viewing facility may be a browser program or a program module associated with another program including an operating system, presentation, editor, spread sheet, information organizer, and database. The viewing facility supports controls for advancing, reversing, pausing, and exiting the presentation of the slide show.

In accordance with other aspects of the invention, a first facility could be employed to generate the pages from the slide show created for presentation by the other facility and the second facility could be employed to generate the slide show for presentation by the viewing facility. Also, the first and second facilities could be program modules for the same program. Additionally, the first facility may be executed within the other facility that created the slide show for presentation by the other facility. Furthermore, the second facility may be executed by the viewing facility.

In accordance with still further aspects of the invention, a computer-readable medium may have computer-executable instructions for performing substantially the same method described above. Also, a computer system may implement logical instructions that similarly perform the above-identified method.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 displays an overview of an exemplary operating environment for the present invention;

FIG. 2 displays an overview of an exemplary presentation program for creating slides and translating the slides into slide HTML pages;

FIG. 3 shows an exemplary browser graphically displaying a slide HTML page that includes text and a graphic image;

FIG. 4 shows an exemplary embodiment of a graphical user interface window for selecting different scaling options in the graphical display of the slide HTML page;

FIG. 5 shows an exemplary HTML code listing that illustrates how different types of objects are nested in the slide HTML page;

FIGS. 6A, 6B, 6C and 6D show exemplary embodiments of graphical user interface windows for selecting different animation options in the graphical display of the slide HTML page;

FIG. 7 displays an overview of a method for a first facility to generate a slide HTML page for each corresponding slide created by the presentation program;

FIGS. 8A, 8B and 8C display an overview of a method for generating animation tags for images and text in the slide HTML page;

FIG. 9 displays an overview of a method for a second facility to present a slide show with animations, transitions, movies and audio clips with a series of slide HTML pages;

FIGS. 10A and 10B show an overview of a method for individually performing an animation for an animated object in the slide HTML page; and

FIG. 11 illustrates an overview of a method for using the actual animated shape to perform an animation with the browser.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention translates slides for a slide presentation into an HTML document that includes slide HTML pages for presenting a slide show with an HTML-enabled viewing facility such as a browser program. Also, the functionality of the viewing facility may be integrated with another program including presentation, editor, spread sheet, information organizer, and database. Typically, the slide presentation will include a plurality of slides that were previously created with a presentation program such as "PowerPoint." The present invention generates a slide HTML page for each slide and the page may include objects and animations that are substantially similar to the content of the slide. Generally, a first facility translates at least one slide of the slide presentation that contains different types of objects, including animations, transitions, movies and audio clips, into a slide HTML page that includes corresponding objects. In one embodiment of the invention described below, slides with graphically displayable objects in a slide presentation file are used to generate a plurality of corresponding slide HTML pages. It is envisioned that other types of files that include slides and/or pages with graphically displayable objects could also be translated into slide HTML pages corresponding to each slide/page. These other types of files might be created with other programs, including word processors, desktop publishers, spreadsheets, editors, and databases.

Additionally, the first facility may be used to define animations, movies and audio for the objects in the slide HTML page and animated transitions between the slide HTML pages. The present invention provides for either automatically and/or manually generating effects such as animations, movies and audio for objects and transition animations that may be either similar to the original effects in the slide presentation file or customized.

The present invention provides a second facility that automatically plays the animations, movies, audio clips and transitions of the objects included in the slide HTML page. The second facility may also automatically size and maintain the original aspect ratio for the objects in the slide HTML page when the page is graphically displayed in either a window or the full screen of the display, which may have dimensions that are different than the values originally encoded for the page.

Exemplary Operating Environment

FIG. 1 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional personal computer 20, including a processing unit 21, a system memory 22, and a system bus 23 that couples various system components, including the system memory, to the processing unit 21. The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read-only memory (ROM) 24 and random-access memory (RAM) 25. A basic input/output system 26 (BIOS), containing the basic routines that helps to transfer information between elements within the personal computer 20, such as during start-up, is stored in ROM 24. The personal computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD-ROM or other optical media. The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules, and other data for the personal computer 20. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 29 and a removable optical disk 31, it should be appreciated by those skilled in the art that other types of computer-readable media, which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random-access memories (RAMs), read-only memories (ROM), and the like, may also be used in the exemplary operating environment.

A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more programs 36, other program modules 37, and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.

The personal computer 20 may operate in a networked environment using logical connections