WO1998006054A1 - Book-like interface for browsing on-line documents and methods therefor - Google Patents

Book-like interface for browsing on-line documents and methods therefor

Info

Publication number
WO1998006054A1
WO1998006054A1 PCT/US1997/013611 US9713611W WO1998006054A1 WO 1998006054 A1 WO1998006054 A1 WO 1998006054A1 US 9713611 W US9713611 W US 9713611W WO 1998006054 A1 WO1998006054 A1 WO 1998006054A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
book
user
step
electronic
fig
Prior art date
Application number
PCT/US1997/013611
Other languages
French (fr)
Inventor
James R. Huffman
Russell L. Collins
Shawn T. Segur
Original Assignee
Motorola Inc.
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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30861Retrieval from the Internet, e.g. browsers
    • G06F17/30899Browsing optimisation

Abstract

A connection between a document browser and an on-line server is disconnnected upon detecting a time-out event (2002, 2006). A pointer to a current location within the on-line document at the time-out event is stored (2008). When further communication with the on-line server is required, the document browser is automatically reconnected to the on-line server (2018). The on-line document is automatically returned to the current location based on the pointer.

Description

BOOK-LIKE INTERFACE FOR BROWSING ON-LINE DOCUMENTS AND METHODS THEREFOR

Related Inventions

The present invention is a continuation-in-part of the following inventions which are assigned to the same assignee as the present invention:

"System and Method for Limiting Access to a Book Card", having Serial No. 572,346, filed December 14, 1995;

"Apparatus and Method for Storing and Presenting Text", having Serial No. 572,451, filed December 14, 1995; "Method and Electronic Book for Creating a

Plurality of Versions of a Book", having Serial No. 572,485, filed December 14, 1995;

"An Electronic Book Diary and Method" , having Serial No. 572,602, December 14, 1995; "Method and Apparatus for Inhibiting the Operation of an Electronic Device During Take-Off and Landing of an Aircraft", having Serial No. 572,603, filed December 14, 1995;

"Method and System for Inhibiting the Operation of an Electronic Device During Take-Off and Landing of an Aircraft", having Serial No. 572,484, filed December 14, 1995;

"Method and Apparatus for Abridging Text", having Serial No. 572,834, filed December 14, 1995; "A Method of Substituting Names in an Electronic Book", having Serial No. 572,480, filed December 14, 1995;

"System and Method of Authoring Tools for an Electronic Book", having Serial No. 572,358, filed December 14, 1995; "System and Method for an Automatic Library for a Plurality of Book Cards", having Serial No. 572,482, filed December 14, 1995;

"Electronic Book and Method of Selecting a Primary Font and a Primary Size for Displaying Text Therewith" , having Serial No. 572,407, filed December 14, 1995;

"Electronic Book and Graphical User Interface for Selecting a Book to Read Therewith", having Serial No. 572,406, filed December 14, 1995; "Electronic Book and Graphical User Interface to Provide Control Thereof", having Serial No. 572,403, filed December 14, 1995;

"Electronic Book and Method of Storing at Least One Book in an Internal Machine-Readable Storage Medium" , having Serial No. 572,593, filed December 14, 1995;

"Electronic Book and Method of Annotation Therefor", having Serial No. 572,367, filed December 14, 1995;

"Electronic Book and a Method of Displaying a Relative Position of a Current Page of a Book Therefor", having Serial No. 572,373, filed December 14, 1995;

"Method and System for Encoding a Book for Reading Using an Electronic Book", having Serial No. 572,468, filed December 14, 1995; "Electronic Book and Method of Displaying an

Animated Page Turn Therefor", having Serial No. 572,405, filed December 14, 1995;

"Electronic Book and Method of Controlling a Rate of Information Displayed Thereby", having Serial No. 572,372, filed December 14, 1995;

"Reusable Housing and Memory Card Therefor", having Serial No. 572,413, filed December , 1995;

"Electronic Book and Method of Displaying at Least One Reading Metric Therefor", having Serial No. 572,842, filed December 14, 1995; "Electronic Book and Method of Creating a Personal Log of Reading Activity Therefor", having Serial No. 572,456, filed December 14, 1995;

"Electronic Book Having Highlighting Feature", having Serial No. 572,469, filed December 14, 1995; and

"Electronic Book and Method of Capturing and Storing a Quote Therein", having Serial No. 572,601, filed December 14, 1995.

The subject matter of the above-identified related inventions are hereby incorporated by reference into the disclosure of this invention.

Field of the Invention

The present invention relates to methods and systems of browsing on-line documents.

Background of the Invention

Various types of hand-held electronic reading devices have been proposed to electronically display textual information for reading by a user . A typical hand-held electronic reading device includes a display device to display the textual information and a user interface which allows a user to navigate through the textual information and access various features of the electronic reading device. The display device and the user interface are incorporated in a hand-held housing to facilitate portability of the electronic reading device.

Many hand-held electronic reading devices have a user interface in the form one or more external buttons . The buttons are depressed in a predetermined manner either to navigate through the textual information or to access various features of the device. However, many hand-held electronic reading devices implement the user interface in a manner which does not provide a simple, intuitive, or efficient method for navigating the textual information or for accessing the features. The lack of simplicity of using current hand-held electronic reading devices along with the lack of comfort in handling many of these devices result in some people preferring to read a real paper book rather than using a hand-held electronic reading device. Further, current hand-held electronic reading devices provide only a limited number of features from which the user can choose .

Brief Description of the Drawings

The invention is pointed out with particularity in the appended claims. However, other features of the invention will become more apparent and the invention will be best understood by referring to the following detailed description in conjunction with the accompanying drawings in which:

FIG. 1 is a view of an embodiment of an electronic book in a closed position;

FIG. 2 is a view of the embodiment of the electronic book of FIG. 1 in an open position;

FIG. 3 is a block diagram of an embodiment of the electronic book;

FIG. 4 is an illustration of various hot spot locations used to provide control of the electronic book to a user;

FIG. 5 is an illustration of a library screen display using an embodiment of the electronic book;

FIG. 6 is an illustration of a user-initiated event to open the desired book from the library screen; FIG. 7 is an illustration of a first page of a book displayed on an embodiment of the electronic book;

FIG. 8 is an illustration of a title page of a book displayed on an embodiment of the electronic book;

FIG. 9 is an illustration of a font selection page displayed on an embodiment of the electronic book;

FIG. 10 is an illustration of the title page of the book which is displayed upon exiting the font selection page;

FIG. 11 is an illustration of a system control page displayed in an embodiment of the electronic book;

FIG. 12 is an illustration of the title page of the book which is displayed upon exiting the system control page;

FIG. 13 is an illustration of the title page of the book wherein a radio frequency link option is selected;

FIG. 14 is an illustration of the title page of the book wherein a pacing control option is selected by a user;

FIG. 15 is an illustration of a pacing control page displayed in an embodiment of the electronic book;

FIG. 16 is an illustration of the title page of the book which depicts other user-initiated options;

FIG. 17 is an illustration of a page marked by a dog ear for use in embodiments of the electronic book; FIG. 18 is an illustration of a dog ear dialog box used in embodiments of the electronic book;

FIG. 19 is an illustration of a user selecting a portion of a page of text;

FIG. 20 is an illustration of an option selection dialog box used in embodiments of the electronic book;

FIG. 21 is an illustration of an annotation display used in embodiments of the electronic book;

FIG. 22 is an illustration of a marker used to indicate that a page has an annotation associated therewith; FIG. 23 is an illustration of a user selecting a set bookmark option in the option selection dialog box;

FIG. 24 is an illustration of the page of FIG. 23 having a bookmark displayed thereon; FIG. 25 is a flow diagram of an event loop performed in an embodiment of the electronic book;

FIG. 26 is a flow diagram of steps performed in an embodiment of a library graphical user interface routine for use in the electronic book; FIGS. 27 and 28 show flow diagrams of an embodiment of the routine to display pages of text in the electronic book;

FIG. 29 is a flow diagram of steps performed to display a current page in the electronic book; FIG. 30 is a flow diagram of steps performed in an embodiment of an annotation subroutine;

FIG. 31 is a flow diagram of steps performed in an embodiment of a quote capture subroutine;

FIG. 32 is a flow diagram of steps performed in an embodiment of a dog ear subroutine;

FIG. 33 is a flow diagram of steps performed in an embodiment of a pacing control subroutine;

FIG. 34 is a flow diagram of steps performed in an embodiment of the font selection subroutine; FIG. 35 is a flow diagram of steps performed in an embodiment of the system control subroutine;

FIG. 36 is a flow chart of steps performed in a method of highlighting text in the electronic book;

FIG. 37 is a flow chart of an embodiment of a method of creating a personal log of reading activity using the electronic book;

FIG. 38 is a flow chart summarizing steps performed to provide a method of displaying at least one reading metric in the electronic book; FIG. 39 is a block diagram of a reusable housing for receiving a memory card to interface with a device having a PC card interface within a PC card slot;

FIG. 40 shows a view of a PCMCIA embodiment of a reusable housing which receives a memory card; FIG. 41 is a flow chart of a method of reusably housing a memory card having a machine-readable storage medium to interface with a device having a PC card interface within a PC card slot;

FIG. 42 is a flow chart summarizing steps performed in a method of controlling a rate of information displayed in the electronic book;

FIG. 43 is a block diagram of a system for encoding a book for reading using an electronic book having an internal machine-readable dictionary; FIG. 44 is a flow chart of a method of storing at least one book in an internal machine-readable storage medium of an electronic book;

FIG. 45 is a schematic diagram of a system for an automated library for a plurality of book cards; FIG. 46 is a block diagram of the system for the automated library for the plurality of book cards;

FIG. 47 is a schematic diagram of a catalog;

FIG. 48 is a schematic diagram of a catalog information; FIG. 49 is a flow chart of an embodiment of the steps used to stock the system for the automated library for the plurality of book cards; and

FIG. 50 is a flow chart of an embodiment of the steps a user takes to check out a book card from the system;

FIG. 51 is a block diagram of an embodiment of a system of authoring tools for the electronic book;

FIG. 52 is a schematic diagram of an embodiment of a general dictionary; FIG. 53 is a block diagram of an embodiment of a system of authoring tools for the electronic book;

FIG. 54 is a flow chart of an embodiment of the steps performed by the authoring tools for an electronic book; FIG. 55 is an embodiment of a flow chart of an i p t ;

FIG. 56 is an embodiment of a flow chart showing the steps performed by a format;

FIG. 57 is an embodiment of a flow chart showing the steps performed by the output option;

FIG. 58 is a flow diagram of steps performed in an embodiment of the name substitution subroutine;

FIG. 59 is a flow diagram of steps performed in an embodiment of a name substitution subroutine; FIG. 60 is a flow diagram of steps performed in an embodiment of a user selected name substitution subroutine;

FIG. 61 is a flow diagram of steps performed in an embodiment of an automatic name substitution subroutine; FIG. 62 is a flow diagram of steps performed in an embodiment of the automatic name substitution subroutine;

FIG. 63 is a flow diagram of steps performed in an embodiment of the system control routine for the electronic book;

FIG. 64 is a flow diagram of steps performed in an embodiment of a glossary subroutine;

FIG. 65 is an embodiment of the event loop performed in an embodiment of the electronic book; FIG. 66 is a flow chart of steps performed in an embodiment of a text abridging subroutine;

FIG. 67 is a schematic diagram of an embodiment of a book card;

FIG. 68 is a flow chart of steps performed in an embodiment of a text abridging subroutine; FIG. 69 is a flow chart of steps performed in an embodiment of a text abridging subroutine;

FIG. 70 is a block diagram of an embodiment of the electronic book; FIG. 71 is a block diagram of an embodiment of an apparatus for inhibiting operation of an electronic device integrated into the electronic device;

FIG. 72 is a block diagram of an embodiment of an apparatus for inhibiting operation of an electronic device integrated into the electronic device ,-

FIG. 73 is a block diagram of an embodiment of an apparatus for inhibiting operation of an electronic device integrated into the electronic device;

FIG. 74 is a block diagram of an embodiment of an apparatus for inhibiting operation of an electronic device;

FIG. 75 is a flow diagram of steps performed in an embodiment of a method for inhibiting operation of an electronic device; FIG. 76 is a flow diagram of steps performed in an embodiment of a method for inhibiting operation of an electronic device;

FIG. 77 is a block diagram of a system for inhibiting operation of an electronic device; FIG. 78 is a block diagram of an embodiment of an apparatus for inhibiting operation of an electronic device integrated into the electronic device;

FIG. 79 is a block diagram of an embodiment of an apparatus for inhibiting operation of an electronic device integrated into the electronic device;

FIG. 80 is a flow diagram of steps performed in an embodiment of a method for inhibiting operation of an electronic device;

FIG. 81 is a flow chart of an embodiment of the steps performed by an electronic book diary; FIG. 82 is a flow chart of an embodiment of the steps performed by an electronic book diary;

FIG. 83 is a block diagram of an embodiment of the electronic book diary; FIG. 84 is a block diagram of an embodiment of the electronic book diary;

FIG. 85 is a schematic diagram of a book store;

FIG. 86 is a flow chart of an embodiment of the steps to select a version of a book card; FIG. 87 is a flow chart of an embodiment of the steps used to create a version of a book;

FIG. 88 is a flow chart of an embodiment of the steps used to create a user defined version of a book;

FIG. 89 shows a schematic representation of an embodiment of a version code word;

FIG. 90 is a schematic diagram of an embodiment of a special dictionary;

FIG. 91 is a schematic diagram of an embodiment of a version book card; FIG. 92 is a flow chart of an embodiment of the steps taken by the electronic book to display a version of a book;

FIG. 93 is a flow chart of an embodiment of the steps taken by the electronic book to display a version of a book;

FIG. 94 is a flow chart of an embodiment of the steps used to store text;

FIG. 95 is a flow chart of an embodiment of the steps used to store text; FIG. 96 is a block diagram of an embodiment of the electronic book;

FIG. 97 is a schematic diagram of an embodiment of a book card;

FIG. 98 is a schematic representation of an embodiment of a permanent dictionary; FIG. 99 is a schematic representation of an embodiment of a page memory;

FIG. 100 is a block diagram of an embodiment of a speech synthesis circuitry; FIG. 101 is a flow chart of an embodiment of the steps used to display text;

FIG. 102 is a schematic diagram of a book store;

FIG. 103 is an embodiment of the steps taken in selecting an access authorization level; FIG. 104 is a flow chart of an embodiment of the steps for limiting access to a book card;

FIG. 105 is a schematic diagram of a book card data;

FIG. 106 is a flow chart of an embodiment of the steps for limiting access to a book card;

FIG. 107 is a flow chart of an embodiment of the steps for limiting access to a book card;

FIG. 108 is a flow chart of an embodiment of the steps for limiting access to a book card; FIG. 109 is an embodiment of a partial schematic diagram of a system for limiting access to a book card;

FIG. 110 is an illustration of various hot spot locations in an embodiment of a graphical user interface for browsing on-line electronic documents; FIG. Ill is an illustration of a library screen displayed using an embodiment of a graphical user interface for browsing on-line electronic documents;

FIG. 112 is an illustration of a page of an on-line document displayed upon exiting the library screen; FIG. 113 is an illustration of a title page in an embodiment of a graphical user interface for browsing on-line electronic documents;

FIG. 114 is an illustration of a system control page in an embodiment of a graphical user interface for browsing on-line electronic documents; FIG. 115 is a flow chart of an embodiment of a method of controlling a connection between a document browser and an on-line server;

FIG. 116 is a flow chart of an embodiment of a method of communicating an image to a document browser in an on-line server; and

FIG. 117 is a block diagram of a transmit modem and a receive modem which utilize the herein-described dictionary-based approaches for communicating text.

Detailed Description of a Preferred Embodiment

Embodiments of the present invention advantageously provide a book-like graphical user interface for browsing on-line documents (such as world wide web pages) . The book-like graphical user interface can be utilized with a general purpose computer, or in conjunction with an electronic book apparatus which looks and feels like a real paper book. Using the book- like graphical user interface, a user can comfortably browse an on-line document in a manner similar to reading a real paper book.

FIG. 1 is a view of an embodiment of an electronic book in a closed position. The electronic book has a book-shaped housing 100 having the look and feel of a real, paper book. The book-shaped housing 100 has a first housing member 102 pivotably connected to a second housing member 104 to facilitate opening and closing in a book-like manner. The first housing member is partially formed by a book-like, front cover member 106. In a similar manner, the second housing member 104 is partially formed by a book-like, back cover member 108. The front cover member 106 and the back cover member 108 are pivotably connected by a spine member 110. To better provide the look and feel of a real book, the front cover member 106 and the back cover member 108 have an exterior made of a material used in real book covers. Examples of such a material include, but are not limited to, leather, simulated leather, vinyl, and a woven fabric such as cotton. The exterior can either be permanently affixed to the front cover member 106 and the back cover member 108, or be in the form of a removable jacket.

In addition to the front cover member 106, the first housing member 102 is partially defined by an enclosure 112. Similarly, the second housing member 104 is partially defined by an enclosure 114 in addition to the back cover member 108. When the electronic book is in the closed position, the enclosure 112 and the enclosure 114 have an external appearance of edges of pages of a real, paper book. In particular, the enclosures 112 and 114 define a top edge 116, a bottom edge 118, and a foredge 120 which appear as the top edge, the bottom edge, and the foredge, respectively, of a real, paper book. The top edge 116, the bottom edge 118, and the foredge 120 are recessed with respect to the front cover member 106 and the back cover member 108.

FIG. 2 is a view of the embodiment of the electronic book of FIG. 1 in an open position. It is preferred that the first housing member 102 and the second housing member 104 be substantially symmetric so that the front cover member 106, the back cover member 108, and the spine member 110 rest substantially flat on a flat surface in the open position. The substantial symmetry makes the electronic book feel like a real, paper book being opened to one of its middle pages . As a result, the electronic book can be comfortably held and read in a manner consistent with a paper book. A touchscreen 130 is integrated in the book-shaped housing 100 to be accessible when the book-shaped housing 100 is opened in the book-like manner. In the embodiment illustrated in FIG. 2, the touchscreen 130 is integrated with the enclosure 114 of the second housing member 104. Optionally, a second touchscreen 132 can also be integrated in the book-shaped housing. As illustrated, the second touchscreen 132 can be integrated with the enclosure 112 of the first housing member 102. The touchscreen 130 and the second touchscreen 132 each include a touch-sensitive panel over a display device. Behind the display device can be a backlighting element .

The touchscreen 130 and the second touchscreen 132 may provide either a color display or a monochrome display depending on a particular model of the electronic book. To provide their touch sensitivity, the touchscreen 130 and the second touchscreen 132 can utilize analog resistive technology as is known in the art. It is noted, however, that other technologies for providing touch sensitivity can also be utilized.

It is preferred that the touchscreen 130 and the second touchscreen 132 be capable of providing backlighting to allow use of the electronic book in poorly-lit or dimly-lit environments. More preferably, the touchscreen 130 is capable of backlighting selected portions or subsets of the entire touchscreen 130. Here, the electronic book can provide a power-saving mode wherein only a portion of the touchscreen 130 being viewed by a user is actively backlit.

The book-shaped housing includes a receiving slot 134 which physically receives a removable machine- readable storage medium 136. The removable machine- readable storage medium 136 contains machine-readable data representative of text from a book. Optionally, the machine-readable data is also representative of graphical information within the book. It is noted that the term "book" should be construed broadly as any written or printed composition having textual information which is read by an individual. Hence, the term "book" should be inclusive of books, magazines, newspapers, on-line documents such as World Wide Web pages, or the like.

The text and the graphical information contained in the removable machine-readable storage medium 136 are displayed on the touchscreen 130. The second touchscreen 132 can be included to display graphical information while the touchscreen 130 displays text. As another option, the touchscreen 130 and the second touchscreen 132 can display neighboring pages of the book. Further, the touchscreen 130 and the second touchscreen 132 can be utilized to simultaneously view two books. The second touchscreen 132 can also be utilized in a second level operating system, which is herein called an advanced reader graphical user interface. The functionality of the second touchscreen 132 can be selected by the user using a switch or the advanced reader graphical user interface in the electronic book. It is noted that there are a number of ways to encode the text and the graphical information within the book for storage on the removable machine-readable storage medium 136. In one embodiment, the removable machine-readable storage medium 136 contains a series of pointers which point to words contained in a dictionary within the electronic book. Words which are not contained in the dictionary are located in a customized dictionary on the removable machine-readable storage medium 136. In this way, the words to be presented on the touchscreen 130 are selected with minimal storage requirements in the removable machine-readable storage medium 136.

Preferably, the removable machine-readable storage medium 136 is in the form of either a smart card or a PCMCIA card. Here, the receiving slot 134 is shaped to receive either a smart card or a PCMCIA card.

The book-shaped housing 100 further defines a power-receiving port 138 and a data-receiving port 140. The power-receiving port 138 receives a plug or other type of connector to supply power to the electronic book. Power supplied to the electronic book via the power receiving port 138 can be used to directly operate the electronic book or to recharge batteries internal to the electronic book. In one embodiment of the electronic book, the spine member 110 is shaped to receive a combination of battery cells which can be recharged via the power-receiving port 138. If the second touchscreen 132 is not used, the enclosure 112 of the first housing member 102 can be used to store extra batteries and/or extra book cards.

