US6175845B1 - Method and component for presentation of information - Google Patents

Method and component for presentation of information Download PDF

Info

Publication number
US6175845B1
US6175845B1 US09/087,778 US8777898A US6175845B1 US 6175845 B1 US6175845 B1 US 6175845B1 US 8777898 A US8777898 A US 8777898A US 6175845 B1 US6175845 B1 US 6175845B1
Authority
US
United States
Prior art keywords
page
book
information
renderer
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US09/087,778
Inventor
Andrew John Smith
David Seager Renshaw
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RENSHAW, DAVID S., SMITH, ANDREW J.
Application granted granted Critical
Publication of US6175845B1 publication Critical patent/US6175845B1/en
Assigned to SCIENCE INCORPORATED reassignment SCIENCE INCORPORATED RELEASE OF SECURITY AGREEMENT Assignors: DAVID E. KELBY AND VIRGINIA H. KELBY, AS JOINT TENANTS, DONALD BRATTAIN, GROSSMAN INVESTMENTS, OKABENA PARTNERSIP V-8 BY OKABENA INVESTMENT SERVICES, INC. MANAGER, SIT INVESTMENT ASSOCIATES, INC., W. WILLIAM BEDNARCZYK, WILLIAM A. HODDER, WILLIAM F. FARLEY D/B/A LIVINGSTON CAPITAL, WINSTON R. WALLIN/WALLIN FAMILY FOUNDATION
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Definitions

  • the present invention relates to a method and component for presentation of information.
  • Pagination of complex information is not a new concept.
  • Word processors and report generators are just two examples where complex information is formatted to display or print over multiple pages.
  • the formatting and display of information elements are managed by the same entity.
  • Technologies such as JavaBeans and ActiveX facilitate the containment and arrangement of arbitrary content, but typically a container must define the containment area and implement the arrangement strategy.
  • Complex containers that deal with multi-page presentation are possible, but may need to be extended or re-implemented to deal with new forms of content.
  • the invention provides a method of presenting information via a user interface of a computer system, the computer system comprising a book component and a renderer component, comprising the steps of: said book determining page boundaries for pages in which information is to be presented, and communicating said page boundaries to said renderer; said renderer determining a number of pages, constrained by said page boundaries, required to fully render said information, and communicating said number of pages to said book; responsive to said book providing an input token representing a prominent element of information on a page, said renderer determining a page number for the page containing the element of information represented by said token, and communicating said page number to said book; responsive to an event requiring the presentation of a page including a prominent element of information, said book communicating said page number to said renderer; and said renderer presenting said page in a display area.
  • FIG. 1 illustrates the logical association of major components of a book
  • FIG. 2 is an example of HTML content to be rendered
  • FIG. 3 shows a logical page layout of the HTML content of FIG. 2, rendered for an initial book page size
  • FIG. 4 is a logical rendition of the HTML content of FIG. 2 for a resized book page.
  • a component that performs containment of information is referred to as a book
  • a component that performs presentation of information is referred to as a renderer.
  • the book has responsibility for definition of a page area, control of navigation between pages, and communication of which page to present to an associated but discrete renderer.
  • the renderer has responsibility for formatting of information to fit the page, and presentation of the correct information for any given page on demand.
  • An embodiment of this invention has been implemented using the Java programming language.
  • the contract between a book and a renderer is described using a Java interface definition.
  • This interface definition is described first, followed by a brief description of how a book and a renderer fulfil their respective obligations.
  • Table 1 shows the Java interface definition whose methods are explained below.
  • setPageBounds ( ) and setMargins ( ) are called when a book first communicates with a renderer. Thereafter, setPageBounds ( ) is called whenever the book's page display area size is modified; and setMargins ( ) is called if a book's margin definitions are modified.
  • renderpage ( ) is called, providing a java.awt.Graphics object “g”, and a page number “page” to render, whenever page presentation is required.
  • renderPage ( ) returns a token representing a prominent element of information on the presented page. The token is stored by the book, replacing any previously returned token. The returned token may be used subsequently to obtain a new page number for the prominent element after reflowing has occurred.
  • the Graphics class primarily provides an addressable area for the renderer which in turn is mapped onto an area of the screen.
  • the Graphics class also exposes a number of methods for drawing primitives such as lines and circles etc, and these are used by a renderer that performs its own drawing. The renderer may alternatively use standard buttons or controls etc. to help render the content.
  • getpages ( ) returns the number of pages required to completely render the information content, taking into account the current page and margin sizes, getpage ( ), on the other hand, returns the page number of the page that contains the given content token. getpage ( ) is used to ensure that the same content is displayed after reflowing, caused by changing a page size or its margins. If the token is not found, zero is returned.
  • getpage and getPages are called whenever the book's page display area size or margin definitions are modified, thus allowing the book to maintain an appropriate navigational page number after the renderer has reflowed information content.
  • the page area for display of content within a book is implemented by subclassing the standard java.awt.Component class provided with the Java Development Kit.
  • java.awt.Component provides a mapping between software components and an area of the screen.
  • the Java environment defines interfaces that may be implemented by java classes wishing to monitor instances of java.awt.Component for events such as resizing and other user interactions.
  • the function of java.awt.Component may be extended by classes wishing to intercept requests by the environment to repaint areas of the component.
  • PageArea An extract from an example of such a class extending java.awt.Component, PageArea, is given in Table 2 and illustrated in FIG. 1 .
  • PageArea first of all instantiates a new renderer, in this case a HTMLRenderer.
  • PageArea must then override the standard “paint” method for the component in order to call the renderers renderpage method. “paint” will be called by the system whenever the page is to be painted or repainted.
  • the redefined paint method asks the renderer to render the current page contents by calling renderpage.
  • a “layout” method is then defined and is called whenever the size of this component is changed due to book resizing etc. Layout finds out which page the key item that was previously in view of the user is now on, by calling “getPage”, and calls “repaint” which in turn calls the redefined paint method to render the page area at this page.
  • the book maintains a reference to the location of information to be presented, local file, URL, etc. and understands which implementation of the Renderer interface is appropriate to format and render that information, “HTMLRenderer”.
  • HTMLRenderer When a book wishes content to be displayed on its page area(s), an instance of the appropriate Renderer implementation is instantiated and a reference to the information location is passed to it.
  • the renderer's setPageBounds ( ) method is then called to provide the current page display area dimensions. If a book has restrictive margins defined, then the renderer's setMargins ( ) method is also called. Following this, the renderer's getpages ( ) method is called and the returned number of pages stored.
  • the book then renders the first page of the content by requesting a repaint of the java.awt.Component which represents the page area.
  • the paint ( ) method of the component representing the page area then calls the renderpage ( ) method of the renderer associated with the page, specifying a page number of one.
  • the token returned is saved for later use.
  • the book determines the page number required by the user, and calls the renderer's renderpage ( ) method, passing the java.awt.Graphics object associated with the java.awt.Component object representing the page, to request that the required page of information be presented.
  • the returned token is stored in place of any previously stored token. The book does not need to understand or interpret this token, it merely needs to store it for possible subsequent delivery to the renderer's getPage ( ) method.
  • the book passes on the modified information to the renderer using its setPageBounds ( ) and/or setMargins ( ) methods. It then obtains the number of pages of the new size that the renderer would require to completely present all of its information using the renderer's getpages ( ) method. The book then requests, from the renderer, the page number of the page on which the information element represented by the last stored token would be rendered. This page number is used by the book to reset its internal page location. Finally, the book asks the renderer to render the information for the new current page.
  • the Renderer understands, and can format and present, HTML (hyper-text mark-up language) information.
  • HTML hyper-text mark-up language
  • Such an implementation takes the reference to the information location provided by the book and reads the information. The information read is parsed according to the rules of the HTML specification to extract the information formatting clues provided by HTML tags.
  • the renderer builds formatting information, font size, type style, etc. to allow the information to be rendered in the space defined by the book via the Renderer interface setPageBounds ( ) and setMargins ( ) calls.
  • the renderer computes and stores details of the logical page boundaries. Using this page boundary information, the renderer is able to supply information when called via the getPages ( ) and getPage ( ) methods.
  • the renderer implementation in parsing the HTML stream, must analyse the data in some detail. Account must be made for the varying types of content within the HTML stream i.e. images, Java applets, etc. and the text flow and alignment in order to assess the space required to render the content. In order to conform to a book model the renderer must position the various elements in order to maintain a consistent view avoiding incomplete images at the foot of a page for example.
  • the renderer To calculate the number of pages required to present an HTML stream, the renderer first logically renders the stream to a page of infinite length but whose boundaries are as defined by the setPageBounds ( ) and setMargins ( ) calls. To accomplish this, the implementation subdivides the available page space into rectangles which contain either a line of text, an image, an applet or some other HTML defined entity. The rectangles are laid out according to the alignment specification defined by the HTML stream with text flowing as required and/or specified. Having laid the data out the renderer can now subdivide the layout in order to create pages of the required length adjusting the layout to avoid page breaks within images etc. Having subdivided the layout the renderer now knows the total number of pages and the identity of the rectangular element at the top of each page. The renderer assigns a token value to the item at the top of each page which is passed to the book on a renderpage ( ) call.
  • the identifying token is passed by the book to the renderer on a getPage ( ) call to find out the numeric page number on which the item exists. This usually happens after the book has changed it's page shape characteristics (size or margins) and allows the book to request rendering of the page containing the item and thus avoid presenting the wrong information to the user after the page has been resized.
  • the book requests the renderer to render page 6 of it's content, due to user pagination requests or some other interaction.
  • the renderer renders the requested page and returns a token, identifying the content element at the top of page 6, a heading perhaps.
  • the user of the book resizes it making the displayed page area larger.
  • the book informs the renderer of the change of page format using a setPageBoundaries ( ) call causing the renderer to recalculate it's formatting data.
  • the book requests the number of the page that now contains the content item formerly at the top of page 6 using a getpage ( ) call specifying the previously returned token.
  • the renderer uses the token to identify the content element, the heading, and returns the page number of the page it now resides on.
  • the book requests the renderer to render the returned page number thus ensuring the content the user was seeing before the resize is still visible.
  • the renderer need only parse the HTML information stream once but may have to compute the page boundary and formatting information multiple times. Whenever the book calls the setPageBoundaries ( ) or setMargins ( ) methods, indicating that the display area has changed size or characteristics, the formatting and boundary information must be recalculated.
  • HTML content shown in FIG. 2 .
  • the HTML is presented as a stream of data to an HTML renderer implementation running within a book.
  • the book has a set page size and margins and thus the renderer parses the HTML stream and logically renders the HTML to a page of the correct width and of infinite length. Having completed this operation the renderer may now locate the logical page boundaries necessary to permit the content to be reasonably presented. The renderer now knows where each page begins and the total number of pages required to render the whole of the content.
  • the book requests the rendering of a particular page, for instance page 2, in response to some user interaction such as scrolling.
  • the renderer returns a token which allows it to identify some piece of content on the page it has just rendered.
  • this token might identify the second level heading “Rendering Information”, FIG. 3 .
  • the book does not need to understand the format of the content or what it identifies.
  • the first logical page break occurs just prior to the second level heading “Rendering Information”, determined by the width of the page and any in-built rules of the renderer such as avoiding widowed headings.
  • the book If the user now resizes the book such that the page width is increased the book notifies it's page renderers. In response the renderers must again logically render the content to discover the layout of each page and the total number of pages. The book then presents the token it received earlier to the renderer via the getPage ( ) method to find out which page the content item represented by the token now exists on.
  • FIG. 4 shows the logical page layout for the new book page size and we can see the second level heading resides on page one.
  • the render returns “1” on the getpage ( ) request.
  • the book then requests the renderer to render page 1 and thus the second level heading remains visible to the user even after the book has been resized.
  • the renderer may use any number of strategies for predicting what is the most notable and thus the item most expected by the user to remain in view. The simplest of these is simply to ensure the item at the top of the page is visible but one can envisage strategies that use images, figures, tables, headings, etc.
  • renderer implementations can be provided to render and calculate pagination information for content in any number of formats, for example, ASCII, RTF, Postscript, Bookmaster script etc.
  • the renderer may provide more or less sophisticated mechanisms for determining the key element in view by the user. For simple data streams such as ASCII it may be just a particular word or line whereas for richer content types it may follow the example of the HTML implementation described here.
  • public interface Renderer ⁇ public void setPageBounds(Rectangle pageBounds); public void setMargins(int top, int bottom, int left, int right); public int getPages(); public int getPage(Object token); public Object renderPage(Graphics g, int page); ⁇

