U.S. patent application number 11/811775 was filed with the patent office on 2007-11-15 for system for creating media presentations of computer software application programs.
This patent application is currently assigned to JET Software, Inc.. Invention is credited to Alexandre Chailleux.
Application Number | 20070266324 11/811775 |
Document ID | / |
Family ID | 23406093 |
Filed Date | 2007-11-15 |
United States Patent
Application |
20070266324 |
Kind Code |
A1 |
Chailleux; Alexandre |
November 15, 2007 |
System for creating media presentations of computer software
application programs
Abstract
A system for producing presentations of computer application
programs. The system also allows the inclusion of advertising, or
other information, into a presentation. When the presentation is
viewed online, the ads can be updated by a central ad server. This
allows different ads to be inserted into the presentation,
tailoring ads to the viewer, etc. When the presentation is viewed
offline, default ads are kept in the presentation. Authoring
software is used to create a sequence of screenshot images of an
application program to be presented. Each screenshot is a slide in
the presentation and is displayed for an interval of time during
playback of the presentation. The authoring software also allows
control of cursor movement animation to be played back during the
presentation. Text description in the form of "bubble text," "memo
text," "questions," etc. can be specified along with the position,
size and other properties of the text. Various controls are
provided for selection, editing, arrangement of the slides.
Characteristics such as cursor shape, speed of movement, starting
and ending positions, alignment, etc. can be set by the author. The
author can specify a "click area" in association with a question,
or prompt, to the viewer of the presentation. This allows the
presentation to ask the viewer to click on a button or control on a
slide and to detect whether the viewer has complied. In response,
additional feedback can be provided to the viewer as to whether the
proper action was performed or not. After an author completes a
sequence, the sequence is compressed into a small self-contained
package. In a preferred embodiment, the package includes two files
that can be played back without any dedicated engine or specialized
application that could require a separate download. A typical user
with a web browser can quickly obtain a presentation from the
Internet and play back the presentation instantly.
Inventors: |
Chailleux; Alexandre; (San
Jose, CA) |
Correspondence
Address: |
TOWNSEND AND TOWNSEND AND CREW, LLP
TWO EMBARCADERO CENTER
EIGHTH FLOOR
SAN FRANCISCO
CA
94111-3834
US
|
Assignee: |
JET Software, Inc.
San Jose
CA
95113-1810
Qarbon.com Inc.
San Jose
CA
95113
|
Family ID: |
23406093 |
Appl. No.: |
11/811775 |
Filed: |
June 11, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10665886 |
Sep 18, 2003 |
|
|
|
11811775 |
Jun 11, 2007 |
|
|
|
10121117 |
Apr 10, 2002 |
|
|
|
10665886 |
Sep 18, 2003 |
|
|
|
09357556 |
Jul 16, 1999 |
6404441 |
|
|
10121117 |
Apr 10, 2002 |
|
|
|
Current U.S.
Class: |
715/730 ;
345/473; 715/704; 715/856 |
Current CPC
Class: |
Y10S 715/977 20130101;
G06Q 10/00 20130101; G06F 3/0481 20130101; G06F 9/451 20180201;
G06F 40/106 20200101 |
Class at
Publication: |
715/730 ;
715/704; 345/473; 715/856 |
International
Class: |
G06F 3/00 20060101
G06F003/00; G06T 15/70 20060101 G06T015/70; G06F 3/048 20060101
G06F003/048 |
Claims
1-11. (canceled)
12. A method for creating with a computer system a presentation of
subject matter, comprising: generating from a computer application
program at least one screen display of subject matter of a
presentation; displaying at least a portion of the screen display;
displaying a cursor starting point; displaying a cursor ending
point; and controlling an animation of movement of a cursor for
creating the presentation of the subject matter.
13. The method of claim 12 additionally comprising storing at least
a portion of the screen display.
14. The method of claim 12 additionally comprising storing the
cursor starting point.
15. The method of claim 14 additionally comprising storing the
cursor starting point prior to displaying the cursor starting
point.
16. The method of claim 15 additionally comprising storing the
cursor starting point at the time of storing the at least one
screen display.
17. The method of claim 12 wherein said generating from a computer
application program at least one screen display comprises
generating a first screen display, and generating a second screen
display.
18. The method of claim 17 wherein said controlling animation of
movement of a cursor comprises receiving signals from a user input
device of the computer system to allow manipulation of a cursor
position and to specify cursor animation during playback of the
presentation of the subject matter.
19. The method of claim 12 additionally comprising displaying the
cursor starting point within the at least one screen display.
20. The method of claim 12 additionally comprising specifying a
cursor transition during playback of the presentation of the
subject matter.
21. The method of claim 20 wherein said specifying a cursor
transition comprises accepting signals from a user input device of
the computer system.
22. The method of claim 12 additionally comprising displaying text
in association with the at least one screen display.
23. The method of claim 22 wherein said displaying text comprises
accepting signals from a user input device of a computer
system.
24. The method of claim 12 additionally comprising compressing the
presentation prior to a playback of the presentation of the subject
matter.
25. The method of claim 12 wherein said generating from a computer
application program at least one screen display comprises executing
the computer application program.
26. The method of claim 12 additionally comprising manipulating the
at least one display screen for placing the display screen in a
sequence for the presentation of the subject matter.
27. The method of claim 12 additionally comprising editing the at
least one display screen by adding text to the at least one display
screen.
28. The method of claim 12 additionally comprising indicating a
number for the display screen for placing the display screen at a
location in a sequence of display screens.
29. The method of claim 12 additionally comprising playing the
presentation of the subject matter, and controlling the animation
of movement of the cursor during the playing of the presentation of
the subject matter.
30. The method of claim 12 wherein said controlling an animation of
movement of a cursor is between the cursor starting point and the
cursor ending point.
31. The method of claim 12 additionally comprising previewing the
animation of movement of the cursor.
32. The method of claim 12 additionally comprising controlling an
amount of time for displaying the at least one display screen.
33. The method of claim 12 additionally comprising controlling a
sequence of the presentation of the subject matter.
34. A system to implement the method of claim 12.
35. A computer to implement the method of claim 12.
36. A method for creating with a computer system a presentation of
subject matter, comprising: generating from a visual information
application at least one screen display of subject matter of a
presentation; displaying at least a portion of the screen display;
and animating a cursor, in response to a signal from a user input
device of a computer system, for creating the presentation of the
subject matter.
37. The method of claim 36 wherein said animating a cursor
comprises animating a cursor between a cursor starting point and a
cursor ending point.
38. The method of claim 36 additionally comprising displaying a
cursor starting point; and displaying a cursor ending point.
39. The method of claim 36 wherein said visual information
application comprises images viewed on a viewer.
40. The method of claim 36 wherein said visual information
application comprises web pages.
41. The method of claim 36 wherein said visual information
application comprises an operating system display.
42. The method of claim 36 wherein said visual information
application comprises a digital video.
43. The method of claim 36 wherein said visual information
application comprises an application program.
44. A method for creating a screen shot presentation from a
computer application program, comprising: generating from a
computer application program at least one screen shot; displaying
at least a portion of the screen shot; designating a cursor
starting point; designating a cursor beginning point; and
manipulating a cursor position for specifying an animation of a
cursor to create a screen shot presentation from the computer
application program.
45. A method for producing with a computer system a presentation of
subject matter comprising: generating from a computer application
program at least one screen display of subject matter of a
presentation; displaying at least a portion of the screen display;
displaying a cursor starting point; displaying a cursor ending
point; and playing the at least one screen display of subject
matter of the presentation while controlling an animation of
movement of a cursor during the playing of the screen display for
producing the presentation of the subject matter.
46. A method for using a computer system to create a presentation
of subject matter, comprising: generating from a visual-information
application at least one screen display of subject matter of a
presentation; storing at least a portion of the at least one screen
display to produce at least one stored screen display portion;
storing at least one cursor position at the time of storing the at
least one screen display to produce at least one stored cursor
position; displaying the at least one stored screen display
portion; displaying the at least one stored cursor position; and
accepting signals from a user input device of a computer system to
allow manipulation of a cursor position.
47. The method of claim 46 wherein said accepting signals from a
user input device of a computer system specifies cursor animation
during playback of the presentation of the subject matter.
48. A computer-readable media for directing a computer system to
create a presentation of subject matter, comprising: instructions
for generating from a visual information application at least one
screen display of subject matter of a presentation; instructions
for displaying at least a portion of the screen display; and
instructions for animating a cursor, in response to a signal from a
user input device of a computer system, for creating the
presentation of the subject matter.
49. The computer-readable media of claim 48 wherein said
instructions for animating a cursor comprises instructions for
animating a cursor between a cursor starting point and a cursor
ending point.
50. The computer-readable media of claim 48 additionally comprising
instructions for displaying a cursor starting point; and
instructions for displaying a cursor ending point.
51. The computer-readable media of claim 48 wherein said visual
information application comprises images viewed on a viewer.
52. The computer-readable media of claim 48 wherein said visual
information application comprises web pages.
53. The computer-readable media of claim 48 wherein said visual
information application comprises an operating system display.
54. The computer-readable media of claim 48 wherein said visual
information application comprises a digital video.
55. The computer-readable media of claim 48 wherein said visual
information application comprises an application program.
56. A computer incorporating the computer readable media of claim
48.
57. An operating system incorporating the computer-readable media
of claim 48.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] The present application is a divisional application of U.S.
patent application Ser. No. 10/121,117, filed Apr. 10, 2002,
entitled "SYSTEM FOR INCLUDING ADVERTISING IN A PRESENTATION OF
INFORMATION", now abandoned, which in turn is a divisional
application of U.S. patent application Ser. No. 09/357,556, filed
Jul. 16, 1999, entitled "SYSTEM FOR CREATING MEDIA PRESENTATIONS OF
COMPUTER SOFTWARE APPLICATION PROGRAMS", now U.S. Pat. No.
6,404,441, the disclosures of which are incorporated by reference
herein.
COPYRIGHT NOTICE
[0002] A portion of the disclosure recited in the specification
contains material which is subject to copyright protection.
Specifically, a Microfiche Appendix in accordance with 37 CFR
Section 1.96 is included that lists source code instructions for a
process by which the present invention is practiced in a computer
system. The Microfiche Appendix comprises 13 sheets of microfiche
containing 1180 frames, or pages, of source code. The copyright
owner has no objection to the facsimile reproduction of the
specification as filed in the Patent and Trademark Office.
Otherwise all copyright rights are reserved.
BACKGROUND OF THE INVENTION
[0003] This invention relates in general to computer software and,
more specifically, to a system that allows the creation of a
demonstration presentation of computer software, or other computer
information.
[0004] Today, computer software application programs are an
important, and prevalent, product. Computer software is used in
virtually every facet of our lives including business, commerce,
education and entertainment. Software has proven to be very popular
and effective in performing in a wide variety of applications.
[0005] However, as computing resources and power have increased, so
has the size and complexity of software programs. In order to allow
human users to effectively operate these more complex application
programs, sophisticated graphical user interfaces (GUIs) have been
developed. Naturally, this increased complexity and sophistication
requires that a new user spend considerable time learning, or being
trained in, the operation of the software. Traditionally, such
training has occurred on a person-to-person basis. As, for example,
where an instructor and trainees meet face-to-face in a classroom.
The use of written manuals, prerecorded videotapes, audiotapes,
etc. are also an aid to new users' understanding of software
applications. However, these traditional approaches to training in
computer programs leaves something to be desired.
[0006] For example, considerable time and effort is required in
instructor training and preparation; writing, publishing and
maintaining effective references (either electronic or hard copy);
producing a video or audiotape, etc. Also, these traditional
approaches tend to be insufficient to support a new user's ongoing
need for instruction in the software application. This is
particularly true where, as with today's software, a user is
constantly exposed to new features in the program, or needs to know
of a new feature, and thus requires immediate instruction. Often
manuals are unwieldy and difficult to index and access. Other
media, such as video and audiotape, does not provide an effective
means for obtaining the training information. Further, these
traditional methods are not convenient for a user to access while
the user is operating the application program and is suddenly
struck with a problem or faced with a question.
[0007] Although "on-line help" forms of information have become
popular, on-line help has much of the same characteristics as
traditional manuals, providing only slight advantages over hard
copy manuals by allowing searches. Although electronic on-line help
is immediately accessible at a user's computer, the online help
tends to be "static," in that the electronic manuals mimic a
hardcopy presentation of information in the form of pages of text
along with illustrations.
[0008] A problem with on-line help, or electronic manuals, is that
reference to the complex user interface controls and displays is
purely by way of text. Often a user is directed through many steps
in a confusing way. For example, a user may be asked to "open
Window B, click on button X, pull down menu Y, highlight item Z,
and enter a number into the resulting dialog box." At each of the
steps in the previous instruction, the user's display may change as
the user operates the GUI so that the user must hunt for the next
item to be selected, or activated. This can be confusing to the
user as the user attempts to correlate a text description with
visual controls that are spread out over the screen and may
reappear, disappear or change. At any step in the way, the user is
prone to making a mistake and heading down the wrong path. The user
may not realize that they have taken the wrong path until a few
steps have passed. In this case the user is unaware of exactly
where the wrong step was taken.
[0009] Electronic manuals often include "screen shots," or still
pictures of the user interface, which are included adjacent to text
in the electronic manual. While this helps improve a user's
understanding of how to operate the user interface, it is still a
static representation of the user interface that requires
association of text in separate paragraphs to the image being
presented. In such static presentation the user fails to get a feel
for how the user interface is actually being operated. Also, it is
not trivial for an author to compile such a manual by writing text,
obtaining screen shots, inserting the screen shots into the text,
correlating the screen shots to the text, etc.
[0010] Thus, it desirable to provide a product that allows an
author to easily create presentations that are dynamic, and
effective, in presenting information, such as the operation of a
computer application program.
[0011] The rise in popularity of the Internet as a distribution and
commerce medium for software and other digital information has also
given rise to a greater need for effective presentation of
information. One such need is the need to demonstrate the features,
aspects and functionality of computer software to potential users,
or purchasers. This is necessitated by the Internet since, unlike
walking into a store and speaking with a salesman, purchasers over
the Internet may have to make a buying decision without being able
to operate a fully functional version of the software. Another use
for such presentations is to assist users in running their current
application programs, operating systems, utilities, etc. Again,
because of the complexity in the application programs, and their
GUIs, the need for a detailed, and precise, presentation of the
steps, and operation, of the software is of vital importance.
[0012] Thus, it is desirable to provide a product that allows the
creation of effective and efficient presentation of application
programs, operating systems, utilities, and other computer
information in a simple way. It is desirable for the resulting
presentation to be compact and viewable without specialized
programs. This is especially true where such presentations may be
transferred over, downloaded, or otherwise obtained from networks
of restricted bandwidth, such as the Internet.
[0013] Another recently emerging aspect of software in general, and
of the Internet in particular, is advertising. Ads designed to sell
products or services is a fast-growing aspect of electronic
commerce (E-commerce). Typically, such ads take the form of
"banners" on Web pages which are viewable when a user is on-line
and viewing a Web page that includes a banner ad.
[0014] Another aspect of Internet e-commerce is in the method of
distribution, marketing and sale of computer software. Such
approaches as "shareware," "demoware," "trialware," etc., are
designed to allow users to experience a software product before
purchasing the product. Typically, these approaches allow a user to
operate a software product for a limited amount of time, or allow a
user to operate a software product that has less than the full
feature set. However, users will often use the product through the
free trial period and then not purchase the product. Additionally,
some users may continuously download new copies of the time-limited
product so that they can continue using the product without paying.
Still another problem is that such time restrictions are relatively
easy to defeat for "hackers" who might modify the software, system
timer, operating system, etc. Similarly, in the approach where some
features of the software product are disabled, users may continue
to use the software without being hampered too much by the disabled
features. This allows a user to essentially use the software for
free, indefinitely. Also, this type of software is still
susceptible to hacking.
[0015] Thus, it is desirable to provide a revenue model for
software manufacturers whereby users can obtain use of software
while the manufacturer is assured of some revenue return.
SUMMARY OF THE INVENTION
[0016] The present invention provides a system for easily producing
presentations of computer application programs. The system also
provides for including advertising information in the produced
presentations when an unpaid-for version of the system's software
is being used. When the presentation is viewed online, the ads can
be updated by a central ad server. This allows different ads to be
inserted into the presentation, tailoring ads to the viewer, etc.
When the presentation is viewed offline, default ads are kept in
the presentation.
[0017] The system provides authoring software for creating a
sequence of screenshot images of an application program to be
presented. Each screenshot is a slide in the presentation and is
displayed for an interval of time during playback of the
presentation. The authoring software also allows an author to
control cursor movement animation to be played back during the
presentation. Text description in the form of "bubble text," "memo
text," "questions," etc. can be specified along with the position,
size and other properties of the text. Various controls are
provided for selection, editing, arrangement of the slides.
Characteristics such as cursor shape, speed of movement, starting
and ending positions, alignment, etc. can be set by the author.
[0018] The author can specify a "click area" in association with a
question, or prompt, to the viewer of the presentation. This allows
the presentation to ask the viewer to click on a button or control
on a slide and to detect whether the viewer has complied. In
response, additional feedback can be provided to the viewer as to
whether the proper action was performed or not.
[0019] After an author completes a sequence, the sequence is
compressed into a small self-contained package. In a preferred
embodiment, the package includes two files that can be played back
without any dedicated engine or specialized application that could
require a separate download. A typical user with a web browser can
quickly obtain a presentation from the Internet and play back the
presentation instantly.
[0020] In one embodiment the invention provides a method for using
a computer system to create a presentation of subject matter. The
method includes generating a first screen display of the subject
matter; storing at least a portion of the first screen display
along with the cursor position at the time of storing; generating a
second screen display of the subject matter; storing at least a
portion of the second screen display along with the cursor position
at the time of storing; displaying the stored portion of the first
screen display along with a display of both cursor positions; and
accepting signals from the user input device to allow manipulation
of the cursor position to specify cursor animation during playback
of the presentation.
[0021] Another aspect of the invention provides a system for
including advertising in a presentation of information on a
computer. The system provides for using an authoring program to
generate a presentation for playback on a computer system;
inserting a link to an advertisement source into the presentation;
and displaying an advertisement obtained from the advertisement
source during playback of the presentation.
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] FIG. 1 illustrates the basic approach of the invention;
[0023] FIG. 2A is an illustration of computer system suitable for
use with the present invention;
[0024] FIG. 2B shows subsystems in the computer system of FIG.
2A;
[0025] FIG. 2C is a generalized diagram of a typical network;
[0026] FIG. 3 is a first screen display to illustrate the operation
of the invention;
[0027] FIG. 4 is a next screen display to illustrate the operation
of the invention;
[0028] FIG. 5 is a next screen display to illustrate the operation
of the invention;
[0029] FIG. 6 is a next screen display to illustrate the operation
of the invention;
[0030] FIG. 7 is a next screen display to illustrate the operation
of the invention;
[0031] FIG. 8 is a next screen display to illustrate the operation
of the invention;
[0032] FIG. 9 is a next screen display to illustrate the operation
of the invention;
[0033] FIG. 10 is a next screen display to illustrate the operation
of the invention;
[0034] FIG. 11 is a next screen display to illustrate the operation
of the invention;
[0035] FIG. 12 is a next screen display to illustrate the operation
of the invention;
[0036] FIG. 13 is a next screen display to illustrate the operation
of the invention;
[0037] FIG. 14 is a next screen display to illustrate the operation
of the invention;
[0038] FIG. 15 is a next screen display to illustrate the operation
of the invention;
[0039] FIG. 16 is a next screen display to illustrate the operation
of the invention;
[0040] FIG. 17 is a next screen display to illustrate the operation
of the invention; and
[0041] FIG. 18 is a final screen display to illustrate the
operation of the invention.
DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
[0042] The present invention includes several aspects. An authoring
program is used by an author to create a presentation. The subject
of the presentation is typically an application program but can, in
general, be any information displayed on a computer. The authoring
program uses screenshots of the information as the basis for
creating a presentation, or "sequence," of the information. The
author can add cursor movements, text, user interaction, and can
control the sequence. A human viewer, or user, plays back the
presentation at a later time. The presentation is a self-contained
file or set of files that is compacted for efficient transport,
download and storage. The files are decompressed prior to playback.
One version of the authoring program inserts advertising
information into the presentation so that the advertisement is
visible to a viewer during playback of the presentation.
[0043] A preferred embodiment of the present invention is the
authoring program called "Leelou," manufactured by J.E.T. Software.
The source code for Leelou is provided with this application in the
source code Appendix. The Appendix should be consulted for details
about the invention. The source code Appendix includes code for an
authoring program and player. The authoring tool uses Java 1.1.6+
virtual machine and the player uses the browser's Java 1.1.5+. The
authoring tool also contains a small amount of C code for the
screen capture.
[0044] Additionally, a hardcopy appendix has been included in U.S.
patent application Ser. No. 10/121,117, filed Apr. 10, 2002,
entitled "SYSTEM FOR INCLUDING ADVERTISING IN A PRESENTATION OF
INFORMATION" which is incorporated herein by reference. The
hardcopy appendix describes the application programming interface
(API) for the Leelou product and the class hierarchy of the objects
used in the program.
[0045] The invention is presented below and is discussed in
connection with the Figures. First, an overview of the inventions
is presented. Next, standard hardware appropriate for use with the
present invention is described. Next, features of the Leelou
authoring software are discussed. Finally, the approach of using
advertisements in certain of the finished presentations is set
forth.
Overview of the Invention
[0046] FIG. 1 illustrates the basic approach of the invention. In
FIG. 1, the invention provides an authoring program, Leelou, for
use by an author to create a sequence of slides along with
animations, text and other features for playback at a later time.
This is referred to as a presentation that is viewed by a user, or
viewer. The authoring program includes basic steps of having the
author create screenshots, or slides of an application program, or
other information. After screenshots are obtained, the author can
further manipulate the screenshots to put them into sequence for a
presentation. The author adds cursor movement, cursor transitions,
descriptive text, interactive clickable areas and other features,
explained in detail, below. The author finalizes the presentation
as a Java applet that can be viewed with a web browser. The applet
is provided to an end user for playback. The applet is
self-contained and can be viewed in a Java-enabled browser without
the need for downloading additional executables, plug-ins, etc.
[0047] A user can download and view the applet at any time.
Sequence controls, similar to videocassette recorder controls, are
provided to facilitate playback of the presentation. An added
aspect of the invention allows presentations to include
advertising. In one mode of advertising, an advertisement can be
controlled by an ad server over the Internet. This allows a
high-degree of customization and updating of advertisements.
Description of Hardware
[0048] FIG. 2A is an illustration of computer system 1 including
display 3 having display screen 5. Cabinet 7 houses standard
computer components (not shown) such as a disk drive, CDROM drive,
display adapter, network card, random access memory (RAM), central
processing unit (CPU), and other components, subsystems and
devices. User input devices such as mouse 11 having buttons 13, and
keyboard 9 are shown. Other user input devices such as a trackball,
touch-screen, digitizing tablet, etc. can be used. In general, the
computer system is illustrative of but one type of computer system,
such as a desktop computer, suitable for use with the present
invention. Computers can be configured with many different hardware
components and can be made in many dimensions and styles (e.g.,
laptop, palmtop, pentop, server, workstation, mainframe). Any
hardware platform suitable for performing the processing described
herein is suitable for use with the present invention.
[0049] FIG. 2B illustrates subsystems that might typically be found
in a computer such as computer 100. In FIG. 2, subsystems within
box 20 are directly interfaced to internal bus 22. Such subsystems
typically are contained within the computer system such as within
cabinet 7 of FIG. 2A. Subsystems include input/output (I/O)
controller 24, System Random Access Memory (RAM) 26, Central
Processing Unit (CPU) 28, Display Adapter 30, Serial Port 40, Fixed
Disk 42 and Network Interface Adapter 44. The use of bus 22 allows
each of the subsystems to transfer data among the subsystems and,
most importantly, with the CPU. External devices can communicate
with the CPU or other subsystems via bus 22 by interfacing with a
subsystem on the bus. Monitor 46 connects to the bus through
Display Adapter 30. A relative pointing device (RPD) 48 such as a
mouse connects through Serial Port 40. Some devices such as
Keyboard 50 can communicate with the CPU by direct means without
using the main data bus as, for example, via an interrupt
controller and associated registers (not shown).
[0050] As with the external physical configuration shown in FIG.
2A, many subsystem configurations are possible. FIG. 2B is
illustrative of but one suitable configuration. Subsystems,
components or devices other than those shown in FIG. 2B can be
added. A suitable computer system can be achieved without using all
of the subsystems shown in FIG. 2. For example, a standalone
computer need not be coupled to a network so Network Interface 44
would not be required. Other subsystems such as a CDROM drive,
graphics accelerator, etc. can be included in the configuration
without affecting the performance of the system of the present
invention.
[0051] FIG. 2C is a generalized diagram of a typical network. In
FIG. 2C, the network system 80 includes several local networks
coupled to the Internet. Although specific network protocols,
physical layers, topologies, and other network properties are
presented herein, the present invention is suitable for use with
any network.
[0052] In FIG. 2C, computer USERI is connected to Server1. This
connection can be by a network such as Ethernet, Asynchronous
Transfer Mode, IEEE standard 1553bus, modem connection, Universal
Serial Bus, etc. The communication link need not be a wire but can
be infrared, radio wave transmission, etc. Server1 is coupled to
the Internet. The Internet is shown symbolically as a collection of
server routers 82. Note that the use of the Internet for
distribution or communication of information is not strictly
necessary to practice the present invention but is merely used to
illustrate a preferred embodiment, below. Further, the use of
server computers and the designation of server and client machines
is not crucial to an implementation of the present invention. USER1
Computer can be connected directly to the Internet. Server1's
connection to the Internet is typically by a relatively high
bandwidth transmission medium such as a T1 or T3 line.
[0053] Similarly, other computers at 84 are shown utilizing a local
network at a different location from USER1 computer. The computers
at 84 are coupled to the Internet via Server2. USER3 and Server3
represent yet at third installation.
[0054] Note that the concepts of "client" and "server," as used in
this application and the industry, are very loosely defined and, in
fact, are not fixed with respect to machines or software processes
executing on the machines. Typically, a server is a machine or
process that is providing information to another machine or
process, i.e., the "client," that requests the information. In this
respect, a computer or process can be acting as a client at one
point in time (because it is requesting information) and can be
acting as a server at another point in time (because it is
providing information). Some computers are consistently referred to
as "servers" because they usually act as a repository for a large
amount of information that is often requested. For example, a World
Wide Web (WWW, or simply, "Web") site is often hosted by a server
computer with a large storage capacity, high-speed processor and
Internet link having the ability to handle many high-bandwidth
communication lines.
[0055] A server machine will most likely not be manually operated
by a human user on a continual basis, but, instead, has software
for constantly, and automatically, responding to information
requests. On the other hand, some machines, such as desktop
computers, are typically thought of as client machines because they
are primarily used to obtain information from the Internet for a
user operating the machine.
[0056] Depending on the specific software executing at any point in
time on these machines, the machine may actually be performing the
role of a client or server, as the need may be. For example, a
user's desktop computer can provide information to another desktop
computer. Or a server may directly communicate with another server
computer. Sometimes this is characterized as "peer-to-peer,"
communication. Although processes of the present invention, and the
hardware executing the processes, may be characterized by language
common to a discussion of the Internet (e.g., "client," "server,"
"peer") it should be apparent that software of the present
invention can execute on any type of suitable hardware including
networks other than the Internet.
[0057] Although software of the present invention, may be presented
as a single entity, such software is readily able to be executed on
multiple machines. That is, there may be multiple instances of a
given software program, a single program may be executing on two or
more processors in a distributed processing environment, parts of a
single program may be executing on different physical machines,
etc. Further, two different programs, such as a client and server
program, can be executing in a single machine, or in different
machines. A single program can be operating as a client for one
information transaction and as a server for a different information
transaction.
Creation of a Presentation Sequence
[0058] A first step in creating a presentation sequence of an
application is to create, or "open" a new file that has the name of
the presentation. In the preferred embodiment, sequence, or
presentation, files have the extension ".leelou". The file name is
used to identify all files associated with playing back the named
sequence, or presentation.
[0059] The basis of the sequence is a series of screen shots, or
displays, that are selected for presentation to a viewer of the
sequence. The Leelou program allows a human operator to select
screen shots, designate cursor movements, define "bubble" text,
etc., in order to create a sequence. Other embodiments may automate
the process where, for example, another computer program
automatically performs one or more of the authoring steps described
herein.
[0060] In order to obtain screen shots the author simply executes
the software application that is to be the subject of the sequence.
It is assumed that the software application generates displays. In
the Leelou product, screenshots are captured during the
application's execution when the author depress a keyboard key,
such as the "pause" key.
[0061] Next, the author selects a screen resolution for the
screenshots. For example, common resolutions are 640.times.480,
800.times.600 and 1024.times.768. Note that the step of setting a
resolution is necessitated by the specifics of today's operating
systems, display hardware, drivers, etc. In the future, this step
may not be necessary or, if necessary, can be automated so that it
is not performed by the author.
[0062] The screen resolution is selected to be a lower resolution
than the resolution at which the sequence will ultimately be
replayed, or viewed. Screenshots taken at a selected resolution
need to be viewed at a higher resolution in order for the operating
system's window that displays the screenshot to be fully usable.
The window, and this resolution requirement, are a result of using
traditional operating systems, such as Microsoft's Windows
operation systems, to later display the screen shots in a way that
is familiar to users of computer systems. Different operating
systems may not require displaying the sequence at a higher
resolution than that at which the screenshots were captured. In the
preferred embodiment, however, since a screenshot can occupy the
entirety of the display screen, and since the screenshot will be
displayed within a window which has peripheral controls such as a
maximize/minimize button, title bar, etc.; the combination of the
window and screenshot needs to be viewed at a higher resolution
than that at which the screenshot was initially captured.
[0063] FIG. 3 shows the dialogue box used in Leelou to allow the
sequence author to select a resolution. Predefined resolutions of
640.times.480, 800.times.600 and 1024.times.768 are possible.
Alternatively, a custom size can be selected. Also, the author can
decide to have screenshots taken of the active window by selecting
the so-named option in the dialogue box. Also shown in the dialogue
box is the name of the Leelou file to which the screenshots will be
stored.
[0064] After the screen resolution has been set, the "done" button
is pressed. At this point, the author minimizes the Leelou program
and launches, or runs, the application program which is to be the
subject of the sequence. During the running of the application
program, the user depresses the "pause" key on the keyboard at each
desired screenshot. The user can also position the cursor within
the screenshot, as desired, to facilitate the presentation and
description of the application program later.
[0065] FIG. 6 shows the display in Leelou after several screenshots
have been taken. The application program that is the subject of the
screenshots is the standard calculator program provided in the
Microsoft Windows 95 operating system.
[0066] As shown in FIG. 6, 4 screenshots corresponding to slides #1
through #4 are displayed.
[0067] FIG. 5 shows a display of the application program executing.
In FIG. 5, the calculator program is created at the display at the
center of the screen. The sequence author is operating the
calculator interface and can depress the "Pause" key at any time in
order to capture a screenshot into the Leelou file. While
screenshots are being taken, the number of screenshots currently
taken can be determined by moving the mouse pointer over the Leelou
button in the taskbar as shown in FIG. 5. After all screenshots
have been taken, the author reactivates the Leelou program
interface by depressing its button on the task bar.
[0068] When the Leelou program is re-activated, the author
depresses the "Done" button. Leelou then compresses the captured
screenshots and displays them as reduced slides so that multiple
screenshots will fit on a single display screen as shown in FIG. 6.
In general, the ".leelou" files are compressed before storing them
to the hard disk, and are decompressed when retrieving the file
from the hard disk so that the screenshots and other information
can be readily accessed from RAM.
[0069] FIG. 6 shows the four slides captured as screenshots during
the execution of the calculator application program. In the
preferred embodiment, the display resolution is set to a higher
resolution than that at which the screenshots were made. The view
shown in FIG. 6 is referred to as the "main" view. By depressing
button 200, a "list" view can also be made visible as shown in FIG.
7.
[0070] Individual slides can be selected, brought into an edit view
for editing, rearranged and otherwise manipulated by using either
the main or list views. The slides can be selected by clicking on
the slide's name, or graphic representation, in either of the
views. Slide names can be changed by double clicking on the text
for the slide name in either of the views. Slides can be edited by
double clicking on the slide graphic in the main view. Slides can
be copied, moved or duplicated within these views. Slides, or other
images, can also be imported into the list and main views so that
previously acquired screenshots, pre-made graphics, photographs,
etc. can be incorporated into the sequence. The preferred
embodiment of the present invention supports both .gif and .jpg
formats of images.
[0071] Double-clicking on a slide's graphic in the main view causes
that slide to be brought into an "edit" view. FIG. 8 shows the
Leelou display after slide #1 has been double clicked to bring it
into the edit view.
[0072] FIG. 8 shows the Leelou display of frame #1 in the edit
view. In FIG. 8, the Leelou control buttons are along the right
side of the window. The title of the sequence file is displayed in
the title bar at the top along with pull-down menu headers, as
shown.
[0073] The numeral "1" at 202 indicates what number the slide is in
the overall sequence. By right-clicking on this number, a list is
brought up of all of the slides in the sequence. Any item in the
list can be clicked to bring that respective slide into the edit
view. By left-clicking on the slide number at 202, the slide number
can be changed to bring up the slide corresponding to the new
number. Buttons immediately below, and above (not shown) the slide
number at 202 move forward, and backward, respectively, within the
slide sequence. The button at 204 can be depressed to return to the
main view.
[0074] Other buttons on the Leelou button bar at the right of the
window of FIG. 8 include, from top to bottom, functions of
"add/remove cursor," "add/remove balloon," "add/remove memo,"
"add/remove click zone" and "show/hide control panel." The use of
these buttons is described below.
[0075] Editing and checking of the cursor shape and movement can be
performed within the edit view as, for example, shown in FIG.
8.
[0076] For each slide, the starting cursor position is shown in a
light gray circle while the ending cursor position is shown in a
darker circle. In the actual leelou interface, extensive use is
made of colors which are not reproduced in the Figures of this
application. The starting, or "current," cursor position is
actually indicated with a green circle and the ending cursor
position is shown at a blue circle. This is reproduced in the black
and white figures as current cursor position at 220 and ending
cursor position at 222 of FIG. 8. A dialogue box for positioning
and selecting the cursor shape, is brought up by right-clicking on
the current cursor location at 220.
[0077] FIG. 9 shows the display after the cursor options dialogue
box has been opened by right-clicking at the cursor's current
position at 220 of FIG. 8.
[0078] In FIG. 9, a cursor type can be selected from a list of
different cursor images at 224. The cursor can be made to align
with the cursor position of the slide previous to the slide being
edited. Also, the cursor position can be made to align with the
cursor position of the slide following the slide being edited. Or,
the cursor position can be made to reside in the current position
as indicated by the green, or lighter shaded, circle. Once the
cursor's shape and alignment has been selected, the dialogue box is
exited by depressing the "ok" button.
[0079] The cursor current position can be changed by clicking and
dragging the current cursor position circle to any point on the
slide or within the Leelou window.
[0080] The add/remove cursor button at 226 can be used to hide the
cursor graphic and current location circle.
[0081] A button to add or remove balloon text is at 228 in FIG. 9.
FIG. 10 shows the display including a balloon text dialogue box
that appears after the "add/remove balloon" button is depressed.
Text can be entered into the balloon text box. In FIG. 10, the text
"Use the keypad to enter a value" has been entered in the dialogue
box. After entering text, the pointer is moved and a point outside
of the balloon text box is clicked to close the text entry. When
the cursor is again placed within the closed balloon text box, as
shown in FIG. 10, various controls appear within the balloon text
box. These controls allow the resizing, moving and closing of the
balloon text. Also, by clicking on the down-arrow control in the
balloon text box, or by right-clicking within the balloon text box
and selecting options in the pop-up menu, further balloon options
are presented in another dialogue box. These are shown in FIG. 12.
The dialogue box in FIG. 12 allows a sequence author to select the
balloon shape and color. For example, the result of repositioning,
resizing, and selecting a red color with a left pointer to the
balloon of FIG. 11 is shown in FIG. 13.
[0082] The effect of pressing "add/remove memo" button is shown if
FIG. 14. A dialogue box pops up, similar to the balloon text case,
so that memo text can be entered. Similar to the balloon text
example, when the cursor is positioned within a memo text box, the
various controls appear so that the memo box can be resized,
repositioned and closed. Memo options are also available by
depressing the down-arrow control within the memo textbox. The text
can be edited by left-clicking within the memo text box. Additional
options include allowing different colors for the memo text box.
The bar in the upper left corner of the memo text box fits the memo
box size to the text.
[0083] By right-clicking within the memo box, a copy option can be
selected which copies the text, size, color and any other
properties of memo box for pasting into a different slide. The
pasting is accomplished by bringing a desired slide into the edit
window and allowing the user to press a predetermined key.
[0084] The add/remove "click zone" is the fourth from the top in a
Leelou display. By clicking this button, a click zone border and
question box appear. The author can reposition and resize the click
zone border and can enter text into the question box and
reposition, resize and set the color of the question box similar to
the balloon and memo text boxes options. FIG. 15 shows the display
after the add/remove click zone has been depressed while editing
slide #2. The click zone border can be dragged to be placed over
any desired zone on the slide. This allows the sequence author to
let a user viewing the presentation click in a desired area within
the presentation slide. For example, FIG. 16 shows the display of
slide #2 where the click area boundary (shown by a dashed line) has
been sized and positioned to fit over the decimal point button on
the calculator key pad. The question, or instruction, asks the user
to "click on the decimal point."
[0085] By right-clicking on, or within, the click zone border, the
dialogue box shown in FIG. 16 appears so that the author can make
the presentation responsive to the user's success or error in
clicking in the correct, or incorrect, respectively, areas. The
"show message" options are to display a message when the user is
successful, or to show a different message when the user is
unsuccessful. The number of tries that a user will be allowed
before an error message occurs can also be set by the sequence
author.
[0086] A control panel display can be brought up by depressing the
"show/hide control panel" button. This is the fifth button from the
top in the Leelou display. FIG. 17 shows the control panel dialogue
which is displayed after the "show/hide control panel" button is
pressed.
[0087] The five buttons at the top of the control panel box allow
the author to sequence, or step, through each of the slides in the
presentation. The left button displays the first slide in the
presentation. The next button to the right displays a slide
immediately preceding the currently displayed slide in the edit
view. The middle button runs the presentation from the currently
viewed slide to till end. This button turns into a pause button
which will stop the presentation if pressed while the presentation
is running. The next button to the right skips to the slide
immediately following the slide currently being viewed in the edit
window. The right-most button displays the last slide in the
sequence.
[0088] The box labeled "preview" in the control panel box allows
the author to view the cursor animation for the currently viewed
slide in the edit view. When "preview" is clicked, the cursor is
animated and the animation repeats itself in a looped fashion. This
allows the author to view the speed of the cursor movement. The
speed of the cursor movement can be adjusted by dragging the top
indicator left or right along the measure bar so that the cursor
movement is slower or faster, respectively. The lower measure bar
determines the point of transition from the first cursor shape to
the second. For example, the cursor can be made to change from a
standard pointer to an `I-beam`, used for entering text. The lower
measure bar adjusts the point along the cursor travel path at which
the transition takes place. Precise adjustment of the transition
point may be necessary to make the cursor look realistic.
[0089] Additional controls within the control panel of FIG. 17
allow the author to control the amount of time a slide is
presented, or displayed, before the next slide is displayed in its
place. The "pause" option will display a slide for a predetermined,
default, length of time. If the author desires, a specific number
of seconds of delay can be set by clicking the "delay" option and
by answering a number for the delay in seconds to the right. The
"straight move" option will cause the cursor to move from its
current point to its final point in a straight line. If this option
is not checked, the Leelou program creates a slightly curved path
for the cursor movement, instead.
[0090] FIG. 17 shows a "Create Applet" dialogue that allows an
author to complete the applet for presentation. In FIG. 17, the
author can change the name of the completed applet and can choose
to display a logo, or other information, on the entry screen that
is displayed when the presentation is played back.
[0091] FIG. 18 shows additional options in finalizing the applet.
In FIG. 18, controls are shown to allow the author to direct how
the applet is played back in a browser. The applet can be presented
in a current browser window (i.e., an already-opened window) or a
new browser window. The applet can be made to display at the user's
full-screen resolution or a default resolution, can be made to loop
continuously on playback and can be put under control of the user
by allowing the display of the "VCR" controls as shown.
[0092] After the author clicks "OK" the applet is built and
compressed. A preferred embodiment of the invention uses special
compression to reduce the size of the completed applet. The applet
is decompressed prior to playback. The routines for performing the
compression and decompression of the applet are included in, and
completely described by, the source code Appendix.
[0093] In view of the discussion above, it should be apparent that
the Leelou interface provides many controls and features to allow
an author to easily make an effective presentation of a software
application. Any software application that generates visual
information is susceptible for use with the present invention.
Further, the invention can be used to make presentations of other
information that is not, necessarily, generated from an application
program. An example is where images are being viewed in a viewer,
such as a web browser. Or a web browser can be used to view web
pages that are captured and made into a presentation. Operating
system displays, such as file hierarchies, desktop views, etc., can
be captured and formed into a presentation with the present
invention. Digital video, such as streaming video, can also be
captured, annotated and presented. Other images displayed on a
computer can be subject matter for a presentation prepared by the
authoring interface and tools of the present invention.
Advertising Model
[0094] The present invention provides a novel approach to software
distribution and provides a useful revenue model for software
manufacturers and vendors. The preferred embodiment of the
authoring program, leelou, is available in two commercial versions.
A first version provides the features as presented above and is
sold to end users. A second version also includes the full feature
set as described above, but includes a provision for inserting
advertising banners into the presentations. This latter version is
provided to authors for free. This model is useful to software
publishers because revenue can be obtained from advertisers whose
banners are placed into different presentations.
[0095] Where a presentation is played back on a computer that is
connected to the Internet, the advertising banner can be
initialized, updated, or replaced, via an ad server operated by a
software manufacturer. This allows changing the advertisement to
suit a specific viewing audience or demographic. Also, the ads can
be cycled or swapped to increase the number of advertisers that can
be supported. Updating of the ads is useful to bill ads to
advertisers according to time intervals. Geography can also be a
factor in deciding which ads to display in which presentations as,
by using queries about the viewer's computer location, ads can be
localized.
[0096] Where a presentation is played back on a standalone
computer, or a computer connected to a local area network (LAN)
that is not coupled to the Internet, predetermined "canned" ads are
included with the presentation information. These predefined ads
are then displayed when the presentation is viewed. When the
presentation is viewed on a computer coupled to the Internet then
the ads can be updated or changed as described above.
[0097] Ads, or other information, can be visual or audible. When
images are used, the images, text or other display, can be placed
anywhere on the display screen, as desired. Any shape of images can
be presented. An image can be a still image or can be animated. It
can be displayed continuously or momentarily. Different images can
be cycled through. An image can be a link to a web site so that,
for example, when a viewer of the presentation clicks on the ad, a
browser window to a web page is opened.
[0098] Although the invention has been presented with respect to
particular embodiments thereof, these embodiments merely illustrate
possible embodiments of the invention, the scope of which is
determined solely by the appended claims.
* * * * *