The present disclosure is generally related to electronic documents and, more particularly, is related to the viewing of electronic documents.
An electronic document is often provided by an author, distributor or publisher (referred to as “publisher” herein) who often desires that the document be viewed with the appearance with which it was created. This, however, creates a problem in that electronic documents are often widely distributed and, therefore, can be viewed on a great variety of hardware and software platforms.
For example, video displays or monitors being used to view an electronic document can vary in size, resolution, etc. Furthermore, various software platforms for viewing electronic documents have their own display characteristics or differences. Also, each user or “reader” of the electronic document has his or her own personal viewing preferences, which should be accommodated, if possible.
Thus, due to aforementioned reasons, only a portion of a large document may be viewed at any one time. As such, it may be difficult to read an electronic document in content flow order as only a portion of the document is shown at a time. In some computer display devices, a user is enabled to increment the amount of the document by advancing to a portion of the electronic document that follows a previously displayed portion of the document. However, in moving to a different portion of the electronic document, a user often loses focus of the point in the document that displays the new portion that was not previously displayed.
Thus, a heretofore unaddressed need exists in the industry to address the aforementioned deficiencies and inadequacies.
Embodiments of the present disclosure provide systems and method for viewing electronic documents. Briefly described, one embodiment of the system, among others, includes an electronic viewer application to display contents of an electronic document and visual indicator logic configured to display at least one visual indicator on the electronic display, each visual indicator indicating a portion of the contents that are to be subsequently displayed on the electronic display in response to a navigation command.
Embodiments of the present disclosure can also be viewed as providing methods for viewing electronic documents on an electronic display. In this regard, one embodiment of such a method, among others, can be broadly summarized by the following steps: displaying a portion of an electronic document for viewing; and displaying at least one visual indicator, where each visual indicator indicates the portion of the document that is to be subsequently shown on the electronic display in response to a particular screen command.
Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description and be within the scope of the present disclosure.
Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
The local interface 180 can be, for example but not limited to, one or more buses or other wired or wireless connections, as those skilled in the art will appreciate. The local interface 180 may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communications. Further, the local interface may include address, control, and/or data connections to enable appropriate communications among the aforementioned components.
According to an exemplary embodiment, the processor 120 is a hardware device for executing software, particularly that stored in memory 140. The processor 120 can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the display device 100, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions. Examples of suitable commercially available microprocessors are as follows: a PA-RISC series microprocessor from Hewlett-Packard Company, an 80×86 or Pentium series microprocessor from Intel Corporation, a PowerPC microprocessor from IBM, a Sparc microprocessor from Sun Microsystems, Inc, or a 68xxx series microprocessor from Motorola Corporation.
A screen indicator system 110 of the present disclosure can be implemented in software (e.g., firmware), hardware, or a combination thereof. In one embodiment, the system is implemented in software, as an executable program, and is executed by a special or general purpose digital computer, such as a personal computer (PC; IBM-compatible, Apple-compatible, or otherwise), workstation, minicomputer, or mainframe computer. As such, the screen indicator system 110, in some embodiments, is a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When a source program, then the program needs to be translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory 140 so as to operate properly in connection with the O/S 122. Furthermore, the screen indicator system 110 can be written as (a) an object oriented programming language, which has classes of data and methods, or (b) a procedure programming language, which has routines, subroutines, and/or functions, for example but not limited to, C, C++, Pascal, Basic, Fortran, Cobol, Perl, Java, and Ada. In accordance with the present disclosure, the screen indicator system 110 may reside within storage on a local device or remotely accessible across a network.
If the electronic display device 100 is a PC, workstation, personal digital assistant, or the like, the software in the memory 140 may further include a basic input output system (BIOS) (omitted for simplicity). The BIOS is a set of essential software routines that initialize and test hardware at startup, start the O/S 122, and support the transfer of data among the hardware devices. The BIOS is stored in ROM so that the BIOS can be executed when the display device 110 is activated.
The memory 140 can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, the memory 140 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 140 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 120.
The software in memory 140 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of
The I/O devices 160 may include input devices, for example but not limited to, a keyboard, mouse, scanner, microphone, etc. Furthermore, the I/O devices 160 may also include output devices, for example but not limited to, a printer, display, etc. Finally, the I/O devices 160 may further include devices that communicate both inputs and outputs, for instance but not limited to, a modulator/demodulator (modem; for accessing another device, system, or network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, etc. One input device 160 of the present disclosure includes a keyboard and an electro-mechanical or optical mouse. The input device 160 can be used to input information which is acted upon by the processor 120 to control a cursor or other pointer on a computer display, such as a computer monitor 145. Other pointer mechanisms such as trackballs, electronic pens, input tablets, joystick, touch pad, arrow keyboard controls, etc. are considered to be equivalents of the mouse.
The monitor 145 is coupled to the processor 120 and includes a screen upon which an image can be displayed. Among others, the monitor 145 may be a raster-type device (such as a video monitor or a liquid-crystal display panel) having a matrix of picture elements or “pixels” which can be selectably activated to create the image.
Page representation 220 can include several different types of visual representations, including text, graphics, images, and links. Text (not shown) is derived from character codes and font objects stored in the document file. Text can be rendered into a bitmap for display on screen 210, as is well known to those skilled in the art. Graphics (not shown) can also be rendered from coded shape primitives, such as lines and rectangles, and displayed. Images (not shown) include bitmap images, such as a scanned or digitized picture, and can be displayed on screen 210 by methods well known to those skilled in the art. Links (not shown) portray a topic or idea that can be accessed by the user and, for example, can enclose special text, graphics, or images to distinguish them from normal objects. Links may be selected by the user to display a different portion of the portable electronic document that is related to the topic or idea portrayed by the link. Also, links can be linked to other electronic documents that include the topic represented by the link to provide access to those other documents. For example, on many existing network services, links to many different documents available on the network are included in electronic documents.
The viewer 115 determines the font, size, color, or other appropriate information for each object to be displayed by examining the associated font objects, color maps, size, and other information in the electronic document. In a process of displaying contents of document file, the document file may be located on a separate host computer.
An exemplary embodiment allows a user to view an electronic document on a display device of a computer. To do so, a first process involves accepting the input of commands for displaying portion(s) of electronic document in accordance with display settings. Then, a second process is performed in response to current display settings and the portion of the electronic document being displayed. This process involves indicating what portion of the electronic document that is currently being displayed will be displayed in a following screen of content. A screen of content may generally be regarded as the content that is displayed on a screen at one time with respect to current display settings.
During operation, document viewer 115 allows the user to select documents for viewing (and other possible viewer options, including, editing, printing, etc.). In
Further, a location on the screen for placing a visual indicator is determined (335) (e.g., calculating the location of the screen where the top of the next screen of content and the bottom of the previous screen of content resides), and a visual indicator is displayed on the displayed portion of the document to indicate the portion(s) of the electronic document that are to be shown on the screen in response to a particular screen or navigation command, as shown in block 340.
Generally, a screen command is a command that prompts a different portion of an electronic document to be displayed. For example, one type of screen command is a next screen command. With a next screen command, a portion of content that follows a currently displayed portion of content within an electronic document is displayed. In some embodiments, for example, if the display screen for the electronic display device 100 allows for 20 lines of text to be displayed, then a viewer 115 shifts the content of the document being displayed 20 lines of text in response to receiving a next screen command. However, in some embodiments, a viewer may be configured to not display content from more than one page at the same time, so the amount of content that is displayed may also be limited by other display characteristics or settings. Additional ways to navigate, scroll, or “page” through a document in one embodiment of the document viewer 115 are to use direction buttons in a toolbar of the viewer 115, such as “Last Page,” “Previous Page,” “Next Page,” and “First Page.” Also, the Page Up and Page Down keys on a conventional keyboard may display the next or previous screen of content respectively of the document. Each of these aforementioned commands may be regarded as different types of screen or navigation commands, in different embodiments.
The amount of content that is displayable within confines of a display screen depends upon formatting of the document, user preferences, and display settings. For example, within a document, hard breaks are included and created at the time the document is authored. For example, in a novel comprising multiple chapters, hard page breaks may be indicated at the beginning of each chapter. That is, despite any changes in formatting of the text of the novel, there is usually a break in the text at the boundaries of each chapter. Therefore, a document viewer 115 that is configured to display no more than one page of content at a time does not display any content on a screen after a hard break that delineates the end of a page of information.
An electronic document in accordance with some embodiments of the present disclosure includes content that includes data necessary to reproduce text and images of the document. Further, in one embodiment, formatting tags are included in the electronic document and are used to control the manner in which the content itself is formatted for display. For example, formatting tags comprise Hypertext Markup Language (HTML) codes or tags, as known in the art.
Some embodiments are also directed to displaying content from other electronic documents, such as a text file or a “portable electronic document,” among others. A portable electronic document is a collection of data which includes objects which have been stored in a portable electronic document language. The document is organized and stored in a “document file”, which can be a storage unit such as a file, data structure, or the like.
Portable electronic documents can be stored in a variety of different languages and formats. Herein, the portable electronic document is described with reference to the Portable Document Format (PDF) by Adobe Systems, Inc. of Mountain View, Calif., or similar types of formats. PDF is a “page-based” format, in that a document includes a number of pages and may be presented to a user on a page-by-page basis, e.g., the user views one page (or a portion of a page) at a time on a display screen. Other document formats with or without similar document structures can also be adapted for use with the present disclosure. Accordingly, with such formats, a page of content may extend across one or more display screens of content. In other words, a page of content may be too large to be shown in its entirety on a screen of a display device 100 at one time. Therefore, the content is shown in parts or “more than one screen” of content on the display device 100. Accordingly, to view the electronic document, a user moves from one screen of content to the next screen of content. Likewise, a user may also move from the current screen to a “previous screen” that displays content that is located before the current screen of content within the electronic document.
In accordance with the one embodiment of the present disclosure, a document viewer 115 is configured to show a page of content of the electronic document at a time. Therefore, if the display settings are properly configured (e.g., magnification is set at 100%), a page of the electronic document may be viewable on the display device. Accordingly, using a next page command (which directs the viewer 115 to display content from a subsequent page of the document) may be adequate if the user can view the whole page on the display screen before advancing to another page. Although, even if a viewer 115 (such as a text editor) shows a whole page on a screen, the positioning of the document within the display of the viewer may drift from one screen of content to the next. For example, it is generally considered inappropriate to display a page or screen of content such that a widow (the last line of a paragraph printed by itself at the top of the displayed content) or orphan (the first line of a paragraph printed by itself at the bottom of the displayed content) occurs on the subsequent page. Therefore, display characteristics of a document viewer 115 may change from viewer application to viewer application and from page to page or screen to screen of a single viewer application 115.
As another illustrative example, if three-quarters of a page is currently being displayed and a user uses a next page command, then the remaining quarter of the page is not displayed on the next screen of content, because the viewer 115 skips it to show the content from the next page. Alternatively, if a user uses a next screen command (that directs viewer 115 to show content following currently displayed content), the viewer shifts down a part of the page to show the remaining portion of the page that was not previously shown.
In some embodiments, when a next screen command is received, the next page of the document is shown on the display screen. However, if the display settings are configured such that less than a page of content is viewable on the screen (e.g., magnification is set at 120%), when a next screen command is received, the remaining portion of the content from the same page is then displayed. So, a page of content is displayed over several screens of content. Further, even if content displayed on a screen includes portions from more than one page, the top of the content shown on a screen may repeat content from a previous screen that has already been viewed and may do so intermittently.
For an electronic document that is presented for reading on an electronic device (PC, PDA, PDF client, web browser client, text editor, TIF viewers, etc.), a user generally desires to view more of the contents of the document being displayed currently on the display. Thus, at some point, a user desires to move to another screen of content, whether a previous screen or a next screen. However, when the portion of a document being displayed moves to a next screen, a user often loses focus or his or her positioning within the document, whether a user utilizes the option of a hand-style cursor tool, scroll bar, “elevator shaft” or vertical bar, next page GUI tool, page down button on keyboard, scroll wheel on mouse, etc. to progress through the document. Further, as a user scrolls horizontally to view displayed content that exceeds the width of the screen, the user may also lose focus.
Thus, in accordance with the present disclosure, it is advantageous to have a visual indicator demonstrate how the document is subsequently going to be displayed in response to implementation of a particular screen command (e.g., a next screen command) by a viewer 115. To do so, the document viewer 115 performs calculations to determine the positioning of the document in relation to viewing window 230 within the display screen, and places a visual indicator to indicate where the top of content for the next screen is to be within the viewing window 230. For example, in one embodiment, all of or a portion of the contents of the electronic document are loaded into a memory buffer of the document viewer 115, such that content not currently being displayed may be referenced to determine the positioning of the document in response to a particular navigation command.
According to an exemplary embodiment, the document viewer 115 positions the visual indicator by anticipating a particular screen command and monitors and updates the position of the visual indicator for changes in display views and settings. For example, if a user scrolls down a document that is being displayed a couple of lines, then the visual indicator may move down a couple of lines also. However, if the scrolling down of the document results in the bottom of the current page being shown, then the visual indicator may not move, since completely new content would be displayed in response to a next screen command, and thus the visual indicator remains positioned at the bottom of the screen content regardless of the scrolling within the same page.
Referring now to
The visual indicator 410 points to the line of a document portion which will also be displayed in the view window 230 of the document viewer 115 in response to receiving a particular screen command. The visual indicator 410 is provided so that readers do not lose their place when a new portion of the document is displayed in the view window 230 in response to a particular screen command. Therefore, the visual indicator 410 minimizes the problem of having readers searching for the next line of text to read in an article after a new document portion is displayed in the view window 230.
In the example of
Therefore, a user in reading the contents shown in
As indicated in the previous screen shown in
Correspondingly,
Embodiments of the present disclosure are capable of being utilized regardless of whether a document is vector, bitmap, or text based. Viewers 115 of the present disclosure generally configure document displays based upon screen and document parameters and can determine advance positioning of a document in anticipation of receiving a screen or navigation command. Further, embodiments of visual indicators of the present disclosure are not limited to being associated with only one navigation or screen command. For example, a visual indicator may be used to indicate the positioning of currently displayed text in response to a previous screen command, or a page up command, etc. For example,
With regard to
In
Next,
Multiple visual indicators may also be displayed to facilitate viewing of electronic documents. For example,
It should be noted that there are a variety of ways of representing a visual indicator, and thus, such representations should not be limited to the examples previously described in the figures. For example,
As another example,
Further,
Referring now to
When the screen indicator system 110 is implemented in software, as is shown in
In an alternative embodiment, where the screen indicator system 110 is implemented in hardware, the screen indicator system 110 can implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
In some embodiments, the screen indicator system 110 is implemented in software and may be implemented as an auxiliary “plug-in” or “widget” which affects the display of documents generated by another program or application. For example, in such an approach, the screen indicator system may transparently perform a screen down and a screen up operation for a given page, then process the resulting display information to determine where to position one or more visual indicators. Additionally, in some embodiments, the screen indicator system 110 may be incorporated into a software application, where the software application implements a visual indication as a part of a display management portion of the software application. Further, in some embodiments, the screen indicator system 110 may provide visual indicators showing the portion of the content of an electronic document that is to be shown in response to a navigation command to scroll content to the left or to the right within a display area, as may be useful with devices with small displays, such as personal digital assistants (PDAs).
Any process descriptions or blocks in flow charts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the present disclosure in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present disclosure.
It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure.
This application is a Continuation of and claims priority to U.S. patent application Ser. No. 12/615,904, entitled “Visual Screen Indicator,” filed Nov. 10, 2009, now U.S. Pat. No. 8,443,283, which is a Continuation of U.S. patent application Ser. No. 11/264,459, entitled “Visual Screen Indicator,” filed Nov. 1, 2005, now U.S. Pat. No. 7,627,819, each of which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5634064 | Wamock et al. | May 1997 | A |
Entry |
---|
U.S. Office Action dated Dec. 23, 2011 in U.S. Appl. No. 12/615,904. |
U.S. Office Action dated May 10, 2012 in U.S. Appl. No. 12/615,904. |
U.S. Notice of Allowance dated Dec. 21, 2012 in U.S. Appl. No. 12/615,904. |
U.S. Office Action dated Feb. 4, 2009 in U.S. Appl. No. 11/264,459. |
U.S. Office Action dated Jun. 23, 2009 in U.S. Appl. No. 11/264,459. |
U.S. Notice of Allowance dated Sep. 14, 2009 in U.S. Appl. No. 11/264,459. |
Number | Date | Country | |
---|---|---|---|
20130254659 A1 | Sep 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12615904 | Nov 2009 | US |
Child | 13892932 | US | |
Parent | 11264459 | Nov 2005 | US |
Child | 12615904 | US |