The data port 140 is utilized to communicate signals representative of machine-readable data between the electronic book and an external device. The data port 140 can be used, for example, to receive machine- readable data signals representative of text and graphics in a book from the external device for storage in the electronic book. In this manner, the data port 140 provides an alternative to the receiving slot 134 for receiving text and graphics of a book. The data port 140 can be utilized to connect the electronic book to an on-line server for receiving on-line documents such as World Wide Web pages. Additionally, the data port 140 can be utilized to transmit machine-readable data contained within the electronic book to the external device. Preferably, the electronic book is automatically activated (i.e., automatically turns on) when in the open position, and is automatically deactivated (i.e. automatically turns off) when in the closed position. To this end, the electronic book can include a magnet 142 incorporated within one of the first housing member 102 or the second housing member, and a reed switch 144 incorporated within the other housing member. When the electronic book is in the closed position, the magnet 142 is proximate to the reed switch 144. The magnetic field generated by the magnet 142 causes the reed switch 144 to assume a first switch position which deactivates the electronic book. When the electronic book is in the open position, the magnet 142 is distant from the reed switch 144. In absence of a significant magnetic field, the reed switch 144 returns to a second switch position which activates the electronic book.

It is noted that in alternative embodiments, the electronic book is activated and deactivated by an external switch or button (not specifically illustrated) rather than by the reed switch 14 .

FIG. 3 is a block diagram of an embodiment of the electronic book. An interface 150 receives the removable machine-readable storage medium 136 containing machine-readable data representative of text and graphics from a book. In a preferred embodiment of the present invention, the interface 150 comprises a PCMCIA interface which receives a removable machine-readable storage medium in the form of a PCMCIA card. Physically, the interface 150 is proximate to the receiving slot 134 illustrated in FIG. 2.

In general, it is preferred that the interface 150 be capable of receiving an external device other than a machine-readable storage medium. Further, it is preferred that the interface 150 be capable of receiving a plurality of external devices. To these ends, the interface 150 can comprise a plurality of similar interfaces, such as a plurality of PCMCIA interfaces. Here, the electronic book can simultaneously receive two or more of a PCMCIA memory card, a PCMCIA modem, or another PCMCIA device.

A processor 152 is in communication with the interface 150 to read the machine-readable data from the removable machine-readable storage medium 136. The processor 152 can be in the form of a microprocessor, a custom integrated circuit, an application specific integrated circuit, or a programmable logic array, for example. Physically, the processor 152 is housed within the book-shaped housing 100. The touchscreen 130 is in communication with the processor 152 to display a page of the text and/or the graphics represented by the machine-readable data. Further, the touchscreen 130 acts as an input device to receive user-initiated events, i.e. user-initiated actions, and communicate these user-initiated events or actions to the processor 152.

An internal machine-readable storage medium 154 is in ' communication with the processor 152 to support a number of operative features of the electronic book. The internal machine-readable storage medium 154 can include one or more memory devices, such as a random access memory, a read-only memory, and/or an electronically erasable and programmable read-only memory (EEPROM) . A computer program or other form of software or firmware is stored in the internal machine-readable storage medium 154. The computer program directs the processor 152 to support the operative features of the electronic book. Preferably, the computer program includes an event loop that processes and responds to user-initiated events and actions. More specifically, received events are placed in an event queue in the internal machine-readable storage medium 154. Each of the received events is processed and removed from the event queue. As a result, a user can initiate a number of events or actions without having to wait for previous actions to be processed.

The internal machine-readable storage medium 154 can also include a dictionary to which pointers stored in the removable machine-readable storage medium 136 point. By including the dictionary within the electronic book, less storage space is required on the removable machine-readable storage medium 136 to store the text from the book. Further, the internal machine-readable storage medium 154 can contain machine-readable data representative of text and graphics from a book. Here, the processor 152 reads the machine-readable data from the internal machine-readable storage medium 154 and commands the touchscreen 130 to display pages of the text and graphics.

Signals are communicated between the electronic book and an external device via either a data interface 156 in communication with the processor 152, via an antenna 158 and a radio frequency modem 160 in communication with the processor 152, or via an infrared transceiver 161 in communication with the processor. As another option, communication between the electronic book and the external device can be effectuated using either a smart communication card or a PCMCIA communication card received by the interface 150. Here, a PCMCIA modem card or a PCMCIA infrared transceiver card can be utilized, for example, for external communication . One purpose for communicating signals with an external device is to allow the electronic book to act as an on-line document browser. Here, the electronic book communicates with an on-line server to receive one or more on-line documents, such as World Wide Web pages. Once received, the on-line documents can be stored in the removable machine-readable storage medium 136 or the internal machine-readable storage medium 154.

Optionally, a voice synthesizer 162 is included in the electronic book to provide a spoken auditory display of pages of the text read from either the removable machine-readable storage medium 136 or the internal machine-readable storage medium 154. In one embodiment, the processor 152 directly converts the text from the book into speech signals for the voice synthesizer 162. Optionally, control codes can be provided within the removable machine-readable storage medium 136 to allow words to be pronounced or emphasized in different ways. Further, the control codes can command the words to be spoken in either a male voice, a female voice, or a child's voice. The synthesized voice can be sampled

