|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to computer networks and, more particularly, to electronic publishing systems that employ servers to store electronic publications and browsers, executing on clients and communicating with the servers over the networks, to
view the electronic publications.
2. Description of the Related Art
Computer networks, such as the Internet and private corporate networks, enable users to retrieve information from a wide variety of sources. They also enable publishers, information providers, advertisers and other information sources to supply
information to these users. "Servers" are computer systems that are connected to a network and that store and supply information. One type of server on the Internet is known as a "web server," which provides access to a web site. Each web site can
make available one or more "web pages," which are formatted, tree-structured repositories of information, such as text, images, sounds, animations, and three-dimensional simulations. Many traditional publishers, such as newspapers and journals, as well
as corporations, individuals and organizations (hereinafter collectively referred to as publishers) have established web pages. "Clients" are computer systems, each typically controlled by one user, that may be connected to a network and request
information from the servers on the network. In particular, clients at various locations can view web pages by "downloading" replicas of the web pages from the servers on which these web pages are stored.
Publishers often expend a great deal of effort to make their web pages as visually attractive as possible and to brand them identifiably because these publishers typically project their corporate images and attempt to derive revenue through
subscription, use fees, or advertising income from these pages. Publishers may also obtain direct public relations and communications benefits from their web pages. Since publishers often deliver sales, advertising, product support, and employee
communication services through their web pages, the web page's visual appeal, brand identity, and navigational use are important. For example, some publishers establish web pages that provide useful services, such as information searching in order to
attract users. These publishers may include advertising space on these web pages in which they advertise their products and services or the products and services of others.
To create a web page, publishers typically use a "text markup language," such as the Hypertext Markup Language (HTML). An HTML file may contain "elements" such as text, graphics, tables, buttons, etc., each identified by a "tag." Markup
languages specify the layouts and contents of their web pages by encapsulating static content. That is, the content or information to be displayed on the web page is typically written into the file. Accordingly, in order to change the contents or
appearance of a web page, the corresponding file must be edited or changed. Publishers must periodically recode their web pages to update the information contained therein and to maintain an interest level necessary to attract repeat users. Creating
and updating web pages can be very expensive, especially where publishers employ professional designers to produce their web pages. Furthermore, a user wishing to see current information must repeatedly cause his or her client to download an entire web
page to obtain the most current version of any content in the web page.
This lack of flexibility in text markup languages results in all web pages looking much the same. Most publishers, when creating web pages, would prefer to have the flexibility available in traditional printed publications, including control
over typography (font, size, leading), color, columnarization and text flow around graphics. Fonts pose a particular problem for these publishers.
"Fonts" are used to control visual attributes of text portions of web pages and other documents. A font is a definition of the shapes of printable or viewable characters (typically upper and lower case alphabetic characters, numbers, punctuation
and special characters, such as the asterisk or the pound sterling currency sign). Fonts are identified by their names, for example "Times New Roman" and "Garamond." A considerable amount of creative effort often goes into designing a font.
Accordingly, font developers typically charge a fee to license their fonts to publishers and other users, who then use the fonts to create publications.
A computer, moreover, can only "render" (display or print) text in fonts that have been "installed" on the computer with the exception of images of full-text pages. If a computer is requested to render text in a font that is not installed, the
computer "falls back" and selects an installed font to render the text. The font chosen by the computer as a fall-back, however, might look quite different from the requested font. Furthermore, the fall-back font might have larger or smaller
characters, which may cause line breaks, page breaks and other visual aspects of the publication to be rendered differently than intended by the publisher.
A small number of common fonts are usually installed on client computers. Some users, moreover, purchase and install additional fonts. Publishers do not, however, have a priori knowledge of which additional fonts are installed on clients. As a
result, publishers are often forced to limit themselves to the most commonly installed fonts to ensure that their publications are rendered as intended. As set forth above, one alternative is to transmit text having a unique font as an image file.
Image files, however, are typically quite large and thus require substantial time to download. Rather than wait for a large file to download, users might move on to other web pages.
Publishers typically embed information within documents to identify which font(s) are to be used to display or print the document. More specifically, each section of text in a publication typically identifies which font is to be used to render
the text in the section. Each publication, moreover, can use several fonts throughout the publication. Publishers use one of two methods to specify the fonts to be used to render their publications. In the first method, the names of the fonts are
embedded in each publication. When the client attempts to display the publication, if the named fonts are not installed on the client, the client substitutes installed fonts ("falls-back"), and the user sees the web page differently than the publisher
intended.
Using the second method, a copy of each font is embedded in each publication. Although the recipients are permitted to render the documents with these embedded fonts, they are not permitted to use the fonts to create other documents, unless
they, too, are licensed to do so. The files that make up a font are rather large. As a result, this method unnecessarily increases the time taken to download the publication to a client and is completely unnecessary if the client already has one or
more of the fonts installed. Furthermore, fonts contained in a document may be repeatedly downloaded creating additional delays.
A "browser" is a computer program that executes on a client to provide a user interface to information servers. Each source of information on a server is known as a "resource" and has an associated text string by which it can be referenced. The
text string, known as a "uniform resource locator" (URL), specifies: a protocol to use to obtain the information, such as the Hypertext Transfer Protocol (HTTP); the name or numerical address of a server from which to obtain the information; and a "local
information text string." The local information text string is passed to a protocol handler on the server, which then returns the information. The local information text string often specifies a file, i.e., it contains a directory and a file name, but
it can also specify a search request to be performed on a database or text index. Thus, a user specifies a URL to a browser, and the browser then retrieves and displays information from the resource associated with the URL.
Most browsers are capable of displaying only a small number of file formats and must invoke so-called "helper applications" to display other file formats (e.g., audio and video). A user, moreover, must have previously installed these helper
applications on his or her client computer. In addition, HTML and extensions of it typically allow only a limited set of user interactions with information retrieved by a browser. For example, a user can scroll through an entire web "page"--for a long
document, the page may be many screens in length--and can also follow a hypertext link to an entirely different web page, perhaps part of the same web publication or part of an entirely different one. However, enabling a user to easily follow hypertext
links poses problems for the user, as he or she may find it difficult to return to the page of original entry--often a summary or contents page--to continue the viewing process.
The cost of traditional publishing is increasing due to cost increases of paper, inventory and distribution. Accordingly, sources of information are under increasing pressure to target their editorial and advertising content more precisely. As
a result, publishers often wish to track usage patterns and collect demographic data about users who access web pages. Each computer connected to a network has a unique network address, and some publishers keep track of the network address of each
client that accesses their servers. A "gateway" is a computer system that interconnects two computer networks. Many users access the Internet through gateways, such as America On-Line, that dynamically assign network addresses. Thus, each time a user
accesses a server though one of these gateways, the user might have a different network address.
It is therefore an object of the invention to provide a system for easily creating and displaying visually attractive electronic publications.
It is a further object to display an electronic publication on a client using fonts specified by the publisher, regardless of whether the specified fonts are installed on the client, and to download the fonts only if they are not installed on the
client.
It is a further object to provide a rich set of possible user interactions with information retrieved and displayed by a browser, including an ability to retrieve information from other servers while maintaining control over a view presented to a
user.
It is a yet further object to enable the publisher to uniquely identify clients that access servers through a gateway.
Other objects will, in part, be obvious and will, in part, appear hereinafter.
SUMMARY OF THE INVENTION
Briefly, the invention relates to a distributed electronic publishing system comprising a design and layout tool for use in defining electronic publications and a viewer for use in displaying such publications on a graphical user interface
("GUI"). Using the design and layout tool, a page designer first establishes a plurality of regions within the electronic publication. The designer then defines a set of instructions for obtaining and formatting information (e.g., text, images, audio
and/or video) to be displayed in each region. The designer may also provide instructions on how to respond to user interactions (e.g., a mouse click) with the region. In addition, the design and layout tool allows the designer to associate one or more
timers with each region and define a corresponding set of instructions to be performed upon expiration of each timer. Once defined, the publication is preferably stored as a publication file at a server accessible by users via a computer network. The
viewer, in response to a request by a user, accesses and downloads the publication file. The viewer, which may be implemented in the context of a browser application, then executes the instructions provided within each region. That is, the viewer
locates and obtains the information defined within each region and arranges that information for display on the GUI as directed by the formatting instructions contained within the corresponding region. The viewer also executes any instructions regarding
either user interactions or timers associated with the regions of the displayed publication.
By utilizing the design and layout tool, a publisher is able to separate a publication's content from its format (e.g., size, position, font, resolution, background color, interrelationship of regions, etc.). That is, rather than enter the
actual contents as well as the corresponding format into the publication file, the page designer may simply define a set of instructions to access an information file or files and display the contents thereof in a given region. Moreover, by simply
updating the associated information file(s), which may be located remotely from the server at which the publication file is stored, the corresponding information displayed is updated. Thus, the publisher need not edit the publication file every time the
information in one region needs to be updated or changed.
In addition, a page designer may specify a list of sources for each region of a publication, in which case the viewer cycles through, or selects from, the list according to rules specified by the page designer. For example, a page designer may
specify several sources of weather forecast information, e.g., NOAA, a regional airport, and a local radio or television source, and instruct the viewer to display information from each of these sources for several minutes in turn. In addition, the page
designer can specify other time-based behaviors, such as updating a region from a single source, or scrolling or panning the information displayed in the region. Furthermore, the page designer can specify a "path" of resources for each source of
information. In this case, the viewer attempts to obtain the information from each resource along the path. For example, the viewer may start with the resource that is closest to the client and, thereafter, move progressively to more distant resources
until the viewer succeeds in obtaining the information. Such a path can be used to obtain information that might be available locally on a client, on a local network to which the client is attached, or on a global network to which the client has access.
The source of information, moreover, may depend on a variety of parameters, such as a user's geographic location, preferences, context within a publication or usage patterns. For example, by utilizing the design and layout tool, a page designer
can specify rules for obtaining weather forecast information from a source that is geographically proximate to the user. Similarly, the viewer can be instructed to select advertisements based either on the type of information being displayed in
surrounding regions of the publication or on the user's response to previously displayed advertisements. For example, if a region is not scrolled-through or selected by the user (e.g., by mouse clicks), the region might not contain information that is
of interest to the user. Accordingly, the viewer can be instructed to obtain information from a different source to display in that region.
Furthermore, by utilizing the design and layout tool, a page designer may create a publication whose content, although accessible by the ultimate users, is not accessible to the page designer. More specifically, many private networks are
connected to the Internet by a secure "firewall" that limits access from the Internet to the private network but allows access from the private network to the Internet. A page designer can design a publication that causes the viewer to obtain and
display information that is accessible to a user even though the page designer does not have access to the information. Instead, the page designer only needs the address of this information. For example, a page designer may design a corporate
newsletter to display private corporate information that the viewer obtains from the private network to which the client is connected. The page designer can then make the publication file available on the Internet and the same publication file can be
accessed by clients that are connected to different private networks. Each such client displays different information, i.e., information obtained from the client's respective private network, but according to the same formatting and other rules
specified by the page designer.
The information source or sources that are accessed in order to display information in a given region may also depend on user responses and interactions with displayed information. For example, the viewer can obtain a low-resolution version of
an image from a first resource. In response to a user selecting the image, e.g., via a mouse click, the viewer may be instructed to obtain a high-resolution version of the image from a second resource. If the user again selects the image, the viewer
may obtain and display a third animated version of the image. In another example, using a "rubber-band" cursor, when a user selects an area of interest in a weather map, the viewer obtains and displays a detailed weather radar image of the selected area
or text of a weather forecast that corresponds to the selected area.
The viewer may also display the publication using fonts specified by the page designer, regardless of whether these fonts are installed on the client computer and without necessarily requiring the viewer to download all of the required fonts. In
particular, the design and layout tool allows the page designer to specify the fonts that are to be used to render the page or portions thereof. The design and layout tool then stores each font in a separate file and uses an encryption algorithm to
generate an incognito name for each file. Unscrupulous, unlicensed users do not know under what name a given font is stored and are thereby prevented from copying the font.
The "plain" (unencrypted) names of the fonts are stored in the publication file. When the viewer downloads the publication file, it ascertains if the named fonts are already installed on the client computer. If so, the viewer uses these
installed fonts to display the publication. The publication file also stores the generated filenames of the fonts. If a required font is not installed on the client computer, the viewer uses the generated filename to download the font and render the
publication. Significantly, the viewer may cache recently downloaded fonts and keep track of the generated names of the cached fonts. Thus, if a subsequent publication or the same publication at some later point requires one of the cached fonts, the
viewer avoids the overhead associated with redundantly downloading the font.
When information obtained by the viewer is too voluminous to fit in a given region, the viewer preferably formats the information and/or the region according to rules specified by the page designer via the design and layout tool. For example,
when more information is obtained than fits in the region, the viewer can scale down or clip the information, use a smaller typeface, or add scroll controls. Similarly, the viewer can scale up an image that is smaller than its designated region.
The viewer may also utilize "constraint-based" layout strategies to modify the size and shape of regions within constraints specified by the page designer via the design and layout tool. These constraints, moreover, may involve several regions.
For example, a first region may be constrained to be top-aligned with a second region. When the viewer modifies the size or position of the second region, it may also modify the size or position of the first region. The viewer may also employ other
unique constraints, such as color- and typography-related constraints. For example, a page designer utilizing the design and layout tool can specify that a set of regions all be displayed using the same leading and indentation or using related sets of
fonts, e.g., display text in Region A using Times Roman when text in Region B is displayed using Courier, but display text in Region A using Arial when text in Region B is displayed using Garamond. Furthermore, the page designer can specify that the
regions be displayed with complementary or contrasting color backgrounds.
By virtue of the design and layout tool and the viewer, a page designer may also allow a user to personalize a publication by giving the user control over some or all aspects, e.g., typography, of the publication. For example, the user may
control the content of a region by selecting from a set of predefined sources from which the viewer obtains information to display in the region. Alternatively, the user may be permitted to resize a region within certain constraints or possibly
eliminate a given region entirely from the publication. As described above, re-sizing a given region may cause the viewer to resize other regions. Accordingly, a user may decrease the amount of weather information displayed by a publication and,
thereby, increase the amount of news information displayed.
Each viewer may also be provided with a unique identity code. Using this code, the view may then identify itself to a server, thus enabling the server to collect demographic data. The viewer may also collect additional data, such as cursor
movements, the amount of time a given information unit is displayed, or the percent of a displayed information unit through which the user scrolled. The viewer may send a copy of this collected data to the server. Furthermore, once a user has
registered with a server, the viewer can use the unique identity code to identify itself to the server during subsequent interactions with the server, thereby obviating a need for the user to re-register each time it accesses the server.
BRIEF
DESCRIPTION OF THE DRAWINGS
Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the drawings, the
left-most digit of each reference number identifies the drawing in which the reference number first appears and like references indicate similar elements.
FIG. 1 is a schematic drawing of an electronic publication produced by the present invention;
FIG. 2 is a block diagram of a design and layout tool and a viewer according to the present invention; and
FIG. 3 is a flow chart that depicts steps taken by the viewer to render text using a font specified by a publisher.
DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 illustrates an exemplary electronic publication 100 that may be produced by a design and layout tool and displayed by a viewer according to the present invention. FIG. 2. illustrates a procedure and data flow by which a design and layout
tool ("Tool") 200 produces an electronic publication, represented by a publication file 201, image and/or text files 202, font files 203, a web page HTML file 204 and a downloadable viewer file 206. The downloadable viewer file 206 may be a Java applet. These files are stored on a web site computer system 208, which is connected to a local or global computer network, such as the Internet 210. Other servers 212, 214 and 216 are also connected to the network 210 and each server 212, 214 and 216
preferably contains at least one resource. For example, server 212 contains an HTML resource file 218; server 214 contains a search engine 220; and server 216 contains a resource 222 that can return weather radar images. A client computer system 224 is
preferably connected to the network 210. The client computer 224 may execute a browser application 226 that contains a Java interpreter or plug-in 228. The Java interpreter 228, in turn, executes a viewer 230.
Returning to FIG. 1, a page designer utilizes the Tool 200 (FIG. 2) in order to define a layout for the electronic publication 100. More specifically, the page designer using the Tool 200 defines one or more regions, such as regions 102, 104,
106, 108 and 110. In the preferred embodiment, these regions 102, 104, 106,108 and 110 are rectangular. It should be understood, however, that the regions created by the Tool 200 may have other shapes. The Tool 200 preferably provides a
"drag-and-drop" user interface (not shown). The drag-and-drop user interface allows the page designer to select types of regions from a palette and to drag these types and position them on a work area. The page designer may rearrange and resize the
regions 102 to 110. This type of user interface is well-known in the art and will not be described in more detail.
The type of region that the page designer selects from the palette may correspond to the type of information (e.g., text, image, graphic, animation, timer, or link) that will be displayed in the region by the viewer 230. Using the Tool 200, the
page designer may add controls to the electronic publication 100, such as a scroll control 112. The page designer may also add fixed text and graphics such as text 114, graphic 116 and rule 118. These fixed texts and graphics are preferably stored in
the image and text files 202, which may be | | |