SYSTEM, METHOD AND ARTICLE FOR APPLYING TEMPORAL ELEMENTS TO THE ATTRIBUTES OF A STATIC DOCUMENT OBJECT

Abstract: A system, method and article of manufacture for applying temporal elements to the attributes of a static document object is preferably implemented as a software program operating on a computer system, such as a personal computer or workstation. The software program includes computer implemented steps for: (i) importing an existing document (or alternatively authoring the document directly using the program), wherein the document is structured according to an object model; (ii) scanning the document for the defined structure and extracting the various elements (or nodes) and their attributes; (iii) displaying the extracted document structure to the user of the system; (iv) adding one or more temporal elements to the attributes of the document; and (v) saving the document along with any additional information necessary to execute and implement the temporal elements so as to create a dynamic document object.

Description: System, Method and Article for Applying Temporal Elements to the Attributes of a Static Document Object BACKGROUND OF THE INVENTION 1. Technical Fiel The present invention is directed to the field of creating dynamic document objects that change with respect to time. More specifically, the present invention is preferably directed to editing or authoring static document objects, such as Web pages created using HTML or other well-known web- authoring languages, which include a plurality of nodes or elements that are defined by a hierarchical structure of attributes. One example of such a hierarchical structure is the World Wide Web Consortium's ("W3C") Document Object Model ("DOM"). The invention provides a software-implemented system, methodology, and encoded article of manufacture for applying temporal (or timeline) elements to the various attributes, nodes or elements associated with the static document object in order to create a temporally-active document object. 2. Description of the Related Art It is known in the art to create static document objects that do not change with respect to time. These document objects may be structured according to a hierarchical structure that defines the elements (or nodes) and associated attributes of the document. For example, a web page for publishing on the Internet is commonly structured according to the W3C Document Object Model. This model is defined at htφ:/λmrw.w3.org/TR/REC-DOM-Level-l '/level-one-core. html on the Internet. The core Level 1 DOM defines a minimal set of objects and interfaces for accessing and manipulating document objects. By specifying a particular structure for web-based content, the DOM enables software developers and web script authors to access and manipulate parsed HTML and XML content inside of products that conform to the DOM. The DOM hierarchy structures a document into a plurality of nodes, which are each defined by a plurality of attributes. Many different types of attributes are defined in the DOM, including properties, methods, styles and events. There is at least one existing tool that permits limited time-based modification of web page elements, known as Macromedia Dreamweaver (see http://www.macromedia.com). But this tool does not expose the structural hierarchy of the document object model associated with the web page, and thus cannot assign a temporal element to the individual parts of the hierarchy. Thus, the various parts of the model cannot be individually synchronized to each other, which is a primary disadvantage of this tool. In addition, this tool cannot synchronize the various nodes and attributes with a universal timeline. SUMMARY OF THE INVENTION A system, method and article of manufacture is provided for applying temporal elements to the attributes of a static document object. The invention is preferably implemented as a software program operating on a computer system, such as a personal computer or workstation. The software program includes computer implemented steps for: (i) importing an existing document (or alternatively authoring the document directly using the program), wherein the document is structured according to an object model, such as the DOM for web pages; (ii) scanning the document for the defined structure an extracting the various elements (or nodes) and their attributes; (iii) displaying the extracted document structure to the user of the system; (iv) adding one or more temporal elements to the attributes of the document; and (v) saving the document along with any additional information necessary to execute and implement the temporal elements so as to create a dynamic document object. As will be appreciated, the invention is capable of other and different embodiments, and its several details are capable of modifications in various respects, all without departing from the spirit of the invention. Accordingly, the drawings and description of the preferred embodiments set forth below are to be regarded as illustrative in nature and not restrictive. BRIEF DESCRIPTION OF THE DRAWINGS The present invention satisfies the general need noted above and provides many advantages, as will become apparent from the following description when read in conjunction with the accompanying drawings, wherein: FIG. 1 is a flowchart of a preferred series of method steps executed by a software-implemented system or encoded into an article of manufacture for applying temporal elements to a static document object having a defined structure; FIG. 2 is a screen print of an interface to a preferred software- implemented system for carrying out the steps in Figure 1 ; FIG. 3 is an expanded screen print of an interface to a preferred system showing a temporal element editing window and a layout window; FIG. 4 is an expanded screen print of the temporal element editing window shown in Figure 3; FIG. 5 is another expanded screen print of the temporal element editing window shown in Figure 3; and FIG. 6 is another expanded screen print of an interface to the preferred system showing a temporal element editing window, a layout window, and a temporal element dialog box. DETAILED DESCRIPTION OF THE DRAWINGS Turning now to the drawing figures, Figure 1 is a flowchart of a preferred series of method steps executed by a software-implemented system or encoded into an article of manufacture for applying temporal elements to a static document object having a defined structure. The document object is preferably a web page created or authored using HTML, XML or other well- known web-based authoring languages, and the defined structure is preferably the W3C Document Object Model. It is important to note that this is only one embodiment of the invention. The invention is not limited to web-based documents, nor is it limited to documents that are structured according to the DOM. Rather, the invention finds utility in the general field of converting static document objects structured according to a particular hierarchy into dynamic objects using a plurality of temporal elements. Web pages are just one example of these types of documents and the DOM is just one example of this type of structural hierarchy. The flowchart depicted in Figure 1 is preferably implemented as a software program running on a computer system, such as a PC or workstation. The program could be stored on the hard drive of such a computer system, or it could be distributed as an article of manufacture, such as a floppy disk or CD-ROM, or other type of transportable media, in which the software- implemented method steps shown in Figure 1 are encoded into the magnetic or optical medium. Alternatively the program could be distributed by downloading an executable file over a computer network and then storing the program on local fixed or removable medium. The preferred method of the present invention begins as steps 10 or 12, in which a user either imports an existing document into the software- implemented system 10, or uses the program's built-in authoring functions to create the static document object. The static document is also referred to as an initial condition document and a program for creating such a static document, whether as a stand alone application or as integrated into the present invention is referred to as an initial condition editor. These editors do not have the ability by themselves to apply temporal elements to the various nodes and attributes of a static document. Once the document has been imported into the system, at step 16, the program scans the document structure in order to extract the constituent elements and attributes that describe the document. According to the preferred DOM hierarchy, these attributes include properties, methods, styles and events. The program may utilize information regarding the hierarchy 14, such as the DOM model hierarchy, in order to extract these constituent elements and attributes. Certain elements may be identified with an ID tag, in which case the program stores this information for later display. If a particular element is not identified as such, then the program may give it a generic name for later display. Once the nodes (or elements) and attributes have been identified by the program, control passes to step 18, in which the extracted hierarchy for the particular document is displayed to the user in the form of an interface window. The interface window is described in more detail below. Having extracted and displayed the document hierarchy, the system then enters a mode in which the user can apply temporal elements to one or more of the various attributes associated with the various elements or nodes that describe the document object. At step 20, the user adds a temporal element to a particular attribute. This temporal element can be based on an absolute timer, or it can be linked to another objects time base, such as the internal timing of an associated video or audio object file. Other types of temporal control and dependency are also within the scope of the invention. Control then passes to step 22, in which the temporal element is configured. In this step, a special temporal element configuration dialog box preferably is displayed on the program interface. This dialog box can provide many levels of temporal control over the attribute based on the data type, parameters and properties of the particular attribute. In this manner, the present invention provides a very finely detailed level of control and flexibility over the temporal element. Having added and configured the temporal element, control of the program passes to step 24, and an optional temporal element indicator, such as a graphic icon, is displayed by the program interface to indicate that a temporal element has been applied to the particular attribute. The program then responds to additional requests by the user to apply more temporal elements by looping back to step 20. It is important to note that each individual element can be assigned its own temporal element, distinct from any other attribute of the document. Such a fine granularity of applying timeline elements to a document object is unknown in present web-page authoring and development tools. The timeline for each temporal element is then synchronized with a master clock so that all of the elements and attributes maintain synchronization with each other. If no additional temporal elements are to be added to this particular document, then control passes to step 28, where the new dynamic document object is saved. The program can save the new dynamic document object in a number of ways. The basic idea is to save the static document along with some type of output script that operates as a firing (or execution) event for causing the temporal elements to change the document's presentation. One way to accomplish this would be to save the web page along with an associated media file organized, for example in the advanced streaming format, real audio/video format, or other type of multi-media file format. Other techniques of saving the dynamic document could also be used, such as javascript, vbscript, etc. The exact format of the saved document is not relevant. All the invention needs to do is to configure the initially provided static document information with the temporal element information in order to provide the dynamic document object. There are many ways in which this information could be integrated in order to create such a dynamic object, and all of these ways are considered insubstantially different from those detailed above, and are therefore within the spirit and scope of the invention. Figure 2 is a screen print of an interface to a preferred software- implemented system for carrying out the steps in Figure 1. This interface is a graphical user interface displayed to a user of the system and method in order to facilitate the process defined in Figure 1. The interface includes a temporal element editing window 30 that includes a hierarchy display window 32, where the various elements, nodes and attributes of the document are displayed for the user. The nodes or elements are shown as items 42, and in this example include a Main Window, document, map, and a variety of other example elements. Each of these elements 42 is further defined by the DOM as a sequence of attribute types 38, include at least behaviors, properties, methods and actions (or events). Each of the attribute types 38 is further defined by a plurality of individual attributes 40, such as "onclick", "onblclick", etc. Also shown in the interface schematic are the master clock element 36, which is used to synchronize all of the temporal elements associated with the various attributes, and the temporal element indicator fields 34, where a temporal element indicator would be displayed if a user had applied a temporal element to a particular attribute. The remaining drawing figures are used to describe an example web page, and how it would be modified to include temporal elements according to the teaching of the present invention. Consider an example web page whose HTML source code was as follows: <HTML> <img src = "ball.gif" id = "ball" > </HTML> This web page in a browser would appear as a blank page with a ball sitting in the upper left hand corner and would be unchanging over time, i.e. static. With the present invention, such a web-page could be modified by first importing it into the software program of the invention. Having done so, the program would extract the document's structural hierarchy and display it for temporal modification, such as is shown in Figure 3. Figure 3 is an expanded screen print of an interface to a preferred system showing a temporal element editing window and a layout window after the example web page from above had been imported into the system and the DOM extracted and displayed. As seen in Figure 3, the program of the present invention includes at least two interface windows, a temporal element editing window 30 (describe above with respect to Figure 2), and a layout window 50. The layout window displays how the document looks. Note that once a temporal element has been added to the page, then the program can execute the dynamic document and its operation would be displayed in the layout window 50. The program also includes an interface frame 60, as do most windows-based applications, a file menu 62, and a button bar 64 for carrying out many commonly executed commands associated with the program. Turning now to the temporal element window 30, it is seen that the program has extracted three objects found in the document (Main Window, document and ball), and displayed these along with the DOM hierarchy. The Main Window and document objects are DOM specified nodes that exist in every web page. The ball object was specific to this example web page, and includes many attributes that can change with time. Figure 4 shows an expanded screen print of the temporal element editing window shown in Figure 3, wherein the attributes of type "properties" has been exploded to show all of the individual attributes that can be associated with a temporal element. Now suppose the web page was more complicated, such as shown below: <HTML> <img src = "ball.gif' id = "BallPicture" style "position:absolute;left: 10;top: 10" > <div id = "GoodldeaText" style = "ρosition:absolute;left: 10;toρ: 100" > This is a good idea < /div > < select id = "ColorChoices" size = "I" style = "ρosition:absolute;left: 10;top:200" > < option > Red < /option > < option > Blue < /option > < option > Green < /option > < /select > </HTML> A browser would display this web page as a ball, a text box with the phrase "This is a good idea", and a selection box with the choices Red, Blue and Green. Once again, however, we have a static page. To convert this page into a dynamic document, it could be imported into the present invention (or authored using an associated HTML editor) and temporal elements could be applied to the various attributes of the DOM hierarchy. Figure 5 is an expanded screen print of the temporal element editing window of the present invention after the more complex web page has been input to the software system of the invention. It can be seen in the hierarchy display window 32 that the three elements BallPicture, GoodldeaText and ColorChoices are displayed. By pressing on the arrow next to the element (as with the BallPicture element shown) the attribute hierarchy of the element is displayed. Having done so, the user can then associate a temporal element with any of the displayed attributes. Figure 6 is another view of the interface to the preferred system showing the temporal element editing window 30, layout window 50, and a temporal element dialog box 70. In this view, a temporal element indicator 34 A (also referred to as a "clip") shows that a temporal element has already been applied to the element "onclick" for the BallPicture element. For some attributes, the width of the clip has no meaning since the change will occur at a particular time (i.e., the ball disappears after 8.2 seconds). But for other clips, the width tells the user how long the condition should last (i.e., if you click on the ball within the first 2 seconds jump to a particular web site.) The present invention allows the user to create and modify temporal element clips by clicking on the temporal element indicators or by graphically editing the attribute in its rendered page window, although only some attributes lend themselves to graphical editing. The program provides a temporal element dialog box 70 for editing the attributes, and automatically determines the acceptable data-types for each attribute. The preferred embodiment of the invention described with reference to the drawing figures is presented only as an example of the technology, which is defined by the claims. Other elements, steps, methods and techniques that are insubstantially different from those described herein are also within the scope of the present invention.

Claims: What is claimed: 1. A method of converting a static document object into a dynamic document object comprising the steps of: scanning the static document object for a defined structure comprising a plurality of elements defined by one or more attributes; displaying the elements and attributes of the static document; adding one or more temporal elements to the attributes of the static document; and saving the static document and the temporal elements in order to create a dynamic document object. 2. The method of claim 1 , further comprising the steps of: importing a multimedia object into the static document object, wherein the multimedia object includes an internal time base; and linking the temporal elements with the internal time base of the multimedia object. 3. The method of claim 1 , further comprising the steps of: providing an absolute timer; and synchronizing the temporal elements with the absolute timer. 4. The method of claim 1, wherein the saving step further comprises the steps of: creating an output script that operates as an execution event for causing the temporal elements to change the attributes of the document elements; and saving the output script along with the static document object. 5. The method of claim 1 , wherein the document objects are web pages. 6. The method of claim 5, wherein the web pages are authored in HTML. 7. The method of claim 5, wherein the web pages are authored in XML. 8. The method of claim 1, further comprising the steps of: providing a graphical user interface for enabling the displaying and adding steps. 9. The method of claim 8, wherein the graphical user interface includes: a layout window for displaying the document objects; and a temporal element editing window. 10. The method of claim 9, wherein the temporal element editing window further includes: a hierarchy display window for displaying the elements and attributes of the static document object; and a plurality of temporal element indicator fields associated with the elements and attributes for providing an area where a user can apply the temporal elements. 11. The method of claim 9, wherein the graphical user interface further includes a master clock display. 12. The method of claim 11, wherein the master clock display includes a multimedia file display. 13. The method of claim 1, wherein the displaying step further comprises the steps of: providing a hierarchy display window; and displaying the elements and attributes of the static document object within the hierarchy display window in a hierarchical manner. 14. The method of claim 1, further comprising the steps of: providing a master clock for the static document object; selecting a particular attribute of one of the elements of the static document object; and applying a temporal element to the particular attribute that is linked to the master clock. 15. The method of claim 14, wherein the providing step includes the step of providing a multimedia object having an internal time base that serves as the master clock. 16. The method of claim 1, wherein the attributes are defined by a document object model. 17. The method of claim 16, wherein the attributes include behaviors, properties, and methods. 18. The method of claim 14, further comprising the step of: displaying a temporal element indicator associated with the particular attribute that has been linked to the master clock. 19. A computer-implemented method for creating dynamic web pages, comprising the steps of: providing a static web page including a plurality of elements, wherein the elements are structured according to a hierarchical object model defined by a plurality of attributes; scanning the static web page to extract the plurality of elements and their corresponding attributes; displaying the extracted information; adding one or more temporal elements to one or more of the attributes of the web page elements; and saving the static web page along with scripting information for operating the temporal elements in order to provide a dynamic web page. 20. A system for creating dynamic document objects from static document objects, comprising: an authoring module for creating a static document object; a scanning and extracting module for analyzing the static document object and for extracting the elements and attributes of the static document object, wherein the element and attributes are structured according to a document object model; a graphical user interface for displaying the layout of the static document object and its associated elements and attributes, and for enabling a user of the system to apply one or more temporal elements to the attributes of the static document object; and a dynamic document object build module for saving the static document object along with scripting information linked to the applied temporal elements in order to provide the dynamic document object. 21. A computer-encoded memory device encoded with computer software instructions for enabling the creation of dynamic document objects from static document objects, the computer software instructions causing a computer to execute the steps of: scanning the static document object for a defined structure comprising a plurality of elements defined by one or more attributes; displaying the elements and attributes of the static document; associating one or more temporal elements to the attributes of the static document; and saving the static document and the temporal elements in order to create a dynamic document object. 22. A graphical user interface operating on a computer system for converting static web pages into dynamic web pages, comprising: a layout window for displaying the static web page; a temporal element editing window, including a hierarchy display window for displaying the elements and attributes of the static web page, and a plurality of temporal element indicator fields associated with the displayed elements and attributes where a user of the interface can add or edit temporal elements; and a master clock display.

Inventors: BUSFIELD JOHN, PULIER GREGORY, BUSFIELD, JOHN, PULIER, GREGORY
Applicants: INTERACTIVE VIDEO TECHNOLOGIES, INTERACTIVE VIDEO TECHNOLOGIES, INC.
Application year: 2000
Main classification: G06F17
IPC codes: G06F17