(such as using the user's voice) or can be a computer- synthesized voice.

As an alternative, a custom voice dictionary can be provided to augment a general voice dictionary stored in the electronic book. The customized voice dictionary can be used for alternative pronunciations, voices, and emphasis.

The voice synthesizer 162 is either permanently integrated in the electronic book or is a removable accessory. To facilitate removability, the voice synthesizer 162 can be embodied within a smart card or a PCMCIA card for reception by the interface 150. Alternatively, the voice synthesizer 162 can communicate with the processor 152 via an accessory interface bus 163. In a similar manner, the RF modem 160 and/or the second touchscreen 132 can communicate with the processor 152 via the accessory interface bus 163. Before giving a detailed description of steps performed by the elements of FIG. 3 for the various embodiments of the present invention, a functional description of a particular embodiment of the electronic book will now be described. This embodiment is based on a single touchscreen, namely the touchscreen 130, to display the text and the graphics of the book and to allow a user to control the electronic book. It is noted, however, that the teachings herein can also be applied to a dual touchscreen embodiment which further includes the second touchscreen 132. Furthermore, it is noted that the teachings herein are not limited to the use of a touchscreen, and hence, can be applied to an electronic book containing any type of display device (such as a liquid crystal display or a cathode ray tube, for example) and any type of input device (such as a series of buttons, a mouse, a trackball, a lightpen, or a touchpad, for example) .

FIG. 4 is an illustration of various hot spot locations used to provide control of the electronic book to a user. A page of the text represented by the machine-readable data read from either the removable machine-readable storage medium 136 or the internal machine-readable storage medium 154 is displayed on a display portion 168 of the touchscreen 130. The display portion 168 is also utilized to display graphics represented by the machine-readable data. A first hot spot portion 170 of the touchscreen 130 is designated for receiving a predetermined user- initiated event which requests that a subsequent page of the text be displayed on the touchscreen 130. Hence, the first hot spot portion 170 can be synonymously referred to as an "advance page portion" or an "advance page hot spot" for receiving an advance page event. In the embodiment illustrated in FIG. 4, the first hot spot portion 170 includes a top margin portion 172, a side margin portion 174, and a bottom margin portion 176 of the touchscreen 130. The top margin portion 172 is located above the display portion 168, the side margin portion 174 is located beside the display portion 168, and the bottom margin portion 176 is located below the display portion 168. A second hot spot portion 178 of the touchscreen 130 is designated for receiving a predetermined user- initiated event which requests that a previous page of the text be displayed. Hence, the second hot spot portion 178 can be synonymously referred to as a "page back portion" or a "page back hot spot" for receiving a page back event. In the embodiment illustrated in FIG. 4, the second hot spot portion 178 is located beside the display portion 168 of the touchscreen 130 and opposite the side margin portion 174. A third hot spot portion 180 of the touchscreen 130 is designated for receiving a predetermined user- initiated event which requests that a pre-marked page be displayed on the touchscreen 130. In the embodiment of FIG. 4, the third hot spot portion 180 is located in an upper portion of the touchscreen 130 and is shaped as a bookmark graphic 182. Hence, the third hot spot portion 180 can be synonymously referred to as a "bookmark portion" or a "bookmark hot spot".

A fourth hot spot portion 184 of the touchscreen 130 is designated for receiving a predetermined user- initiated event to close the current book being read and to request that a library screen be displayed on the touchscreen 130. The library screen is utilized by a user to select a book to read from a plurality of books within a library. Hence, the fourth hot spot portion 184 can be synonymously referred to as a "close book portion" or a "close book hot spot" for receiving a close book event.

A fifth hot spot portion 186 of the touchscreen 130 is designated for receiving a predetermined user- initiated event which requests that the displayed page be marked. In the embodiment of FIG. 4, the fifth hot spot portion 186 is located in an upper corner of the touchscreen 130. In this embodiment, the fifth hot spot portion 186 of the touchscreen 130 is utilized for dog- earring pages of the book. Hence, the fifth hot spot portion 186 can be synonymously referred to as a "dog ear portion" or a "dog ear hot spot" for receiving a dog ear event . A sixth portion 188 of the touchscreen 130 is designated to provide a depth indication representative of how much of the book is left to be read. In the embodiment illustrated in FIG. 4, the sixth portion 188 is located above the display portion 168. The second hot spot portion 178 can be utilized in conjunction with the sixth portion 188 to provide the depth indication.

Other hot spot portions can be included to provide control of the electronic book. For example, hot spot portions can be defined at natural places in a WWW document to provide a hyperlink to another URL in accordance with HTML.

In the embodiment of FIG. 4, the display portion 168, the first hot spot portion 170, the second hot spot portion 178, the third hot spot portion 180, the fourth hot spot portion 184, and the fifth hot spot portion 186 are mutually exclusive (i.e. non-overlapping) portions of the touchscreen 130. However, in alternative embodiments of the present invention, these portions may not be mutually exclusive, and hence may overlap. Further, some embodiments of the present invention may utilize different sizes and positions for the above- described hot spot portions.

Preferably, the hot spot portions are motion sensitive so that a touch event, a touch-and-hold event, and a drag event can be sensed to initiate differing responses. For example, a page back event can be received in the form of a flipping motion (i.e. a short stroke) across the second hot spot portion 178.

Because the various embodiments of the present invention designate portions of a touchscreen integrated in the electronic book to receive user-initiated events to control the operation of the electronic book in a manner consistent with a book metaphor, they provide a significant improvement in that the user can easily control the operation in an intuitive manner.

FIG. 5 is an illustration of a library screen displayed using an embodiment of the electronic book. In a preferred embodiment, the library screen is displayed upon opening the electronic book or activating the electronic book. The library screen includes a rearward graphical book representation 200 having a graphical spine portion 202. A forward graphical book representation 204 is displayed in front of the rearward graphical book representation 200. The forward graphical book representation 204 has a graphical spine portion 206 and a graphical front cover portion 208. A title 210 of a book currently being read is displayed on the forward graphical book representation 204. In the embodiment illustrated in FIG. 5, the title 210 is displayed on the graphical spine portion 206 of the forward graphical book representation 204.

Upon receiving a user-initiated event in which a portion of the rearward graphical book representation 200 is selected, a title of another book or books of a plurality of books in a library is displayed in place of the title 210 on the forward graphical book representation 204. In a preferred embodiment, the portion of the rearward graphical book representation 200 selected in this user-initiated event is within the graphical spine portion 202.

The titles of the books in the library can be obtained from a storage medium (which contains the books) installed in the electronic book. Alternatively, the titles of the books can be obtained by a connection to an information service providing books or other information in real time. As another alternative, the titles and the books can be accessed on demand from a world-wide web page. Still further, the titles can correspond to a plurality of URLs indicative of a plurality of WWW documents.

A user can scroll through the library of books by repeatedly touching the spine portion 202 with his or her finger 212 until a desired book title is pulled into view. When the spine portion 202 is selected for a last of the plurality of books, the title of the first book is displayed. In this manner, the user can rotate through the library of books until a desired book is in front .

FIG. 6 is an illustration of a user-initiated event to open the desired book from the library screen. The forward book is opened upon receiving a user-initiated event in which a portion of the forward graphical book representation 204 is selected. This user-initiated event can include, for example, the user touching the front cover portion 208 of the forward graphical book representation 204 using his or her finger 212. In response to this user-initiated event, the book indicated by a title 214 is opened. If the book is previously unread, the book is opened to page one. If the book has been read before, the book opens to a page which was last read.

FIG. 7 is an illustration of a first page of a book displayed on the touchscreen 130 upon exiting the library screen. To display the first page of the book, the machine-readable data representative of text and graphics from the book is read from either the removable machine-readable storage medium 136 installed in the electronic book, or from the internal machine-readable storage medium 154. Upon reading the machine-readable data, a page of the text and/or the graphics is then displayed on the touchscreen 130. As shown, the text is displayed to appear as a standard page in a real book. If a user-initiated event is received in which a user selects the second hot spot portion 178, i.e. the page back portion, of the touchscreen 130 when the book is on the first page, then a title page containing system controls is displayed.

FIG. 8 is an illustration of a title page of a book displayed on an embodiment of the electronic book. Information which is displayed on the title page includes a book title 220, author information 222, copyright information 224, a Library of Congress number 226, and publisher information 228. Also displayed are statistics such as a total number of pages 230 in the book, a number of pages left to be read 232, and an elapsed reading time 234.

A number of control options are also displayed. These control options include, but are not limited to, a pacing control option 236, a font selection option 238, a system control option 240, a read-to-me option 242, and a radio frequency (RF) link option 244. Any of these control options can be initiated by a respective user-initiated event indicative of a user selecting the option. As illustrated in FIG. 8, a user is initiating a font selection routine by touching the font selection option 238 using his or her finger 212.

FIG. 9 is an illustration of a font selection page displayed on an embodiment of the electronic book. The font selection page is displayed upon an initiation of the font selection routine.

Displayed on the font selection page are a number of font/size combination options. Each option is in the form of a word displayed using a specific font and a specific size in accordance with the font/size combination. A user selects a desired font/size combination by viewing how words appear in the various combinations , and selecting the combination which is desired. For example, in FIG. 9, the user is selecting a desired font/size combination by selecting a word 250 displayed in the desired font/size combination using his or her finger 212.

The fonts can be selected from internal fonts and custom fonts provided on the medium provided by a publisher. For example, a user may select a Gothic font provided on a medium containing a Shakespeare work instead of default fonts (e.g. Courier, Helvetica, Avant Garde) within the electronic book.

Upon selecting the desired font/size combination, the electronic book automatically flips back to the title page containing the system controls. Thereafter, the electronic book uses the desired font/size combination as a primary font/size combination to display the text of the book. Titles and headings in the book are enlarged and bolded based upon the primary font/size combination. Other portions of text can be italicized based on the primary font. However, it is preferred that the body of the text never be displayed smaller than the size selected in the primary font/size combination. In some embodiments, it may be preferred to display footnotes in a size smaller than the size selected.

Because the various embodiments of the present invention allow a user to select a desired font/size combination for displaying textual information by viewing a plurality of words displayed in a plurality of font/size combinations and directly selecting the desired font/size combination therefrom, they provide a significant improvement in that the user can simultaneously select the font and the size using a single user-initiated event. Further, the user can view how words appear in all of the font/size combinations to aid in selecting the desired font/size combination.

Additionally, the various embodiments of the present invention automatically return to a predetermined page in the book after receiving the font/size selection in order to reduce the number of user-initiated actions required for the selection.

FIG. 10 is an illustration of the title page of the book which is displayed upon exiting the font selection page. Here, a user is shown to initiate a system control routine by selecting the system controls option 240 using his or her finger 212.

FIG. 11 is an illustration of a system control page displayed in an embodiment of the electronic book. The system control page is displayed upon executing the system control routine.

The system control page provides a number of display controls including a contrast control 254, a tint control 256, and a color control 258. Each of these controls provides a discrete number of control values which can be directly selected by a user . Further, each control value is displayed in a graphical manner consistent with the result of its selection. For example, the contrast control 254 includes a high contrast graphical representation 262, an intermediate contrast graphical representation 264, and a low contrast graphical representation 266. The graphical representations 262, 264, and 266 are of the same graphical image, but are displayed using different contrast control values. Hence, a user can visually determine a desired contrast by viewing the graphical representations 262, 264 and 266. In a similar manner, the tint control 256 and the color control 258 each display a predetermined graphical image using a discrete number of tint control values and color control values, respectively .

Preferably, the display of the graphical representations within the display controls are unaffected by current values of selected ones of the controls. In one preferred embodiment, the display of the graphical representations is independent of all of the current values. For example, the display of the low contrast representation 266 can be independent of the current contrast control value, the current tint control value, and the current color control value. In another preferred embodiment, the display of the graphical representations in each control is independent of the current value of that control, but depend on the current value of the other controls. Here, for example, the display of the low contrast representation 266 is independent of the current contrast control value, but dependent upon the current tint control value and the current color control value. Using either of these two embodiments, a user can immediately determine a result of each control value selection before actually performing the selection.

The system control page also includes a sound control 267. The sound control 267 is illustrated to have a discrete number of sound intensity values which can be selected by a user. In the embodiment of FIG. 11, the sound intensity values are monotonically related to the size of an ear displayed on the sound control 267. An ear 268 having a slash therethrough is indicative of an option to turn off the sound. For the purpose of illustration, FIG. 11 shows a user selecting an intermediate sound intensity by touching an ear graphic 269. The user then returns to the system control page by touching the second hot spot portion 178, i.e. the page back hot spot, of the touchscreen 130.

It is noted that the controls on the system control page can provide continuous, rather than discrete, control of the control values in alternative embodiments of the electronic book. Here, for example, the ear size and the volume can increase or decrease based on finger selection movement.

A pad area 270 of the system control page is utilized for testing motions such as a hold event, a turn event, and a mark event. In particular, a user can point to any of a hold selection 271, a turn selection 272, and a mark selection 273, and then perform the selected motion in the pad area 270. Here, a length of hold time or style of dragging a finger for a flip command can be gauged for each user, for example, using the pad area 270.

FIG. 12 is an illustration of the title page of the book which is displayed upon exiting the system control page. Here, the user is illustrated to select the read- to-me option 244 which initiates the voice synthesizer 162 to audibly read the text being visually displayed on the touchscreen 130. The audible reading of the text begins at the last page which was displayed on the touchscreen 130. The reading rate and other controls for the read-to-me routine is provided on a pacing control page described hereinafter. FIG. 13 is an illustration of the title page of the book wherein a radio frequency link option is selected. This option is selected by the user by touching the RF link option 244 using his or her finger 212. Upon selecting the RF link option 244, an RF link routine is executed. The RF link routine allows the user to download updates of the text to the electronic book, and/or to interface the electronic book to a personal computer or communication unit. The RF link routine utilizes the antenna 158 and the RF modem 160 illustrated in FIG. 3 to communicate with the personal computer using a local wireless link, or more generally to communicate with a wireless data communication network. Utilizing a nationwide wireless data communication network, such as the Ardis network, allows individuals to receive book updates, World Wide Web pages, or other electronic documents via radio frequency links in major cities.

FIG. 14 is an illustration of the title page of the book wherein a pacing control option is selected by a user. Specifically, the user is shown to initiate a pacing control routine by selecting the pacing control option 236 displayed on the title page using his or her finger 212. FIG. 15 is an illustration of a pacing control page displayed in an embodiment of the electronic book. The pacing control page is displayed once the user selects the pacing control option 236 from the title page. The pacing control page includes a display 280 of a current reading pace of the user. Based upon the number of pages left in the book, which is given in a display 282, a display 284 of an estimated completion time for the book is also given. In the embodiment of FIG. 15, the current reading pace, the number of pages left, and the estimated completion time are displayed in the form of one or more sentences .

Also displayed on the pacing control page is a display 290 of a desired reading pace. A display 292 of an estimated completion time in accordance with the desired reading pace is also given. The desired reading pace is controlled by the user using a graphical slider bar 294. The pages of the text in the book are automatically paced by a pacing routine which is enabled and disabled by a graphical switch 296. In one embodiment, each page of text is displayed for a duration commensurate with the desired reading rate controlled by the graphical slider bar 294. The user returns to the title page from the pacing control page by selecting the second hot spot portion 178, i.e. the page back portion, of the touchscreen 130.

FIG. 16 is an illustration of the title page of the book which depicts other user-initiated options. The user can return to a book-marked page by selecting the bookmark graphic 182. The user can return to the library screen by selecting the fourth hot spot portion 184, i.e. the close book portion, of the touchscreen 130. The user can go to the first page of the book by selecting the first hot spot portion 170, i.e. the advance page portion, of the touchscreen 130. FIG. 17 is an illustration of a page marked by a dog ear in an embodiment of the electronic book. The user initiates a dog ear command by performing a predetermined user-initiated event. An example of such an event includes a user touching an upper corner portion of the touchscreen 130, such as the fifth hot spot portion 186 defined earlier.

If the page is not dog-eared, then a brief touching of the upper corner portion 186 causes a dog ear graphic 300 to be displayed in the upper corner portion. In addition, an indication that this page has been dog- eared is stored either in the removable machine-readable storage medium 136 or the internal machine-readable storage medium 154.

If the user touches the upper corner portion 186 of a page already marked with a dog ear, or if the upper corner portion 186 is held for a duration greater than a predetermined threshold, then a dog ear dialog box is opened .

FIG. 18 is an illustration of a dog ear dialog box used in embodiments of the electronic book. A dog ear dialog box 302 is displayed on touchscreen 130. The dog ear dialog box 302 displays a list 304 of all dog-eared pages . A user can immediately go to one of the dogeared pages on the list 304 by touching a display of a selected page number .

The dog ear dialog box 302 also displays an option 306 to display marks 308 along an edge 310 of the page. Thereafter, a user can touch any of the marks 308 to move quickly to a corresponding one of the dog-eared pages. In the example illustrated in FIG. 18, a mark 312 corresponds to marked page 1, a dog ear 314 corresponds to marked page 35, a mark 316 corresponds to marked page 94, a mark 318 corresponds to marked page 111, and a mark 320 corresponds to marked page 120. In a preferred embodiment, page one is always marked with a dog ear so that a user can quickly return thereto using either the marks 308 or the dog ear dialog box 302.

Upon receiving a user-initiated event while the dog ear dialog box 302 is displayed, the dog ear dialog box 302 is removed to show the selected page of the book. FIG. 19 is an illustration of a user selecting a portion of a page of text. A portion 330 is selected by a user-initiated event of sliding his finger 212 (or other pointing member such as a stylus) from a first position 332 to a second position 334. Upon its selection, the portion 330 of the text is highlighted in a predetermined manner. The portion 330 of the text can be highlighted in color if the touchscreen 130 is capable of a color display. Alternatively, the portion 330 of the text can be highlighted using gray scale shading, reverse video, or underlining. An option selection dialog box is then displayed on the touchscreen 130 to provide the user a number of text marking options . In WWW browser embodiments of the present invention, a selection of a portion of a document can initiate a step of providing URL information for holding or creating HTML pages .

FIG. 20 is an illustration of an option selection dialog box used in embodiments of the electronic book. An option selection dialog box 340 is displayed on the touchscreen 130 in a location out of the way of the portion 330 of the text that is marked when possible. The option selection dialog box 340 includes a plurality of text marking options including a note capture option 342, a highlighting option 344, a quote capture option 346, and a set bookmark option 348.

Briefly, the note capture option 342 allows a user to type in notes associated with the portion 330 of the text. Notes can be utilized to form HTML additions for creating and appending WWW pages where a user has such privileges. The highlighting option 344 leaves the portion 330 of the text highlighted, and stores an indication of this highlighting so that any subsequent return to this page displays the portion 330 as being highlighted. The quote capture option 346 allows a user to store the portion 330 of the text along with source data, such as the name of the author of the book or the title of the book, in the internal machine-readable storage medium 154. The set bookmark option 348 can be selected to add a bookmark to the current page. If the page already has a bookmark, then a number of bookmark management options similar to options used for the dog ear command are provided to the user . FIG. 21 is an illustration of an annotation display used in embodiments of the electronic book. The annotation display is provided in response to a user selecting the note capture option 342 illustrated in FIG. 20. After receiving a user-initiated event indicative of selecting the note capture option 342, a soft keyboard 360 is displayed on the touchscreen 130. The soft keyboard 360 includes alphanumeric keys and symbolic keys along with a close key and a notes collection key. A plurality of keystroke events are received by the soft keyboard 360 to form an annotation. As the keystroke events are received, a plurality of characters corresponding thereto are displayed in a window 362 on the touchscreen 130. The user selects the close key on the soft keyboard 360 upon completing the annotation. In response to selecting the close key, the electronic book removes the soft keyboard 360 and the window 362 from the touchscreen 130 and displays a note marker icon to indicate that the page has an annotation associated therewith.

The notes collection key on the soft keyboard 360 commands the electronic book to communicate the annotation to an external device such as a personal computer. The personal computer can be interfaced to the electronic book either wirelessly via the antenna 158 and the radio frequency modem 160 shown in FIG. 3, using a wire-based connection via the data interface 156, or using an infrared link. An annotation can also be in the form of an image of pixels which overlays the page of the text . The pixels can be drawn on the touchscreen 130 using a pointing device. The pixels can be stored in a pixel- map form for subsequent viewing or for subsequent conversion to text using a handwriting recognition method.

As another option, an accessory keyboard can be added to the electronic book to enter the annotation as well as other information. FIG. 22 is an illustration of a marker used to indicate that a page has an annotation associated therewith. The page illustrated in FIG. 22 results after the user enters the annotation and selects the close key from the soft keyboard 360 as illustrated in FIG. 21. As shown, the page in FIG. 22 no longer has the soft keyboard 360 and the window 362 displayed thereon. However, a note marker icon 370 is displayed in a lower corner of the page . The user can view the annotation associated with this page by selecting the note marker icon 370. Selecting the note marker icon 370 has the same effect as selecting the note capture option 342 as shown in FIG. 20.

Further, an annotation can be indicated by underlining or highlighting the portion of the text associated with the annotation. The annotation can be viewed in a hypertext-type manner by selecting the portion of text.

Because the various embodiments of the present invention are capable of storing a pixel-map of an annotation image drawn over a page of the book, they provide a significant improvement in that the user can easily enter an annotation as he/she would write in a real paper book. Additionally, the various embodiments of the present invention provide an intuitive approach for viewing annotations by selecting a note marker icon displayed on the page.

FIG. 23 is an illustration of a user selecting a set bookmark option in the option selection dialog box. The user selects the set bookmark option 348 by touching the displayed text associated therewith using his or her finger 212 or other pointing member. If this page had already included a bookmark, then a bookmark management dialog box is displayed similar to the one used for the dog ear command. Since the page illustrated in FIG. 23 does not have a bookmark associated therewith, the selection of the set bookmark option 348 causes a bookmark to be added to the page. In a preferred embodiment, only one page is bookmarked within each book. FIG. 24 is an illustration of the page of FIG. 23 having a bookmark displayed thereon. A bookmark icon 380 is displayed in an upper portion of the page to indicate that the page has been bookmarked.

It is noted that pointing devices other than an individual's finger may be utilized to generate user- initiated events indicative of desired selections using the touchscreen 130. For example, a stylus or the like can be utilized to select desired portions of the touchscreen 130. It is also noted that various types of graphical controls can be utilized to control settings and parameters of the electronic book. These graphical controls include, but are not limited to, graphical buttons, checkboxes, radio buttons, scroll bars, slider bars, pop-up menus, and dialog boxes.

Next, a description of steps which are performed by the various components of the electronic book to provide its features and functionality is presented. These operational steps are performed on or with the aid of the processor 152 illustrated in FIG. 3. The processor 152 is directed to function in a manner in accordance with these operational steps based upon a computer program or other form of software or firmware stored in a computer readable memory. The computer readable memory can be contained with the processor 152, within the internal machine-readable memory 154, or within a separate machine-readable storage medium in communication with the processor 152.

It is noted that the order in which the steps are described are indicative of one embodiment of the present invention, and that alternative embodiments of the present invention may perform the steps in a different order to achieve the same functionality. FIG. 25 is a flow diagram of an event loop performed in an embodiment of the electronic book. As indicated by block 400, a step of executing a library graphical user interface routine is performed. The library graphical user interface routine provides a virtual library to allow a user to select a book to read from a plurality of books within a library, and/or access an information service or world-wide web page as previously described. The plurality of books can be contained in one or more removable machine-readable storage media and/or the internal machine-readable storage medium.

Upon selecting a desired book, a step of executing a routine to display one or more pages of text and graphics from the desired book is performed as indicated by block 402. The routine to display the pages of text is executed until a predetermined user-initiated event is received to exit the routine. As indicated by block 404, if a close book event is received, then flow of the event loop is directed back to the step of executing the library graphical user interface routine in block 400. If a page back event is received when the current page of text being read is page one, then a step of displaying a title page of the book is performed as indicated by block 406. The title page provides a number of control options available to a user. The user selects a desired control option based upon a user- initiated event. Block 408 indicates a step of receiving this user-initiated event.

Based upon the user-initiated event which is received, flow of the event loop is directed to one of a number of subroutines in a step indicated by block 410. If the received event is indicative of the user selecting the pacing control option, then a step of executing a pacing control routine is performed as indicated by block 412. If the received event is indicative of the user selecting the font selection option, then a step of executing a font selection routine is performed as indicated by block 414. If the received event is indicative of the user selecting the system control option, then a step of executing a system control subroutine is performed as indicated by block 416. If the received event is indicative of the user selecting the RF link option, then a step of executing an RF link subroutine is performed as indicated by block 420. Upon completing either the pacing control subroutine, the font selection routine, the system control routine, or the RF link routine, flow of the event loop is directed back up to block 406 wherein the step of displaying the title page is performed.

If the received event from block 408 is indicative of the user selecting the read-to-me option, then a step of executing a read-to-me routine is performed as indicated by block 422. Flow of the event loop is then directed back to block 402 to execute the routine to display pages of text from the book. The execution of the read-to-me routine in block 422 provides a spoken, auditory display of the text in addition to the visual display of the text in block 402.

If the event received in the step of block 408 is an advance page event, then a step of setting the current page to page one is performed as indicated by block 424. If the received event is indicative of the user selecting a bookmark displayed on the title page, then a step of setting the current page to a previously bookmarked page is performed as indicated by block 426. After the current page is set in either of the steps indicated by blocks 424 and 426, then flow of the event loop is directed back to the step of executing the routine to display pages of text indicated by block 402. Finally, if the event received in block 408 is indicative of a close book event, then flow of the event loop is directed back to block 400 to perform a step of executing the library graphical user interface routine. FIG. 26 is a flow diagram of steps performed in an embodiment of a library graphical user interface routine for use in the electronic book. These steps can be performed in executing the library graphical user interface routine indicated by block 400 in FIG. 25. The steps provide a method of selecting a book for reading in an electronic book where the book is selected from a plurality of books in a library.

As indicated by block 430, a step of displaying a rearward graphical book representation having a graphical spine portion is performed. A step of displaying a forward graphical book representation in front of the rearward graphical book representation is performed as indicated by block 432. The forward graphical book representation has a graphical spine portion and a graphical front cover portion.

As indicated by block 434, a step of displaying a title of a first book of the plurality of books on the forward graphical book representation is performed. The title of the first book can be displayed anywhere on the forward graphical book representation. However, in a preferred embodiment, the title of the first book is displayed on the graphical spine portion of the forward graphical book representation. FIG. 5 illustrates an example of the rearward graphical book representation 200 having the graphical spine portion 202, the forward graphical book representation 204 having the graphical spine portion 206 and the graphical front cover portion 208, and the title 210 displayed on the forward graphical book representation 204.

With reference again to FIG. 26, a step of receiving a first user-initiated event in which a portion of the rearward graphical book representation is selected is performed as indicated by block 436. In a preferred embodiment, the portion of the rearward graphical book representation selected in this step is within the graphical spine portion of the rearward graphical book representation. Upon receiving the first user-initiated event, a step of displaying a title of a second book of the plurality of books is performed as indicated by block 440. Preferably, the title of the second book is displayed in place of the title of the first book on the graphical spine portion of the forward graphical book representation.

As indicated by block 442, a step is performed of receiving a second user-initiated event in which a portion of the forward graphical book representation is selected. In a preferred embodiment, the portion of the forward graphical book representation selected in this step is within the front cover portion of the forward graphical book representation. The reception of the second user-initiated event ends the execution of the library graphical user interface routine, and flow is directed to the routine to display pages of text from the second book. Here, steps are performed of reading machine-readable data from a machine-readable storage medium installed in the electronic book, the machine- readable data being representative of text from the second book, and displaying the text represented by the machine-readable data.

It is noted that the steps indicated by blocks 436 and 440 can be repeated to allow the user to rotate through the plurality of books. When the first user- initiated event is received while a last of the plurality of books is displayed, the next title displayed is that of the first of the plurality of books . It is preferred that steps of displaying and receiving user-initiated events all be performed using the touchscreen 130 integrated in the electronic book. However, in alternative embodiments of the electronic book which include a series of buttons external to the touchscreen 130, any of the above-described user- initiated events may be received using these buttons .

Because the various embodiments of the present invention provide a graphical user interface to allow a user to select a desired book for reading in an electronic book, they provide a significant improvement in that the user can easily select the desired book in an intuitive and efficient manner.

Additionally, the various embodiments of the present invention provide an intuitive approach for the user to scroll through the library of books until the desired book is pulled into view and to open the desired book for reading, using two graphical book representations .

FIGS. 27 and 28 show flow diagrams of an embodiment of the routine to display pages of text in the electronic book. The steps indicated in these flow diagrams are performed in one embodiment of the step indicated by block 402 in FIG. 25.

Upon entering the routine, a step of displaying a current page of the book is performed as indicated by block 450. The current page includes text from the current page of the book, a graphical display of a number of pages remaining in the book, a display of a bookmark graphic if there is a bookmark associated with the current page, a dog ear graphic if the current page is dog-eared, and a note marker icon if there is an annotation associated with the current page. Optionally, the current page includes graphics from the current page of the book. After displaying the current page, a branching step is performed, as indicated by block 452, based upon any user-initiated events which are received. If a user- initiated event is received which selects a portion of the text, a step of marking the portion of the text is performed as indicated by block 454. The portion of the text can be marked either by color or gray scale highlighting the portion of the text, underlining the portion of the text, or displaying the portion of the text in a reverse video form. The portion of the text can be selected directly by a user sliding a finger or a stylus over the portion of the text. Alternatively, the portion of the text can be selected indirectly by a menu selection technique.

After the portion of the text has been marked, a step of displaying an option selection dialog box is performed as indicated by block 456. The option selection dialog box provides a plurality of options to the user, including a note capture option, a highlighting option, a quote capture option, and a set bookmark option. As indicated by block 460, a step of receiving a user-initiated event indicative of a selection of one of the options is performed. Based upon the selection, a branching step is performed as indicated by block 462. If the note capture option is selected, then a step of executing an annotation subroutine is performed as indicated by block 464. If the quote capture option is selected, then a step of executing a quote capture subroutine is performed as indicated by block 466. If the highlighting option is selected, then a step of executing a highlighting subroutine is performed as indicated by block 470. If the set bookmark option is selected, then a step of executing a bookmark subroutine is performed as indicated by block 472. Upon completing the execution of either the annotation subroutine, the quote capture subroutine, the highlighting subroutine, or the bookmark subroutine, a step of determining whether a pacing mode is active is performed as indicated by block 474. If the pacing mode is inactive, then flow of the routine is directed back to block 452 which performs a branching step based upon a received user-initiated event. If the pacing mode is active, then a step of determining whether a highlighting mode is active is performed as indicated by block 476. If the highlighting mode is active then a step of scrolling a highlight across the current page is performed as indicated by block 480. Scrolling the highlight across the current page allows pacing of a user's scanning across the current page. A user can activate the highlighting mode to help enhance his or her reading speed.

The highlight which is scrolled across the page can be in the form of either a color or gray scale highlight, an underlining of text, or a reverse video form of text. If the touchscreen 130 is capable of selective backlighting, then the highlight can be in the form of a selective backlighting of a reduced portion of the touchscreen 130.

After scrolling the highlight across the current page in block 480 or if the highlighting mode is inactive, then a step of determining whether it is time for displaying a subsequent page is performed as indicated by block 482. If the time has not yet come for displaying a subsequent page, then flow is directed back to block 452. If the time has arrived for displaying a subsequent page, then a step of updating the current page is performed as indicated by block 484. Next, a step of displaying a forward page turn in an animated matter is performed as indicated by block 486. This step includes displaying an animated sequence of images which simulates a forward flipping of a page. Flow of the routine is then directed back to block 450 to display the new current page.

With reference to block 452, if a user-initiated event is received indicative of the user selecting the note marker icon, then the step of executing the annotation routine indicated by block 464 is performed. Thereafter, subsequent steps are performed beginning with the step indicated by block 474. With reference to the branching step performed in block 452, if a dog ear user-initiated event is received, then a step of executing a dog ear routine is performed as indicated by block 490. If the user- initiated event is indicative of the user selecting the bookmark portion of the page, then a step of executing a bookmark management routine is performed as indicated by block 491. Thereafter, subsequent steps are performed beginning with the step indicated by block 474. Similarly, if no user-initiated events are received in block 452, then flow of the routine is directed to the step indicated by block 474.

If the user-initiated event is indicative of the user selecting the page back portion of the page, then flow from block 452 branches to a step of decrementing the current page as indicated by block 492. Further, a step of displaying a backward page turn in an animated matter is performed as indicated by block 494. This step includes displaying an animated sequence of images which simulates a backward flipping of a page. The steps indicated by blocks 486 and 494 give the user the sense or feel that a page of information is being turned in place, carrying forward the familiar paradigm of turning the page on a standard paper book.

As indicated by block 496, a step of determining whether the new current page is the title page is performed after the step of block 494. If the new current page is the title page, then execution of the routine to display pages of text in the electronic book is completed as indicated by block 500. If the new current page is any page but the title page, then flow of the routine is directed back to block 450 wherein a step of displaying the new current page is performed. If the user-initiated event is indicative of the user selecting the advance page portion of the page, then flow is directed from the step indicated by block 452 to a step of incrementing the current page as indicated by block 502. Further, a step of displaying a forward page turn in an animated matter is performed is indicated by block 504. Flow of the routine is then directed back to block 450 wherein the new, incremented current page is displayed.

By displaying an animated sequence of images simulating a flipping from one page of the book to another page of the book, and displaying different animated sequences of images for forward flipping and backward flipping of pages, embodiments of the present invention provide a significant improvement in providing a realistic look and feel of a paper book.

FIG. 29 is a flow diagram of steps performed to display a current page in the electronic book. These steps constitute one embodiment of a method of performing the step indicated by block 450 in FIG. 27.

As indicated by block 510, a step of displaying text from the current page of the book is performed. The text is displayed in accordance with a primary font parameter and a primary size parameter. If there is any highlighting associated with a portion of the text on the current page, then a step of displaying the portion of the text in a highlighted manner is performed as indicated by block 512. If any graphical information is included in the current page, then a step of displaying the graphical information is performed as indicated by block 513.

As indicated by block 514, a step of graphically displaying a number of pages remaining in the book is performed. The number of pages remaining in the book can be displayed in the sixth portion 188 of the touchscreen 130 as illustrated in FIG. 4. The number of pages remaining in the book can be graphically displayed using either an image of a number of pages, a dark line as a drop shadow, or a group of parallel lines to indicate relative depth by page number in a given document. When the current page is one of the early pages in the book, the drop shadow or graphical image depth is relatively deep, indicating that there is a significant portion of the book remaining to be read. When the current page is near the middle of the book, the drop shadow or graphical image depth is half as deep. When nearing the end of the book, the drop shadow or graphical image depth becomes very thin indicating that the reader is almost at the end of the book. As a result, the user can determine at a glance how much of the book has been read, and their relative position within the book just as a standard paper book. As an alternative to using a top portion of the touchscreen for graphically displaying the number of pages remaining in the book, a side edge and/or a bottom edge of the touchscreen 130 can be utilized to provide this graphical display. As indicated by block 516, a step of determining if a bookmark is associated with the current page is performed. If a bookmark is associated with the current page, then a step of displaying a bookmark graphic is performed as indicated by block 520. As indicated by block 522, a step of determining if the current page is dog-eared is performed. If the current page is dog-eared, then a step of displaying a dog ear graphic is performed as indicated by block 524. As indicated by block 526, a step of determining whether an annotation exists for the current page is performed. If there is an annotation associated with the current page, then a step of displaying a note marker icon is performed as indicated by block 530.

FIG. 30 is a flow diagram of steps performed in an embodiment of an annotation routine. Such an annotation routine is executed in the step indicated by block 464 in FIG. 28.

As indicated by block 540, a step of displaying a window for displaying the annotation is performed. As indicated by block 542, a step of displaying a soft keyboard on the touchscreen 130 is performed. The soft keyboard is provided to receive a plurality of keystroke events to form the annotation .

After displaying the soft keyboard and the annotation window, a step of receiving a keystroke event is performed as indicated by block 544. As indicated by block 546, a branching operation is performed based upon the keystroke event received in block 544. If the keystroke event is indicative of the user selecting either an alphanumeric key or a symbolic key on the soft keyboard, then a step of displaying a character associated with the key is performed as indicated by block 560. The character associated with the key is displayed within the annotation window. After displaying the character, flow of the routine is directed back to block 544 wherein a subsequent keystroke event is received.

Referring back to the branching step indicated by block 546, if the keystroke event is indicative of a user selecting the close key from the soft keyboard, then a step of closing the soft keyboard is performed as indicated by block 562. A step of closing the annotation window is also performed, as indicated by block 564. As indicated by block 566, a step of displaying a note marker icon on the page is performed. Thereafter, execution of the annotation subroutine is completed.

With reference again to the branching step performed in block 546, if the keystroke event is indicative of the user selecting the notes collection key, then a step of communicating the annotation to an external personal computer is performed as indicated by block 570. After communicating the annotation to the personal computer, flow of the routine is directed back to block 544 wherein a subsequent keystroke event is received.

FIG. 31 is a flow diagram of steps performed in an embodiment of a quote capture subroutine. Such a quote capture subroutine can be performed to provide the step indicated by block 466 in FIG. 28. Prior to entering the quote capture subroutine, a user-initiated event was received in the electronic book which selects a portion of the text displayed on the touchscreen. After receiving the user-initiated event, a plurality of text marking options, including a quote capture option, is displayed, and a user-initiated event indicative of a user selecting the quote capture option is received.

As indicated by block 580, a step of storing quote data representative of the portion of the text is performed. The quote data is stored in the internal machine-readable storage medium 154 illustrated in FIG. 3.

As indicated by block 582, a step of storing source data which identifies the source of the quote data is performed. The source data can be representative of the author of the book, the title of the book, a copyright date of the book, and/or a publisher of the book. The source data is stored in the internal machine-readable storage medium 154 from FIG. 3.

As indicated by block 584, a step is performed of maintaining the quote data and the source data in the internal machine-readable storage medium when the removable machine-readable storage medium is removed from the electronic book. As a result of this step, subsequent steps can be performed based upon the quote data and the source data when the removable machine- readable storage medium is removed. Specifically, a step of retrieving the quote data and the source data from the internal machine-readable storage medium can be performed when the removable machine-readable storage medium is removed from the electronic book. Thereafter, a step of displaying the portion of the text represented by the quote data and source information represented by the source data can be performed. FIG. 32 is a flow diagram of steps performed in an embodiment of a dog ear subroutine . Such a dog ear subroutine is executed in the step indicated by block 490 in FIG. 27. As indicated by block 590, a step is performed of determining a duration in which a dog ear portion of the touchscreen is held. A step of comparing the duration to a predetermined threshold is performed as indicated by block 592. The predetermined threshold can be about a second. If the duration is less than the predetermined threshold, then a step of determining whether the current page has a dog ear is performed as indicated by block 594. If the current page does not have a dog ear, then a step of storing an indication that the current page be dog-eared is performed as indicated by block

596. Further, a step of displaying a dog ear graphic in an upper corner portion of the touchscreen 130 is performed as indicated by block 600. Thereafter, execution of the dog ear subroutine is completed. With reference to blocks 592 and 594, if the duration is greater than or equal to the predetermined threshold or if the current page is already dog-eared, then a step of displaying a dog-eared dialog box is performed as indicated by block 602. Within the dog- eared dialog box, a list of all marked pages is displayed. Further, an option to show marks corresponding to all of the marked pages along an edge of each page is displayed.

As indicated by block 604, a user-initiated event is received. As indicated by block 606, a branching step is performed based upon the user-initiated event received. If the user-initiated event is indicative of a user selecting a page number from the list of marked pages, then a step of setting the current page to the selected page number is performed as indicated by block 610. If the user-initiated event is indicative of the user selecting the marking option, then a step of displaying marks corresponding to the dog-eared pages along an edge of the page is performed as indicated by block 612.

FIG. 33 is a flow diagram of steps performed in an embodiment of a pacing control subroutine. The pacing control subroutine is executed in the step indicated by block 472 in FIG. 25. As indicated by block 620, a step of determining a number of pages remaining in the book is performed. As indicated by block 622, a step of determining a current reading pace of the user is performed.

Based upon the number of pages remaining in the book, a step of calculating one or more estimated completion times is performed as indicated by block 624. A first estimated completion time can be calculated by dividing the number of words or pages remaining in the book by the current reading pace of the user. As a result, the first estimated completion time estimates how long it would take the user to complete the book at his or her current reading pace. A second estimated completion time is calculated by dividing the number of words or pages remaining in the book by a desired reading pace. The second estimated completion time estimates how long it would take the user to complete the book at the desired reading pace.

As indicated by block 626, a step of displaying each estimated completion time is performed. Each estimated completion time can be displayed within a corresponding sentence as illustrated in FIG. 15.

As indicated by block 630, a step of calculating a necessary reading pace to satisfy a predetermined reading goal is performed. The predetermined reading goal can be in the form of a time duration within which a user wishes to complete the pages remaining in the book. Here, the necessary reading pace is calculated by dividing the number of pages remaining in the book by the time duration. A step of displaying the necessary reading pace to satisfy the reading goal is then performed as indicated by block 632.

As indicated by block 634, a step of displaying one or more graphical pacing controls is performed. As illustrated in FIG. 15, the one or more graphical pacing controls can include a graphical slider bar such as the graphical slider bar 294 used for modifying the desired reading pace, and a graphical switch such as the graphical switch 296 which is used for enabling and disabling an automatic pacing of the text using a pacing routine.

As indicated by block 636, a user-initiated event is received. As indicated by block 640, if the user- initiated event is indicative of the user selecting the page back portion of the touchscreen 130, then execution of the pacing control subroutine is terminated. Upon terminating the pacing control subroutine, the system control page is displayed on the touchscreen 130.

If the user-initiated event is not indicative of the user selecting the page back portion, then a step of updating a pacing parameter based on the user-initiated event is performed as indicated by block 642. Examples of the pacing parameter include the desired reading pace and the reading goal. After updating the pacing parameter, flow of the subroutine is directed back to block 624 to recalculate an estimated completion time and the necessary reading pace.

An example of another pacing control which can be utilized is one which displays and controls a rate of data transfer. Such a pacing control is beneficial when the pages are received via an on-line server. FIG. 34 is a flow diagram of steps performed in an embodiment of the font selection subroutine. The font selection subroutine is executed in block 414 in the event loop of FIG. 25. As indicated by block 650, a step of displaying a plurality of words using a corresponding plurality of combinations of different fonts and different sizes is performed. More specifically, each word is displayed using a specific font and a specific size in accordance with the combination corresponding thereto. Optionally, the step of displaying the plurality of words can include displaying a respective font name for each of the combinations. As another option, the step of displaying the plurality of words can include displaying a single textual expression using the corresponding plurality of combinations .

As indicated by block 652, a step of receiving a user-initiated event indicative of the user selecting one word of the plurality of words is performed. This selection indicates which font/size combination is desired by the user.

As indicated by block 654, a step of updating a primary font parameter and a primary size parameter is performed. The primary font parameter and the primary size parameter are updated in accordance with the font/size combination selected by the user. As indicated by block 656, a step of automatically returning to displaying the title page is performed after receiving the user-initiated event selecting the one word. Thereafter, a subsequent step of displaying text of a book includes displaying the text using the primary font in a size at least the primary size.

FIG. 35 is a flow diagram of steps performed in an embodiment of the system control subroutine. The system control subroutine is executed in the step indicated by block 416 in the event loop of FIG. 25.

As indicated by block 660, a step of displaying a plurality of graphical controls for setting system parameters is performed. The system parameters can include display parameters such as a contrast parameter, a tint parameter, and a color parameter. The system parameters can also include a sound parameter.

As indicated by block 662, a step of receiving a user-initiated event is performed. If the user- initiated event is indicative of the user selecting the page back portion of the touchscreen, as indicated by block 664, then execution of the system control subroutine is completed. For other user-initiated events, a step of updating a system parameter is performed as indicated by block 668.

Because the various embodiments of the present invention provide a quotable quotes feature in which quote data representative of a portion of a book is stored and maintained in an internal machine-readable storage medium when a removable machine-readable storage medium is removed from the electronic book, they provide a significant improvement in that the portion of the book can be recalled regardless of whether the removable machine-readable storage medium is installed. Additionally, the various embodiments of the present invention store and maintain source data representative of the author and/or the title of the book or the URL of a WWW document so that the user can identify the source of the quote. FIG. 36 is a flow chart of steps performed in a method of highlighting text in the electronic book. As indicated by block 700, a step of reading machine- readable data from a removable machine-readable storage medium installed in the electronic book is performed. As indicated by block 702, a step of displaying a page of text represented by the machine-readable data is performed.

A user-initiated event which selects a portion of the text to be highlighted is received in the step indicated by block 704. The portion of the text is then displayed in a highlighted form as indicated by the step of block 706. If the text is displayed on a touchscreen integrated in the electronic book, the user-initiated event would include a user sliding a finger over the portion of the text on the touchscreen.

After receiving the user-initiated event, a step of displaying a plurality of text marking selections, including a highlighting selection, is performed as indicated by block 708. A second user-initiated event indicative of a user selecting the highlighting selection is then received as indicated by block 710. If the text is displayed on a touchscreen integrated in the electronic book, the second user-initiated event includes a user touching a portion of the touchscreen associated with the highlighting selection

As indicated by block 712, a step is performed of storing, in the removable machine-readable storage medium, an indicator of the portion of the text which is selected. The indicator of the portion of the text to be highlighted is stored in the removable machine- readable storage medium to remain with the text when the removable machine-readable storage medium is removed from the electronic book.

Preferably, the indicator is in the form of at least one pointer which points to at least one location in the book which defines the portion of the text. Typically, each portion is defined by two indicators: one indicator pointing to a first word in the portion, another indicator pointing to a final word in the portion. Alternatively, a portion is defined by one indicator pointing to a boundary word (i.e. either the first word or the final word) of the portion and another indicator indicating the width of the portion.

As indicated by block 714, a step of displaying a second page of the text other than the page containing the portion is performed. A step of redisplaying the page of the text containing the portion indicated by the indicator is then performed, as indicated by block 716. The portion of the text previously selected is displayed in the highlighted form.

FIG. 37 is a flow chart of an embodiment of a method of creating a personal log of reading activity using the electronic book. The personal log is created based upon steps of reading machine-readable data representative of a plurality of pages of a book, as indicated by block 720, and displaying at least one of the pages on a display device integrated in the electronic book, as indicated by block 722.

As indicated by block 724, a step of storing data indicating the at least one of the pages which were displayed is performed. The data can indicate at least one page number to identify the at least one of the pages. For example, the data can indicate a page number range identifying the at least one of the pages. As indicated by block 726, a step of storing data indicating a time at which the at least one of the pages were displayed is performed. Optionally, data indicative of a reading pace of a user over at least one of the pages is stored as indicated by block 728. The data stored in the steps indicated by blocks 724, 726, and 728 is stored in the internal machine-readable storage medium 154 of the electronic book.

The steps indicated by blocks 720, 722, 724, 726, and 728 can be repeated over a plurality of operating sessions of the electronic book to create the personal log . It is noted that other data can be stored in the personal log, such as a user's name and the title of the book. The user's name is beneficial if the electronic book is utilized by more than one user. The title of the book allows the reading log to be maintained for more than one book.

The data in the personal log can be retrieved and displayed, as indicated by the steps in blocks 732 and 734. In particular, upon retrieving the data, an indication of at least one of: (i) the at least one of the pages which were displayed; (ii) the time at which the at least one of the pages were displayed; (iii) the reading pace over the at least one of the pages; (iv) the user's name; and (iv) the title of the book; is displayed for at least one of the operating sessions. By maintaining a personal log of reading activity in an electronic book, a significant improvement is provided in that the user can keep track of what portions of books were read and at what times the portions were read using the electronic book.

Additionally, by storing reading pace data, the user can track his/her reading pace of a plurality of operating sessions of the electronic book.

FIG. 38 is a flow chart summarizing steps performed to provide a method of displaying at least one reading metric in the electronic book. As indicated by block 740, the method includes a step of reading machine- readable data from a machine-readable storage medium installed in the electronic book. The machine-readable data is representative of text of a book. As indicated by block 742, the method further includes a step of displaying at least one page of the text represented by the machine-readable data on a display device in the electronic book. A reading pace of a user is monitored over the at least one page, as indicated by the step of block 744, and displayed on the display device as indicated by the step of block 746. The step of monitoring the reading pace can include monitoring a frequency of receiving at least one user-initiated event requesting a display of a subsequent page of the text, and determining the reading pace based upon the frequency. The step of displaying the reading pace can include displaying the reading pace in a form of a sentence. A reading metric in the form of an estimated completion time for a portion of the book can also be displayed. As indicated by block 748, a step of determining an amount of information remaining in the portion of the book is performed. An estimated completion time for the portion of the book is calculated based upon the reading pace and the amount of information in the step indicated by block 750. The estimated completion time is displayed in the step indicated by block 752. The estimated completion time and an amount of information remaining in the portion of the book can be displayed in the form of a sentence to facilitate user-friendliness of the electronic book.

A second estimated completion time can be calculated by receiving a desired reading pace from the user, as indicated by block 754. A step of calculating the second estimated completion time is performed, as indicated by block 756, based upon the desired reading pace and the amount of information remaining in the portion of the book. As indicated by block 758, the second estimated completion time is displayed on the display device. The second estimated completion time can also be displayed in a form of a sentence.

A further reading metric is based upon a reading goal for the user. As indicated by block 760, a step of receiving the reading goal from the user is performed. The reading goal is received by an input device, such as the touchscreen 130, in the electronic book. The reading goal can include, for example, a time goal within which a predetermined portion of the book is to be read.

As indicated by block 762, a step of calculating a required reading pace to satisfy the reading goal is performed. The required reading pace is displayed in the step indicated by block 764. A still further reading metric is based upon a remaining powering time for a battery which powers the electronic book. As indicated by block 766, a step of determining the remaining powering time for the battery is performed. An amount of the book which can be read during the remaining powering time is calculated, as indicated by the step in block 768, based upon either the monitored reading pace of the user or the desired reading pace. The amount is displayed in the step indicated by block 770. Another metric which can be calculated and displayed is one based on an estimated download time for an electronic document received from a data source. Because the above-described embodiments of the present invention provide a feature for displaying at least one reading metric in an electronic book, they provide a significant improvement in that the user can easily manage his/her reading time and/or reading pace in accordance with the at least one reading metric and/or at least one reading goal. Additionally, the various embodiments of the present invention further assists a user in managing his/her reading time by calculating and displaying an amount of a book which can be read based upon a reading pace of the user and a remaining powering time of a battery which powers the electronic book. FIG. 39 is a block diagram of a reusable housing 780 for receiving a memory card 782 to interface with a device 784 having a PC card interface 786 within a PC card slot 790. The device 784 can be an electronic book as described earlier, wherein the memory card 782 contains machine-readable data representative of pages of a book. For the electronic book described herein, the PC card interface 786 includes the interface 150 in FIG. 3, and the PC card slot 790 includes the receiving slot 134 in FIG. 2.

The memory card 782 has a substrate 792 shaped to be removably housed within the reusable housing 780. Preferably, the substrate 792 has a thin, card-like form. A machine-readable storage medium 794 is located on the substrate 792. The machine-readable storage medium 794 is utilized to store machine-readable data, such as the data representative of pages from a book. A plurality of connection points 796 are located on the substrate 792 to facilitate external access and communication with the machine-readable storage medium 794.

The reusable housing 780 includes a housing member 800 which removably receives and retains the memory card 782. The housing member 800 has an exterior dimensioned to allow insertion thereof in the PC card slot 790. For a PCMCIA card slot, the housing member 800 is dimensioned in accordance with a PCMCIA card dimension.

The reusable housing 780 further includes a PC card connector 802 positioned on the housing member 800. The PC card connector 802 interfaces with the PC card interface 786 when the housing member 800 is inserted in the PC card slot 790. For a PCMCIA interface, the PC card connector is a PCMCIA connector.

An interface 804 within the reusable housing 780 receives the plurality of connection points 796 when the memory card is received by the housing member 800. The interface 804 connects the plurality of connection points 796 to the PC card connector 802 to facilitate communication between the machine-readable storage medium 794 and the PC card interface 786.

FIG. 40 shows a view of a PCMCIA embodiment of a reusable housing 810 which receives a memory card 812. The reusable housing 810 includes a PCMCIA card connector 814 which is interfaced to a plurality of connection points 816 of the memory card 812.

The reusable housing 810 includes a housing member formed by a first clam shell member 820 and a second clam shell member 822. The first clam shell member 820 at least partially disconnects from the second clam shell member 822 to allow the insertion of the memory card 812. For example, the first clam shell member 820 can be pivotably connected to the second clam shell member 822, or can completely disconnect from the second clam shell member 822. The first clam shell member 820 can then be reconnected to the second clam shell member 822 to enclose the memory card 812.

FIG. 41 is a flow chart of a method of reusably housing a memory card having a machine-readable storage medium to interface with a device having a PC card interface within a PC card slot. As indicated by block 830, a step of providing a reusable housing having an exterior dimensioned to allow insertion thereof in the PC card slot is performed. The reusable housing which is provided also has a PC card connector to interface with the PC card interface when the reusable housing is inserted in the PC card slot.

A step of housing the memory card in the reusable housing is performed as indicated by block 832. The step of housing the memory card can be performed by at least partially disconnecting a first clam shell member from a second clam shell member of the reusable housing, inserting the memory card into at least one of the first clam shell member and the second clam shell member, and reconnecting the first clam shell member to the second clam shell member to enclose the memory card.

As indicated by block 834, the method includes a step of connecting a plurality of connecting points on the memory card to the PC card connector. If the reusable housing includes the first clam shell member and the second clam shell member, this step is performed before the clam shell members are reconnected.

The following steps illustrate the reusability of the reusable housing. These steps are typically performed after the reusable housing and the memory card have been interfaced with the device.

As indicated by block 836, a step of removing the memory card from the reusable housing member is performed. A step of housing a second memory card in the reusable housing is performed thereafter, as indicated by block 838. Further, a step of connecting a plurality of connecting points of the second memory card to the PC card connector is performed as indicated by block 840.

By storing machine-readable data on a thin memory card which can be removably received and retained by a reusable housing, a total volume for a collection of data is reduced. Further, an amount of waste material is reduced by not disposing the reusable housing when the memory card is disposed. Additionally, by interfacing connection points on the memory card to a PC card connector on the housing, the connection to a PC card interface is strengthened to ensure good quality and longevity. Also, by using a PCMCIA embodiment of the reusable housing, the memory cards are loadable into a PCMCIA format. FIG. 42 is a flow chart summarizing steps performed in a method of controlling a rate of information displayed in the electronic book. As indicated by block 850, a step of reading machine-readable data from a machine-readable storage medium installed in the electronic book is performed. The machine-readable data is representative of a plurality of pages of a book. A step of displaying at least one page of the book on a display device is performed as indicated by block 852. As indicated by block 854, a step of monitoring a reading pace of the user over the at least one page of the book is performed. The step of monitoring the reading pace can be performed by monitoring a frequency of receiving user-initiated events requesting a display of subsequent pages of the book, and determining the reading pace based upon the frequency.

As indicated by block 856, a step of displaying, on the display device, each of a plurality of subsequent pages of the book for a respective duration commensurate with the reading pace is performed. Optionally, a step of scrolling a highlight across each of the subsequent pages can be performed as indicated by block 858. The highlight is scrolled across each subsequent page at a rate commensurate with the reading pace. To provide a power saving mode, the highlight can be in the form of a selectively backlit portion of the display device.

The backlighting can be controlled in several ways. The selectively backlit portion can have a predetermined length measured in terms of a number of characters, words, sentences, or paragraphs of the text. For example, when a predetermined type of character, such as a period, is encountered in accordance with the reading pace, the selectively backlit portion is advanced for a predetermined number of sentences . Alternatively, the selectively backlit portion can have a predetermined length measured in terms of the display device. For example, a predetermined number of lines of the display device can be selectively backlit. Here, the predetermined number of lines scrolls down the display device in accordance with the reading pace. As another option, the machine-readable data representative of the text can be encoded to invoke backlighting for predetermined portions of either the text or the display device. If a user invokes the selective backlighting option before a reading pace is established, the reading pace of the user is monitored over a portion of the text. The portion of the text can be selectively backlit to allow viewing by the user in a dimly-lit environment. The reading pace can be monitored by monitoring a motion of a pointing member (such as the user's finger) down through the portion of the text or alongside the portion of the text at an edge of the page. When the pointing member touches an unlit portion immediately below the portion, the reading pace is calculated for use in controlling the speed of the selective backlighting.

It is noted that the selective backlighting option is user-selectable. Further, some embodiments may allow a user to adjust the rate of information which is displayed. Here, the user can adjust the rate, either up or down, for a purpose of reading practice.

Because the above-described embodiments of the present invention monitor a reading pace of a user over at least one page of a book and display each of a plurality of subsequent pages of the book for a respective duration commensurate with the reading pace, they provide a significant improvement in that the user need not adjust a control to select the rate of automatically displaying the information. Additionally, the various embodiments of the present invention provide an option to scroll a highlight in the form of a selectively backlit portion of the display device across each of the plurality of subsequent pages at a rate commensurate with the reading pace. As a result, a significant saving in power is realized in comparison to backlighting the entire display device.

FIG. 43 is a block diagram of a system for encoding a book for reading using an electronic book having an internal machine-readable dictionary. An interface 860 receives data representative of text and graphical information of the book. The interface 860 can take a variety of different forms, such as a wireline communication interface, a wireless communication interface, or an interface to a mass storage device. The system includes an encoder 862 in communication with the interface 860. The encoder 862 encodes first machine-readable data representative of a plurality of words not included in the internal machine-readable dictionary to provide a customized dictionary. The encoder 862 further encodes second machine-readable data representative of the text of the book. The second machine-readable data includes a plurality of pointers which point to a corresponding plurality of words in the machine-readable dictionary and the customized dictionary to provide the text. The encoder 862 also encodes third machine-readable data representative of the graphical information.

Optionally, the encoder 862 further encodes fourth machine-readable data for modifying a spoken auditory display of the text using the voice synthesizer 162.

The fourth machine-readable data can be indicative of an alternative pronunciation, an alternative emphasis, and/or an alternative voice of at least one word of the text. The system further includes an interface 864 in communication with the encoder 862. The interface 864 communicates the first machine-readable data, the second machine-readable data, the third machine-readable data, and the fourth machine-readable data to the electronic book. The interface 864 further communicates an access authorization level for reading at least one of the first, second, third, and fourth machine-readable data, to the electronic book. The access authorization level can be a single-book level which limits reading of the book to a specific electronic book, a single-medium level which limits reading of the book to a specific machine-readable storage medium, and a single-read level which limits reading of the book to a single read and inhibits subsequent readings of the book. The interface 864 can communicate the machine- readable data directly to the electronic book via the data interface 156, the RF modem 160, or the infrared transceiver 161. Alternatively, the interface 864 can communicate the machine-readable data to a machine- readable storage medium for installation in the electronic book.

If the access authorization level is a single-book level, the machine-readable data can be encoded in accordance with a public encryption key of an electronic book having a secret, private key. Here, the system receives the public encryption key for the electronic book and encodes the machine-readable data in accordance with the public encryption key before communicating the data to the electronic book. As a result, the machine- readable data is decodable only if the private key of the electronic book is known. As a result, reading of the book is limited to the electronic book having the private key.

If the access authorization level is a single- medium level, the machine-readable data can be encoded in accordance with a material characteristic of a machine-readable storage medium on which the data is stored. As a result, decoding of the machine-readable data is limited to the machine-readable storage medium. The system can be formed by a box which attaches externally to a parallel port or a serial port on a personal computer programmed to encode the information to be delivered to the electronic book.

By storing textual information in the form of a customized dictionary and pointers to the customized dictionary in an internal machine-readable dictionary, they provide a significant improvement in that the textual information can be stored efficiently for each book. Additionally, the various embodiments of the present invention store an access authorization level for each book medium. The access authorization level is utilized to limit access to the information stored on the book medium.

FIG. 44 is a flow chart of a method of storing at least one book in an internal machine-readable storage medium of an electronic book. The electronic book includes an internal machine-readable dictionary containing a plurality of pointer-addressable words. As indicated by block 870, the method includes a step of receiving, using the electronic book, data representative of text and graphic information from the at least one book. The data can be received from a removable machine-readable storage medium installed in the electronic book, via a wireline communication link using the data interface 156, or via a wireless communication link using either the RF modem 160 or the infrared transceiver 161.

As indicated by block 872, a step is performed of storing, in the internal machine-readable storage medium, first machine-readable data representative of a plurality of words which provides a customized dictionary to augment the internal machine-readable dictionary. As indicated by block 874, a step of storing, in the internal machine-readable storage medium, second machine-readable data representative of the text is performed. The second machine-readable data includes a plurality of pointers which point to a corresponding plurality of words in the machine-readable dictionary and the customized dictionary. A step of storing third machine-readable data representative of the graphical information is performed as indicated by block 876.

Optionally, a further step of storing fourth machine-readable data for modifying a spoken auditory display of the text using the voice synthesizer 162 can be performed as indicated by block 878. The fourth machine-readable data can be indicative of an alternative pronunciation of at least one word of the text, an alternative emphasis of at least one word of the text, and/or an alternative voice of at least one word of the text.

If the data representative of the text and the graphical information is received from a removable machine-readable storage medium having an access authorization level associated therewith, a step of determining the access authorization level is performed as indicated by block 880. When the access authorization level is a single-read level, a step of automatically altering the removable machine-readable storage medium is performed, as indicated by block 882, to inhibit a subsequent reading of the data by the electronic book.

The above-described method of storing at least one book in an internal machine-readable storage medium provides a significant improvement in that the user can download a plurality of books to the internal machine- readable storage medium, and can selectively read a desired book without having to carry a number of external memory devices. Additionally, the utilization of an internal dictionary and a customized dictionary provides an efficient approach to storing pointer data representative of the at least one book.

By using the removable machine-readable storage medium (or book card) 136 to store the content of a book it allows the automation of libraries or book stores. FIG. 45 is a schematic diagram of a system 890 for an automated library for a plurality of book cards. The system 890 has a display 892 for presenting information related to the plurality of book cards stored in the system 890. A keypad 894 allows a user 895 to search through the information stored on the plurality of book cards and to select (check out) one of the plurality of books . The selected book card is received at a card slot 896. In one embodiment, the system 890 has library card slot 898. In another embodiment the library card slot 898 receives credit cards for purchasing a book card.

FIG. 46 is a block diagram of the system 890 for an automated library for a plurality of book cards 900. The plurality of book cards 900 are stored in a plurality of bins 902 on a shelf 904. An arm 906 is operable to move the book cards 900 from the bins 902 to either a card reader 908 or the card slot 896 of a front panel 910. The front panel 910 includes the card slot 896, the display 892 and the keypad 894. The arm 906, card reader 908 and the front panel 910 are all connected to a processor 912. The processor 912 is also connected to the library card interface 898, a memory 914 and an interface 916. The interface 916 can receive a removable machine-readable storage medium 918 for programming the system 890.

In another embodiment, a large memory device stores the contents of all the book card 900. When a user selects a particular book the information is either written on a blank book card or downloaded into the electronic book's internal memory.

The memory 914 contains a catalog 930 (see FIG. 47) . The catalog 930 is a database containing catalog information 932 on each of the book cards normally kept in the system 890. FIG. 48 is a schematic diagram of the catalog information 932. The catalog information 932 includes: an author; a title; a publisher; a publication date; a subject categories; a keywords; a description; and a location of one of the plurality of book cards 900.

FIG. 49 is a flow chart of an embodiment of the steps used to stock a system 890 for an automated library for a plurality of book cards. The process starts, step 940, by the system receiving a book card at step 942. The book card is received by the card slot and delivered by the arm to the card reader. At step 944 the book card is read by the card reader, to obtain catalog information on the book card. Next, the catalog information is stored in the catalog in the memory at step 946. The arm then places the book card in an empty bin at step 948. The process then repeats from step 942 for a plurality of book cards. This allows the system 890 to automatically form a library of book cards entered into the system. In one embodiment an operator enters this stocking mode by entering a special library card into the library card interface. In addition the operator may have to enter a special series of key strokes on the keypad.

FIG. 50 is a flow chart of an embodiment of the steps a user takes to check out a book card from the system 890. The process starts, step 960, by the user selecting a search method at step 962. The user either selects: an author search method, step 964; a title search method, step 966; a subject search method, step 968; or an outline search method, step 970. The author search method looks for an author's name. The title search method looks for a matching book card title. The subject search method displays books falling within certain subject groups. The outline search method displays an outline of the subject groups. A user search query is received at step 972. A user search query for an author requires the user to type in an author's last name. For instance, if a user was interested in books by the author Ayn Rand, the user would enter Rand on the keypad and push an enter key on the keypad. The system would display any matching entries as well as a set of related entries at step 974. Related entries are those having a similar spelling as the user query. The user then selects an option at step 976. The user can cursor through the displayed entries at step 978. The process then returns to step 974 to update the related entries. The user can select, step 976, a new search at step 980. The process then returns to step 962. The user can select, step 976, one of the book cards at step 982. The user then receives the selected book card at step 984 and the process ends, step 986.

The above-described system and method for an automatic library is advantageous in automatically stocking the library and updating the card catalog. A user can search the available book cards and check out the available book cards without the assistance of a librarian.

A system and method of authoring tools have been designed for the electronic book described above. The authoring tools allow the author to enhance his book by changing formats and adding special characters. FIG. 51 is a block diagram of an embodiment of a system 990 of authoring tools for the electronic book. An input section 992 receives a word from a user (or file) . The input section 992 is connected to a processor 994. The processor 994 is connected to a memory 996 containing a general dictionary and an output section 998. The processor 994 converts the word to a pointer. The pointer is associated with the word in the general dictionary. The processor 994 also converts the input words to a text for display on the output section.

FIG. 52 is a schematic diagram of an embodiment of a general dictionary 1000. The general dictionary 1000 is made up of a plurality of entries 1002. Each entry 1002 is made up of a pointer 1004, a word 1006 and a phonetic code 1008. A word's 1006 corresponding entry includes the pointer 1004 and the phonetic code 1008 in the same row. FIG. 53 is a block diagram of an embodiment of a system 1020 of authoring tools for the electronic book. The system 1020 receives a word either through a keyboard 1022 or a microphone 1024. The keyboard 1022 and microphone 1024 are connected to a processor 1026. The processor 1026 is connected to a display 1028, a speaker 1030, an interface 1032 and a memory 1034. The memory 1034 contains: the general dictionary; a Huffman coding routine; and the instructions used by the processor 1026. The interface 1032 receives a removable computer-readable storage medium 1036. In one embodiment the removable computer-readable storage medium 1036 is a book card 136, on which the Huffman compressed pointers and compression code table are written. In another embodiment the removable computer- readable storage medium 1036 is used to program a general purpose computer to operate as a system of authoring tools for an electronic book. The speaker 1030 and display 1028 are output devices so that the author can monitor his work. The display is a WYSIWYG (What Your See Is What You Get) display. In one embodiment the display shows the outline of electronic book and only displays text in the position text would appear in the electronic book. The speaker 1030 is used by the system 1020 to read the text to the user. This is accomplished by the processor 1026 converting the input words to an audio signal input to the speaker 1030.

FIG. 54 is a flow chart of an embodiment of the steps performed by the authoring tools for an electronic book. The process starts, step 1050, by the user selecting a mode at step 1052. The user can select either an input, step 1054, a format, step 1056, or an output, step 1058. The input allows the user to enter information into the authoring tools ' environment . The format allows the user to format the information entered by the user and the output provides a variety of output modes for the formatted information.

An embodiment of a flow chart of the input is shown in FIG. 55. The process starts, step 1060, by the user selecting an input mode at step 1062. The user can select either a text (keyboard) input, step 1064, or an audio input, step 1066. In the text input a user types words into the authoring tools' environment. In one embodiment, the user imports a text file from a word processing program. The audio input allows the user to speak into the authoring tools ' system and have their voice converted to a text. At step 1068, the process receives a logical unit. The logical unit is typically a word, but encompasses punctuation marks and other special characters. At step 1070, the process determines if the logical unit is in the general dictionary. When the logical unit is in the general dictionary, the process returns to step 1068. When the logical unit is not in the general dictionary, the process adds the logical unit to a special dictionary at step 1072. The special dictionary is organized like the general dictionary of FIG. 52 and contains proper nouns and other words or characters not contained in the general dictionary. In one embodiment, the process also asks the user to enter the phonetic code for the special dictionary entry at step 1072. The process then returns to step 1068.

FIG. 56 is an embodiment of a flow chart showing the steps performed by the format option 1056. The process starts, step 1080, with the user selecting a format mode at step 1082. The user can select either an audio format mode, step 1084, or a text format mode, step 1086. The user then selects a position in a file and enters a format control character. The audio format mode allows the user to control the how the words of text in the book are pronounced. For instance, the user can select: the sex, step 1088; the emotion, step 1090; the accent, step 1092; the background, step 1094; and the age, step 1096. In the text mode, the user can choose the font & size, columns, outlines, tables, color, etc.

FIG. 57 is an embodiment of a flow chart showing the steps performed by the output option 1058. The process starts, step 1100, by performing a statistical analysis of a complete file of pointers that are to be stored on a book card, at step 1102. Using the statistical analysis a compression code table is created at step 1104. The file of pointers is then compressed at step 1106. At step 1108, the compressed file and compression code table are stored on a book card. In one embodiment the compression routine is a Huffman coding scheme .

The above-described system and method of authoring tools for an electronic book allow the user to input words and converts the words to pointers that are encoded onto the book card. The user can format the text with both text formats and audio formats . The above-described authoring tools can be utilized, for example, to create HTML web pages. An additional feature that can be part of the original system control software or added later, is name substitution. A complex or difficult name, such as "Ohnuki", could be replaced with a more familiar name, such as "Olson", using the name substitution feature. This feature can be added later by downloading it from a machine readable storage medium 136 (see FIG. 3), onto the internal machine readable storage medium 154. Two basic versions of the name substitution feature are implementable in the electronic book. The first is a user selected version in which the user selects an original name to be replaced and then enters a substitute name of his choice. The second version uses an automatic replacement routine to change the names either according to an author's abridged name list or standard replacement list.

The name substitution feature can be implemented in a number of ways. All implementations generally conform to the process shown in FIG. 58. The process starts at block 1110 and selects a name to be replaced, at block 1112. Next, a substitute name is determined at block 1114. Then the electronic book is updated with the substitute name at block 1116 and the process ends at block 1118.

An embodiment of the user selected version of the name replacement feature is described in FIG. 59. The process starts at block 1130 and then the user selects an original name by, for instance, highlighting the name, at block 1132. The user then types in a substitute name at block 1134. The next step is to update the pointer for the original name with the substitute name, at block 1136, at which point the process ends at block 1138. This process can be implemented by adding the name substitution feature as a choice in the option selection dialog box 340 (see FIG. 20) . When the user selects the name substitution feature the electronic book would prompt the user to enter an alternative name of his or her choice. The name substitution routine 1140 is one of the dialog box selections 462 (see FIG. 60) under the mark selected text routine 454.

An embodiment of the second version or automatic name substitution routine is shown in FIG. 61. After the process starts at block 1150, the process accesses the first word in the special dictionary, at block 1152. As explained earlier the removable machine-readable storage medium 136 contains pointers that are associated with particular words in the dictionary. However, proper nouns are not stored in the dictionary within the electronic book. As a result, the removable machine- readable storage medium 136 has a special dictionary that contains the pointers and words for the proper nouns not in the dictionary. The automatic selection routine determines if the word in the special dictionary meets a fog index, at block 1154. The fog index is a way of determining which names are complex or difficult to pronounce. One version of the fog index just selects any words longer than a predetermined number of characters. If the word does not meet the fog index criteria, the next word in the special dictionary is selected at block 1156. If the word does meet the fog index criteria, it is determined if an associated name exists in a name abridging list, at block 1158. If the substitute name does not exist, the next word in the special dictionary is selected at block 1156. If the substitute name does exist, then the word is replaced with the substitute name in the electronic book, at block 1160. This process is repeated until all the words in the special dictionary have been analyzed.

FIG. 62 is another embodiment of the automatic name substitution routine. The process starts at block 1170 and the author's abridged name list is accessed at block 1172. The name pointers are updated at block 1174 with the author's abridged names, which ends the process at block 1176. Either embodiment of the automatic name substitution subroutine can be implemented as a user initiated event from the title page and controls (see FIG. 8) . The automatic name substitution subroutine would be additional option under the system selections. Within the system control routine, shown in FIG. 63, the name substitution routine 1180 is a user selectable event 410.

A related additional feature is a glossary. The glossary has hyper text links between the words in the text of the electronic book and the words defined in the glossary. Unlike a traditional glossary, character names are in the glossary and a short explanation or the character is given in the glossary. This allows a user who has not picked up a novel for several weeks to get reoriented. FIG. 64 shows a flow diagram of an embodiment of the glossary. The process starts at block 1190 by clicking on a highlighted word in the text of the electronic book at block 1192. This causes the electronic book to display the glossary explanation for the highlighted work, at block 1194 that ends the process at block 1196. The user can return to the text of the book by selected previous page.

The above-described feature that allows the user to replace a complex or difficult name, such as "Ohnuki", with a more familiar name, such as "Olson", can increase the user's enjoyment and understanding of the material in the book.

An additional feature that can either come as part of the standard operating software of the electronic book or can be added later, is a text abridging feature. The text abridging feature has two basic variations. In the first variation the removable computer-readable storage medium (book card) 136 would contain both data representative of an unabridged length of text and an abridged reduced length of text. In the second variation the electronic book would contain a software routine that the processor 152 would execute to select only a portion of the length of text on the book card.

FIG. 65 shows an embodiment of the event loop (see FIG. 25) performed in an embodiment of the electronic book, including the text abridging routine 1202. The user would choose the test abridging feature from the display title page and controls (see FIG. 8) . FIG. 66 is a flow chart of steps performed in an embodiment of a text abridging subroutine. The process starts, step 1204, by the user selecting one of the two variations of the text abridging, at step 1206. The user can choose the abridged text included on the book card at step 1208. This illustrated in FIG. 67, in which the book card 136 contains a data representative of a length of text (unabridged text) 1220 and data representative of a reduced length of text (abridged text) 1222. The abridged can be anything from a short abstract that might be found in thesis, to a Reader's Digest size condensed book. In some cases the book card 136 will not contain an unabridged version of the text. In this case the book card abridged option is shaded to show it is not available. At step 1210 the user can execute one of several text selection routines.

FIG. 68 is a flow chart of steps performed in an embodiment of a text abridging subroutine of step 1210. The process starts, step 1230, by the electronic book reading the unabridged text at step 1232. At step 1234 a portion of the data representing the length of text is selected to form a reduced length of text. FIG. 69 is a flow chart of steps performed in an embodiment of a text abridging subroutine of step 1210. The process starts, step 1240, by the electronic book reading the unabridged length of text at step 1242. A user selects one of the plurality of abridging options (text abridging criteria) to select a portion of the text to form a reduced length of text at step 1244. The unabridged length of text is then stored in the electronic book's internal memory 154, at step 1246. At step 1248 the reduced length of text is stored in the electronic book's internal memory 154. A user input then selects either the unabridged or abridged text, at step 1250. The selected text is then displayed at step 1252.

The user has a number of choices at step 1244, how the text will be abridged. Based on a user input the electronic book selects the first sentence of a plurality of paragraphs in the length of text is selected for storage on an internal storage medium in step 1248. A plurality of user defined portions of the length of text can be stored at step 1248. The user can exclude various parts of speech that will be stored at step 1248. The parts of speech that can be excluded include: a plurality of articles; a plurality of adverbs; and a plurality of adjectives. FIG. 70 is a block diagram of an embodiment of the electronic book. The book card 136 containing computer- readable data representative of a length of text of the book is received by the interface 150. The processor 152 coupled to the interface 150 reads the text and displays the text on the display 130. An internal memory 154 contains software or firmware that includes a means for excluding 1260 and a means for selecting 1262. The means for excluding 1260 causes the processor to select various parts of speech for excluding from an abridged version of the text. The means for selecting 1262 causes the processor to only select predetermined portions of the length of text from the abridged version of the text.

As stated earlier, the text abridging feature can be added as an option later. The software necessary to implement this feature is stored on a removable computer-readable storage medium containing computer readable data. When the removable computer-readable storage medium is inserted into the electronic book and executed, it performs the steps described with respect to FIGs. 66, 67 and 69.

Thus the invention provides a method and apparatus for abridging a length of text in an electronic book. In addition, the user can store both the abridged version and the unabridged version of the text. This provides user with unprecedented power when studying a text, to determine those areas of greatest interest. Allowing the user to switch to the unabridged text when more details are necessary and skipping less important topics.

A method and apparatus for inhibiting the operation of an electronic device during take-offs and landings of an aircraft, has a sensor for determining when a takeoff or landing is occurring. A control circuit coupled to the sensor then inhibits operation of the electronic device. If the electronic device is an "unintelligent" device the control circuit opens a switch that controls power to the electronic device. If the electronic device is an "intelligent" device the control circuit sends a signal to the electronic device to initiate a shut down procedure. This prevents the "intelligent" electronic device from losing files or other critical information that might be lost if the power was suddenly shut off. The electronic book is an example of an intelligent electronic device that could profit from this apparatus and method.

An embodiment of an apparatus 1270 for inhibiting operation of an electronic device 1272 during take-offs and landings is shown in FIG. 71. A sensor 1274 detects a physical parameter that is associated with take-offs and landings of an aircraft. For instance, the sensor may detect the lateral acceleration. When the device is being used in an aircraft the lateral acceleration increases significantly during take-offs and landings. When a control circuit 1276 determines that the lateral acceleration is outside a predetermined range, it sends an inhibit signal (output) 1278 to the electronic device 1272.

Another embodiment of the apparatus for inhibiting operation of electronic device integrated into an unintelligent device is shown in FIG. 72. A sensor 1280 is coupled to a control circuit 1282. The control circuit 1282 opens a controllable switch 1284 when it determines a takeoff or landing is occurring. The controllable switch 1284 disconnects an output of a DC power supply (power line) 1286 from the rest of the electronic device. The electronic device is depicted as a radio/tape player and comprises an amplifier 1288 having inputs from a receiver 1290 and a tape interface 1292. The output of the amplifier 1288 is connected to a speaker 1294.

Another embodiment of the apparatus for inhibiting operation of an electronic device integrated into an intelligent device is shown in FIG. 73. Two sensors are shown, a first sensor 1300 measures lateral acceleration (LA) and a second sensor (vibration sensor) 1302 measures a second parameter, for instance a vibration characteristic. A microprocessor 1304 is coupled to the sensors 1300, 1302 and determines when both sensors are in a state indicative of a takeoff or a landing. The microprocessor 1304 then initiates an intelligent shut down procedure that stores any active files and then limits power to all non-essential operations . The microprocessor 1304 can also be part of the intelligent device, that further comprises an internal memory 1306 coupled to the microprocessor 1304. A display 1308 and an interface 1310 are also coupled to the microprocessor 1304. The interface 1310 can be a disk drive capable of accepting a computer disk 1312. FIG. 74 is an embodiment of the apparatus 1320 for inhibiting operation of an electronic device. The apparatus 1320 is shown with a pair of sensors. A first sensor 1322 measures lateral acceleration (absolute) a second sensor 1324 measures the absolute rate of ascent. A first comparator 1326 compares the output of the first sensor 1322 to a predetermined threshold 1328. The output of the comparator 1326 is passed through a low pass filter 1330 that integrates the output, thus reducing false positives from bumps . The output of the low pass filter 1330 is one input to an AND gate 1332. A second comparator 1334 compares the output of the second sensor 1324 to a second threshold 1336. The output of the second comparator 1334 is a second input to the AND gate 1332. The output of the AND gate 1332 controls a switch 1337, that connects a power source 1338 to the electronic device. The apparatus 1320 is illustrative of one way of implementing the control circuitry. Many other designs are possible including other hardware designs and microprocessor designs incorporating software or firmware necessary to complete the functions or the control circuitry.

An embodiment of a method for inhibiting an operation of an electronic device during the take-off or landing of an aircraft is shown in FIG. 75. The process starts at block 1340. At block 1342 a lateral acceleration (LA) of the electronic device is sensed. When the (absolute) lateral acceleration does not exceed a predetermined threshold at block 1344, the processing returns to block 1342. When the lateral acceleration does exceed the threshold at block 1344, it is determined if a timer has been started at block 1346. When the timer is not running, it is started at block 1348. When the timer is running, the time is compared to a predetermined period of time at block 1350. When the time does not exceed the predetermined period of time, the processing returns to block 1344. When the time does exceed the predetermined period of time, the process inhibits the operation of the electronic device at block 1352. An embodiment of the method for inhibiting an operation of an electronic device during the take-off or landing of an aircraft is shown in FIG. 76. The process starts at block 1360. At block 1362 the (absolute) lateral acceleration is sensed. It is determined if the lateral acceleration exceeds a threshold for a predetermined period of time at block 1364. When the lateral acceleration does not exceed the threshold for the predetermined period of time, the processing returns to block 1362. When the lateral acceleration does exceed the threshold for the predetermined period of time, it is determined if a second event has occurred at block 1366. The second event could be an absolute rate of ascent associated with take-offs and landings. The second event reduces false positives that could unnecessarily shutoff the electronic device. When the second event has not occurred, the processing returns to block 1362. When the second event has occurred, the operation of the electronic device is inhibited (an inhibit operation flag) at block 1367. In an intelligent device the inhibit operation flag is set.

This causes the intelligent device to start a shut down procedure, that saves files (active information) that would be lost in a catastrophic shutdown procedure. If a start up request is received while the inhibit operation flag is set, the request is denied. In an unintelligent device the electronic device is inhibited by sending an inhibit operation signal to a power switch, causing the power switch to open.

When the lateral acceleration has not exceeded a second predetermined threshold for a second predetermined period of time at block 1368, the processing returns to block 1367. When the lateral acceleration has exceeded the second threshold for the second predetermined period of time at block 1368, operation of the electronic device is allowed at block 1369 and processing returns to block 1362.

An embodiment for a system 1370 for inhibiting operation of an electronic device in an aircraft 1372 during take-offs and landings, is shown in FIG. 77. A transmitter 1374 broadcasts a signal when the aircraft is taking-off or landing. The signal is pickup by a receiver 1376 that passes the signal to a controller 1378. The controller 1378 inhibits operation (via an inhibit signal line) of an electronic device 1380, when it determines a signal indicative of a take-off or landing has been received. In other words, the controller an output with a first state when the takeoff or landing signal has not been received, and a second state when the take-off or landing signal has been received. In one embodiment of the system 1370 there is an input device 1382 coupled to the transmitter 1384 that is operable by an airline employee 1384.

In another embodiment, the electronic device would transmit a signal that would notify the aircraft of its presence. A receiver in the aircraft would detect the signal and would transmit an inhibit signal to the electronic device during take-offs and landings.

An embodiment of the apparatus for inhibiting operation of an electronic device, integrated into an intelligent device is shown in FIG. 78. A receiver 1390 receives a signal indicative of a take-off or landing. A microprocessor 1392 receives the output of the receiver 1390 and begins a shut down processes when a take-off or landing is occurring. The intelligent device is depicted as further including an internal memory 1394 coupled to the microprocessor 1392. A display 1396 and an interface 1398 are coupled to the microprocessor 1392. The interface can be a disk drive designed to receive a computer disk 1400. An embodiment of the apparatus for inhibiting operation of an electronic device, integrated into an unintelligent device is shown in FIG. 79. A receiver 1410 receives a signal indicative of a take-off or a landing. A controller 1412 connected to the receiver 1410 opens and shuts a controllable switch 1414, based on the signals received by the receiver 1410. The controllable switch 1414 connects a DC power supply 1416 to the rest of the electronic device. The electronic device is depicted as a radio-tape player having an amplifier 1418 with an input from a radio receiver 1420 and a tape interface 1422. The output of the amplifier 1418 is a speaker 1424.

An embodiment of the method for inhibiting operation of an electronic device is shown in FIG. 80. The method starts at block 1430. At block 1432 it is determined if a take-off or landing signal has been received. When the take-off or landing signal is received, the operation of the electronic device is inhibited at block 1434. Thus there has been described an apparatus and method for inhibiting operation of an electronic device during take-offs and landings of an aircraft. When used in conjunction with an intelligent device, the apparatus and method initiates a shut-down procedure, that preserves any active files and closes any applications in an orderly fashion.

An electronic book diary comprises the electronic book and the removable machine-readable storage medium 136 containing machine-readable data necessary to perform the functions of a diary. Alternatively, an electronic book diary is a stand alone electronic device having many of the features of the electronic book described above. The electronic book diary automatically time and date stamps any entries by the user. In one embodiment the electronic book diary is designed for a certain time period, such as a year. The electronic book diary displays a separate page for every day of the year. Each page has the date at the top of the page. In addition, the user has the power of electronic search methods to find past entries.

FIG. 81 is a flow chart of an embodiment of the steps performed by an electronic book diary. The process starts, step 1440, by the user selecting a function at step 1442. The user can select to display previous entries at step 1444. The user can select the text capture input feature at step 1446. The user can select the screen capture input feature at step 1448. Finally, the user can select the voice input feature at step 1450. Within the voice input feature the user can select to have her voice input converted to text at step 1452 or stored as audio at step 1454.

When the user selects the display mode, the electronic book diary determines how the information was stored. If the information was stored as text, then the user can search entries, using a search procedure that selects the date or key words in an entry. In addition, the user can always just browse the previous entries. When the entries were stored by screen capture or as audio, the user can only search entries based on the entry's date.

In one embodiment the input features 1446-1450 follow the general flow diagram shown in FIG. 82. The process starts, step 1460, by the user selecting one of the input modes 1446-1450, at step 1462. The electronic book diary then senses an input at block 1464. At step 1466 a new page is started and the date and time are displayed, step 1468. The input is then captured at step 1470 and the process ends, step 1472. In another embodiment, after the user selects an input mode at step 1462, the electronic book diary displays a page with today's date at the top. In addition, the electronic book diary may contain a saying of the day, graphical material or background graphics as is commonly found in paper diaries. The user's input is then displayed on the page.

The input capture step 1470 varies depending on the input mode chosen by the user at step 1462. For the text capture feature, the user can either write on a touchscreen input or type on a virtual keyboard. If the user chooses the written input, the electronic diary uses its writing recognition feature to convert the handwriting to text. The virtual keyboard can be either a part of the touchscreen 130 or implemented on the second touchscreen 132. In one embodiment the text is compressed before storage in the electronic book. One compression technique that is used is to convert every word to a two byte pointer. The pointers refer to words in an electronic dictionary.

When the user selects the screen capture input, the electronic book diary saves the actual writing of the user rather than converting it to text. This allows the user to store pictures as well as text and maybe considered more personal to some users .

When the user selects the voice input she has two choices, either to have the audio directly stored or to have it converted to text. If the audio is converted to text, a voice recognition feature converts the audio input to text and displays the text on the touchscreen 130 as the user talks. Compression techniques are used to reduce storage space for both choices in one embodiment .

FIG. 83 is a block diagram of an embodiment of the electronic book diary. A input unit 1480 accepts input from a user. A processing unit 1482 is coupled to the input unit 1480. A presenting unit 1484 is coupled to the processing unit 1482 and displays the input from the input unit 1480. A storing unit 1486 is coupled to the processing unit 1482 and is used to store the input from the input unit 1480. In addition, the storing unit in one embodiment includes a compressing unit.

FIG. 84 is a block diagram of an embodiment of the electronic book diary. The electronic book diary has a book card 1490 (removable machine-readable storage medium) that plugs into interface (means for input) 1492. The book card 1490 in one embodiment is just a blank storage medium for storing the inputs to the electronic diary. In a second embodiment the book card 1490 contains software, that when executed by the electronic book performs the functions of an electronic book diary. The interface 1492 is connected to a microprocessor (means for processing) 1494. The microprocessor 1494 is connected to a pen input (pad) 1496. The user uses a input pen 1498 to write on the pen input (means for input) 1496. The user's writing is captured by the microprocessor and stored in a memory (means for storing, semiconductor memory chip) 1500. The user can speak into a microphone 1502 or type on a virtual keyboard on a display 1504. The user's entries are output either to the display 1504 or to a speaker 1506. A non-volatile memory 1508 contains an electronic dictionary that is part of a compression technique used in storing the user's inputs.

One advantage the electronic book described herein can provide the user is customized versions of text (technical) books. For instance, a text book on computer operating systems might cover MS-DOS, Apple operating system, Windows and UNIX. The user may not be interested in the Apple operating systems or the professor may not cover this subject. The user could then have the sections dealing with the Apple operating system removed from the book card (removable machine- readable storage medium) 136. The modified book provides a more coherent coverage of the course and the user might get a price break on the text book. In one embodiment the user would select the version of the book at a book store 1510 (see FIG. 85) . Using a book card writer machine 1512 the user selects one of a plurality of versions of a book. The user can select either a preprogrammed version of the book card or creates a custom version of the book card. FIG. 86 is a flow chart of an embodiment of the steps to select a version of a book card. The process starts, step 1514, by the book card writer machine receiving a version input at step 1516. A version code word is written on the book card at step 1518 and the process ends, step 1520.

FIG. 87 is a flow chart of an embodiment of the steps used to create a version of a book. The process starts, step 1530, by the user inserting a book card into the book card writer machine at step 1532. The user then enters a version input at step 1534. In one embodiment the user selects from a number of options displayed on the book card writer machine. The book card writer machine then writes a version code word corresponding to the version input at step 1536. Next, a version specific special dictionary is written on the book card at step 1538 and the process ends at step 1540. The special dictionary contains pointers and associated words for proper names and other words not stored in the general dictionary. In general, words are converted to a two byte pointer before being stored on the book card. The pointers are then compressed using a coding technique, such as Huffman coding. The electronic book then looks up the pointer in the general dictionary for display. The altered versions of a book card require special pointers for page numbers, chapter numbers, etc. These special pointers are found in the special dictionary rather than the general dictionary. FIG. 88 is a flow chart of an embodiment of the steps used to create a user defined version of a book.

The process starts, step 1550, by the user selecting the chapters or pages desired at step 1552. In one embodiment the book card writer machine displays portions of the book for selection. In another embodiment, the user can select a plurality of chapters from a variety of texts ( plurality of sources) on the same subject. The publisher that owns the book card writer machine obtains the proper copyright license and passes on the appropriate royalties . In one embodiment the publisher uses a technique called bit metering to determine the appropriate cost to the user and the appropriate cost to the user. Bit metering is the process of measuring the number of bits in the chapters desired by the user. The user's cost is directly related to number of bits he selects from each book and the royalties are also based on the bits selected. The book card writer machine then recalculates the page and chapter numbers at step 1554. The special dictionary specific to the customized version is created at step 1556 and the process ends, step 1558. A version code word is not necessary since only the selected portions are stored to the book card.

FIG. 89 shows a schematic representation of an embodiment of a version code word 1570. The code word consists of a series of pointers. The series has begin pointers 1572 (DL-j_, DL3 , DL5 . . . ) and end pointers

1574 (DL2, DL4, DLg . . . ) . The electronic book starts displaying text at the first begin pointer DL-^ .

When the electronic book reaches the first end pointer DL2 it skips until it reaches the next begin pointer.

Using this technique it not necessary for a book card to contain complete copies of every version a user might choose. In addition, the publisher might be able to sell upgrades to the full book card. This would only require the version code word to be removed from the book card.

One result of using this technique is that the page numbers and chapter numbers are not fixed and depend on the version selected by the user. This problem is solved by having the page number pointers 1560 and chapter number pointers 1560 contained in the special dictionary (see FIG. 90). The associated ASCII number (version page number) 1562 is changed depending on the version selected. FIG. 91 is a schematic diagram of a version book card 1566. The version book card 1566 has a version code word 1568 and a version specific special dictionary 1570. The pointers 1572 for the unaltered book card are also contained on the version book card 1566. The pointers represent a plurality of pages in the book. FIG. 92 is a flow chart of an embodiment of the steps taken by the electronic book to display a version of a book card. The process starts, step 1580, by reading the version code word at step 1582. At step 1584, a subset of the plurality of pages is displayed based on the version code word and the process ends, step 1586. Only one of the plurality of pages is displayed at a time.

FIG. 93 is a flow chart of an embodiment of the steps taken by the electronic book to display a version of a book card. The process starts, step 1590, by the user inserting the version book card in the electronic book at step 1592. Next, a version code word is read at step 1594. The advance page hot spot 170 and the previous page hot spot 178 (a plurality of display icons) are associated with active pages of the selected version of the book at step 1596. An active page is one of the pages included in the version of the book. The user then selects one of the plurality of display icons at step 1598. The electronic book displays the active page associated with the display icon at step 1600. The process then returns to step 1596.

The above-described method and system for creating a plurality of versions of a book allow the user to select the version of the book that satisfies his needs. In addition, the user can create their own version of the book.

As described earlier, the electronic book uses a unique method of encoding words on the book card or removable machine-readable storage medium 136. An embodiment of the method of storing (encoding) text is shown in FIG. 94. The process starts, step 1612, by converting a plurality of text strings to a plurality of pointers at step 1614. The plurality of pointers consist of a plurality of data bits. The plurality of data bits used to form the plurality of pointers are compressed, step 1616, and the process ends at step 1618. In the preferred embodiment the compression is performed using a Huffman compression technique. In another embodiment, the bits used to compress the pointers at 1616 are metered. In this way the publisher knows the total number of bits used to store the text of the book. The publisher uses this information in determining the total storage requirements for the book card, which in turn is a factor in pricing the book card. In addition, the publisher uses this information for determining licensing fees for use of less than the whole book. For instance, if another publisher wishes to use only the first chapter of the book in one their books, the publisher charges a licensing fee based on the number of bits in the first chapter.

FIG. 95 is an embodiment of the steps used to store text. The process starts, step 1620, by determining if the first string is contained in a permanent dictionary (the permanent dictionary is described in more detail with respect to FIG. 98) at step 1622. When the string is contained in the permanent dictionary the string is converted to a pointer at step 1624. When the string is not contained in the permanent dictionary, it is determined if the string is contained in a special dictionary at step 1626. When the string is contained in the special dictionary, it is converted to a pointer at step 1624. When the string is not contained in the special dictionary, it is determined if the string should be added to the special dictionary at step 1628. When the string is added to the special dictionary it is converted to a pointer at step 1624. When the string is not added to the special dictionary, it is left as a string at step 1630. After the string is either converted to a pointer at step 1624 or left as a string at step 1630, it is determined if the process has reached the end of the file at step 1632. When the process has not reached the end of the file, the process returns to step 1622. When the process has reached the end of the file, a statistical analysis of the underlying data bits is performed at step 1634. This statistical analysis is used to form a code table at step 1636. The underlying data bits are then compressed at step 1638, and the process ends, step 1640. An embodiment of a method for storing clear text

ASCII to a compressed file (pointers) is a C program for use on a general purpose computer. The program has to distinct phases: a word-to-pointer lexicographic encoding phase and a character-to-bit-string probabilistic compression phase. In the encoding phase, the program interactively builds/expands a standard dictionary and a custom dictionary. For each word in the clear text file the program attempts to find the word in the standard dictionary (SD) . If the word is found in the SD the program continues to the next word. If the word is not in the (SD) , the program asks if the new word should be added to the SD. If the answer is affirmative, the word is added before proceeding to the next work. If the answer is negative, the program searches the custom dictionary (CD) and, if the word is found, again proceeds to the next word. If the word is not found in the CD, the program asks if the new word should be added to the CD. If the answer is affirmative, the word is added before proceeding to the next word. If the answer negative, the program simply proceeds to the next word. At the end of the first pass, all normal words in the text file should be in either the SD or the CD; special character sequences (e.g., a deleted #@% expletive) should be expressly excluded and treated simply as embedded ASCII strings (see, below) . In one embodiment the program can start with an existing SD and CD. In another embodiment the program can start with an existing SD and build an SD, or vice versa. In the second or encoding pass, the program utilizes the SD and CD built in the first pass to encode the clear text file into an encoded text file. As in pass one, the program extracts each word in the clear text file and attempts to find the word in the SD file. If the word is found in the SD, the program constructs an SD pointer indicating where the word was found in the SD, and appends the pointer to encoded text file. If the word is not in the SD, the program searches the CD. If the word is found, the program constructs a CD pointer indicating where the word was found in the CD, and appends this pointer to the encoded text file. If the word is not found in either the SD or the CD, the program appends each of the characters of the string into the encoded text file, prefacing each character with an appropriate control code.

In the second phase the program performs the probabilistic (Huffman coding) compression, making two passes through the encoded text file. In the first or construction phase the program reads the encoded text file, counting the number of occurrences of each of the 256 possible 8-bit ASCII characters. Using this statistical information, the program constructs a Huffman table wherein the most frequently occurring character is assigned a very short replacement bit string and the least most frequently occurring character is assigned a much longer replacement bit string, all other intervening characters being assigned respective bit strings indicative of their frequency.

In the second pass, the program utilizes the Huffman table built in the first pass to compress the encoded text file into a compressed, encoded text file. In this pass, the program extracts each 8-bit character in the encoded text file, finds the corresponding replacement bit string in the Huffman table, and writes these bit strings to the compressed text file. Note that the encoded text file contains several working table preceding the actual object bit stream. These tables are preserved during the compression phase. In addition, the program prepends the Huffman table to the compressed, encoded text file. This aspect is very important for security reasons. If this table is maintained in the protected memory within the book card's MCU then the remainder of the file can be in off- chip (but on-card) memory. This is because without this table, the rest of the stuff is pure gibberish, even if the encoding formats given below are made public . In another embodiment, the program during the second pass of the second phase has the ability to accept chapter boundary markers embedded in the encoded text file, and to build a chapter displacement table which indicates each chapter's starting location in the compressed, encoded text file. This chapter table would then be included on the data card to facilitate the back-up and resume functions. Below are tables showing the encoding formats used by the program .

CODE

PAD

FILE

Code Field:

ASCII clear text (including Control Functions)

0

Standard Dictionary (1st letter non-capitalized)

10 Custom Dictionary (1st letter non-capitalized)

110

Standard Dictionary (1st letter capitalized)

1110

Custom Dictionary (1st letter capitalized) 11110

Pad Filed:

No leading space preceding this word 0

Leading space preceding this word 1

Data Field:

ASCII - [7:0] standard 8-bit code

Standard Dictionary Pointer - [15-0] index into SD file

Custom Dictionary Pointer - [11-0] index into CD file Control Functions:

Function Def

Code

Horizontal Tab HT

009

New Paragraph NP

010

Clear Screen/New Page PG

012

Center Text CT

001

Tab to Center TC

011

CAPITALIZE all preceding word CW

003

Ellipsis (. . . ) EL

201

Umlaut (e.g. , ϋ) UM

005

Start repeat of control function, GO

006

(e.g. italicize)

Stop repeat of control function ST

007

Backspace (i.e., overstrike) BS

008

Italicize next word (repeatable) IT

014

Underline next word (repeatable) UN

095

Bold next word (repeatable) BO

015

Highlight next word (repeatable) HL 016

ASCII Text String start/stop delimiter S

024

(For long strings, i.e.,>10 characters)

Possessive case 1 - s ' PI

017

Possessive case 2 - 's P2

018

Contraction case 1 - '11 Cl

019

Contraction case 2 - 'd C2

020

Contraction case 3 - 've C3

021

Contraction case 4 - ' re C4

022

Contraction case 5 - n't C5

023

Contraction case 6 - 'm C6

025

End-of-text EOT

004

The standard and custom dictionaries have the same basic format. The SD contains all of the most commonly used words, while the CD contains all, or at least most, of the other words in a 'book' not already present in the SD. The current SD contains about 35,000 words. Each dictionary file contains the following structures:

Word Pointer Base Table :

Entry 1 is the total number of words in the Dictionary; Entries 2 through 27 are (fast binary search pointers into the Dictionary to the corresponding 26 letter of the alphabet, E.g., Entry 2 points to the letter 'A' while Entry 27 points to the letter ' Z ' ; and Entry 28 points to the last word in the Dictionary.

Dictionary:

Lower case ASCII text of each of the words in the Dictionary, arranged in standard alphabetical order, including each of the letters of the alphabet pre se . . Words are separated from each other by a space .

In one embodiment the SD would be included in as a permanent part of the electronic book. The SD could be updated by a separate data card 136. The custom dictionary is included in the book card together with the compressed, encoded text and control files.

In one embodiment the electronic book would dynamically construct the CD in its working storage, so that all subsequent references would be by CD pointer alone. In another embodiment, the CD is a separate file on the book card, but no front-end download is necessary. During the host-to-book card handshake, the book card MCU can advise the host MPU of the size of the on-card CD. Having built the necessary (empty) structure to accommodate the CD entries, the host MPU can quite easily detect when the book card MCU subsequently passes it a pointer to an empty CD entry. In response to a suitable request, the book card MCU can rapidly do the on card look-up and pass the corresponding word to the MPU to update its on-book CD structure .

FIG. 96 is a block diagram of an embodiment of the electronic book (apparatus) 1650. A card reader (interface) 150 receives the book card 136. The book card 136 (see FIG. 97) contains a special dictionary 1652, a plurality of pointers 1654 and a compression code 1656. In the preferred embodiment the compression code is a Huffman coding table. The processor 152 decompresses the plurality of pointers 1654 using the compression code 1656. The processor then reads the plurality of pointers 1654 on the book card 136 and associates each of the pointers 1654 with an ASCII string representing a word in a general dictionary 1658. The general dictionary 1658 is contained on the memory (internal memory) 154 and contains a plurality of words. The memory 154 also contains a page memory 1660. The word is then displayed on a display (touchscreen) 130. A speaker 1662 is connected to the processor 152 and is used for "reading" the book out load.

FIG. 98 is a schematic representation of an embodiment of a permanent dictionary 1670. The permanent dictionary 1670 is made up of a plurality of entries 1672. The entries 1672 consist of three columns: an index 1674 containing a pointer; an ASCII entry 1676 representing a word or control character; and a phonetic code (phonetic representation) 1678 used for voicing the words (i.e., to read the book) . In one embodiment the special dictionary 1652 follows the same format as the permanent dictionary 1670. When a book card 136 is inserted into the electronic book 1650, the processor 153 stores the entries of the special dictionary 1652 in the associated index or pointer 1674. A certain number of the pointers 1674 in the permanent dictionary 1670 are empty and reserved for use by the special dictionary 1652. The special dictionary 1652 contains words that are not in the permanent dictionary 1658. For instances, proper names are stored in the special dictionary 1652. In another embodiment each of the pointers on the book card is preceded by a code. The code tells the electronic book 1650 whether to look for the pointer in the permanent dictionary 1658 or in the special dictionary 1652. The code can also be used to determine if the word should be capitalized.

FIG. 99 is a schematic representation of an embodiment of the page memory 1660. After the processor 152 associates one of the plurality of pointers 1654 with an ASCII word 1676, the ASCII word 1676 is stored in a page memory 1660. When the page memory 1660 is full, a page of text is displayed on the display 130.

FIG. 100 is a block diagram of an embodiment of the speech synthesis circuitry for reading the book out load to the user. The processor 152 retrieves the phonetic code 1678 from the dictionary. The processor 152 converts the phonetic code 1678 into a digital waveform 1680. The digital waveform 1680 is converted into an analog waveform 1682 by a digital to analog converter 1684. The analog waveform 1682 is connected to an input 1686 of the speaker 1662. In this way the phonetic code is converted into sound.

FIG. 101 is a flow chart of an embodiment of the steps used by the electronic book 1650 to display text. The process starts, step 1690, by the processor decompressing the information on the book card at step 1692. Next one of the plurality of pointers is read at step 1694. The processor then searches the permanent dictionary for the associated ASCII word at step 1696. When the book card is inserted into the electronic book the processor downloads the special dictionary entries into the permanent dictionary. When the book card is removed or the book is closed the contents of the special dictionary are removed from the permanent dictionary. At step 1698 the associated ASCII string is stored in the page memory. The processor then determines if the page memory is full at step 1700. If the page memory is not full, the process returns to step 1692. If the page memory is full, the electronic book displays the characters associated with ASCII strings on the display at step 1702. As a result a subset of the plurality of words in the permanent dictionary is displayed in a predetermined sequence. The plurality of pointers are stored in a predetermined sequence . This is what allows the electronic book to display a page of a book, instead of just random characters. This process is repeated for every page of the book.

The above-described data compression and presentation method and apparatus significantly reduce the storage capacity necessary for the book card. In addition, the compression code acts as security code that prevents random copying. The method and apparatus allow the book to be displayed or read out loud.

The electronic book makes it feasible for publishers of books to sell various licenses to a book. For instances, the publisher could sell a single read license for less than an unlimited use license. This has not been possible with paper books. In one embodiment the user travels to his local book store 1710 and selects not only a book card (removable machine- readable storage medium) 136 but the license that meets his needs (See FIG. 102) . A book card writing means 1712 encodes the book card 136 with the license (access authorization level or access level) .

FIG. 103 is an embodiment of the steps taken in selecting an access authorization level. The process starts, step 1720, by the user selecting a license or access level at step 1722. The user can select a single read license at step 1724. A single read license allows the user to only read the book one time . In one embodiment the user is restricted to reading the book on a single platform (electronic book) . The user can select a single platform license at step 1726. The single platform license restricts the use of the book to a single electronic book. At step 1728 the user can select an unlimited use license, that allows the user to read the book on any platform and to reread the book forever .

FIG. 104 is a flow chart of an embodiment of the steps for limiting access to a book card. The process starts, step 1740, with the book card being set to a single read license at step 1742. The book card writing means then encodes the book card with a single read access authorization code. The process then waits until the book card is accessed at step 1744. At which time the electronic book reads the access code and executes a single read license. A window is set at step 1746. The window 1748 (See FIG. 105) is a range within the total length 1750 of the book card data. For instance, the window might only cover ten pages of text . The present position in the book card is determined at step 1752. Next, it is determined if the position is at the end, step 1754. When the position is not at the end, then the position of the window in the book card data is updated at step 1756. The pre-window data 1758 is scrambled at step 1760, and the process returns to step 1752. In one embodiment the scrambling is done by erasing the pre-window data. In another embodiment the pre-window data is periodically written with a predetermined bit value. This scrambles the data on the book card. In this way the user is limited to reviewing pages within the window. When the position has reached the end (predetermined point) at step 1754, the data within the window is scrambled at step 1762 and the process ends, step 1764. FIG. 106 is a flow chart of an embodiment of the steps for limiting access to a book card. The process starts, step 1770, by setting the license on the book card to a single read access level at step 1772. The process then waits until the book card is accessed at step 1774 by an electronic book. Next, a timer is started at step 1776. In another embodiment a start time is stored. The process waits at step 1778 until the timer equals or exceeds a maximum. In another embodiment, the process waits until the difference between a present time and the start time equals or exceeds a maximum threshold. At step 1780, the book card contents (data) are scrambled and the process ends at step 1782. This process limits the time the user can book card's contents. Both the processes of FIG. 104 and FIG. 106 can be modified so that the book card can only be accessed by a single electronic book.

In one embodiment, the step of scrambling is performed by erasing a compression code table. The data on the book card compressed using a Huffman coding technique. The compression code table is necessary to expand the data into meaningful symbols to the electronic book.

FIG. 107 is a flow chart of an embodiment of the steps for limiting access to a book card. The process starts, step 1790, with the book card license being set to a single platform authorization level. This requires the book card be encoded with the single platform authorization code and with a serial number that matches the serial number of the electronic book. In another embodiment, a range or set of serial numbers are encoded for access to the book card. Access to the book card is request, by the electronic book at step 1794. At step 1796, it is determined if the serial number for the electronic book has a matching serial number encoded on the book card. When the serial number for the electronic book matches the encoded serial number, access is allowed at step 1798. When the serial number for the electronic book does not match the encoded serial number, access is denied at step 1800. In one embodiment the book card has a set or range of allowable serial numbers (i.e., a book card serial number set) . FIG. 108 is a flow chart of an embodiment of the steps for limiting access to a book card. The process starts, step 1810, by the license for the book card being set to unlimited access at step 1812. Access to the book card is requested by the electronic book at step 1814. When the access is determined to be unlimited at step 1816, access is allowed at step 1818. When the access is determined to not be unlimited at step 1816, access is denied at step 1820.

FIG. 109 is an embodiment of a partial schematic diagram of a system for limiting access to a book card 136. The system includes a book writing means 1712 (see FIG. 102) , that encodes the book card 136 with a serial number and an access level. An access control means

1830 is coupled to a book card reading means 1832. The access control means 1830 limits access to the book card 136. In one embodiment the access control means 1830 is a software or firmware program that implements an access control process in an electronic book. The access control means 1830 can be programmed on a removable machine-readable storage medium 136. The book card reading means 1832 only displays that portion of a content of the book card 136 that the access control means 1830 allows access to based upon the access level of the book card 136.

The above-described method and system for limiting access to a book card allows a user to only pay for the level of use that meets his needs. The publisher can obtain marginal sales that would otherwise be lost by selling lower levels of access to a book.

As described earlier, embodiments of the present invention are well-suited for browsing on-line electronic documents. These on-line electronic documents include, but are not limited to, World Wide Web (WWW) pages, postings in Usenet newsgroups, and other documents accessible by the Internet. Next, enhancements to the herein-described graphical user interface are described with particular interest to browsing on-line documents. For purposes of illustration, this embodiment is often described in terms of browsing one or more WWW pages. This graphical user interface can be incorporated with an electronic book apparatus as described herein. Alternatively, the graphical user interface can be utilized in conjunction with a general purpose computer, such as a PC-compatible computer or a Macintosh-compatible computer.

FIG. 110 is an illustration of various hot spot locations in an embodiment of a graphical user interface for browsing on-line electronic documents. A page of text and/or graphics from an on-line document is displayed on a display portion 1900. The page typically includes a portion of a WWW page, since an entire WWW page is typically too long to display on a single page. A first hot spot portion 1902 of the display is designated for receiving a predetermined user-initiated event which requests that a subsequent page of the online document be displayed. The first hot spot portion 1902 can be synonymously referred to as an "advance page portion" or an "advance page hot spot" for receiving an advance page event. In the embodiment illustrated in FIG. 110, the first hot spot portion 1902 includes a top margin portion 1904, a side margin portion 1906, and a bottom margin portion 1908 of the display. The top margin portion 1904 is located above the display portion 1900, the side margin portion 1906 is located beside the display portion 1900, and the bottom margin portion 1908 is located below the display portion 1900.

A second hot spot portion 1910 of the display is designated for receiving a predetermined user-initiated event which requests that a previous page of the on-line document be displayed. Hence, the second hot spot portion 1910 can be synonymously referred to as a "page back portion" or a "page back hot spot" for receiving a page back event. In the embodiment illustrated in FIG. 110, the second hot spot portion 1910 is located beside the display portion 1900 and opposite the side margin portion 1906.

For an on-line document including a WWW page, the first hot spot portion 1902 and the second hot spot portion 1910 are utilized to page up and down within the WWW page.

A third hot spot portion 1912 of the display is designated for receiving a predetermined user-initiated event which requests that a pre-marked location within an on-line document be displayed. The pre-marked location can be within the same on-line document as previously displayed, or can be within another on-line document. For example, the third hot spot portion 1912 can be utilized to jump to a desired link provided by the on-line document. Here, the desired link can have a different URL (uniform resource locator) than the URL of the previously-displayed on-line document.

In the embodiment of FIG. 110, the third hot spot portion 1912 is located in an upper portion of the display and is shaped as a bookmark graphic 1914. Hence, the third hot spot portion 1912 can be synonymously referred to as a "bookmark portion" or a "bookmark hot spot". A fourth hot spot portion 1916 of the display is designated for receiving a predetermined user-initiated event to close the current on-line document being read and to request that a library screen be displayed. Hence, the fourth hot spot portion 1916 can be synonymously referred to as a "close book portion" or a "close book hot spot" for receiving a close book event. The library screen is utilized by a user to select an on-line document to read from a plurality of on-line documents within a library. The library screen also provides a library-based URL management system.

A fifth hot spot portion 1918 of the display is designated for receiving a predetermined user-initiated event which requests that the displayed page be marked. In the embodiment of FIG. 110, the fifth hot spot portion 1918 is located in an upper corner of the display. In this embodiment, the fifth hot spot portion 1918 is utilized for dog-earring locations within the on-line document. Hence, the fifth hot spot portion 1918 can be synonymously referred to as a "dog ear portion" or a "dog ear hot spot" for receiving a dog ear event. A location marker is created upon dog-earring a location in an on-line document.

A sixth portion 1920 of the display is designated to provide a depth indication representative of how much of the on-line document is left to be read. In the embodiment illustrated in FIG. 110, the sixth portion 1920 is located above the display portion 1900. The second hot spot portion 1910 can be utilized in conjunction with the sixth portion 1920 to provide the depth indication.

Other hot spot portions can be defined at text which is underlined or otherwise highlighted for hyperlinking to other URLs.

In the embodiment of FIG. 110, the display portion 1900, the first hot spot portion 1902, the second hot spot portion 1910, the third hot spot portion 1912, the fourth hot spot portion 1916, and the fifth hot spot portion 1918 are mutually exclusive (i.e. non- overlapping) portions of the display. However, in alternative embodiments of the present invention, these portions may not be mutually exclusive, and hence may overlap. Further, some embodiments of the present invention may utilize different sizes and positions for the above-described hot spot portions. Preferably, the hot spot portions are motion sensitive. For a user interface which includes a touchscreen, it is preferred that a touch event, a touch-and-hold event, and a drag event can be differentiated to initiate differing responses. For user interfaces which include a pointing device such as a mouse or a trackball, it is preferred that a click event, a click-and-hold event, and a drag event be differentiable. As a result, a page back event can be received in the form of a flipping motion (i.e. a short stroke) across the second hot spot portion 1910.

If desired, a menu bar 1922 can be displayed to provide standard file, edit, select, and help functions. The select functions include an option to choose between the book-like browsing format and a standard browsing format. The menu bar 1922 can further provide a menu of window functions corresponding the functions of the graphical user interface.

It is noted that the graphical user interfaces illustrated in FIGS. 110 to 114 are amenable for use with a general purpose computer. If an embodiment of the electronic book apparatus described herein is utilized to provide the graphical user interface, it is preferred that the menu bar 1922 not be included. Here, it is further preferred that a portion of the display, such as the top margin portion 1904 or the bottom margin portion 1908, be utilized for displaying browser messages generated during downloads.

FIG. Ill is an illustration of a library screen displayed using an embodiment of a graphical user interface for browsing on-line electronic documents. In a preferred embodiment, the library screen is displayed upon opening or activating an electronic book apparatus. For a general purpose computer, the library screen can be displayed upon initiating execution of software providing the graphical user interface.

The library screen includes a plurality of graphical book representations . Each graphical book representation represents one or more on-line documents. A graphical book representation can represent Internet- based documents, such as WWW pages, using URLs. A URL from a URL list 1930 is dragged and dropped into a graphical book representation to provide a graphical representation thereof. If desired, a plurality of URLs can be assigned to a single graphical book representation by dragging and dropping the plurality of URLs from the URL list 1930.

As illustrated, the plurality of graphical book representations includes a forward graphical book representation 1932, a rearward graphical book representation 1934, and, optionally, at least one intermediate graphical book representation 1936 and 1938. The forward graphical book representation 1932 is displayed in front of the at least one intermediate graphical book representation 1936 and 1938, and in front of the rearward graphical book representation 1934.

The forward graphical book representation 1932 has a graphical spine portion 1940 and a graphical front cover portion 1942. A title 1944 of the on-line document (e.g. the WWW page) currently being read is displayed on the forward graphical book representation 1932. In the embodiment illustrated in FIG. Ill, the title 1944 is displayed on the graphical spine portion 1940 of the forward graphical book representation 1932. The intermediate graphical book representation 1936 includes a graphical spine portion 1946 on which a title 1948 of another on-line document is displayed. Similarly, the intermediate graphical book representation 1938 includes a graphical spine portion 1950 on which a title 1952 of a further on-line document is displayed.

Upon receiving a user-initiated event in which a portion of the rearward graphical book representation 1934 is selected, titles of other on-line documents are displayed in place of the titles 1944, 1948, and 1952. In a preferred embodiment, the portion of the rearward graphical book representation 1934 selected in this user-initiated event is within a graphical spine portion 1954. In one embodiment, the title 1948 is shifted into the graphical spine portion 1940, the title 1952 is shifted into the graphical spine portion 1948, and a new title is displayed in the graphical spine portion 1950 by selecting the rearward graphical book representation 1934. In this way, a user can scroll through a library of on-line documents by repeatedly selecting the spine portion 1954 until a desired on-line document is pulled into view. When the spine portion 1954 is selected for a last of the plurality of on-line documents, the title of the first on-line document is displayed. In this manner, the user can rotate through the library of online documents.

The forward book is opened upon receiving a user- initiated event in which a portion of the forward graphical book representation 1932 is selected. This user-initiated event can include, for example, the user selecting the front cover portion 1942 of the forward graphical book representation 1932. In response to this user-initiated event, the on-line document indicated by the title 1944 is opened. If the on-line document is previously unread, the on-line document is opened to its beginning. If the on-line document has been read before, the on-line document is opened to a location which was last viewed. By organizing references, such as URLs or other similar information pointers, in the form of a library of books, the user can advantageously peruse the information as if in the form of a book. The references can be perused either on-line or off-line through enabling selections by the user.

It is noted that for embodiments of the present invention which utilize an electronic book apparatus, the URL list 1930 can be relocated to the graphical front cover portion 1942, and the menu bar is eliminated.

FIG. 112 is an illustration of a page of an on-line document displayed upon exiting the library screen. The page of text and/or graphics is initially received from an on-line service provider via a modem or a like communication device. Using the electronic book apparatus described herein, the page can be received via at least one of the data interface 156, the RF modem 160, and the infrared transceiver 161 shown in FIG. 3. In the context of a general purpose computer, the page is received by a communication device such as a wireline modem or a wireless modem.

Once received, data representative of the page can be stored in a machine-readable storage medium which acts as a cache. For the electronic book apparatus described herein, the data can be stored in the removable machine-readable storage medium 136 or the internal machine-readable storage medium 154. For a general purpose computer, the data can be stored onto a hard drive or a memory. Consequently, to display the page, machine-readable data representative of text and/or graphics is either read from memory or received from an on-line provider. After reading the machine-readable data, a page of the text and/or the graphics is displayed. A plurality of marks 1960 are displayed along an edge 1962 of the page. Each of the marks 1960 corresponds to a previously dog-eared location within the on-line document. A user can select any of the marks 1960 to move quickly to a corresponding one of the dog-eared locations. It is preferred that the beginning of the on-line document always be marked with a dog ear 1964 so that a user can quickly return thereto. For WWW documents, it is preferred that the location of the marks 1960 be stored along with a URL list so that a user can return to a specific location in a selected WWW document .

If a user-initiated event is received in which a user selects the second hot spot portion 1910, i.e. the page back portion, at the beginning of the on-line document, then a title page containing system controls is displayed.

FIG. 113 is an illustration of a title page in an embodiment of a graphical user interface for browsing on-line electronic documents. Displayed on the title page is source code 1970 used to form the on-line document. In particular, for a WWW page, the title page can include source code in a hypertext marking language (HTML) .

A number of control options are also displayed. These control options include, but are not limited to, a font selection option 1972 and a system control option 1974. The font selection option 1972 initiates a font selection routine in accordance with FIG. 9 and FIG. 34. The system control option 1974 initiates a system control routine as described hereinafter.

FIG. 114 is an illustration of a system control page in an embodiment of a graphical user interface- for browsing on-line electronic documents . The system control page provides a number of controls including a connection control 1980, an image clarity control 1982, a sound control 1984, and a multiple page control 1986.

The connection control 1980 allows a user to modify a usage delay quantity which defines time-out events. In particular, a time-out event occurs when communication between the browser and an on-line server is inactive for a time period equal to or exceeding the usage delay quantity. A time-out event can occur, for example, when the user is reading a long document.

Time-out events initiate a disconnection with the on-line server. The user can continue to read and navigate the on-line document based on data stored in a cache. When further communication is required between the browser and the on-line server, the browser reconnects with the on-line server. Preferably, the disconnection and the reconnection are substantially transparent to the user.

The image clarity control 1982 allows the user to modify an image clarity quantity to selectively increase and decrease the clarity of images or graphics communicated from the on-line server. The resolution of images and/or graphics transmitted to the browser is dictated by the image clarity quantity. The user can select the image clarity quantity based upon factors including, but not limited to, the bandwidth of the connection between the browser and the on-line server, and the connect time charges (e.g. in dollars per hour) of the connection. An image enhancement routine can be utilized by the browser improve the clarity of low resolution images. The sound control 1984 operates in a manner similar to the description of the sound control 267 given for FIG. 11.

The multiple page control 1986 initiates a routine to simultaneously display two or more documents. In the context of WWW pages, the multiple page control 1986 initiates the simultaneous display of two or more WWW pages, having two or more URLs corresponding thereto. One of the WWW pages can be off-line and buffered, while another of the WWW pages is on-line. The off-line WWW page can be buffered using the cache memory described earlier. As a result, a user can move back and forth between two WWW pages using a single browser.

FIG. 115 is a flow chart of an embodiment of a method of controlling a connection between a document browser and an on-line server. As indicated by block 2000, the method includes a step of receiving a usage delay quantity. Preferably, the usage delay quantity is user-selectable, and is received via the connection control 1980. It is assumed that the document browser is connected to the on-line server upon performing the following steps in this method.

As indicated by block 2002, the method includes a step of receiving machine-readable data representative of an on-line document from the on-line server. Of particular interest is an on-line document which includes a world wide web page. As indicated by block 2004, a step of storing at least a portion of the machine-readable data in a cache is performed. As indicated by block 2006, the method includes a step of detecting a time-out event. Preferably, the step of detecting the time-out event includes detecting a duration of inactivity which is at least the usage delay quantity. The inactivity can include inactivity of communication between the document browser and the on-line server, or inactivity of receiving navigation commands from the user. A coded signal indicative of a time-out event can be transmitted by the document browser for reception by the on-line server. As indicated by block 2008, a step of storing a pointer to a current location within the on-line document is performed. The pointer points to the current location at the time of the time-out event. Optionally, the method includes a step of sending a message containing the pointer to the on-line server, as indicated by block 2010. Here, the pointer is stored at the on-line server.

As indicated by block 2012, a step of disconnecting the document browser from the on-line server is performed. The document browser is disconnected from the on-line server upon detecting the time-out event.

As indicated by block 2014, a step of receiving a navigation command can be performed when the document browser is disconnected from the on-line server. If no further communication with the on-line server is required to perform a navigation function corresponding to the navigation command, then the machine-readable data stored in the cache is utilized to perform the navigation function (block 2016) . If further communication is required to perform the navigation function, then a step of automatically reconnecting the document browser to the on-line server is performed (block 2018) . Thereafter, a step of automatically returning to the current location of the on-line document based on the pointer is performed (block 2020) . A step of receiving further data from the on-line server can then be performed to provide the desired navigation function.

The above-described steps can be directed by software in the form of machine-readable data on a machine-readable storage medium. The machine-readable data directs a document browser to receive second machine-readable data representative an on-line document from the on-line server, to display at least a portion of the on-line document, to store a pointer to a current location within the on-line document, to disconnect the document browser from the on-line server upon detecting a time-out event, and to automatically reconnect the document browser to the on-line server to automatically return to the current location of the on-line document based on the pointer when further communication with the on-line server is required.

In general, an apparatus for browsing an on-line document (i.e. a document browser) includes a communication interface which receives machine-readable data representative of the on-line document from an online server, a display device which displays at least a portion of the on-line document, a processor in communication with the communication interface and the display device. The processor is operative to detect a time-out event, to store a pointer to a current location within the on-line document at the time-out event, to disconnect a link to the on-line server upon detecting the time-out event, and to automatically reconnect to the on-line server and automatically return to the current location of the on-line document based on the pointer when further communication with the on-line server is required. Upon detecting the time-out event, the processor can command the communication interface to transmit a coded signal indicative of the time-out event to the on-line server.

The specialized disconnect rerouter which results allows the user to automatically vacate a communication link (which can be a wireless or wireline dial-up link) without losing the context of the current session. This is beneficial for channel sharing purposes and for reducing the cost of connect time.

FIG. 116 is a flow chart of an embodiment of a method of communicating an image to a document browser in an on-line server. As indicated by block 2030, the method includes a step of receiving an image clarity quantity from the document browser. Preferably, the image clarity quantity is received by the document browser via the system control page shown in FIG. 144, and then transmitted to the on-line server.

As indicated by block 2032, the method includes a step of receiving the image, at the on-line server, from a source of material, such as a second server. Here, the on-line server receives the image in any of a number of formats, including but not limited to, GIF, JPEG,

TIFF, and PICT formats. Of particular interest is when the image is within a world wide web page provided by the second server.

As indicated by block 2034, a step of converting the image to a predetermined format. Preferably, the predetermined format encodes the image using rasterized or interlaced patterns such that the clarity of the image depends a number of interlaced patterns which are communicated to the document browser. A converted image which results can be stored by the on-line server in the predetermined format.

As indicated by block 2036, the method includes a step of transmitting a reduced clarity version of the image to the document browser based upon the image clarity quantity sent at connect time. Preferably, the step of transmitting includes transmitting a predetermined number of the interlaced patterns based on the image clarity quantity. For example, the interlaced patterns can be transmitted in a number of 5k to 10k blocks, where the number of blocks depends on the image clarity quantity. Software in the document browser can be utilized to fill in coarse images.

The above-described method is advantageous in speeding up the process of communicating images . Images can be communicated by a factor of two to ten times faster using this approach. This is especially beneficial when using a wireless RF link to receive the images. Further, the user can decide on the amount of the image, and hence the clarity, which is to be communicated.

The above-described steps can be directed by software in the form of machine-readable data on a machine-readable storage medium. The machine-readable data directs an on-line server in receiving an image clarity quantity from the document browser, receiving the image from a second server, and transmitting a reduced clarity version of the image to the document browser based upon the image clarity quantity.

To improve the speed of transmitting text between the on-line server and the document browser, any of the herein-described dictionary-based approaches for representing text can be utilized. An embodiment of such an approach is illustrated in FIG. 117.

FIG. 117 is a block diagram of a transmit modem 2040 and a receive modem 2042 which utilize the herein- described dictionary-based approaches for communicating text. The transmit modem 2040 is utilized at the online server, while the receive modem 2042 is utilized at the document browser. The transmit modem 2040 includes a front end 2044 which receives signals indicative of textual data, a dictionary 2046 of commonly-used words and pointers associated therewith, and a signal conditioner 2048 in communication with the front end 2044 and the dictionary 2046 to transmit signals indicative of pointers representative of at least a portion of the textual data. More specifically, the signal conditioner 2048 transmits a pointer, rather than the text itself, for words within the textual data which are contained in the dictionary 2046.

The receive modem 2042 includes a signal conditioner 2050 which receives signals transmitted by the transmit modem 2040. The signal conditioner 2050 is operatively associated with a dictionary 2052 containing the commonly-used words and pointers therefor, to convert received pointers back to text. A back end 2054 is coupled to the signal conditioner 2050 to provide a signal indicative of the textual data.

Since both the on-line server and the document browser contain a dictionary of commonly-used words to which pointers refer, the pointers, rather than the words, are communicated between the on-line server and the document browser. As a result, a significant compression of the data can be attained. Optionally, a custom dictionary can be communicated from the on-line server to the document browser. The custom dictionary is transmitted when the user initially accesses the on-line server, and can be updated either at regular intervals or when a certain level of improvement is provided.

Using HTML specifications, dictionary pointers can be embedded in <P> commands. Further, other HTML commands can be compressed into a shortened form for transmission to the document browser. The document browser reconstructs the original HMTL commands based on the shortened form. This allows for compression factors of two or more.

Thus, there has been described herein a concept, as well as several embodiments including preferred embodiments of a book-like interface for browsing online documents and methods therefor.

Because the various embodiments of the present invention utilize a book-like graphical user interface, they provide a significant improvement in that a user can comfortably browse an on-line document in a manner similar to reading a real paper book.

It will be apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than the preferred form specifically set out and described above.

Accordingly, it is intended by the appended claims to cover all modifications of the invention which fall within the true spirit and scope of the invention.

What is claimed is:

Claims

Claims
1. A method of controlling a connection between a document browser and an on-line server, the method comprising the steps of: receiving machine-readable data representative of an on-line document from the on-line server; displaying at least a portion of the on-line document ; detecting a time-out event; storing a pointer to a current location within the on-line document at the time-out event; disconnecting the document browser from the on-line server upon detecting the time-out event; automatically reconnecting the document browser to the on-line server when further communication with the on-line server is required; and automatically returning to the current location of the on-line document based on the pointer.
2. The method of claim 1 wherein at least one of 2A-2F:
2A) the on-line document includes a world wide web page ; 2B) further comprising the step of receiving a usage delay quantity, wherein the step of detecting the time-out event includes detecting a duration of inactivity which is at least the usage delay quantity, and where selected at least one of 2B1-2B2: 2B1) wherein the usage delay quantity is user- selectable at the document browser; and
2B2) wherein the duration of inactivity includes a duration of communication inactivity between the document browser and the on-line server; 2C) further comprising the step of sending a message containing the pointer to the on-line server, and where selected, wherein the pointer is stored at the on-line server;
2D) further comprising the steps of: storing the machine-readable data in a cache; receiving a navigation command when the document browser is disconnected from the on-line server; and performing a navigation function corresponding to the navigation command using the machine-readable data stored in the cache;
2E) the steps of disconnecting and automatically reconnecting are substantially transparent to a user; and
2F) further comprising the step of transmitting a coded signal indicative of the time-out event from the document browser to the on-line server.
3. An article of manufacture for controlling a connection between a document browser and an on-line server, the article of manufacture comprising: a machine-readable storage medium; and machine-readable data stored on the machine- readable storage medium, the machine-readable data directing the document browser to receive second machine-readable data representative an on-line document from the on-line server and to display at least a portion of the on-line document, the machine-readable data directing that a pointer to a current location within the on-line document be stored and that the document browser be disconnected from the on-line server upon detecting a time-out event, the machine-readable data further directing the document browser to automatically reconnect to the on-line server to automatically return to the current location of the on- line document based on the pointer when further communication with the on-line server is required.
4. The article of manufacture of claim 3 wherein at least one of 4A-4F: 4A) the on-line document includes a world wide web page;
4B) the machine-readable data further directs a step of receiving a usage delay quantity, wherein the time-out event is detected by detecting a duration of inactivity which is at least the usage delay quantity, and where selected, at least one of 4B1-4B2 :
4B1) the usage delay quantity is user- selectable at the document browser;
4B2) the duration of inactivity includes a duration of communication inactivity between the document browser and the on-line server;
4C) the machine-readable data directs the document browser to send a message containing the pointer to the on-line server, and where selected, wherein the pointer is stored at the on-line server;
4D) the machine-readable data further directs the document browser to store the second machine-readable data in a cache, to receive a navigation command when the document browser is disconnected from the on-line server, and to perform a navigation function corresponding to the navigation command using the machine-readable data stored in the cache;
4E) the on-line server is disconnected and automatically reconnected in a manner substantially transparent to a user; and
4F) the on-line server transmits a coded signal indicative of the time-out event to the on-line server.
5. An apparatus for browsing an on-line document, the apparatus comprising: a communication interface which receives machine- readable data representative of the on-line document from an on-line server; a display device which displays at least a portion of the on-line document; and a processor in communication with the communication interface and the display device, the processor operative to detect a time-out event and to store a pointer to a current location within the on-line document at the time-out event, the processor further operative to disconnect a link to the on-line server upon detecting the time-out event; wherein the processor automatically reconnects to the on-line server and automatically returns to the current location of the on-line document based on the pointer when further communication with the on-line server is required.
6. The apparatus of claim 5 wherein at least one of 6A-6F:
6A) the on-line document includes a world wide web page;
6B) the processor receives a usage delay quantity, and wherein the time-out event is detected by detecting a duration of inactivity which is at least the usage delay quantity, and where selected, at least one of 6B1- 6B2:
6B1) the usage delay quantity is user- selectable; 6B2) the duration of inactivity includes a duration of communication inactivity between with the on-line server;
6C) the processor commands the communication interface to send a message containing the pointer to the on-line server, and where selected, wherein the pointer is stored at the on-line server;
6D) further comprising a cache which stores the machine-readable data received from the communication interface, wherein the processor receives a navigation command when disconnected from the on-line server and performs a navigation function corresponding to the navigation command using the machine-readable data stored in the cache;
6E) the on-line server is disconnected and automatically reconnected in a manner which is substantially transparent to a user; and
6F) the processor commands the communication interface to transmit a coded signal indicative of the time-out event to the on-line server.
7. In an on-line server, a method of communicating an image to a document browser, the method comprising the steps of: receiving an image clarity quantity from the document browser; receiving the image from a second server; and transmitting a reduced clarity version of the image to the document browser based upon the image clarity quantity.
8. The method of claim 7 wherein at least one of 8A-8B:
8A) the image is within a world wide web page; and 8B) the step of transmitting includes transmitting a predetermined number of interlaced patterns based on the image clarity quantity.
9. An article of manufacture for directing an online server to communicate an image to a document browser, the article of manufacture comprising: a machine-readable storage medium; and machine-readable data on the machine-readable storage medium, the machine readable data directing the on-line server in receiving an image clarity quantity from the document browser, receiving the image from a second server, and transmitting a reduced clarity version of the image to the document browser based upon the image clarity quantity.
10. The article of manufacture of claim 9 wherein at least one of 10A-10B:
10A) wherein the image is within a world wide web page ; and
10B) transmitting the reduced clarity version of the image includes transmitting a predetermined number of interlaced patterns based on the image clarity quantity.
PCT/US1997/013611 1996-08-05 1997-08-04 Book-like interface for browsing on-line documents and methods therefor WO1998006054A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US69235696 true 1996-08-05 1996-08-05
US08/692,356 1996-08-05

