Patent Publication Number: US-8118224-B2

Title: Handheld electronic book reader with annotation and usage tracking capabilities

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The application is a continuation of U.S. patent application Ser. No. 11/465,658 filed on Aug. 18, 2006, by Eric Lawrence Barsness et al., now issued as U.S. Pat. No. 7,350,704, which is a divisional of U.S. patent application Ser. No. 09/951,363, filed Sep. 13, 2001, by Eric Lawrence Barsness et al., now issued as U.S. Pat. No. 7,103,848, which applications are incorporated by reference herein in their entirety. 
    
    
     FIELD OF THE INVENTION 
     The invention is generally related to computers and computer software, and in particular to handheld electronic book readers. 
     BACKGROUND OF THE INVENTION 
     Computer technology has had an important impact on the dissemination of knowledge, e.g., for entertainment, education and informational purposes. For example, classrooms increasingly are outfitted with computers and Internet connections to facilitate the learning process for students of all ages. Moreover, computer-assisted learning techniques have been developed to facilitate student comprehension of educational subject matter. 
     In addition, computer technology advances, in particular related to reducing the size and increasing the complexity of electronics, have permitted computers to be packaged into smaller and more powerful devices. Due to such advances, many handheld devices such as Personal Digital Assistants (PDA&#39;s) and the like now have memory capacities and performance comparable to the full size computers of only a few years ago. Among other uses, PDA&#39;s and the like can be used by students to store notes, documents, reference materials, class schedules, etc. 
     Another type of handheld device that has been developed is a dedicated handheld electronic book reader, which attempts to mimic the experience of reading a paper book through the display of electronic information on one or more electronic displays. Electronic documents, often referred to as electronic books, are stored in the readers and displayed one or two pages at a time. Then through selection of next and previous page buttons, a user is able to flip forward and backward through a book in much the same manner as with a paper book. 
     Some electronic book readers also support additional value-added features, such as permitting a user to underline or highlight text, scribble handwritten notes in the margins and look up definitions of particular words or terms in a dictionary. In addition, some readers are able to calculate reading pace and elapsed time, and provide information such as the time remaining to complete a book based upon the calculated reading pace of a user. 
     To date, however, handheld electronic book readers and other handheld devices have been mostly utilized for general entertainment or informational purposes, as the devices have not yet achieved a level of pervasiveness suitable for utilization in a classroom or educational context. However, one can envision a day when all students might carry handheld devices upon which are stored their textbooks and other educational materials, particularly given the likely advances in memory capacities and processing performance of handheld devices. 
     The promise of using handheld devices such as electronic book readers in educational environments, however, demands a rethinking of many basic educational processes. In other areas, computer technology has enabled increased collaboration and information sharing between students, as well as between an instructor and students. However, to date, handheld devices have been predominantly used as stand-alone devices, and have typically been connected to other computers and devices only when it is desired to download new content. Given, however, the additional capabilities of handheld devices, such as the ability to annotate an electronic book via highlighting and note taking, it is believed that a unique opportunity is presented for increased collaboration between the users of handheld devices. Moreover, it is believed that the ability to monitor the usage of a handheld device may present an instructor with the opportunity to obtain valuable feedback regarding students and their usage of particular electronic books. 
     Therefore, a significant need has developed for improved collaboration and information sharing tools for use in connection with handheld devices, and in particular, handheld electronic book readers and the like used in educational or classroom environments. 
     SUMMARY OF THE INVENTION 
     The invention addresses these and other problems associated with the prior art by providing a handheld electronic book reader, program product, and method incorporating enhanced annotation and/or usage tracking capabilities. While other applications are envisioned, from the standpoint of an educational and/or classroom-type setting, the annotation and usage tracking capabilities described hereinafter provide significant benefits in terms of improving the educational process for both students and instructors alike. 
     Consistent with one aspect of the invention, annotation of an electronic document via a handheld electronic book reader is enhanced through associating a user-selected portion of an electronic document with a particular defined term in that document to create a “context” for that defined term. As such, a user is able to select contextual examples of the usage of a particular defined term, and store such examples for later retrieval. 
     Consistent with another aspect of the invention, collaborative annotation functionality is provided, whereby annotation data such as contexts, comments and highlighting for a particular electronic document is associated with various users and displayed in connection with the display of such a document so as to indicate that different annotation data has been originated by different users. Consequently, multiple users are able to collaborate in the annotation of a common electronic document. 
     Consistent with yet another aspect of the invention, page-based usage statistics may be generated for an electronic document viewed in a handheld electronic book reader. Furthermore, usage statistics may be generated in association with particular term definitions stored in a handheld electronic book reader. Through usage tracking of these particular items, and at this particular level of granularity, more comprehensive and valuable usage statistics may be obtained. 
     Consistent with an additional aspect of the invention, collaborative usage tracking is provided, whereby usage statistics for multiple users interacting with a particular electronic document on multiple handheld electronic book readers are generated and received into an analysis computer. Moreover, consistent with another aspect of the invention, usage statistics from one or more users may be utilized in performing one or more of revising an electronic document, revising a lesson plan with which an electronic document is associated, determining whether a user has read a selected portion of an electronic document, and determining whether a user needs supplemental assistance. 
     These and other advantages and features, which characterize the invention, are set forth in the claims annexed hereto and forming a further part hereof. However, for a better understanding of the invention, and of the advantages and objectives attained through its use, reference should be made to the Drawings, and to the accompanying descriptive matter, in which there is described exemplary embodiments of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a top plan view of a handheld electronic book reader incorporating annotation and usage tracking capabilities consistent with the invention. 
         FIG. 2  is a block diagram of an exemplary hardware and software implementation of an electronic content collaboration system incorporating the handheld electronic book reader of  FIG. 1 . 
         FIG. 3  illustrates annotation data and statistic data structures utilized in the handheld electronic book reader of  FIG. 1 . 
         FIG. 4  illustrates the program flow of a main routine executed by the handheld electronic book reader of  FIG. 1 . 
         FIG. 5  illustrates the program flow of the create annotation file routine referenced in  FIG. 4 . 
         FIG. 6  illustrates the program flow of the capture thread routine referenced in  FIG. 4 . 
         FIG. 7  illustrates an exemplary process for utilizing usage statistics in connection with electronic content in a manner consistent with the invention. 
     
    
    
     DETAILED DESCRIPTION 
     The embodiments described hereinafter focus on improving the functionality and utility of electronic documents, in particular to enhancing the collaborative and annotative capabilities of electronic book readers and like handheld devices, as well as utilizing usage tracking concepts to provide useful feedback on reader usage of electronic documents, e.g., to improve such documents or lesson plans associated with such documents, to monitor student activity, to identify students needing supplemental assistance, etc. 
     An electronic document may be considered to incorporate practically any content provided in electronic form, be it educational, historical, informational, fictional, non-fictional, technical, entertainment-related, etc. Moreover, an electronic document need not constitute an entire literary work such as a textbook or novel, but may constitute only a portion of a particular literary work or book, as well as a collection of works or books. An electronic document may be specifically formatted for use in connection with a particular hardware platform, or may be platform independent. Thus, the invention is not limited to any particular electronic document implementation discussed herein. 
     Turning now to the Drawings, wherein like numbers denote like parts throughout the several views,  FIG. 1  illustrates a handheld electronic book reader  10  consistent with the invention. Reader  10  may be implemented using a dedicated reader that is only suitable for use in displaying electronic books or documents, or may be implemented using other handheld electronic devices that are capable of displaying text and/or images from an electronic document, e.g., personal digital assistants (PDA&#39;s), pagers, tablet computers, etc. Generally, a reader  10  includes a housing  12  within which is mounted a touchscreen display  14  and one or more hard buttons, e.g., a power button  15 , a menu button  16 , and page forward and page back buttons  17 ,  18 . Color or black and white displays may be used for display  14 , and all, part or none of the display may be configured as a touch screen. Moreover, different combinations of buttons may also be provided in the alternative. Thus, the configuration illustrated in  FIG. 1  is merely exemplary in nature. 
       FIG. 1  also illustrates an exemplary electronic book  20  displayed on display  14 . In connection with the display of an electronic book (or other electronic document), additional user controls, inputs and user-added display elements may also be displayed. For example, portions of the electronic book, including text and/or images, can be highlighted, e.g., as represented by underlined portion  22 . Likewise, user-created comments may be displayed, e.g., as represented by comment  24 . Furthermore, words or terms that are capable of being selected for the purpose of viewing a definition may be highlighted, e.g., as shown at  26 . Moreover, as will become more apparent below, user-created contexts, or contextual references to be associated with a particular term definitions, may also be highlighted, e.g., as shown at  28 . 
     It will be appreciated that a wide variety of highlighting mechanisms may be used to highlight portions of an electronic book, including the use of underlining, unique font faces, font sizes, font attributes, italics, bolding, capitalization, colors, patterns, grayscales, icons, outlines, etc. Moreover, different formats for user-created comments, e.g., bitmapped images, vector graphics, text strings, etc., may be used. 
     Turning now to  FIG. 2 , an exemplary hardware and software environment for an electronic content collaboration system is illustrated. Specifically, an apparatus  30  suitable for implementing the electronic book functionality described herein is illustrated in the figure. For certain aspects of the invention, which will become more apparent below, apparatus  30  may represent practically any type of computer, computer system or other programmable electronic device, including a handheld electronic book reader, as well as a client computer, a server computer, a portable computer, a handheld computer, an embedded controller, etc. Moreover, in some implementations apparatus  30  may be implemented using one or more networked computers, e.g., in a cluster or other distributed computing system. However, for the purposes of the specific embodiments discussed hereinafter, apparatus  30  will be considered to be implemented as a dedicated handheld electronic book reader, e.g., similar to reader  10  described above in connection with  FIG. 1 . 
     Reader  30  typically includes at least one processor  31  coupled to a memory  32 . Processor  31  may represent one or more processors (e.g., microprocessors), and memory  32  may represent the random access memory (RAM) devices comprising the main storage of reader  30 , as well as any supplemental levels of memory, e.g., cache memories, non-volatile or backup memories (e.g., programmable or flash memories), read-only memories, etc. In addition, memory  32  may be considered to include memory storage physically located elsewhere in reader  30 , e.g., any cache memory in a processor  31 , as well as any storage capacity used as a virtual memory, e.g., as stored on any mass storage device or on another computer coupled to reader  30  via an external interface  36 . 
     Reader  30  also typically receives a number of inputs and outputs for communicating information externally. For interface with a user or operator, reader  30  typically includes one or more user hard buttons  33  and a touch screen  34 , which receives input as well as displays information to a user. User input may also be received via another computer interfaced with reader  30  over external interface  36 . 
     For additional storage, reader  30  may also include one or more mass storage devices, e.g., a floppy or other removable disk drive, a hard disk drive, a direct access storage device (DASD), an optical drive (e.g., a CD drive, a DVD drive, etc.), and/or a tape drive, among others, as well as external memory such as flash memory, memory cartridges or cards, and the like. Furthermore, computer  36  may include an external interface, e.g., serial or parallel interconnects, USB interconnects, IEEE-1394 interconnects, telephone interconnects, Ethernet interconnects, wireless interconnects, etc., to permit the communication of information with other computers coupled to the reader. It should also be appreciated that reader  30  typically includes suitable analog and/or digital interfaces between processor  31  and each of components  32 ,  33 ,  34 , and  36  as is well known in the art. 
     Reader  30  operates under the control of an operating system  38 , and executes or otherwise relies upon various computer software applications, components, programs, objects, modules, data structures, etc. (e.g., content  40 , annotation data  42  and statistics  44 , among others). Moreover, various applications, components, programs, objects, modules, etc. may also execute on one or more processors in another computer coupled to reader  30  via a external interface  36 . In general, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions, or even a subset thereof, will be referred to herein as “computer program code,” or simply “program code.” Program code typically comprises one or more instructions that are resident at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause that computer to perform the steps necessary to execute steps or elements embodying the various aspects of the invention. Moreover, while the invention has and hereinafter will be described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments of the invention are capable of being distributed as a program product in a variety of forms, and that the invention applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution. Examples of signal bearing media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, magnetic tape, optical disks (e.g., CD-ROM&#39;s, DVD&#39;s, etc.), among others, and transmission type media such as digital and analog communication links. 
     In addition, various program code described hereinafter may be identified based upon the application within which it is implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature. Furthermore, given the typically endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, API&#39;s, applications, applets, etc.), it should be appreciated that the invention is not limited to the specific organization and allocation of program functionality described herein. 
     To perform many of the hereinafter-described collaborative functions, reader  30  is typically capable of being interfaced with a number of external devices via interface  36 . For example, to receive electronic books and other electronic content, as well as additional annotation data and the like, reader  36  may be coupled to a content server  50 , e.g., via a private and/or public network. Moreover, reader  30  may interface with other electronic book readers, either directly (e.g., as for reader  52 ), or via intermediate electronics (e.g., as for reader  54 ). 
     Moreover, as will be discussed in greater detail below, additional computers, e.g., analysis computer  56  coupled to content server  50 , may also be utilized in performing a number of the collaborative functions described herein. It should further be appreciated that the functionality allocated to any of components  50 - 56  may be combined into common hardware, or partitioned among additional hardware devices. 
     Those skilled in the art will recognize that the exemplary environments illustrated in  FIGS. 1 and 2  are not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware and/or software environments may be used without departing from the scope of the invention. 
     The aforementioned environments may be utilized to implement a number of collaborative tools to enhance the utility of a handheld electronic book reader consistent with the invention. For example, annotation capabilities may be enhanced for an electronic book reader by permitting user-created contents to be associated with term definitions stored in an electronic dictionary. In this instance, a context refers to a passage from an electronic book or other electronic document that shows how a particular term is used in practice. A context may therefore include text surrounding a particular usage of a term, such that the context provides a user with an example of how a particular term is used. A created context may be associated with a particular electronic document, or in the alternative, may be associated with a particular user or system dictionary which may be maintained separately from an electronic document. As will become more apparent below, a context is typically created by selecting a portion of a displayed electronic document, and then directing a handheld device to store the selected portion as a context. In addition, view capability is also supported whereby one or more stored contexts, either user or system created, are displayed either collectively or selectively in connection with a particular term definition. 
     In addition, a context may be stored as a component of an annotation file, which functions much like a “Cliff Notes” for an electronic document. Additional annotation data, such as highlighting data and/or comment data, may also be incorporated into an annotation file along with one or more contexts. 
     An annotation file may be separately or jointly exportable along with an electronic document, such that the annotation data stored therein may be available for import into the same or a different reader. By providing the capability to export annotation data in the manner described herein, multiple users may be permitted to share the annotation data. Furthermore, it may be desirable in some implementations to associate specific annotation data with specific users, and allow a user to select among the annotation data generated by different users, or to display annotation data associated with multiple users at the same time, with some form of visual indication utilized to distinguish between the annotation data associated with different users. Alternate display representations may be utilized to distinguish the annotation data for particular users, including, for example, different colors, pattern, icons, font attributes, underlining, italics, etc. 
     The hereinafter described embodiments also enhance the collaborative capabilities of a handheld device by supporting usage tracking to monitor the usage of a handheld electronic book reader by a user. Through such usage tracking, page-based statistics may be generated, with such statistics associated with particular pages in an electronic document. Information such as the time during which a user views a page, the number of times a user reviews a page (i.e., views the page subsequent to a first time the user views the page), the total time spent reviewing a page, and/or the number of times a user powers off a device or closes a book while viewing a page, may be monitored. 
     Moreover, additional usage statistics such as definition-based usage statistics associated with term definitions may also be generated. In such instances, the number of times and amount of time spent viewing definitions of particular terms may be monitored. Moreover, when contexts are supported, the amount of time and number of contexts being viewed by a user may also be monitored in the manner described herein. 
     By tracking the aforementioned usage statistics, a number of useful applications can be envisioned. For example, usage statistics associated with multiple users may be tracked and collected by an analysis computer to compile the results. As will be appreciated by one of ordinary skill in the art having the benefit of the instant disclosure, an analysis computer may perform nothing more than collecting the statistics from one or more handheld devices, or may perform additional processing of the data to generate collective statistics or perform other, more detailed statistical analysis. Comparative performance for multiple users can then be analyzed if desired. 
     As another example, usage statistics may be utilized to determine whether and how to revise an electronic document. For example, if it is determined that a particular page or section of an electronic document takes too long to read, requires excessive review, and/or results in a user turning off the device, it may be determined that that page or section is too difficult, and needs to be simplified. As a result, an author of an electronic document might utilize usage tracking as described herein to facilitate authoring of an electronic document with the feedback of one or more users used to improve the content of the electronic document, much as “beta testers” are used in the software industry. 
     Usage statistics may also be utilized to assist an instructor in determining whether to revise a lesson plan. As an example, if it is determined that particular reading assignments take an inordinate amount of time, an instructor may revise a lesson plan to change the number of pages in a particular assignment. 
     Usage statistics may also be utilized in compliance measures to ensure that students are reading assigned material. For example, page statistics may be monitored to verify that a user has viewed each page in an assignment over a threshold period of time that verifies the user actually read the page. Even if the usage statistics are not constantly reviewed by an instructor, the fact that users or students recognize that their activities may be monitored may encourage better compliance with reading assignments. 
     Usage statistics may also be utilized to determine whether specific users such as students require supplemental assistance, e.g., if a particular user takes substantially longer to read a particular assignment than the other students in a class. Thus, an instructor may be able to identify students that are having problems with a particular subject matter and provide supplemental assistance such as additional tutoring to those users. 
     Other end uses for the usage statistics generated as described herein will be appreciated by one of ordinary skill in the art having the benefit of the instant disclosure. 
     While the embodiments discussed hereinafter incorporate both annotation and usage tracking capabilities, it will be appreciated that the various functions described herein may be implemented separately and/or independently in different implementations. Therefore, the invention is not limited to the specific combination of functions and capabilities discussed herein. Moreover, the embodiments discussed hereinafter will focus on an implementation in a classroom setting; however, it will be appreciated that the herein-described techniques may apply to a number of different applications of electronic book readers and the like. Furthermore, and in particular with regard to the usage tracking capabilities described herein, a number of the herein-described techniques may be utilized in environments other than in connection with handheld electronic book readers or other handheld devices, e.g., in desktop computers and the like. 
     Again referring to  FIG. 2 , a handheld electronic book reader consistent with the invention incorporates one or more electronic documents, as represented generally by content  40 . In addition, to perform the aforementioned annotation capabilities, annotation data  42  is also stored in the reader. Furthermore, for the purposes of usage tracking, statistics  44  are also stored in the reader. Manipulation of this data is typically performed by operating system  38  in the context of a dedicated reader. In other environments, particularly with PDA&#39;s and the like, one or more applications may reside on top of the operating system to implement the herein-described functionality. 
       FIG. 3  illustrates one implementation of the data structures defined within the annotation data  42  and statistics  44  of  FIG. 2 . Among the annotation data, a number of term definition records  60  may be provided, each of which including a defined term field  62  and a definition field  64  that respectively store a term and a definition may be displayed in response to a user request to display the definition for a term. In addition, a context list, pointed to by a pointer stored in field  66  may also be provided to store one or more contexts associated with a particular defined term. The context list may be represented by one or more context records  69 , each including either a copy of a section of text or other information functioning as a context for a defined term, or a pointer to the actual content in an electronic document. 
     Annotation data  42  may also include highlight data, e.g., as represented by a plurality of highlight records  68  that define where in an electronic document highlighting should be applied. Furthermore, one or more comments may be defined by a plurality of comment records  70 . The highlighting may be generated by a user, for example, by selecting sections of an electronic document and applying highlighting thereto, in a manner known in the art. Furthermore, comments may be represented by handwritten notes applied by a user, or by information obtained by other means such as through interaction with an actual keyboard or a simulated keyboard displayed on a touchscreen, as is also known in the art. In this regard, comment records may be represented by text strings, or by other types of information, such as a bit map or vector graphic image representative of the handwritten notes made by a user. 
     In certain embodiments of the invention, annotation data from multiple users may be compiled into an annotation file to permit collaborative annotation by multiple users. To this extent, it may be desirable to associate, with each context, highlight and comment record, an identifier for the owner or user that created such record. Accordingly, each context record, highlight record and comment record  69 ,  68  and  70  may include a respective owner field  69 A,  68 A, and  70 A to indicate the creator of that particular record. 
     As described above, statistics  44  may include both page-based statistics and definition-based statistics, as well as other statistics for which it may be desirable to track in monitoring the usage by a user. For example, one or more page records  72  may be defined to store a plurality of page-based statistics. For each record  72 , a page identifier field  74  may be provided, as well as an optional chapter identifier field  76  that identifies where in the electronic document the page is located. Other identification information that partitions a page into a particular section or other subset of a document may be used in the alternative. 
     Each page record  72  also includes a page time field  78  that stores the total amount of time a user spends viewing a page. An off count field  80  stores the number of times a user turns off or powers off a reader while viewing the page, and/or the number of times the user otherwise closes the electronic book while viewing the page. A review count field  82  stores the number of times, subsequent to the first time, that a user views a particular page, and a review time field  84  stores the amount of time a user spends reviewing a page. 
     As far as definition-based statistics, such statistics may be stored in definition statistic records  86 , each including a term field  88  identifying a defined term, as well as a lookup count field  90 , a context count field  92  and a help time field  94 . Field  90  stores the number of times a definition for a defined term is accessed, while field  92  stores the number of contexts that are viewed in association with the definition. Field  94  stores the total amount of time a user spends viewing a definition and/or one or more contexts associated therewith. 
     It will be appreciated that additional usage statistics may be stored as part of statistics  44 . Moreover, any number of data structure implementations may be utilized to store the information illustrated in  FIG. 3 , e.g., tables, linked lists, etc. 
       FIG. 4  next illustrates a main routine  100  executed by a handheld electronic book reader consistent with the invention. Routine  100  is illustrated as an event-driven routine, although it will be appreciated that other programming models, e.g., procedural or object-oriented models, may be used in the alternative. 
     Routine  100  begins in block  102  by performing various initialization operations, including starting a capture thread that is utilized in connection with a portion of the usage tracking functionality described herein. Also, at this time, an electronic book may be loaded into the memory and/or displayed on the reader. Next, block  104  initiates an event-driven loop. A number of events relevant to the herein-described functions are detected and handled in blocks  106 ,  108 ,  110 ,  112  and  114 . Other events, which are not relevant to the functionality described herein, are handled in block  116  in a conventional manner, after which control returns to block  104  to wait for additional events. 
     As mentioned above, a number of events associated with annotation and usage tracking are detected in blocks  106 - 114 . One such event, a get definition event, is detected in block  106 , and handled by passing control to block  118  to start a timer that is used to monitor the amount of time a user spends viewing a particular definition. A get definition event may be initiated, for example, in response to a user selecting a particular defined term. 
     Once the timer is started in block  118 , control passes to block  120  to display the relevant definition, including one or more contexts (if provided). The definition is taken from the definition record  60  for that term ( FIG. 3 ). Block  120  also logs any accesses to one or more contexts associated with a definition to maintain the context count field  92  within the definition statistic record  86  for a particular defined term ( FIG. 3 ). It will be appreciated that all the contexts associated with a particular term may be displayed together, or in the alternative, user input may be received to scroll or toggle through multiple contexts. 
     Once a user is finished viewing a definition, block  120  passes control to block  122  to end the timer that was started in block  118 . The elapsed time is then used in block  124  to log the help time for the definition, typically by adding the view time calculated by the timer of blocks  118  and  122  to any previous elapsed time stored in help time field  94  ( FIG. 3 ). In addition, the lookup count for the definition is also logged in block  124  by incrementing the value stored in lookup count field  90  ( FIG. 3 ). Control then returns to block  104  to wait for additional events. 
     Another event, which is detected in block  108 , is an add context event. Typically, this event is generated in response to a user selecting text or other information in an electronic document, and selecting a create context operation, e.g., via a pop-up or pull-down menu displayed on the reader when the text is selected. Material to be incorporated into a context may include text data, image data, animation data, video data, audio data, etc. Moreover, selection may incorporate practically any known manner for selecting information via a user interface, including various combinations of user gestures input via a touchscreen, a keyboard, a hard button, and combinations thereof. 
     In response to such event, block  108  passes control to block  126  to extract the relevant text or other information selected by a user. Then, a context record  69  ( FIG. 3 ) is added to the context list for the relevant definition in block  128 . In addition, it should be appreciated that a user will typically need to select a particular term with which to associate the context. Any number of user selection operations, e.g., selecting from a list, and/or analyzing the selected text to identify one or more terms that are associated with definitions, may be used to determine with which term a particular context should be associated. 
     Another event that may be detected in routine  100  is a create annotation file event, which is detected in block  110  and handled by calling a create annotation file routine  130 . A create annotation file event may be generated, for example, in response to user selection from a menu when it is desired to compile the annotation data into an annotation file, typically for export. Therefore, as shown in block  132 , it may be desirable to optionally export the annotation file to a location external to a reader. In the alternative, creating an annotation file and exporting the annotation file may be handled in separate events. 
     It will also be appreciated that creating an annotation file may generate any number of data structures or formats that are readable by an external device for the purposes of properly decoding the annotation data stored in the file. Also, a user identifier may be associated with annotation data in the file for combining the data with that of other users. 
     Another event that may be detected by routine  100  is a capture statistics event, which is detected in block  112  and handled by passing control to block  134  to capture the usage statistics, and optionally export those statistics to another device as shown in block  136 . Capturing the statistics may be initiated by a user-selected menu option, or in other manners known in the art for receiving user input. By capturing the statistics, the current information stored in the statistics  44  of  FIG. 3  may be reformatted, if necessary, into a suitable format for export. In other embodiments, the statistics may not be exported, but may be viewed and processed while still stored on the handheld device. As a result, the capture statistics event may also be utilized to generate a display of the usage statistics on the handheld device. 
     Yet another event handled by routine  100  is an import annotation file event, which is detected in block  114  and handled by passing control to block  138  to optionally reset the annotation data stored in the handheld device, and then to block  140  to import a selected annotation file. Subsequent to importing the annotation file, the display may be updated at block  142 , e.g., to implement the new highlighting and add any comments supplied in the imported annotation data. 
     In some implementations, resetting of the annotation data may not be required, particularly if annotation data associated with multiple users is to be stored and displayed in association with the same electronic document in the same handheld device. It should be appreciated that annotation files may be imported sequentially or may be collected and imported collectively into a handheld device. Moreover, it should be appreciated that an import annotation file event may be generated in a number of manners, including selecting from among a plurality of available annotation files, or inputting a specific file name. In other embodiments, importing of an annotation file may be initiated externally from the handheld device, and without receiving input from a user via the reader. Other modifications will be apparent to one of ordinary skill in the art. 
     It should also be appreciated that additional events may also be detected and handled in routine  100  consistent with the invention. Thus, the list of events discussed in connection with  FIG. 4  is not exclusive. 
       FIG. 5  illustrates create annotation file routine  130  in greater detail. Routine  130  begins in block  150  by initializing an annotation file, e.g, to generate a desired file format with no initial annotation data stored therein. Next, block  152  initiates a loop to process each page in a book or other electronic document. 
     For each such page, control passes to block  154  to determine whether any text or portion of a document is highlighted on that page, e.g., by searching through the highlight data in annotation data  42  of  FIG. 3 . If so, control passes to block  156  to add one or more highlight records to the annotation file. In addition, in some implementations it may be desirable to incorporate contextual information such as surrounding text or other information, along with the highlighted information. Also, rather than storing the actual text, a pointer to the appropriate text may be used. 
     If no highlighted text is present on a page, or after completion of block  156 , control next passes to block  158  to determine whether any comments are associated with a particular page. If so, control passes to block  160  to add comment record(s) to the annotation file. In addition, any contextual information may optionally be incorporated into the comment record. Then, upon completion of block  160 , or if no comments are present on the current page, control passes to block  162  to determine whether any user-created contexts are associated with the page. If so, block  162  passes control to block  164  to add context record(s) to the annotation. Control then returns to block  152  to process additional pages in the book. Also, if no user contexts are associated with a particular page, block  162  passes control directly to block  152 . 
     Upon processing of each page in the electronic document, block  152  passes control to block  166  to save the annotation file. Routine  130  is then complete. 
     It should be appreciated that other implementations may create an annotation file in other manners. For example, user-created contexts may not be associated with specific pages, and may be processed outside of the loop initiated by block  152 . In addition, in some implementations creation of an annotation file may consist of nothing more than copying the annotation data  42  without any reformatting. Other modifications will be apparent to one of ordinary skill in the art. 
       FIG. 6  next illustrates a capture thread  168  that is initialized as described above in connection with block  102  of  FIG. 4 . The capture thread is utilized to monitor various usage-related events to track user navigation through an electronic document. The result is the generation of one or more page-based usage statistics reflective of how a user navigates through an electronic document. 
     Thread  168  begins in block  170  by starting a timer for the current page being viewed in the electronic document. Then, in block  172 , the thread waits for user input that may be relevant for generating page-based usage statistics. Block  174  detects user input associated with a page completion, while block  176  detects user input related to either a reader being turned off or an electronic document or book being closed by the user, both of which reflect that the user is no longer viewing an electronic document. Additional user input, which is not relevant to page-based usage tracking, is handled, if necessary, in block  178 . Control then returns to block  172  to wait for other input. 
     A page completion, as detected by block  174 , will be initiated in response to a number of types of user input. For example, if a user selects a next or previous page, or attempts to directly access another page, a page completion may be detected. Other instances where a user is no longer viewing a current page subsequent to the input may also trigger a page completion detection consistent with the invention. 
     Whenever completion of a page is detected, block  174  passes control to block  182  to end the timer, and then to block  184  to log the page view time, typically by adding the elapsed time calculated by the timer to any amount stored in the page time field  78  for the statistic record  72  for the current page ( FIG. 3 ). In addition, a viewing of the page is logged by incrementing the value stored in the view count field  82  for the record  72  for that page ( FIG. 3 ). 
     Next, block  186  determines whether the page is being reviewed, e.g., by detecting a value in the view count field greater than one. If it is determined that this is the first viewing of the page, control returns to block  170  to start the timer for another page (as, presumably, other program code handles the user input that indicates page completion, and thus initiates the display of a new page). Otherwise, control passes to block  188  to log the review time for the page, e.g., by adding the elapsed time calculated by the timer to the value stored in the review time field  84  for the record  72  for the page ( FIG. 3 ). Control then returns to block  170  to start the timer for a new page. 
     Detection of the reader being turned off or the book being closed is handled in block  176  by passing control to block  190  to end the timer started above in block  170 . Other input that results in a user no longer viewing a particular electronic document may also be used to trigger block  176 . 
     Once the timer is stopped, control passes to block  192  to log both the page view time and count for the current page. In addition, block  194  is called to log the power off by incrementing the value stored in the off count field  80  for the record  72  for the current page. Thread  168  then terminates, or optionally returns to block  170 , e.g., if another book is opened. 
     It will be appreciated that page-based usage statistics may be collected in other manners, and that other organizational constructs of a document may be used to delimit usage statistics consistent with the invention. In still other embodiments, other organizational constructs may be monitored by collecting usage statistics from multiple pages in a particular organizational breakpoint. For example, chapters or sections may be tracked by collecting the usage statistics for the pages within such chapters or sections. Other modifications will be apparent to one of ordinary skill in the art. 
     As discussed above, upon collection of usage statistics in the manner described herein, the statistics may be utilized in a number of environments for beneficial purposes.  FIG. 7 , for example, illustrates a number of such purposes via a flowchart  200 . These purposes are focused herein on an educational or classroom-type setting, although it should be appreciated that the invention is not limited to this particular setting. 
     As shown in block  202 , for example, an instructor may create or select content for reading by one or more students or users. Then, as shown in block  204 , the content may be distributed to the users, such that the content is loaded into the handheld devices for such users. Next, block  206  obtains usage statistics from those users after those users have presumably viewed the content. 
     Next, in block  208 , the usage statistics are analyzed by an instructor or another person working in connection with the instructor. Then, as shown in block  210 , the instructor or other person acts on the analyzed usage statistics in a number of ways, discussed below. 
     For example, where the content is being created by an instructor, or any other author for that matter, the usage statistics may be utilized in revising the content, e.g., to simplify certain passages, make certain passages more understandable, etc., as shown in block  212 . Once the content is revised, the content may optionally be redistributed to users as shown by the arrow from block  212  to block  204 . The usage statistics in this application are therefore utilized to assist an author in improving the quality of authored content based upon the usage statistic feedback generated by one or more users. 
     Also, if the content is associated with a particular lesson plan, the lesson plan may be revised as shown in block  214  based upon the usage statistics. For example, if an instructor determines that a particular reading assignment takes too long to read based upon the usage statistics of one or more students, the instructor may modify the lesson plan to shorten the assignment. Also, it should be appreciated that revising a lesson plan may affect future assignments for a current group of students, or may affect future students in subsequent classes. Also, as shown by the arrow from block  214  to block  204 , revision of a lesson plan may require redistribution of the content to users. In the alternative, no such redistribution may occur. 
     As represented in block  216 , the usage statistics may also be utilized to determine whether a particular user requires supplemental tutoring or instruction. For example, if a particular user takes longer to read a particular passage, or has a higher rate of review of certain pages, the user may have difficulty in comprehending the subject matter, and as such, an instructor may desire to provide supplemental assistance to that user. 
     Another action that may occur is acting on user delinquency as shown in block  218 . For example, if it is determined that the pages in a particular assignment were not viewed for time indicative of some minimum time it would take a normal person to read a particular page, an instructor may determine that a particular user did not read an assignment, and take appropriate corrective action. Also, as discussed above, just the fact that an instructor is monitoring usage by students may encourage the students to follow all assignments. 
     It will be appreciated that the aforementioned uses of usage data need not be implemented in the same environment. Moreover, other utilizations of usage data will be appreciated by one of ordinary skill in the art having the benefit of the instant disclosure. 
     Other modifications will be apparent to one of ordinary skill in the art. Therefore, the invention lies in the claims hereinafter appended.