Abstract

A method of presenting information via a user interface of a computer system is disclosed. The method is executed by a book component and a renderer component. The book determines page boundaries for pages in which information is to be presented, and communicates the page boundaries to the renderer. The renderer determines a number of pages, constrained by the page boundaries, required to fully render the information, and communicates the number of pages to the book. Responsive to the book providing an input token representing a prominent element of information on a page, the renderer determines a page number for the page containing the element of information represented by the token, and communicates the page number to the book. Responsive to an event requiring the presentation of a page including a prominent element of information, the book communicates the page number to the renderer. The renderer presents the page in a display area and provides an output token to the book representing a prominent element of information on the presented page.

Description

FIELD OF THE INVENTION
The present invention relates to a method and component for presentation of information.
BACKGROUND OF THE INVENTION
Pagination of complex information is not a new concept. Word processors and report generators are just two examples where complex information is formatted to display or print over multiple pages. In existing embodiments, the formatting and display of information elements are managed by the same entity. Technologies such as JavaBeans and ActiveX facilitate the containment and arrangement of arbitrary content, but typically a container must define the containment area and implement the arrangement strategy. Complex containers that deal with multi-page presentation are possible, but may need to be extended or re-implemented to deal with new forms of content.
DISCLOSURE OF THE INVENTION
The invention provides a method of presenting information via a user interface of a computer system, the computer system comprising a book component and a renderer component, comprising the steps of: said book determining page boundaries for pages in which information is to be presented, and communicating said page boundaries to said renderer; said renderer determining a number of pages, constrained by said page boundaries, required to fully render said information, and communicating said number of pages to said book; responsive to said book providing an input token representing a prominent element of information on a page, said renderer determining a page number for the page containing the element of information represented by said token, and communicating said page number to said book; responsive to an event requiring the presentation of a page including a prominent element of information, said book communicating said page number to said renderer; and said renderer presenting said page in a display area.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates the logical association of major components of a book;
FIG. 2 is an example of HTML content to be rendered;
FIG. 3 shows a logical page layout of the HTML content of FIG. 2, rendered for an initial book page size; and
FIG. 4 is a logical rendition of the HTML content of FIG. 2 for a resized book page.
DESCRIPTION OF THE PREFERRED EMBODIMENT
In the present invention, a component that performs containment of information is referred to as a book, whereas a component that performs presentation of information is referred to as a renderer. The book has responsibility for definition of a page area, control of navigation between pages, and communication of which page to present to an associated but discrete renderer. The renderer has responsibility for formatting of information to fit the page, and presentation of the correct information for any given page on demand.
An embodiment of this invention has been implemented using the Java programming language. The contract between a book and a renderer is described using a Java interface definition. This interface definition is described first, followed by a brief description of how a book and a renderer fulfil their respective obligations.
Renderer Interface
Table 1 shows the Java interface definition whose methods are explained below.
setPageBounds ( ) and setMargins ( ) are called when a book first communicates with a renderer. Thereafter, setPageBounds ( ) is called whenever the book's page display area size is modified; and setMargins ( ) is called if a book's margin definitions are modified.
renderpage ( ) is called, providing a java.awt.Graphics object “g”, and a page number “page” to render, whenever page presentation is required. renderPage ( ) returns a token representing a prominent element of information on the presented page. The token is stored by the book, replacing any previously returned token. The returned token may be used subsequently to obtain a new page number for the prominent element after reflowing has occurred. The Graphics class primarily provides an addressable area for the renderer which in turn is mapped onto an area of the screen. The Graphics class also exposes a number of methods for drawing primitives such as lines and circles etc, and these are used by a renderer that performs its own drawing. The renderer may alternatively use standard buttons or controls etc. to help render the content.
getpages ( ) returns the number of pages required to completely render the information content, taking into account the current page and margin sizes, getpage ( ), on the other hand, returns the page number of the page that contains the given content token. getpage ( ) is used to ensure that the same content is displayed after reflowing, caused by changing a page size or its margins. If the token is not found, zero is returned.
Both getpage and getPages are called whenever the book's page display area size or margin definitions are modified, thus allowing the book to maintain an appropriate navigational page number after the renderer has reflowed information content.
Book Implementation
The page area for display of content within a book is implemented by subclassing the standard java.awt.Component class provided with the Java Development Kit. java.awt.Component provides a mapping between software components and an area of the screen. The Java environment defines interfaces that may be implemented by java classes wishing to monitor instances of java.awt.Component for events such as resizing and other user interactions. The function of java.awt.Component may be extended by classes wishing to intercept requests by the environment to repaint areas of the component.
An extract from an example of such a class extending java.awt.Component, PageArea, is given in Table 2 and illustrated in FIG. 1. PageArea first of all instantiates a new renderer, in this case a HTMLRenderer. PageArea must then override the standard “paint” method for the component in order to call the renderers renderpage method. “paint” will be called by the system whenever the page is to be painted or repainted. The redefined paint method asks the renderer to render the current page contents by calling renderpage. A “layout” method is then defined and is called whenever the size of this component is changed due to book resizing etc. Layout finds out which page the key item that was previously in view of the user is now on, by calling “getPage”, and calls “repaint” which in turn calls the redefined paint method to render the page area at this page.
In the above example it is assumed that the book maintains a reference to the location of information to be presented, local file, URL, etc. and understands which implementation of the Renderer interface is appropriate to format and render that information, “HTMLRenderer”. When a book wishes content to be displayed on its page area(s), an instance of the appropriate Renderer implementation is instantiated and a reference to the information location is passed to it. The renderer's setPageBounds ( ) method is then called to provide the current page display area dimensions. If a book has restrictive margins defined, then the renderer's setMargins ( ) method is also called. Following this, the renderer's getpages ( ) method is called and the returned number of pages stored. This allows the book to understand the limits of pagination for this particular renderer at the current page and margin sizes. Typically, the book then renders the first page of the content by requesting a repaint of the java.awt.Component which represents the page area. The paint ( ) method of the component representing the page area then calls the renderpage ( ) method of the renderer associated with the page, specifying a page number of one. The token returned is saved for later use.
When user interaction events, such as go to start/end of book or to a specified page, interpreted as page navigation requests by the book are received, the book determines the page number required by the user, and calls the renderer's renderpage ( ) method, passing the java.awt.Graphics object associated with the java.awt.Component object representing the page, to request that the required page of information be presented. The returned token is stored in place of any previously stored token. The book does not need to understand or interpret this token, it merely needs to store it for possible subsequent delivery to the renderer's getPage ( ) method.
When user interaction events interpreted as page size or margin definition modifications by the book are received, the book passes on the modified information to the renderer using its setPageBounds ( ) and/or setMargins ( ) methods. It then obtains the number of pages of the new size that the renderer would require to completely present all of its information using the renderer's getpages ( ) method. The book then requests, from the renderer, the page number of the page on which the information element represented by the last stored token would be rendered. This page number is used by the book to reset its internal page location. Finally, the book asks the renderer to render the information for the new current page.
Renderer Implementation
In a preferred embodiment the Renderer understands, and can format and present, HTML (hyper-text mark-up language) information. Such an implementation takes the reference to the information location provided by the book and reads the information. The information read is parsed according to the rules of the HTML specification to extract the information formatting clues provided by HTML tags. When the structure of the information has been ascertained the renderer builds formatting information, font size, type style, etc. to allow the information to be rendered in the space defined by the book via the Renderer interface setPageBounds ( ) and setMargins ( ) calls. In building the formatting information the renderer computes and stores details of the logical page boundaries. Using this page boundary information, the renderer is able to supply information when called via the getPages ( ) and getPage ( ) methods.
The renderer implementation, in parsing the HTML stream, must analyse the data in some detail. Account must be made for the varying types of content within the HTML stream i.e. images, Java applets, etc. and the text flow and alignment in order to assess the space required to render the content. In order to conform to a book model the renderer must position the various elements in order to maintain a consistent view avoiding incomplete images at the foot of a page for example.
To calculate the number of pages required to present an HTML stream, the renderer first logically renders the stream to a page of infinite length but whose boundaries are as defined by the setPageBounds ( ) and setMargins ( ) calls. To accomplish this, the implementation subdivides the available page space into rectangles which contain either a line of text, an image, an applet or some other HTML defined entity. The rectangles are laid out according to the alignment specification defined by the HTML stream with text flowing as required and/or specified. Having laid the data out the renderer can now subdivide the layout in order to create pages of the required length adjusting the layout to avoid page breaks within images etc. Having subdivided the layout the renderer now knows the total number of pages and the identity of the rectangular element at the top of each page. The renderer assigns a token value to the item at the top of each page which is passed to the book on a renderpage ( ) call.
The identifying token is passed by the book to the renderer on a getPage ( ) call to find out the numeric page number on which the item exists. This usually happens after the book has changed it's page shape characteristics (size or margins) and allows the book to request rendering of the page containing the item and thus avoid presenting the wrong information to the user after the page has been resized.
Consider the following example. The book requests the renderer to render page 6 of it's content, due to user pagination requests or some other interaction. The renderer renders the requested page and returns a token, identifying the content element at the top of page 6, a heading perhaps. The user of the book resizes it making the displayed page area larger. The book informs the renderer of the change of page format using a setPageBoundaries ( ) call causing the renderer to recalculate it's formatting data. The book then requests the number of the page that now contains the content item formerly at the top of page 6 using a getpage ( ) call specifying the previously returned token. The renderer uses the token to identify the content element, the heading, and returns the page number of the page it now resides on. The book then requests the renderer to render the returned page number thus ensuring the content the user was seeing before the resize is still visible.
The renderer need only parse the HTML information stream once but may have to compute the page boundary and formatting information multiple times. Whenever the book calls the setPageBoundaries ( ) or setMargins ( ) methods, indicating that the display area has changed size or characteristics, the formatting and boundary information must be recalculated.
Consider the example of HTML content shown in FIG. 2. The HTML is presented as a stream of data to an HTML renderer implementation running within a book. The book has a set page size and margins and thus the renderer parses the HTML stream and logically renders the HTML to a page of the correct width and of infinite length. Having completed this operation the renderer may now locate the logical page boundaries necessary to permit the content to be reasonably presented. The renderer now knows where each page begins and the total number of pages required to render the whole of the content.
The book requests the rendering of a particular page, for instance page 2, in response to some user interaction such as scrolling. In response the renderer returns a token which allows it to identify some piece of content on the page it has just rendered. In the example this token might identify the second level heading “Rendering Information”, FIG. 3. The book does not need to understand the format of the content or what it identifies.
The first logical page break occurs just prior to the second level heading “Rendering Information”, determined by the width of the page and any in-built rules of the renderer such as avoiding widowed headings.
If the user now resizes the book such that the page width is increased the book notifies it's page renderers. In response the renderers must again logically render the content to discover the layout of each page and the total number of pages. The book then presents the token it received earlier to the renderer via the getPage ( ) method to find out which page the content item represented by the token now exists on.
FIG. 4 shows the logical page layout for the new book page size and we can see the second level heading resides on page one. Thus the render returns “1” on the getpage ( ) request. The book then requests the renderer to render page 1 and thus the second level heading remains visible to the user even after the book has been resized.
The renderer may use any number of strategies for predicting what is the most notable and thus the item most expected by the user to remain in view. The simplest of these is simply to ensure the item at the top of the page is visible but one can envisage strategies that use images, figures, tables, headings, etc.
It will be seen that other renderer implementations can be provided to render and calculate pagination information for content in any number of formats, for example, ASCII, RTF, Postscript, Bookmaster script etc. Depending on the format of the data the renderer may provide more or less sophisticated mechanisms for determining the key element in view by the user. For simple data streams such as ASCII it may be just a particular word or line whereas for richer content types it may follow the example of the HTML implementation described here.
  public interface Renderer {
  public void setPageBounds(Rectangle pageBounds);
  public void setMargins(int top, int bottom, int
left, int right);
  public int getPages();
  public int getPage(Object token);
  public Object renderPage(Graphics g, int page); }