Publications (1)

Publication Number Publication Date
WO1998006054A1 true true WO1998006054A1 (en) 1998-02-12

Family

ID=24780245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/013611 WO1998006054A1 (en) 1996-08-05 1997-08-04 Book-like interface for browsing on-line documents and methods therefor

Country Status (1)

Country Link
WO (1) WO1998006054A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999062210A2 (en) * 1998-05-26 1999-12-02 Sun Microsystems, Inc. Secure token device access to services provided by an internet service provider (isp)
WO2000072166A2 (en) * 1999-05-24 2000-11-30 Borgward Glenn Rolus Data processing device
WO2001042899A1 (en) * 1999-12-07 2001-06-14 Microsoft Corporation System, method and user interface for active reading of electronic content
US6820111B1 (en) 1999-12-07 2004-11-16 Microsoft Corporation Computer user interface architecture that saves a user's non-linear navigation history and intelligently maintains that history
US6891551B2 (en) 2000-11-10 2005-05-10 Microsoft Corporation Selection handles in editing electronic documents
EP1580724A1 (en) * 2003-11-28 2005-09-28 Seiko Epson Corporation Display device
US7002558B2 (en) 2000-12-21 2006-02-21 Microsoft Corporation Mode hinting and switching
US7259753B2 (en) 2000-06-21 2007-08-21 Microsoft Corporation Classifying, anchoring, and transforming ink
US7941400B2 (en) 2007-12-10 2011-05-10 International Business Machines Corporation Systems, methods and computer program products for maintaining a state of a document in a document-centric model to maintain a task across systems with the document
USRE43318E1 (en) 1997-08-28 2012-04-17 Flatworld Interactives, Llc User interface for removing an object from a display
US8627197B2 (en) 1999-12-07 2014-01-07 Microsoft Corporation System and method for annotating an electronic document independently of its content
USRE45559E1 (en) 1997-10-28 2015-06-09 Apple Inc. Portable computers
US9360993B2 (en) 2002-03-19 2016-06-07 Facebook, Inc. Display navigation
US9424240B2 (en) 1999-12-07 2016-08-23 Microsoft Technology Licensing, Llc Annotations for electronic content
US9448712B2 (en) 2007-01-07 2016-09-20 Apple Inc. Application programming interfaces for scrolling operations
US9619132B2 (en) 2007-01-07 2017-04-11 Apple Inc. Device, method and graphical user interface for zooming in on a touch-screen display

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5659729A (en) * 1996-02-01 1997-08-19 Sun Microsystems, Inc. Method and system for implementing hypertext scroll attributes
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5659729A (en) * 1996-02-01 1997-08-19 Sun Microsystems, Inc. Method and system for implementing hypertext scroll attributes
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE43318E1 (en) 1997-08-28 2012-04-17 Flatworld Interactives, Llc User interface for removing an object from a display
USRE45559E1 (en) 1997-10-28 2015-06-09 Apple Inc. Portable computers
USRE46548E1 (en) 1997-10-28 2017-09-12 Apple Inc. Portable computers
US6385729B1 (en) 1998-05-26 2002-05-07 Sun Microsystems, Inc. Secure token device access to services provided by an internet service provider (ISP)
WO1999062210A3 (en) * 1998-05-26 2000-04-20 Sun Microsystems Inc Secure token device access to services provided by an internet service provider (isp)
WO1999062210A2 (en) * 1998-05-26 1999-12-02 Sun Microsystems, Inc. Secure token device access to services provided by an internet service provider (isp)
WO2000072166A2 (en) * 1999-05-24 2000-11-30 Borgward Glenn Rolus Data processing device
WO2000072166A3 (en) * 1999-05-24 2002-01-24 Borgward Glenn Rolus Data processing device
EP2288112A1 (en) * 1999-05-24 2011-02-23 Rolus Borgward Glenn Access card and system for online and offline usage of multimedia
EP2375691A1 (en) * 1999-05-24 2011-10-12 Rolus Borgward Glenn Access card and system for online and offline usage of multimedia
EP2296346A1 (en) * 1999-05-24 2011-03-16 Glenn Rolus Borgward Mobile device and method for simplified electronic ordering of goods and services using stored catalog data
EP2293522A1 (en) * 1999-05-24 2011-03-09 Borgward Glenn Rolus Mobile device with data retrieval element for ordering multimedia content
EP2296345A1 (en) * 1999-05-24 2011-03-16 Glenn Rolus Borgward Data processing system with credit card used for consumation oriented payment for multimedia content
US6714214B1 (en) 1999-12-07 2004-03-30 Microsoft Corporation System method and user interface for active reading of electronic content
US8627197B2 (en) 1999-12-07 2014-01-07 Microsoft Corporation System and method for annotating an electronic document independently of its content
US9424240B2 (en) 1999-12-07 2016-08-23 Microsoft Technology Licensing, Llc Annotations for electronic content
WO2001042899A1 (en) * 1999-12-07 2001-06-14 Microsoft Corporation System, method and user interface for active reading of electronic content
US6820111B1 (en) 1999-12-07 2004-11-16 Microsoft Corporation Computer user interface architecture that saves a user's non-linear navigation history and intelligently maintains that history
US7259753B2 (en) 2000-06-21 2007-08-21 Microsoft Corporation Classifying, anchoring, and transforming ink
US6891551B2 (en) 2000-11-10 2005-05-10 Microsoft Corporation Selection handles in editing electronic documents
US7002558B2 (en) 2000-12-21 2006-02-21 Microsoft Corporation Mode hinting and switching
US9626073B2 (en) 2002-03-19 2017-04-18 Facebook, Inc. Display navigation
US9360993B2 (en) 2002-03-19 2016-06-07 Facebook, Inc. Display navigation
US9851864B2 (en) 2002-03-19 2017-12-26 Facebook, Inc. Constraining display in display navigation
US9753606B2 (en) 2002-03-19 2017-09-05 Facebook, Inc. Animated display navigation
US9678621B2 (en) 2002-03-19 2017-06-13 Facebook, Inc. Constraining display motion in display navigation
US9886163B2 (en) 2002-03-19 2018-02-06 Facebook, Inc. Constrained display navigation
EP1580724A1 (en) * 2003-11-28 2005-09-28 Seiko Epson Corporation Display device
EP1580724A4 (en) * 2003-11-28 2008-03-19 Seiko Epson Corp Display device
US9619132B2 (en) 2007-01-07 2017-04-11 Apple Inc. Device, method and graphical user interface for zooming in on a touch-screen display
US9448712B2 (en) 2007-01-07 2016-09-20 Apple Inc. Application programming interfaces for scrolling operations
US9760272B2 (en) 2007-01-07 2017-09-12 Apple Inc. Application programming interfaces for scrolling operations
US7941400B2 (en) 2007-12-10 2011-05-10 International Business Machines Corporation Systems, methods and computer program products for maintaining a state of a document in a document-centric model to maintain a task across systems with the document

