Abstract:
A method for generating a hypertext markup language (HTML) page in which a style template is selected for a predetermined region of a web page layout. The predetermined region of the web page layout is a horizontal region spanning an entire width of the web page layout. The selected style template can be, for example, a title template, a text template, an audio template, a picture template, a parallel column template or a navigational bar template, and is selected by selecting a graphical icon representing the style of the template. The selected style template includes at least one HTML code defining a style of the style template and can include a space for information that is related to the style of the style template. Information related to the style of the template, such as a title, text, hypertext link information, a pointer to a file containing information that is to be inserted into the selected template, image information, graphical information and/or audio information, is inserted into the space before uploading the finished web page layout to a server. Typically, a plurality of selected style templates are concatenated to generate the finished web page layout. A finished web page layout is then uploaded to the server.

Description:
This application claims priority under 35 USC 119(e) to U.S. Provisional Application 60/111,999, filed Dec. 11, 1998. 

   TECHNICAL FIELD 
   The invention relates to systems and methods for generating web pages to be displayed on distributed networks, such as the World Wide Web. More particularly, the invention relates to systems and methods for providing users of a hand-held device, such as a personal digital assistant, a digital camera, or a web television box, with the capability to author web pages without being limited by the system resources of the hand-held device. 
   BACKGROUND OF THE INVENTION 
   The distributed network known as the Internet is a global array of cooperatively interconnected computer networks. It includes the World Wide Web, which is a collection of websites defined by web servers—computers that store and retrieve computer files representing web pages that are requested by and displayed to users of the Internet. Web pages combine text, graphic images, animation, audio and other multimedia forms for presentation to viewers. In the Web environment, client machines communicate with Web servers using Hypertext Transfer Protocol (HTTP), which uses a standard page description language known as Hypertext Markup Language (HTML). HTML provides basic document formatting and allows the developer to specify “links” to other servers and files. 
   It is known to provide web page authoring tools, such as “FRONT PAGE” and “FRONTPAGE EXPRESS” developed by Microsoft Corporation of Redmond, Wash., which provide web page authors an ability to quickly and efficiently create compelling web pages. Much of the power of these tools is derived from the use of style templates, which contain predefined HTML formatting commands for predetermined styles. Because of the need to store large libraries of templates and other large files, such as background bitmaps, state-of-the-art web-authoring tools require computer platforms with relatively large amounts of system resources, i.e., memory. With templates, a web page author avoids the tedious task of manually entering hundreds of HTML formatting commands. 
   When an HTML page is created, programs such as “FRONTPAGE” and “FRONTPAGE EXPRESS” use a stream-based approach that generates a page layout arranged as a stream of commands and data. A particular style command is selected. Data, such as text, is then entered. The selected style is then closed. Such an approach is extremely flexible by providing many layout styles, but, as mentioned, requires that a client device on which the HTML page is being created to have a significant amount of processing power and memory. 
   There is a recent growing trend towards the use of portable hand-held computing devices that offer portability, but which provide somewhat limited computing features. Known hand-held devices, such as personal digital assistants (PDAs), provide for the storage and retrieval of addresses and other information, sending and receiving of e-mail via communications link and other functionality defined by resident software applications. PDAs offer the capability of remote connectivity to a desktop computer or to the Internet using a communications link, enabling users to upload and download information, and to synchronize information stored in the PDA with information on a host computer, from virtually any geographic location. Hand-held devices also include rather specialized platforms, such as digital cameras, which provide users with the capability of instantly recording electronic images on a removable storage device, such as a floppy diskette, for later viewing on a desktop computer. From the desktop computer, users may send the image files to their friends via e-mail, post them to an existing website on the World Wide Web, or incorporate them into their own website. As the user interfaces and features of digital cameras become more sophisticated, they may tend to incorporate much of the functionality of PDAs. 
   One consequence of the compact designs and low weights consumers desire in hand-held electronic devices is that such devices are limited in the amount of system resources, namely memory and screen size, that they provide. Although the portability of hand-held devices make them attractive as web-authoring platforms, they have not heretofore been considered as feasible platforms for web creation, primarily because of their limited system resources. It would therefore be desirable to provide a web-authoring system and method that are suitable for implementation on a hand-held device, such as a PDA or a digital camera. Such a system and method would permit users of digital cameras, for example, to create compelling web pages that incorporate digital images they have recorded “on-the-spot” and provide their own textual information for presentation to others on the World Wide Web. It would also be desirable to provide a way to layout an HTML page that does not require the client device on which the HTML page is being created to have a significant amount of processing power and/or memory. 
   SUMMARY OF THE INVENTION 
   The invention provides for the creation of web pages on hand-held devices, such as PDAs, digital cameras and web television boxes. More specifically, the present invention provides a way to layout an HTML page that does not require the client device on which the HTML page is being created to have a significant amount of processing power and/or memory. In that regard, the present invention divides a page into rows, or horizontal regions, that span the entire width of the page. A particular region is laid out by selecting a style template from a library of predetermined style templates depicted by graphical icons representing particular layout styles. Exemplary style templates include templates for titles, text, audio, pictures, parallel column and navigational bars. According to the invention, each template includes HTML codes for the particular style of the template and blank spaces for information, such as text or pictures. The horizontal regions are stacked in any order to create a web page. Macro templates can be defined for a page for repeated use. When the finished page layout is uploaded to a server, the source files for information added to each template is mapped to the templates. 
   The advantages of the present invention are provided by a method for generating a hypertext markup language (HTML) page in which a style template is selected for a predetermined region of a web page layout. Preferably, the predetermined region of the web page layout is a horizontal region spanning an entire width of the web page layout. The selected style template can be, for example, a title template, a text template, an audio template, a picture template, a parallel column template or a navigational bar template, and is selected by selecting a graphical icon representing the style of the template. According to the invention, the selected style template includes at least one HTML code defining a style of the style template and can include a space for information that is related to the style of the style template. Information related to the style of the template, such as a title, text, hypertext link information, a pointer to a file containing information that is to be inserted into the selected template, image information, graphical information and/or audio information, is inserted into the space before uploading the finished web page layout to a server. Typically, a plurality of selected style templates are concatenated to generate the finished web page layout. A finished web page layout is then uploaded to the server. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention is illustrated by way of example and not limitation in the accompanying figures in which like reference numerals indicate similar elements and in which: 
       FIG. 1  is a schematic diagram of a conventional general-purpose digital computing environment that can be used to implement various aspects of the present invention; 
       FIG. 2  shows the constituent components forming an exemplary HTML page layout that is generated according to the present invention; 
       FIG. 3  shows an exemplary graphical user interface (GUI) for selecting style templates for generating an HTML page layout according to the present invention; 
       FIG. 4  shows an exemplary GUI  300  for entering textual information into a style template according to the present invention; 
       FIG. 5  shows an exemplary flow diagram for generating an HTML page layout according to the present invention; and 
       FIG. 6  shows an exemplary format of a template mapping file generated according to the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   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. 
     FIG. 1  is a schematic diagram of a conventional general-purpose digital computing environment that can be used to implement various aspects of the invention. Computer  100  includes a processing unit  110 , a system memory  120  and a system bus  130  that couples various system components including the system memory to the processing unit  110 . System bus  130  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. System memory  120  includes a read only memory (ROM)  140  and a random access memory (RAM)  150 . 
   A basic input/output system ( 1310 S)  160  containing the basic routines that help to transfer information between elements within the computer  100 , such as during start-up, is stored in ROM  140 . Computer  100  also includes a hard disk drive  170  for reading from and writing to a hard disk (not shown), a magnetic disk drive  180  for reading from or writing to a removable magnetic disk  190 , and an optical disk drive  191  for reading from or writing to a removable optical disk  192 , such as a CD ROM or other optical media. Hard disk drive  170 , magnetic disk drive  180 , and optical disk drive  191  are respectively connected to the system bus  130  by a hard disk drive interface  192 , a magnetic disk drive interface  193 , and an optical disk drive interface  194 . The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for personal computer  100 . It will 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 (ROMs), and the like, may also be used in the exemplary operating environment. 
   A number of program modules can be stored on the hard disk, magnetic disk  190 , optical disk  192 , ROM  140  or RAM  150 , including an operating system  195 , one or more application programs  196 , other program modules  197 , and program data  198 . A user can enter commands and information into computer  100  through input devices, such as a keyboard  101  and a pointing device  102 . 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  110  through a serial port interface  106  that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). A monitor  107  or other type of display device is also connected to system bus  130  via an interface, such as a video adapter  108 . In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers. 
   Computer  100  can operate in a networked environment using logical connections to one or more remote computers, such as a remote computer  109 . Remote computer  109  can be a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer  100 , although only a memory storage device  111  has been illustrated in  FIG. 1 . The logical connections depicted in  FIG. 1  include a local area network (LAN)  112  and a wide area network (WAN)  113 . Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. 
   When used in a LAN networking environment, computer  100  is connected to local network  112  through a network interface or adapter  114 . When used in a WAN networking environment, personal computer  100  typically includes a modem  115  or other means for establishing a communications over wide area network  113 , such as the Internet. Modem  115 , which may be internal or external, is connected to system bus  130  via serial port interface  106 . In a networked environment, program modules depicted relative to personal computer  100 , or portions thereof, may be stored in the remote memory storage device. 
   It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used. The existence of any of various well-known protocols, such as TCP/IP, Ethernet, FTP, HTTP and the like, is presumed, and the system can be operated in a client-server configuration to permit a user to retrieve web pages from a web-based server. Any of various conventional web browsers can be used to display and manipulate data on web pages 
   A primary aspect of the invention provides a method and system for generating web pages based on a compact mapping file created and stored on the hand-held device or remote computer  109 . Another aspect of the invention relates to a simplified layout for a web page suitable for implementation on a hand-held device. The simplified HTML layout will first be described with reference to  FIGS. 2–5  to illustrate one method of creating a template mapping file according to the invention.  FIG. 6  shows an exemplary format of a template mapping file generated according to the present invention. It will be recognized that the simplified layout described below is intended to illustrate one possible method and user interface for creating the mapping file. Other methods of creating the mapping file will be apparent to those of ordinary skill upon a reading of this disclosure. 
     FIG. 2  shows the constituent components forming an exemplary HTML page layout that is generated according to the present invention. Specifically,  FIG. 2  shows an exemplary arrangement of style templates  201   a – 201   g  corresponding to template files identified as Title, Centered Picture, Picture w/rt text, Picture w/left text, Audio, and Navigational links, as illustrated in  FIG. 2 , and associated source files  210  that have been selected to generate a final page layout  220 . While the present invention is not as flexible as current approaches, the present invention provides a much simpler technique for creating a web page. Consequently, a client device on which an HTML page is created can have limited memory and display area, such as that available with a small consumer electronic device. 
   According to the present invention, a page layout is divided into rows, or horizontal regions, that span the entire width of the page. A particular region is laid out by a user selecting a style template from a library of predetermined style templates. Exemplary style templates include templates for titles, audio, pictures, parallel column and navigational bars. Each template includes HTML codes for the particular style of the template and blank spaces for information, such as text or picture. The horizontal regions forming a page layout can be stacked in any order to create a customized web page. Macro templates can be defined for a page for repeated use. When the finished page layout is uploaded to a server, the source files for information added to each template is mapped to the templates. 
   As shown in  FIG. 2 , a style template can be associated with a source file of information that tailors the style template to the user&#39;s liking. For example, a title style template  201   a  is associated with a Title1.txt file containing text for a title. The association can be the actual file itself or a pointer to a file containing the desired title textual information. Similarly, a centered-picture style template  201   b  is associated with a Pic1.jpg file containing a picture image or a pointer to a file containing the desired picture information. A text template  201   c  is associated with a Text1.txt file or a pointer to a file containing textual information to a desired text file. 
   Style templates can also be associated with more than one information file depending on the specific style of the template. For example, a picture w/right text style template  201   d  is associated with a Pic2.jpg file (or a file pointer) containing a picture image and a Text2.jpg file (or file pointer) containing textual information.  FIG. 2  also shows a picture w/left text style template  201   e  that is associated with a Pic3.jpg file and a Text2.txt file (or file pointers). 
   An audio style template  201   f  can be associated with one or more Audio.wav files (or file pointers) containing audio information. Similarly, a navigational link style template  201   f  can be associated with one or more files (or pointers) containing link information. 
   Once a user is satisfied with a page layout, an upload command is selected and the finished page layout is uploaded to a server (remote computer  109  in  FIG. 1 ). The source files associated with each template is mapped to the templates at the server.  FIG. 2  shows the resulting page layout  220  for the exemplary arrangement of style templates  201  and associated source files  210 . 
     FIG. 3  shows an exemplary graphical user interface (GUI)  300  for selecting style templates for generating an HTML page layout according to the present invention. Preferably, GUI  300  is displayed on a small consumer electronic device having limited memory and display area, such as a WINDOWS CE-based digital camera or a WINDOWS CE-based personal digital assistant (PDA). Alternatively, GUI  300  can be displayed on a personal computer (PC) or a workstation, such as computer  100  shown in  FIG. 1 . Of course, the present invention is applicable to other graphical user interface computing environments. 
   In  FIG. 3 , GUI  300  is shown divided into two display regions  310  and  320 . Display region  310  includes a library of exemplary style icons  311  that are selectable by a user using a user interface selection device, such as a mouse, a trackball, a joystick or other well-known cursor-control/entry-selection device. As shown in  FIG. 3 , a library of exemplary style icons  311   a – 311   l  are displayed when layout tab  312  is selected. 
   Each style icon  311  is a recognizable graphical image that represents a particular style template. For example, style icon  311   a  is a graphical image representing a banner or a title style template. Style icon  311   b  is a graphical image for text-only style template. Style icon  311   c  is a graphical image for a single photographic or graphical image style template. Style icons  311   d – 311   f  represent combinations of textual and/or image style templates. Style icons  311   g – 311   i  represent different exemplary textual style templates. Of course, other recognizable icons can be displayed that represent other style templates that are not described. 
   Display region  320  includes a graphical image  321  representing a current web page that is being created. As different style templates are selected, web page image  321  changes to reflect the relative position of the selected templates. As shown, image  321  includes a title style template at the top of image  321  with a text-only, a picture w/right text and a picture w/left text style templates in order below the title style template. Display region  320  also includes command buttons  322   a – 322   c , which are used for performing selected operations in a well-known manner. 
   A particular horizontal region  201  ( FIG. 2 ) is laid out by selecting a horizontal portion of image  321  in a well-known manner using the user interface selection device. A particular style for the selected horizontal portion of image  321  is also selected from style icons  311  in a well-known manner using the user interface selection device. Each template includes HTML codes for the particular style of the template and blank spaces for information, such as text or pictures, depending upon the particular style of the template. 
   When a selected style template includes a blank space for textual information, text tab  314  is selected to display a library of textual formats, attributes and editing functions, such as centering, paragraphing, margins, fonts, sizes, colors, deletion and undo functions, for the text that is entered into the corresponding blank space.  FIG. 4  shows an exemplary GUI  400  for entering textual information into a style template according to the present invention. Like GUI  300  of  FIG. 3 , GUI  400  is preferably displayed on a small consumer electronic device having limited memory and display area. Alternatively, GUI  400  can be displayed on a personal computer (PC) or a workstation. 
   In  FIG. 4 , GUI  400  is shown divided into two display regions  410  and  420 . Display region  410  includes a library of exemplary formatting and editing icons  411  that are selectable by a user in a well-known manner using the user interface selection device. As shown in  FIG. 4 , display region  410  includes a text entry field  412  in which textual information for a particular style template is entered. Alternatively, a pointer to a file containing the desired textual information can be entered. Display region  420  is the same as display region  320  of  FIG. 3 . 
   When a selected style template includes a blank space for pictorial or graphical information, image tab  313  is selected to display a library of pictorial/graphical formats, attributes and editing functions for the picture or graphical image that is entered into the corresponding blank space. Pictorial/image information can be entered as a pointer to a locally stored image, which is uploaded with the completed page layout, or as a point to a remotely located image that is retrieved and merged with the completed page layout after uploading. 
     FIG. 5  shows an exemplary flow diagram  500  for generating an HTML page layout according to the present invention. At step  501 , it is determined whether a user desires to create a web page layout from a previously stored macro style template or create a new page layout. If a new web page layout is desired, flow continues to step  502  where a library of style templates and a default page layout image (i.e., an icon like icon  321 , but is only a page outline) are displayed ( FIG. 3 ). Flow continues to step  503  where a particular horizontal region of the displayed page layout is selected using a user interface selection device. Flow continues to step  504  where a particular style template is selected using the user interface selection device. When the selected style template has a space for entering associated information, such as a title, text and/or an image, flow continues to step  505 . When no information is to be associated with the selected style template, step  505  is bypassed and flow continues to step  506 . 
   At step  506 , it is determined whether the page layout is complete. If so, flow continues to step  507  where it is determined whether a macro style template for the newly-created page layout should be stored for later use. If so, flow continues to step  508  where the newly-created page layout is stored. If not, flow continues to step  509  where the page layout is uploaded to a server. 
   If at step  501 , a macro style template is desired, flow continues to step  510  where a library of previously stored macro style layouts are displayed. At step  511 , a particular macro style layout is selected and a page layout image for the selected macro style template is displayed, similar to  FIG. 3 . Flow continues to step  512  where a particular horizontal region of the displayed macro style template is selected using the user interface selection device. Flow continues to step  513  where any information associated with the selected horizontal region, such as a title, text and/or an image, is entered. 
   At step  514 , it is determined whether the page layout using the selected style template is complete. If so, flow continues to step  509  where the page layout is uploaded to a server. 
     FIG. 6  illustrates an exemplary format of a template mapping file generated according to the process described above. The template mapping file associates a selected one of a plurality of style templates with one or more source files to be merged into the selected template. This association may be accomplished with the use of delimited pointers, including a style template pointer  610  and one or more source file pointers  612 , as shown in  FIG. 6 , where the delimiter is a comma “,”. The first template pointer is designated “6” corresponding to a style selected by the user and associated with a source file, in this case a text file “Title1.txt”. Similarly, the second referenced style pointer is designated “12” and is associated with an image file, “Pic1.jpg”. Some style sheets may be formatted to be merged with more than one source file, as is the case with the style sheet designated “5” which may be, for example, a style sheet for a right justified image with adjacent text, and is to be merged with two source files: “Text2.txt” and “Pic2.jpg”. Those of ordinary skill will recognize that the template mapping file according to the present invention requires only minimal storage because of its compact size and therefore its creation and storage are suitable for implementation on a device with limited memory, such as a hand-held device. 
   While the present invention has been described in connection with the illustrated embodiments, it will be appreciated and understood that modifications may be made without departing from the true spirit and scope of the invention.