TABLE 2
Example page area implementation
public class PageArea extends java.awt.Component {
. . .
Object pageToken;
int pages = 1;
int currentPage = ;
Renderer renderer = new HTMLRenderer(this);
. . .
public void paint(Graphics g) {
. . .
pageToken = renderer.renderPage(g, currentPage);
. . .
}
void layout(Rectangle bounds) {
renderer.setPageBounds(bounds);
pages = renderer.getPages();
currentPage = renderer.getPage(pageToken);
repaint();
}
}

Claims (9)

What is claimed is:
1. A method of presenting information via a user interface of a computer system, the computer system comprising a book component and a renderer component, comprising the steps of:
said book determining page boundaries for pages in which information is to be presented, and communicating said page boundaries to said renderer;
said renderer determining a number of pages, constrained by said page boundaries, required to fully render said information, and communicating said number of pages to said book;
responsive to said book providing an input token representing a prominent element of information on a page, said renderer determining a current page number for the page containing the element of information represented by said token, and communicating said current page number to said book;
responsive to a reflowing event requiring the presentation of a page including the prominent element of information, said book communicating said current page number to said renderer; and
said renderer presenting said page including the prominent element of information in a display area, wherein the input token ensures the display of the prominent element after said reflowing event.
2. The method as claimed in 1, further comprising the step of said renderer providing an output token to said book representing a prominent element of information on said presented page.
3. The method as claimed in 1, wherein said page boundaries comprise a page size and any restrictive margins on said page.
4. The method as claimed in claim 1, wherein said display area is determined by said book.
5. The method as claimed in 1, further including the step of replacing said input token with said output token.
6. The method as claimed in claim 1, wherein the reflowing event requiring the presentation of the page is a resizing of the display area.
7. The method as claimed in claim 1, wherein the reflowing event requiring the presentation of the page is a change in margins of the display area.
8. A renderer component for a computer system for use in presenting information via a user interface of a computer system, said component comprising:
means adapted to receive page boundaries from a book component;
means responsive to said book component to provide a number of pages required to display said information according to said page boundaries;
means responsive to said book component providing an input token representing a prominent element of information on a page to determine a current page number for the page containing the element of information represented by said token; and
means responsive to said book providing the current page number to present said page containing the prominent element of information in a display area and provide an output token to said book, wherein the input token ensures the display of the prominent element after a reflowing event.
9. A computer program product comprising computer readable program code stored on a computer readable recording medium, the program code comprising a renderer component for use in presenting information via a user interface of a computer system, said renderer component comprising:
means adapted to receive page boundaries from a book component;
means responsive to said book component to provide a number of pages required to display said information according to said page boundaries;
means responsive to said book component providing an input token representing a prominent element of information on a page to determine a current page number for the page containing the element of information represented by said token; and
means responsive to said book providing the current page number to present said page containing the prominent element of information in a display area and provide an output token to said book, wherein the input token ensures the display of the prominent element after a reflowing event.
US09/087,778 1998-01-06 1998-05-29 Method and component for presentation of information Expired - Fee Related US6175845B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9800100.1A GB9800100D0 (en) 1998-01-06 1998-01-06 A method and component for presentation of information
GB9800100 1998-01-06

