|
Claims  |
|
|
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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 | | |