Similar Documents

Publication Publication Date Title
US7865817B2 (en) Invariant referencing in digital works
US6697838B1 (en) Method and system for annotating information resources in connection with browsing, in both connected and disconnected states
US6268851B1 (en) Hypermedia authoring and publishing system
US6098085A (en) Word-serial reader for network devices having limited display capabilities
US6021218A (en) System and method for organizing recognized and unrecognized objects on a computer display
US5347477A (en) Pen-based form computer
US6836768B1 (en) Method and apparatus for improved information representation
US6226655B1 (en) Method and apparatus for retrieving data from a network using linked location identifiers
US6924828B1 (en) Method and apparatus for improved information representation
US4949300A (en) Sharing word-processing functions among multiple processors
Schilit et al. The reading appliance revolution
US6229502B1 (en) Electronic book
US5461710A (en) Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface
US5978833A (en) Method and apparatus for accessing and downloading information from the internet
US5764818A (en) Method for locating and displaying information in a pointer-based computer system
US6993707B2 (en) Document placemarker
US6154214A (en) Display orientation features for hand-held content display device
US20020138476A1 (en) Document managing apparatus
US5732221A (en) Electronic documentation system for generating written reports
Wright et al. Text entry on handheld computers by older users
Wagner et al. Pursuing the birth machine
US7086008B2 (en) Multiple personas for mobile devices
US20120311438A1 (en) Electronic text manipulation and display
US6331867B1 (en) Electronic book with automated look-up of terms of within reference titles
US5233333A (en) Portable hand held reading unit with reading aid feature

Legal Events

Date Code Title Description
AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW AM AZ BY KG KZ MD RU TJ TM

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase in:

Ref country code: JP

Ref document number: 98508111

Format of ref document f/p: F

NENP Non-entry into the national phase in:

Ref country code: CA

122 Ep: pct application non-entry in european phase