Publications (1)

Publication Number Publication Date
US6175845B1 true US6175845B1 (en) 2001-01-16

Family

ID=10824813

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/087,778 Expired - Fee Related US6175845B1 (en) 1998-01-06 1998-05-29 Method and component for presentation of information

Country Status (2)

Country Link
US (1) US6175845B1 (en)
GB (1) GB9800100D0 (en)

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082105A2 (en) * 2000-04-19 2001-11-01 Microsoft Corporation Document pagination based on hard breaks and active formatting tags
WO2002042929A1 (en) * 2000-11-22 2002-05-30 Adobe Systems Incorporated Automated paragraph layout
US6694485B1 (en) * 1999-07-27 2004-02-17 International Business Machines Corporation Enhanced viewing of hypertext markup language file
US6701514B1 (en) 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US20040168126A1 (en) * 2000-04-19 2004-08-26 Microsoft Corporation Document pagination based on hard breaks and active formatting tags
US20040205623A1 (en) * 2001-05-11 2004-10-14 Steven Weil Intelligent virtual paging paradigm
US20050080682A1 (en) * 2001-12-10 2005-04-14 Eric Wilson System for secure distribution of electronic content and collection of fees
US20050091585A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Systems and methods for pagination and co-pagination
US20050097458A1 (en) * 2001-12-19 2005-05-05 Eric Wilson Document display system and method
US6907546B1 (en) 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US20050138551A1 (en) * 2003-10-03 2005-06-23 Gidon Elazar Method for page translation
US20050149861A1 (en) * 2003-12-09 2005-07-07 Microsoft Corporation Context-free document portions with alternate formats
US20050235293A1 (en) * 2004-04-14 2005-10-20 Microsoft Corporation Methods and systems for framework layout editing operations
US20050251735A1 (en) * 2004-04-30 2005-11-10 Microsoft Corporation Method and apparatus for document processing
US20050251739A1 (en) * 2004-04-30 2005-11-10 Andrey Shur Methods and systems for defining documents with selectable and/or sequenceable parts
US20050251740A1 (en) * 2004-04-30 2005-11-10 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US20050262441A1 (en) * 2004-05-21 2005-11-24 Samsung Electronics Co., Ltd. Method and apparatus for printing web pages
US20050268221A1 (en) * 2004-04-30 2005-12-01 Microsoft Corporation Modular document format
US20050273701A1 (en) * 2004-04-30 2005-12-08 Emerson Daniel F Document mark up methods and systems
EP1605366A1 (en) * 2003-03-13 2005-12-14 Sharp Kabushiki Kaisha Data processing apparatus, data processing method, data processing program, and recording medium having recorded therein that program
US6986101B2 (en) * 1999-05-06 2006-01-10 International Business Machines Corporation Method and apparatus for converting programs and source code files written in a programming language to equivalent markup language files
US20060069983A1 (en) * 2004-09-30 2006-03-30 Microsoft Corporation Method and apparatus for utilizing an extensible markup language schema to define document parts for use in an electronic document
US7028258B1 (en) * 1999-10-01 2006-04-11 Microsoft Corporation Dynamic pagination of text and resizing of image to fit in a document
US20060136816A1 (en) * 2004-12-20 2006-06-22 Microsoft Corporation File formats, methods, and computer program products for representing documents
US20060136477A1 (en) * 2004-12-20 2006-06-22 Microsoft Corporation Management and use of data in a computer-generated document
US20060136553A1 (en) * 2004-12-21 2006-06-22 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US20060190815A1 (en) * 2004-12-20 2006-08-24 Microsoft Corporation Structuring data for word processing documents
US20060271574A1 (en) * 2004-12-21 2006-11-30 Microsoft Corporation Exposing embedded data in a computer-generated document
US20060277452A1 (en) * 2005-06-03 2006-12-07 Microsoft Corporation Structuring data for presentation documents
US20070022128A1 (en) * 2005-06-03 2007-01-25 Microsoft Corporation Structuring data for spreadsheet documents
US20070043671A1 (en) * 2005-08-17 2007-02-22 Kurzweil Educational Systems, Inc. Protected viewing of digital files
US20070214169A1 (en) * 2001-10-15 2007-09-13 Mathieu Audet Multi-dimensional locating system and method
US20070216694A1 (en) * 2001-10-15 2007-09-20 Mathieu Audet Multi-Dimensional Locating System and Method
US20080058106A1 (en) * 2002-10-07 2008-03-06 Maya-Systems Inc. Multi-dimensional locating game system and method
US7418652B2 (en) 2004-04-30 2008-08-26 Microsoft Corporation Method and apparatus for interleaving parts of a document
US20080295016A1 (en) * 2007-05-25 2008-11-27 Mathieu Audet Timescale for representing information
US20090019371A1 (en) * 2001-10-15 2009-01-15 Mathieu Audet Multi-dimensional locating system and method
US20090055776A1 (en) * 2007-08-22 2009-02-26 Mathieu Audet Position based multi-dimensional locating system and method
US20090055726A1 (en) * 2007-08-22 2009-02-26 Mathieu Audet Information elements locating system and method
US20090228788A1 (en) * 2008-03-07 2009-09-10 Mathieu Audet Documents discrimination system and method thereof
US7614000B2 (en) 2004-12-20 2009-11-03 Microsoft Corporation File formats, methods, and computer program products for representing presentations
US7617447B1 (en) 2003-12-09 2009-11-10 Microsoft Corporation Context free document portions
US7617444B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US7620889B2 (en) 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US20100169823A1 (en) * 2008-09-12 2010-07-01 Mathieu Audet Method of Managing Groups of Arrays of Documents
US20100229083A1 (en) * 2009-03-06 2010-09-09 Mitsubishi Electric Screen display program generating apparatus, screen display system, computer readable storage medium having stored therein a computer program causing a computer to function as the screen display program generating apparatus, and screen display program generating method
US7814408B1 (en) 2000-04-19 2010-10-12 Microsoft Corporation Pre-computing and encoding techniques for an electronic document to improve run-time processing
US8306982B2 (en) 2008-05-15 2012-11-06 Maya-Systems Inc. Method for associating and manipulating documents with an object
US9058093B2 (en) 2011-02-01 2015-06-16 9224-5489 Quebec Inc. Active element
US9443441B1 (en) * 2010-10-29 2016-09-13 Amazon Technologies, Inc. View port resolution independent network pages
US9519693B2 (en) 2012-06-11 2016-12-13 9224-5489 Quebec Inc. Method and apparatus for displaying data element axes
US9613167B2 (en) 2011-09-25 2017-04-04 9224-5489 Quebec Inc. Method of inserting and removing information elements in ordered information element arrays
US9646080B2 (en) 2012-06-12 2017-05-09 9224-5489 Quebec Inc. Multi-functions axis-based interface
US10073820B2 (en) * 2010-12-31 2018-09-11 Thomson Reuters Global Resources Unlimited Company Systems, methods, and interfaces for pagination and display on an access device
US10671266B2 (en) 2017-06-05 2020-06-02 9224-5489 Quebec Inc. Method and apparatus of aligning information element axes

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709348A (en) * 1986-06-13 1987-11-24 International Business Machines Corporation Interactive page length adjustment with automatic pagination
US4723209A (en) * 1984-08-30 1988-02-02 International Business Machines Corp. Flow attribute for text objects
US4951233A (en) * 1987-08-05 1990-08-21 Hitachi, Ltd. Document producing apparatus having in-document layout display
US4998832A (en) * 1988-03-29 1991-03-12 Brother Kogyo Kabushiki Kaisha Documentation system having page format function
US5140676A (en) * 1989-05-08 1992-08-18 Oce-Nederland B.V. Desktop publishing system and method of making up documents
US5208905A (en) * 1987-11-16 1993-05-04 Canon Kabushiki Kaisha Document processing apparatus
US5278952A (en) * 1990-02-02 1994-01-11 Brother Kogyo Kabushiki Kaisha Document processing apparatus having layout display control system
US5623681A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. Method and apparatus for synchronizing, displaying and manipulating text and image documents
US5784487A (en) * 1996-05-23 1998-07-21 Xerox Corporation System for document layout analysis
US5911146A (en) * 1996-05-03 1999-06-08 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Apparatus and method for automatic yellow pages pagination and layout

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4723209A (en) * 1984-08-30 1988-02-02 International Business Machines Corp. Flow attribute for text objects
US4709348A (en) * 1986-06-13 1987-11-24 International Business Machines Corporation Interactive page length adjustment with automatic pagination
US4951233A (en) * 1987-08-05 1990-08-21 Hitachi, Ltd. Document producing apparatus having in-document layout display
US5208905A (en) * 1987-11-16 1993-05-04 Canon Kabushiki Kaisha Document processing apparatus
US4998832A (en) * 1988-03-29 1991-03-12 Brother Kogyo Kabushiki Kaisha Documentation system having page format function
US5140676A (en) * 1989-05-08 1992-08-18 Oce-Nederland B.V. Desktop publishing system and method of making up documents
US5278952A (en) * 1990-02-02 1994-01-11 Brother Kogyo Kabushiki Kaisha Document processing apparatus having layout display control system
US5623681A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. Method and apparatus for synchronizing, displaying and manipulating text and image documents
US5911146A (en) * 1996-05-03 1999-06-08 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Apparatus and method for automatic yellow pages pagination and layout
US5784487A (en) * 1996-05-23 1998-07-21 Xerox Corporation System for document layout analysis

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Gruman, "QuarkXPress versus PageMaker", MacWorld, v14, n12, p. 86(7), ISSN: 0741-8647, Dec. 1997. *
Sellers, "UniQorn 1.0 puts new twists on DTP with good GX tools", MacWeek, v10, n18, p. 37(2), ISSN: 0892-8118, May 1996. *
Somogyi, "Inside Acrobat Amber: more than PostScript on the Web", Digital Media, v5, n7-8, p. 15(4), ISSN: 1056-7038, Dec. 1995. *
Tribute et al, "Dainippon Screen: venerable company heads in a new direction", Seybold Report on Publishing Systems, v22, n14, p. 3(12), ISSN: 0736-7260, May 1993. *

Cited By (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986101B2 (en) * 1999-05-06 2006-01-10 International Business Machines Corporation Method and apparatus for converting programs and source code files written in a programming language to equivalent markup language files
US6694485B1 (en) * 1999-07-27 2004-02-17 International Business Machines Corporation Enhanced viewing of hypertext markup language file
US7028258B1 (en) * 1999-10-01 2006-04-11 Microsoft Corporation Dynamic pagination of text and resizing of image to fit in a document
US6907546B1 (en) 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6701514B1 (en) 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US7814408B1 (en) 2000-04-19 2010-10-12 Microsoft Corporation Pre-computing and encoding techniques for an electronic document to improve run-time processing
WO2001082105A3 (en) * 2000-04-19 2002-01-24 Microsoft Corp Document pagination based on hard breaks and active formatting tags
WO2001082105A2 (en) * 2000-04-19 2001-11-01 Microsoft Corporation Document pagination based on hard breaks and active formatting tags
US7213203B2 (en) 2000-04-19 2007-05-01 Microsoft Corporation Document pagination based on hard breaks and active formatting tags
US20040168126A1 (en) * 2000-04-19 2004-08-26 Microsoft Corporation Document pagination based on hard breaks and active formatting tags
US6789229B1 (en) * 2000-04-19 2004-09-07 Microsoft Corporation Document pagination based on hard breaks and active formatting tags
US7797624B2 (en) 2000-11-22 2010-09-14 Adobe Systems Incorporated Automated paragraph layout
US20030192011A1 (en) * 2000-11-22 2003-10-09 Adobe Systems Incorporated, A Delaware Corporation Automated paragraph layout
US20080282149A1 (en) * 2000-11-22 2008-11-13 Adobe Systems Incorporated Automated Paragraph Layout
US20070186155A1 (en) * 2000-11-22 2007-08-09 Adobe Systems Incorporated Automated Paragraph Layout
US20030167448A1 (en) * 2000-11-22 2003-09-04 Adobe Systems Incorporated, A Delaware Corporation Automated paragraph layout
US7197695B2 (en) 2000-11-22 2007-03-27 Adobe Systems Incorporated Automated paragraph layout
US7191396B2 (en) 2000-11-22 2007-03-13 Adobe Systems Incorporated Automated paragraph layout
US7191390B2 (en) 2000-11-22 2007-03-13 Adobe Systems Incorporated Automated paragraph layout
US9223757B2 (en) 2000-11-22 2015-12-29 Adobe Systems Incorporated Automated paragraph layout
US20030055851A1 (en) * 2000-11-22 2003-03-20 Williamson David E. Automated paragraph layout
WO2002042929A1 (en) * 2000-11-22 2002-05-30 Adobe Systems Incorporated Automated paragraph layout
US20040205623A1 (en) * 2001-05-11 2004-10-14 Steven Weil Intelligent virtual paging paradigm
US7512879B2 (en) * 2001-05-11 2009-03-31 Microsoft Corporation Intelligent virtual paging paradigm
US8645826B2 (en) 2001-10-15 2014-02-04 Apple Inc. Graphical multidimensional file management system and method
US8078966B2 (en) 2001-10-15 2011-12-13 Maya-Systems Inc. Method and system for managing musical files
US20080134022A1 (en) * 2001-10-15 2008-06-05 Mathieu Audet Document attributes
US8136030B2 (en) 2001-10-15 2012-03-13 Maya-Systems Inc. Method and system for managing music files
US20080141115A1 (en) * 2001-10-15 2008-06-12 Mathieu Audet Multi-dimensional document locating system and method
US8151185B2 (en) 2001-10-15 2012-04-03 Maya-Systems Inc. Multimedia interface
US7680817B2 (en) 2001-10-15 2010-03-16 Maya-Systems Inc. Multi-dimensional locating system and method
US20090288006A1 (en) * 2001-10-15 2009-11-19 Mathieu Audet Multi-dimensional documents locating system and method
US7606819B2 (en) 2001-10-15 2009-10-20 Maya-Systems Inc. Multi-dimensional locating system and method
US9454529B2 (en) 2001-10-15 2016-09-27 Apple Inc. Method of improving a search
US8316306B2 (en) 2001-10-15 2012-11-20 Maya-Systems Inc. Method and system for sequentially navigating axes of elements
US20080092038A1 (en) * 2001-10-15 2008-04-17 Mahieu Audet Document vectors
US9251643B2 (en) 2001-10-15 2016-02-02 Apple Inc. Multimedia interface progression bar
US20080071822A1 (en) * 2001-10-15 2008-03-20 Mathieu Audet Browser for managing documents
US8954847B2 (en) 2001-10-15 2015-02-10 Apple Inc. Displays of user select icons with an axes-based multimedia interface
US20080134013A1 (en) * 2001-10-15 2008-06-05 Mathieu Audet Multimedia interface
US8893046B2 (en) 2001-10-15 2014-11-18 Apple Inc. Method of managing user-selectable elements in a plurality of directions
US20090019371A1 (en) * 2001-10-15 2009-01-15 Mathieu Audet Multi-dimensional locating system and method
US8904281B2 (en) 2001-10-15 2014-12-02 Apple Inc. Method and system for managing multi-user user-selectable elements
US20080072169A1 (en) * 2001-10-15 2008-03-20 Mathieu Audet Document interfaces
US20070214169A1 (en) * 2001-10-15 2007-09-13 Mathieu Audet Multi-dimensional locating system and method
US20070216694A1 (en) * 2001-10-15 2007-09-20 Mathieu Audet Multi-Dimensional Locating System and Method
US20050080682A1 (en) * 2001-12-10 2005-04-14 Eric Wilson System for secure distribution of electronic content and collection of fees
US20050097458A1 (en) * 2001-12-19 2005-05-05 Eric Wilson Document display system and method
US7581176B2 (en) 2001-12-19 2009-08-25 Eric Cameron Wilson Document display system and method
US20080058106A1 (en) * 2002-10-07 2008-03-06 Maya-Systems Inc. Multi-dimensional locating game system and method
EP1605366A1 (en) * 2003-03-13 2005-12-14 Sharp Kabushiki Kaisha Data processing apparatus, data processing method, data processing program, and recording medium having recorded therein that program
EP1605366A4 (en) * 2003-03-13 2010-07-07 Sharp Kk Data processing apparatus, data processing method, data processing program, and recording medium having recorded therein that program
US20050138551A1 (en) * 2003-10-03 2005-06-23 Gidon Elazar Method for page translation
US7350143B2 (en) * 2003-10-03 2008-03-25 Sandisk Corporation Method for page translation
US7412646B2 (en) * 2003-10-23 2008-08-12 Microsoft Corporation Systems and methods for pagination and co-pagination
US20080270893A1 (en) * 2003-10-23 2008-10-30 Microsoft Corporation Systems and Methods for Pagination and Co-Pagination
US8145996B2 (en) * 2003-10-23 2012-03-27 Microsoft Corporation Systems and methods for pagination and co-pagination
US20050091585A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Systems and methods for pagination and co-pagination
US20050149861A1 (en) * 2003-12-09 2005-07-07 Microsoft Corporation Context-free document portions with alternate formats
US7617447B1 (en) 2003-12-09 2009-11-10 Microsoft Corporation Context free document portions
US7464330B2 (en) 2003-12-09 2008-12-09 Microsoft Corporation Context-free document portions with alternate formats
US20050235293A1 (en) * 2004-04-14 2005-10-20 Microsoft Corporation Methods and systems for framework layout editing operations
US7512878B2 (en) 2004-04-30 2009-03-31 Microsoft Corporation Modular document format
US20050268221A1 (en) * 2004-04-30 2005-12-01 Microsoft Corporation Modular document format
US20050251735A1 (en) * 2004-04-30 2005-11-10 Microsoft Corporation Method and apparatus for document processing
US20050251739A1 (en) * 2004-04-30 2005-11-10 Andrey Shur Methods and systems for defining documents with selectable and/or sequenceable parts
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US20050251740A1 (en) * 2004-04-30 2005-11-10 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US20050273704A1 (en) * 2004-04-30 2005-12-08 Microsoft Corporation Method and apparatus for document processing
US7418652B2 (en) 2004-04-30 2008-08-26 Microsoft Corporation Method and apparatus for interleaving parts of a document
US7549118B2 (en) 2004-04-30 2009-06-16 Microsoft Corporation Methods and systems for defining documents with selectable and/or sequenceable parts
US7383502B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Packages that contain pre-paginated documents
US20050273701A1 (en) * 2004-04-30 2005-12-08 Emerson Daniel F Document mark up methods and systems
US20080168342A1 (en) * 2004-04-30 2008-07-10 Microsoft Corporation Packages that Contain Pre-Paginated Documents
US8122350B2 (en) 2004-04-30 2012-02-21 Microsoft Corporation Packages that contain pre-paginated documents
US7366982B2 (en) 2004-04-30 2008-04-29 Microsoft Corporation Packages that contain pre-paginated documents
US20060010371A1 (en) * 2004-04-30 2006-01-12 Microsoft Corporation Packages that contain pre-paginated documents
US20060031758A1 (en) * 2004-04-30 2006-02-09 Microsoft Corporation Packages that contain pre-paginated documents
US7383500B2 (en) * 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US20050262441A1 (en) * 2004-05-21 2005-11-24 Samsung Electronics Co., Ltd. Method and apparatus for printing web pages
US7673235B2 (en) 2004-09-30 2010-03-02 Microsoft Corporation Method and apparatus for utilizing an object model to manage document parts for use in an electronic document
US20060069983A1 (en) * 2004-09-30 2006-03-30 Microsoft Corporation Method and apparatus for utilizing an extensible markup language schema to define document parts for use in an electronic document
US7617450B2 (en) 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US20060136816A1 (en) * 2004-12-20 2006-06-22 Microsoft Corporation File formats, methods, and computer program products for representing documents
US7620889B2 (en) 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US7617229B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7617444B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US7617451B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation Structuring data for word processing documents
US7614000B2 (en) 2004-12-20 2009-11-03 Microsoft Corporation File formats, methods, and computer program products for representing presentations
US20060136477A1 (en) * 2004-12-20 2006-06-22 Microsoft Corporation Management and use of data in a computer-generated document
US20060190815A1 (en) * 2004-12-20 2006-08-24 Microsoft Corporation Structuring data for word processing documents
US20060271574A1 (en) * 2004-12-21 2006-11-30 Microsoft Corporation Exposing embedded data in a computer-generated document
US20060136553A1 (en) * 2004-12-21 2006-06-22 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US20060277452A1 (en) * 2005-06-03 2006-12-07 Microsoft Corporation Structuring data for presentation documents
US20070022128A1 (en) * 2005-06-03 2007-01-25 Microsoft Corporation Structuring data for spreadsheet documents
US20070043671A1 (en) * 2005-08-17 2007-02-22 Kurzweil Educational Systems, Inc. Protected viewing of digital files
US8826123B2 (en) 2007-05-25 2014-09-02 9224-5489 Quebec Inc. Timescale for presenting information
US20080295016A1 (en) * 2007-05-25 2008-11-27 Mathieu Audet Timescale for representing information
US9262381B2 (en) 2007-08-22 2016-02-16 9224-5489 Quebec Inc. Array of documents with past, present and future portions thereof
US8069404B2 (en) 2007-08-22 2011-11-29 Maya-Systems Inc. Method of managing expected documents and system providing same
US20090055726A1 (en) * 2007-08-22 2009-02-26 Mathieu Audet Information elements locating system and method
US8701039B2 (en) 2007-08-22 2014-04-15 9224-5489 Quebec Inc. Method and system for discriminating axes of user-selectable elements
US10719658B2 (en) 2007-08-22 2020-07-21 9224-5489 Quebec Inc. Method of displaying axes of documents with time-spaces
US8788937B2 (en) 2007-08-22 2014-07-22 9224-5489 Quebec Inc. Method and tool for classifying documents to allow a multi-dimensional graphical representation
US9690460B2 (en) 2007-08-22 2017-06-27 9224-5489 Quebec Inc. Method and apparatus for identifying user-selectable elements having a commonality thereof
US20090055776A1 (en) * 2007-08-22 2009-02-26 Mathieu Audet Position based multi-dimensional locating system and method
US8601392B2 (en) 2007-08-22 2013-12-03 9224-5489 Quebec Inc. Timeline for presenting information
US10282072B2 (en) 2007-08-22 2019-05-07 9224-5489 Quebec Inc. Method and apparatus for identifying user-selectable elements having a commonality thereof
US9348800B2 (en) 2007-08-22 2016-05-24 9224-5489 Quebec Inc. Method of managing arrays of documents
US20090055763A1 (en) * 2007-08-22 2009-02-26 Mathieu Audet Timeline for presenting information
US11550987B2 (en) 2007-08-22 2023-01-10 9224-5489 Quebec Inc. Timeline for presenting information
US10430495B2 (en) 2007-08-22 2019-10-01 9224-5489 Quebec Inc. Timescales for axis of user-selectable elements
US9652438B2 (en) 2008-03-07 2017-05-16 9224-5489 Quebec Inc. Method of distinguishing documents
US20090228788A1 (en) * 2008-03-07 2009-09-10 Mathieu Audet Documents discrimination system and method thereof
US8739050B2 (en) 2008-03-07 2014-05-27 9224-5489 Quebec Inc. Documents discrimination system and method thereof
US8306982B2 (en) 2008-05-15 2012-11-06 Maya-Systems Inc. Method for associating and manipulating documents with an object
US20100169823A1 (en) * 2008-09-12 2010-07-01 Mathieu Audet Method of Managing Groups of Arrays of Documents
US8984417B2 (en) 2008-09-12 2015-03-17 9224-5489 Quebec Inc. Method of associating attributes with documents
US8607155B2 (en) 2008-09-12 2013-12-10 9224-5489 Quebec Inc. Method of managing groups of arrays of documents
US20100229083A1 (en) * 2009-03-06 2010-09-09 Mitsubishi Electric Screen display program generating apparatus, screen display system, computer readable storage medium having stored therein a computer program causing a computer to function as the screen display program generating apparatus, and screen display program generating method
US9443441B1 (en) * 2010-10-29 2016-09-13 Amazon Technologies, Inc. View port resolution independent network pages
US11023089B2 (en) 2010-10-29 2021-06-01 Amazon Technologies, Inc. View port resolution independent network pages
US10073820B2 (en) * 2010-12-31 2018-09-11 Thomson Reuters Global Resources Unlimited Company Systems, methods, and interfaces for pagination and display on an access device
US9733801B2 (en) 2011-01-27 2017-08-15 9224-5489 Quebec Inc. Expandable and collapsible arrays of aligned documents
US9058093B2 (en) 2011-02-01 2015-06-16 9224-5489 Quebec Inc. Active element
US9529495B2 (en) 2011-02-01 2016-12-27 9224-5489 Quebec Inc. Static and dynamic information elements selection
US10067638B2 (en) 2011-02-01 2018-09-04 9224-5489 Quebec Inc. Method of navigating axes of information elements
US9122374B2 (en) 2011-02-01 2015-09-01 9224-5489 Quebec Inc. Expandable and collapsible arrays of documents
US9189129B2 (en) 2011-02-01 2015-11-17 9224-5489 Quebec Inc. Non-homogeneous objects magnification and reduction
US9588646B2 (en) 2011-02-01 2017-03-07 9224-5489 Quebec Inc. Selection and operations on axes of computer-readable files and groups of axes thereof
US11080465B2 (en) 2011-09-25 2021-08-03 9224-5489 Quebec Inc. Method of expanding stacked elements
US10289657B2 (en) 2011-09-25 2019-05-14 9224-5489 Quebec Inc. Method of retrieving information elements on an undisplayed portion of an axis of information elements
US10558733B2 (en) 2011-09-25 2020-02-11 9224-5489 Quebec Inc. Method of managing elements in an information element array collating unit
US11281843B2 (en) 2011-09-25 2022-03-22 9224-5489 Quebec Inc. Method of displaying axis of user-selectable elements over years, months, and days
US9613167B2 (en) 2011-09-25 2017-04-04 9224-5489 Quebec Inc. Method of inserting and removing information elements in ordered information element arrays
US9519693B2 (en) 2012-06-11 2016-12-13 9224-5489 Quebec Inc. Method and apparatus for displaying data element axes
US10845952B2 (en) 2012-06-11 2020-11-24 9224-5489 Quebec Inc. Method of abutting multiple sets of elements along an axis thereof
US11513660B2 (en) 2012-06-11 2022-11-29 9224-5489 Quebec Inc. Method of selecting a time-based subset of information elements
US10180773B2 (en) 2012-06-12 2019-01-15 9224-5489 Quebec Inc. Method of displaying axes in an axis-based interface
US9646080B2 (en) 2012-06-12 2017-05-09 9224-5489 Quebec Inc. Multi-functions axis-based interface
US10671266B2 (en) 2017-06-05 2020-06-02 9224-5489 Quebec Inc. Method and apparatus of aligning information element axes

Also Published As

Publication number Publication date
GB9800100D0 (en) 1998-03-04

Similar Documents

Publication Publication Date Title
US6175845B1 (en) Method and component for presentation of information
US7487447B1 (en) Web page zoom feature
CA2317585C (en) System for converting scrolling display to non-scrolling columnar display
US6078935A (en) Tooltips on webpages
US20050193334A1 (en) Layout system, layout apparatus, layout program, template selection program, storage medium having stored therein layout program, and storage medium having stored therein template selection program, as well as layout method
US6313854B1 (en) Display mechanism for HTML frames
US5897644A (en) Methods and apparatus for fixed canvas presentations detecting canvas specifications including aspect ratio specifications within HTML data streams
US20070273895A1 (en) Efficient Whole Page Printing
US20040027326A1 (en) System for and method of developing a common user interface for mobile applications
US20030146934A1 (en) Systems and methods for scaling a graphical user interface according to display dimensions and using a tiered sizing schema to define display objects
US6683618B1 (en) Method and apparatus for creating and performing graphics operations on device-independent bitmaps
WO2000023911A2 (en) Automatic data formatting using a hypertext language
US20080295019A1 (en) Document with Sidebars
US5905508A (en) Method and system for dynamically plotting an element on an image using a table
US20050198561A1 (en) System and method for dynamically linking data within a portable document file with related data content stored in a database
US7047487B1 (en) Methods for formatting electronic documents
US20040030717A1 (en) Extending hypermedia documents
US7646935B2 (en) Method and computer program product for automatic image mirroring
CN110442400B (en) Browser control method and device
US11789747B2 (en) Simulated visual hierarchy while facilitating cross-extension communication
JP2002108323A (en) Information terminal and storage medium
US7461341B2 (en) Structured document display processor, method for processing display of structured document, and program for displaying structured document
WO2000058817A1 (en) Method and system for providing a digital imaging device with a web-based graphical-user-interface
JP2001042985A (en) Method for display control over menu in fif form and data input device
CN117520688A (en) Dynamic component rendering method, device, equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SMITH, ANDREW J.;RENSHAW, DAVID S.;REEL/FRAME:009217/0438;SIGNING DATES FROM 19980320 TO 19980325

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
AS Assignment

Owner name: SCIENCE INCORPORATED, MINNESOTA

Free format text: RELEASE OF SECURITY AGREEMENT;ASSIGNORS:OKABENA PARTNERSIP V-8 BY OKABENA INVESTMENT SERVICES, INC. MANAGER;WINSTON R. WALLIN/WALLIN FAMILY FOUNDATION;WILLIAM F. FARLEY D/B/A LIVINGSTON CAPITAL;AND OTHERS;REEL/FRAME:019704/0733

Effective date: 20070628

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20090116