Navigation interfaces for e-books
The e-book navigation system addresses the inefficiency of linear navigation by generating navigation interfaces with side miniature views grouped by segments, enabling fast and flexible navigation within e-books, particularly for non-linear content.
Patent Information
- Application Number
- DE112015003670
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2014-08-08
- Filing Date
- 2015-06-22
- Publication Date
- 2025-05-08
- Estimated Expiration
- 2035-06-22
AI Technical Summary
Current e-book navigation systems rely on linear page-by-page navigation, which is inefficient for non-linear reading materials like cookbooks, travel books, and textbooks.
A computer-implemented procedure and system that generates navigation interfaces by presenting e-books as multiple pages associated with segments, allowing users to receive navigation commands and display side miniature views grouped by segment, enabling faster and more flexible navigation.
The system facilitates easy and quick navigation to exact areas within e-books, allowing users to zoom out for overview navigation and zoom in for detailed segment exploration, enhancing usability for non-linear reading materials.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
GENERAL STATE OF THE TECHNOLOGYTECHNICAL FIELD
[0001] This disclosure relates to the field of displaying information via a graphical user interface, and more particularly to creating navigation interfaces that facilitate navigation of e-books. DESCRIPTION OF RELATED TECHNOLOGY
[0002] Many users use their digital devices to read digital content such as novels, news articles, short stories, etc., watch videos, view images, or generally interact with some type of displayed content. E-books are currently navigated in a linear, page-by-page manner. While linear navigation works well for reading some types of books (e.g., novels), it is not optimal for the types of books that readers generally read in a non-linear manner (e.g., reading only the pages of interest). These books can include, for example, cookbooks, travel books, textbooks, etc. Publication US 7 979 785 B1 generally relates to the formatting of content for presentation on a display surface. Publication US 2012 / 0 131 464 A1 describes techniques that use user-defined values of properties of sections of an electronic presentation. The article MATULIC, Fabrice."Automatic selection of visually attractive pages for thumbnail display in document list view". In: 2008 Third International Conference on Digital Information Management. IEEE, 2008. pp. 221-226, a technique is presented with which a document can be displayed as a selection of its most striking pages. The publication US 2012 / 0 229 391 A1 relates to the creation and publication of e-book applications and in particular to systems and methods for creating and assembling digital book content and effects to make the content interactive. SUMMARY
[0003] The foregoing and other needs are achieved by a computer-implemented method, a non-transitory computer-readable storage medium storing executable code, and a system for generating navigational interfaces that facilitates navigation of eBooks.
[0004] One embodiment of the computer-implemented method for generating navigation interfaces that facilitate navigation of e-books includes representing an e-book as multiple e-book pages associated with multiple segments. A navigation command is received from a user, and the navigation command requests a navigation GUI (graphical user interface) in a particular navigation mode from among multiple navigation modes. One or more e-book pages of the multiple e-book pages are identified for page thumbnail generation. Page thumbnails are generated for each of the identified one or more e-book pages, wherein the page thumbnail is associated with the same segment as the associated e-book page. The generated page thumbnails are grouped by segment using the multiple segments.The navigation GUI is generated in the requested navigation mode using the grouped page thumbnails, and the navigation GUI lists at least one segment of the plurality of segments and horizontally lists at least one page thumbnail associated with the at least one segment, and the navigation GUI is displayed.
[0005] One embodiment of a non-transitory computer-readable storage medium storing executable computer program instructions for generating navigation interfaces that facilitate navigation of e-books includes representing an e-book as multiple e-book pages associated with multiple segments. A navigation command is received from a user, and the navigation command requests a navigation GUI (graphical user interface) in a particular navigation mode of multiple navigation modes. One or more e-book pages of the multiple e-book pages are identified for page thumbnail generation. Page thumbnails are generated for each of the identified one or more e-book pages, wherein the page thumbnail is associated with the same segment as the associated e-book page. The generated page thumbnails are grouped by segment using the multiple segments.The navigation GUI is generated in the requested navigation mode using the grouped page thumbnails, and the navigation GUI lists at least one segment of the plurality of segments and horizontally lists at least one page thumbnail associated with the at least one segment, and the navigation GUI is displayed.
[0006] One embodiment of an apparatus for generating navigation interfaces that facilitate the navigation of e-books includes a processor configured to execute modules and a memory that stores the modules. The modules include a parsing module configured to represent an e-book as multiple e-book pages associated with multiple segments, and a command detection module configured to receive a navigation command from a user, wherein the navigation command requests a navigation GUI (graphical user interface) in a specific navigation mode from a plurality of navigation modes.The modules further include a thumbnail generation module configured to identify one or more e-book pages from the plurality of e-book pages for page thumbnail generation and generate page thumbnails for each of the identified one or more e-book pages, wherein the page thumbnail is associated with the same segment as the associated e-book page. The modules further include a grouping module configured to group the generated page thumbnails by segment using the plurality of segments.The modules also include a navigation interface module configured to generate the navigation GUI in the requested navigation mode using the grouped page thumbnails, wherein the navigation GUI lists at least one segment of the plurality of segments and horizontally lists at least one page thumbnail associated with the at least one segment, and display the navigation GUI. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a high-level block diagram illustrating one embodiment of an environment for creating navigation interfaces that facilitate navigation of eBooks. Fig. 2A illustrates an example of a graphical user interface displayed by a user device showing an eBook page according to one embodiment. Fig. 2B illustrates an example of a graphical user interface showing a navigation interface in an intermediate navigation mode according to one embodiment. Fig. 2C illustrates an example graphical user interface showing a navigation interface in a table of contents mode according to one embodiment. Fig. 3 is a high-level block diagram illustrating a detailed view of modules within a navigation module of a user device according to one embodiment. Fig. 4 is a flowchart illustrating a process of generating navigation interfaces that facilitate navigation of eBooks according to one embodiment. Fig. 5 is a high-level block diagram showing an example computer for implementing the Fig. 1 illustrated entities. DETAILED DESCRIPTION
[0007] The figures (FIGS.) and the following description describe certain embodiments for illustrative purposes only. One skilled in the art will readily appreciate from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein. Reference will now be made in detail to various embodiments, examples of which are illustrated in the accompanying figures. It is noted that, where practical, similar or like reference numerals may be used throughout the figures to indicate similar or like functionality.
[0008] Fig. Figure 1 is a high-level block diagram illustrating one embodiment of an environment for generating navigation interfaces that facilitate the navigation of e-books. The environment includes a user device 100 connected to a media source 120 by a network 110. Only one user device 100 and one media source 120 are illustrated here, but there may be multiple instances of each of these entities. For example, there may be thousands or millions of user devices 100 in communication with multiple media sources 120.
[0009] The network 110 provides a communications infrastructure between the user devices 100 and the media sources 120. The network 110 is typically the Internet, but may be any network, such as a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile, wired or wireless network, a private network, or a virtual private network.
[0010] User devices 100 are computing devices that execute computer program modules—e.g., a web browser or other client application—that enable a user to view e-books, news feeds, search the internet, and generally consume media content. A user device 100 could, for example, be a personal computer, a tablet computer, a smartphone, a laptop, an associated e-reader, or another type of network-enabled device such as a networked television or set-top box.
[0011] Media source 120 includes one or more computer servers that provide e-books to user devices 100. Media source 120 may be, for example, an e-book retailer, a library, etc. Media source 120 may provide an e-book directly to user devices 100 via network 110.
[0012] An e-book is an electronic book that includes content and metadata. The e-book content includes an electronic collection of text (and possibly additional types of content such as images and / or sound). For example, the e-book content includes the content of a book as it would be printed on the pages of a traditional paper-based book. All of the text in the collection may be from a single source, or the collection may contain text from different sources. The text can originate from a traditional paper-based format (e.g., a physical book or newspaper) or from a digital format (e.g., electronic files in a format such as Portable Document Format (PDF), EPUB format, or continuous text format). The content of an e-book is divided into segments. A segment is a section of an e-book that is linked to a section of the content of related pages in an e-book.For example, a segment can be a chapter, a subsection of a chapter, an index, a map, a recipe, a bibliography, another section of the eBook, or a combination of these. For example, an eBook can include a segment for each chapter of the eBook, a segment for the index, and so on.
[0013] The e-book metadata includes bibliographic information about the e-book, such as the e-book identifier, title, disclosure date, edition / version number, page count, number of chapters, page thumbnails for pages of the e-book, or a combination thereof. The e-book metadata also includes a list of segments into which the content of the e-book is divided. A segment is represented in the list by a segment ID, which uniquely identifies the segment within the e-book (e.g., a chapter number).
[0014] A user device 100, in one embodiment, includes a media database 130 and an e-reader module 140. In one embodiment, these entities are software application modules executing on the user device 100. For example, modules 130 and 140 may be integrated into a smartphone application executing on a smartphone.
[0015] The media database 130 stores information related to e-books. E-book-related information includes e-books, associated metadata, and annotations. Annotations can include, for example, bookmarks, comments, highlighted sections, etc.
[0016] The e-reader module 140 includes a navigation module 150 that processes navigation commands received from the user. A navigation command is a command that facilitates user navigation of an e-book. A navigation command may, for example, allow a user to page forward and / or backward through the e-book, generate a navigation interface in a particular navigation mode, enable the user to interact with the generated navigation interface (e.g., as described below with reference to the Fig. 2B and Fig. 2C), to enable the user to perform another action or a combination thereof.
[0017] In some embodiments, in response to receiving a navigation command from the user (e.g., via a gesture), the navigation module 150 generates a navigation interface. A navigation interface is a graphical user interface (GUI) that allows a user to navigate to different pages in an e-book in a fast and / or non-linear manner. The navigation interface operates, for example, in two navigation modes: an intermediate navigation mode or a table of contents (TOC) mode. A navigation command can cause the navigation module 150 to generate a navigation interface in a particular navigation mode and / or cause an existing navigation interface to change navigation mode. Examples of navigation interfaces in different navigation modes are described in detail with reference to the Fig. 2B and Fig. 2C described.
[0018] After receiving a navigation command requesting a navigation interface of a particular mode, the navigation module 150 identifies e-book pages for thumbnail generation and generates page thumbnails for the identified e-book pages. A page thumbnail is a selectable image of an e-book page that has been reduced in size and, when selected, causes the e-reader module 140 to display the e-book page associated with the page thumbnail. The navigation module 150 identifies segments associated with the generated page thumbnails and groups the page thumbnails by segment. The navigation module 150 generates the requested navigation interface in the particular navigation mode using the grouped page thumbnails.
[0019] The navigation module 150 then presents the generated navigation interface in the determined navigation mode to the user. As described in detail with reference to Fig. 2B, in the intermediate navigation mode, the navigation interface lists at least one page thumbnail corresponding to an e-book page and a portion of a second page thumbnail corresponding to a second e-book page adjacent to the e-book page. In the intermediate navigation mode, a user can quickly navigate through the displayed page thumbnails using, for example, certain gestures (e.g., horizontal swiping) or a smart scrubber, as described below with reference to Fig. 2B or both forward / backward. The speed of a horizontal swipe may correspond to the number of page thumbnails being scrolled forward / backward. Therefore, in the intermediate navigation mode, the navigation interface allows a user to quickly navigate through the pages of an e-book by quickly scrolling forward and / or backward through the e-book. The intermediate navigation mode may be thought of as a partially zoomed-out view of the e-book and may be useful when a user is looking for content near their current reading location. In the intermediate navigation mode, a user may additionally cause the navigation module 150 to change the navigation mode to a TOC mode (e.g., to switch to a fully zoomed-out view of the e-book) and / or to present a specific e-book page based on one or more navigation commands (e.g., to zoom back in on an e-book page).
[0020] As described in detail with reference to Fig. 2C, a navigation interface in a TOC mode lists the identified segments in the eBook vertically and the page thumbnails grouped by that segment horizontally under a segment heading (e.g., chapter heading). A user can scroll vertically through segments and horizontally through individual page thumbnails within each specified segment. Therefore, the TOC mode allows a user to easily navigate through the pages of an eBook by selecting not just a segment of interest to the user, but a precise eBook page within the segment via a linked page thumbnail.
[0021] Additionally, in some embodiments, the page thumbnail associated with the e-book page displayed by user device 100 when the navigation command was received is highlighted in the navigation interface (e.g., the page thumbnail may be slightly larger than other page thumbnails). Highlighting the page thumbnail (which likely corresponds to the user's current reading location) allows the user to scroll through various segments and / or page thumbnails in the navigation interface, but still easily identify the highlighted page thumbnail and return to the associated e-book page accordingly.
[0022] These navigation interfaces allow a user to easily and quickly navigate to precise locations within an eBook. For example, a user can effectively zoom out into an intermediate navigation mode to quickly locate information in the current chapter and / or nearby chapters, and they can zoom out further into a TOC mode that lists segments of the eBook and page thumbnails associated with the specified segments. Furthermore, the navigation interfaces allow a user to navigate to locations within the eBook in a non-linear manner, which can be helpful for users reading eBooks (e.g., cookbooks, travel books, textbooks, etc.) that are not typically read in a linear fashion.Furthermore, the page thumbnail corresponding to the user's current reading location can be highlighted in the TOC navigation mode and / or the intermediate navigation mode, allowing the user to easily scroll through different chapters and / or page thumbnails without losing their location in the e-book.
[0023] In situations where the systems discussed herein collect personal information about users or may use personal information, users may be provided with a way to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, occupation, a user preference, or a user's current location), or to control whether and / or how content is received from media source 120 that may be more relevant to the user. In addition, certain data may be treated in one or more ways before being stored or used so that personal information is removed.For example, a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's location may be generalized, extracting location information (such as a city, zip code, or state) so that a specific user location cannot be determined. Therefore, the user may have control over how information about the user is collected and used by the media source 120 or another content server.
[0024] The various GUIs of the user device 100 described above will now be described, wherein Fig. 2A illustrates an example of a GUI 200 displayed by a user device 100 showing an e-book page 202 according to one embodiment.
[0025] In this embodiment, a user can navigate through the eBook using gestures. Gestures are movements performed by the user while contacting a touchscreen interface of user device 100 that convey commands (e.g., a navigation command) to user device 100. Gestures can include, for example, a swipe gesture, a tap gesture, a pinch gesture, another gesture, or a combination thereof. In some embodiments, a navigation command can also be provided to user device 100 via selectable thumbnails, selection of a drop-down menu, selection of a button on user device 100, another selection means, or a combination thereof.
[0026] A swipe gesture is received when a portion of the touchscreen interface is touched and the touched portion is then dragged in a specific direction. A user can scroll back in the e-book by swiping horizontally from left to right across the e-book page 202. Likewise, a user can scroll forward in the e-book by swiping horizontally from right to left across the e-book page 202. In some embodiments, a swipe may additionally be vertical. For example, as described below, a vertical swipe may be used to scroll vertically through various segments contained in Fig. 2C are shown.
[0027] A tap gesture is received when a single location on the touchscreen interface is touched for a short period of time (e.g., less than half a second). A tap gesture 204 received by the GUI 200 is used to indicate a request for a navigation interface in intermediate navigation mode. In alternative embodiments, the tap gesture 204 received by the GUI 200 is used to indicate a request for a navigation interface in TOC mode.
[0028] A pinch-in gesture is received when two locations on the touchscreen interface are touched and then a distance between the two locations changes. A reference distance value is a value associated with the original distance between two locations that were originally touched on a touchscreen interface. An active distance value is a value associated with the current distance between two touched locations. For example, if a user first touches the touchscreen interface in two locations, the reference distance value is the same as the active distance value. However, if the user brings the touched locations closer together (i.e., a user pinches inward), the active distance value also decreases and is smaller than the reference distance value. As the user moves the touched locations further apart (i.e.,, a user pulls outwards), the active distance value becomes larger and can become larger than the reference distance value.
[0029] In Fig. 2A, the pinch gesture 206 is an inward pinch gesture in which a user pinches inward such that the distance between the two locations on the e-book page 202 decreases. In some embodiments, the GUI 200 interprets the pinch gesture 206 as a request for a navigation interface in an intermediate navigation mode, as shown in, for example, FIG. Fig. 2B, as soon as the active distance value is less than a first threshold (e.g., 75% of the reference distance value). If the user continues to bring the touched locations together and the active distance value becomes less than a second threshold (e.g., 50% of the reference distance value), the GUI 200 interprets the pinch-in gesture 206 as a request for a navigation interface in a TOC mode, as shown in, for example, FIG. Fig. 2C.
[0030] In some embodiments, the size of the displayed e-book page 202 also decreases as the active distance value decreases, and once the active distance value is less than a first threshold, the GUI 200 seamlessly transitions to an intermediate display mode navigation interface (e.g., zooms out), as shown in Fig. 2B.
[0031] Fig. 2B illustrates an example of a GUI 220 showing a navigation interface in an intermediate navigation mode according to one embodiment. The GUI 220 displays page thumbnails 222, 224, and 226. A page thumbnail is a smaller version of an e-book page associated with the page thumbnail. For example, the page thumbnail 222 is a smaller version of the e-book page 202 previously described with respect to Fig. 2A. In some embodiments, the scaling is such that the page thumbnail is an exact reproduction of the e-book page, such that the content presented by a page thumbnail is the same content presented by its corresponding e-book page.
[0032] In this example, the page thumbnail 222 corresponds to that described above with reference to Fig. 2A, page thumbnail 224 corresponds to the previous page of the e-book, and page thumbnail 226 corresponds to the next page of the e-book. In this embodiment, page thumbnail 222 is highlighted (e.g., made larger) relative to other displayed page thumbnails to assist the user 222 in identifying the page thumbnail as associated with the e-book page displayed by user device 100 immediately prior to entering the intermediate navigation mode (e.g., e-book page 202). Additionally, GUI 220 includes a segment area 228 that displays segment information associated with the displayed page thumbnail (e.g., page thumbnail 222 is associated with Chapter 2).
[0033] The GUI 220 includes a smart scrubber 230 that allows a user to quickly navigate within the e-book. The smart scrubber 230 includes a location indicator 232 associated with the page thumbnail associated with the e-book page displayed immediately before entering the intermediate navigation mode. In this case, for example, the location indicator 232 is associated with the page thumbnail 222. A user selects a location along the smart scrubber 230 to navigate to a page thumbnail corresponding to the selected location. Additionally, the GUI 220 includes a return thumbnail 274 that, when selected, causes the user device 100 to display what was displayed by the user device 100 before the GUI 220 was presented by the user device 100.In this example, if a user selected the return thumbnail 274, the client device 100 would display the e-book page 202 as shown in FIG. Fig. 2A present.
[0034] The GUI 220 can receive one or more navigation commands via gestures. For example, a user can quickly scroll forward or backward in the e-book using a swipe gesture 244. Swiping horizontally from right to left across the e-book page 202 causes the GUI 220 to scroll forward in the e-book. Likewise, a user can scroll backward in the e-book by swiping horizontally from left to right across the e-book page 202. In some embodiments, the GUI 220 correlates the speed of the swipe with how quickly the e-book is scrolled.
[0035] In some embodiments, a tap gesture on a page thumbnail is used to indicate a request to display the e-book page associated with the page thumbnail. For example, a tap gesture 236 on page thumbnail 222 causes user device 100 to display e-book page 202, as shown in Fig. 2A. Additionally, a pinch-to-open gesture on the GUI 220 and / or a selection of a table of contents (TOC) thumbnail 240 may be used to indicate a request for a navigation interface in TOC mode. For example, a pinch-to-open gesture 238 on the GUI 220 and / or a tap 242 of the TOC thumbnail 240 causes the user device 100 to generate and present a navigation interface in a TOC mode, as shown in, for example, FIG. Fig. 2C.
[0036] In some embodiments, changes in the active distance value associated with a pinch-in gesture may also cause the size of the displayed page thumbnails to change. For example, a user may increase the size of the displayed page thumbnails by increasing an active distance value such that it is larger than a reference distance value (i.e., the user pinches outward). In some embodiments, if the user continues to increase the active distance value and the active distance value becomes greater than an expansion threshold (e.g., 30% greater than the reference distance), then the GUI 220 interprets the pinch-in gesture 238 as a request that the e-book page 202 be expanded as shown in, for example, Fig. 2A. Therefore, a user can effectively zoom into a specific e-book page by pinching outward.
[0037] In some embodiments, a user can reduce the size of the displayed page thumbnails by decreasing the active distance value so that it is smaller than the reference distance value (i.e., a user pinches inward). If the user continues to bring the touched locations together and the active distance value becomes smaller than a reduction threshold (e.g., 50% of the reference distance), the GUI 220 interprets the pinch-in gesture 238 as a request for a navigation interface in a TOC mode, as shown in, for example, FIG. Fig. 2C. Therefore, a user can effectively zoom out from the intermediate navigation mode into the TOC mode by pinching inward.
[0038] Fig. 2C illustrates an example GUI 260 showing a navigation interface in a TOC mode according to one embodiment. The GUI 260 includes a title bar 262 and a plurality of segments 264A-E. The title bar 262 identifies the navigation interface as being in TOC mode 272. The title bar 262 also includes the return thumbnail 274.
[0039] Segments 264A-E are each associated with one or more page thumbnails, but only segments 264A, 264B, and 264E display their associated page thumbnails. For example, Chapter 2 of the eBook has only three pages and accordingly displays only three page thumbnails, 222, 266, and 268, each of which is a smaller version of a corresponding eBook page.
[0040] The GUI 260 arranges the displayed segments 264A-E vertically in the e-book. In this embodiment, a user can scroll vertically (i.e., down and / or up) through the segments 264A-E using gestures (e.g., swiping vertically down or up, respectively) so that page thumbnails and / or segments that were originally outside a display area of the user device 100 are scrolled into the display area.
[0041] The segments include a horizontal listing of page thumbnails for each of the e-book pages associated with the segment. For example, segments 264A, 264B, and 264E are toggled so that their associated page thumbnails are visible. The user can scroll horizontally through any of the displayed page thumbnails within a segment, so that page thumbnails that were originally outside a display area of the user device 100 are scrolled into the display area. Additionally, the GUI 260 highlights the page thumbnail associated with the e-book page presented to the user when the navigation command was received. For example, page thumbnail 222 is slightly larger than other presented page thumbnails to indicate the e-book page presented to the user when the navigation command was received.The page thumbnail 222 allows a user to navigate the various segments and associated page thumbnails and to easily find and / or return to their previous reading location (e.g., e-book page 202).
[0042] The page thumbnails are selectable, and when selected, for example, via a user tapping a page thumbnail, the GUI 260 displays the e-book page corresponding to the selected page thumbnail. Therefore, a user can easily identify a precise location within a segment using the page thumbnails within the segment and navigate directly to the associated e-book page by selecting the corresponding page thumbnail. In some embodiments, the GUI 260 can display or stop displaying page thumbnails associated with a segment 264 based on user input. For example, the GUI 264 includes a toggle button 270 that, when selected, causes the GUI 260 to stop displaying page thumbnails within a segment.
[0043] The structure of the navigation module 150 will now be described, where Fig. 3 is a high-level block diagram illustrating a detailed view of modules within the navigation module 150 of a user device 100 according to one embodiment. Some embodiments of the navigation module 150 include different modules than those described here. Similarly, the functions may be distributed among the modules in a different manner than described here. The navigation module 150 consists of modules including a parsing module 310, a command detection module 320, a thumbnail generation module 330, a grouping module 340, and a navigation interface module 350.
[0044] The parsing module 310 represents an e-book as multiple e-book pages associated with multiple segments. The parsing module 310 parses the e-book into e-book pages. The amount of e-book content in an e-book page may vary based in part on the area of the display available to present e-book content, the font size, and / or other factors. The parsing module 310 uses these factors to parse the e-book into e-book pages. The above-described Fig. Figure 2A shows a single e-book page provided by parsing module 310. Parsing module 310 provides one or more such e-book pages to e-reader module 140 for presentation to the user.
[0045] The command detection module 320 detects navigation commands provided to the user device 100. As described above with respect to the Fig. 2A and Fig. 2B, navigation commands may be received, for example, via gestures on a touchscreen interface, a selection of menu options, buttons on the user device 100, etc. The command detection module 320 analyzes the detected navigation command to determine whether a navigation interface is requested, and if so, which navigation mode is requested. For example, a tap gesture on a displayed e-book page may indicate a request for an intermediate navigation mode. As described above with respect to Fig. Additionally, as described in Figure 2A, a pinch-in gesture on a displayed e-book page may indicate a request for a navigation interface in an intermediate navigation mode or a TOC mode based on a comparison of an active distance value with certain thresholds. For example, as the user pinches inward and the active distance value becomes less than a first threshold (e.g., 75% of the reference distance value), the command detection module 320 interprets the pinch-in gesture as a request for a navigation interface in an intermediate navigation mode. As the user continues to bring the touched locations closer together and the active distance value becomes less than a second threshold (e.g., 50% of the reference distance value), the command detection module 320 interprets the pinch-in gesture as a request for a navigation interface in the TOC mode.The command detection module 320 provides the requested type of navigation mode to the thumbnail generation module 330 and / or other modules.
[0046] The thumbnail generation module 330 generates page thumbnails according to the requested type of navigation mode. Generating a page thumbnail refers to creating a page thumbnail from an e-book page and / or retrieving a page thumbnail from the media database 130 and / or the media source 120.
[0047] The thumbnail generation module 330 generates page thumbnails for some or all of the e-book pages. In some embodiments, the thumbnail generation module 330 generates page thumbnails for all e-book pages when the e-book is first downloaded from the media source 120, a change in screen size is detected, a font change is detected, a typeface change is detected, annotations are added, changes in the parsed e-book pages are detected, or a combination thereof. Alternatively, the thumbnail generation module 330 receives the page thumbnails from the media source 120. The thumbnail generation module 330 stores the generated and / or received page thumbnails in the media database 130.In some embodiments, the thumbnail generation module 330 generates the page thumbnails on an on-demand basis, with page thumbnails being generated in response to receiving a navigation command. Note that, in general, changes in the parsing of the eBook made by the parsing module 310 may cause the thumbnail generation module 330 to regenerate one or more page thumbnails.
[0048] In some embodiments, the thumbnail generation module 330 identifies all e-book pages for generating associated page thumbnails. In alternative embodiments, some, but not all, e-book pages are identified for generating associated page thumbnails. For example, the thumbnail generation module 330 may identify only a portion of e-book pages within each segment for generating associated page thumbnails (e.g., a fixed number of pages before and / or after the e-book page, any other page, e-book pages that include subsection headings, etc.).
[0049] The thumbnail generation module 330 then generates page thumbnails for the identified e-book pages by generating a page thumbnail for each of the identified e-book pages and / or retrieving previously generated page thumbnails corresponding to the identified e-book pages from the media database 130. In some embodiments, the thumbnail generation module 330 generates a page thumbnail for an e-book page by generating a smaller version of the e-book page (e.g., by reducing the size of the image), and the smaller version of the e-book page is used as the page thumbnail associated with the e-book page. For example, a page thumbnail may be a 40% smaller version of the e-book page.In some embodiments, the thumbnail generation module 330 additionally retrieves annotation information from the media database 130 and annotates the generated page thumbnail so that some or all of the annotations associated with an eBook page are visible on the page thumbnail.
[0050] The grouping module 340 groups the generated page thumbnails by segment. The grouping module 340 identifies one or more segments within the eBook that are associated with the generated page thumbnails. The grouping module 340 may identify segments associated with the generated page thumbnails using segment IDs for the eBook pages associated with the page thumbnails. The grouping module 340 then groups the generated page thumbnails by identified segment. For example, if the segment is Chapter 1 of an eBook, the grouping module 340 would group any page thumbnails associated with the eBook pages in Chapter 1 with the segment. The grouping module 340 groups the page thumbnails associated with a segment in the same order as their corresponding eBook pages.For example, if the generated page thumbnails correspond to eBook pages 3 and 6 in Chapter 1 of the eBook, respectively, the page thumbnail associated with eBook page 3 would be placed before the page thumbnail associated with eBook page 6.
[0051] The navigation interface module 350 generates a navigation interface in the requested navigation mode using the grouped page thumbnails. The navigation interface lists at least one identified segment and the grouped page thumbnails associated with each identified segment. In an intermediate navigation mode, for example, the navigation interface presents a segment and one or more page thumbnails associated with that segment, such as in Fig. 2B shown.
[0052] In a TOC mode, the navigation interface lists a plurality of segments and page thumbnails associated with each of the segments. In some embodiments, the navigation interface module 350 lists the identified segments vertically and horizontally lists page thumbnails that are part of the group associated with that segment. Examples of a navigation interface in TOC mode have been described with reference to Fig. 2C described above.
[0053] In some embodiments, the navigation interface module 350 may scale the size of the displayed page thumbnails based, for example, on the requested type of navigation mode. For example, page thumbnails displayed by a navigation interface in intermediate navigation mode may be significantly larger than page thumbnails displayed in TOC mode.
[0054] In some embodiments, the navigation interface module 350 highlights the page thumbnail associated with the e-book page presented by the user device 100 when the navigation command was received. The view generation module 350 may highlight a page thumbnail, for example, by making the page thumbnail slightly larger than other page thumbnails, by highlighting the page thumbnail, by bolding a border of the page thumbnail, by otherwise distinguishing the page thumbnail from other page thumbnails, or a combination thereof. The highlighted page thumbnail may assist a user in maintaining their reading location in the e-book while navigating to another location in the e-book using one or more modes of the navigation GUI.
[0055] The navigation interface module 350 presents the generated navigation interface to the user. The generated navigation interface may respond to commands received from a user via the user device 100. For example, a navigation interface in an intermediate navigation mode allows the user to page forward / backward through an eBook based on, e.g., a swipe gesture and / or the use of a smart scrubber. Additionally, a user may change the mode of the navigation interface to a TOC mode using, e.g., a pinch-in gesture and / or a selection of a TOC thumbnail. A navigation interface in TOC mode allows the user to scroll (e.g., vertically) through various segments and / or scroll (e.g., horizontally) through various page thumbnails associated with a particular segment.In some embodiments, the navigation interface scrolls the segments and / or the various page thumbnails based on receiving a swipe gesture. Because the page thumbnails are smaller versions of the actual e-book page (in both intermediate navigation mode and TOC mode), a user can easily identify the contents of an e-book page using an associated page thumbnail and navigate to the e-book page simply by selecting the page thumbnail (e.g., tapping the page thumbnail). As described above with reference to FIG. Fig. 2A and Fig. 2B, pinch gestures can also be used to dynamically scale the size of displayed page thumbnails in intermediate navigation mode.
[0056] Fig. Figure 4 is a flowchart illustrating a process of generating navigation interfaces that facilitates navigation of eBooks according to one embodiment. In one embodiment, the process is Fig. 4 by the user device 100. Other entities may perform some or all of the steps of the process in other embodiments. Likewise, embodiments may include different and / or additional steps or perform the steps in different orders.
[0057] The user device 100 presents 410 an e-book as multiple e-book pages connected to multiple segments. The user device 100 parses the e-book into e-book pages for presentation to the user. The user device 100 presents a section of the e-book to the user, including one or more e-book pages.
[0058] The user device 100 receives 420 a navigation command requesting a navigation interface in a particular navigation mode. The navigation command may be received from the user, for example, via a gesture, the selection of a soft key, a menu selection, the selection of a button on the user device 100, etc. For example, a pinch-to-open gesture may be used to select either an intermediate navigation mode or a TOC mode. The user device 100 determines which mode is requested by, for example, comparing an active distance value to thresholds, such that when the active distance becomes less than a first threshold, an intermediate navigation mode is requested, and when the active distance becomes less than a second threshold that is less than the first threshold, a TOC mode is requested.
[0059] User device 100 identifies 430 e-book pages for page thumbnail generation. In some embodiments, user device 100 may identify all e-book pages for page thumbnail generation. In alternative embodiments, user device 100 may identify e-book pages for page thumbnail generation that are within a scroll distance value presented by user device 100.
[0060] The user device 100 generates 440 page thumbnails for the identified e-book pages. In some embodiments, the user device 100 generates and / or retrieves (e.g., from the media database 130 and / or the media source 120) page thumbnails for the identified e-book pages. In some embodiments, the user device 100 additionally retrieves annotation information from the media database 130 for one or more identified e-book pages and annotates the identified e-book pages prior to generating page thumbnails so that some or all of the annotations associated with the e-book pages are visible on the page thumbnails. In other embodiments, the user device 100 annotates the generated page thumbnails.
[0061] The user device 100 groups 450 the page thumbnails by segment. The user device 100 identifies one or more segments within the e-book associated with the generated page thumbnails, using, for example, the segment IDs for the e-book pages associated with the page thumbnails. The user device 100 then groups the generated page thumbnails by the identified segment.
[0062] The user device 100 generates 460 the requested navigation GUI in the particular navigation mode using the grouped page thumbnails. The user device 100 may, for example, generate a navigation GUI in an intermediate navigation mode or a TOC mode. The generated navigation GUI lists at least one identified segment and horizontally lists at least one page thumbnail associated with the at least one segment. The user device 100 presents 470 the requested navigation GUI in the particular navigation mode to the user.
[0063] The implementation of the creation and presentation of navigation GUIs for navigating media elements described above is now described, where Fig. 5 is a high-level block diagram illustrating an exemplary computer 500 for implementing the Fig. 1. Computer 500 includes at least one processor 502 coupled to a chipset 504. Chipset 504 includes a memory controller hub 520 and an input / output (I / O) controller hub 522. Memory 506 and a graphics adapter 512 are coupled to memory controller hub 520, and a display 518 is coupled to graphics adapter 512. A storage device 508, an input interface 514, and a network adapter 516 are coupled to I / O controller hub 522. Other embodiments of computer 500 have different architectures.
[0064] The storage device 508 is a non-transitory computer-readable storage medium such as a hard disk drive, Compact Disk Read-Only Memory (CD-ROM), DVD, or a solid-state storage device. The memory 506 stores instructions and data used by the processor 502. The input interface 514 is a touchscreen interface, a mouse, a trackball or other type of pointing device, a keyboard, or a combination thereof and is used to enter data into the computer 500. In some embodiments, the computer 500 may be configured to receive input (e.g., commands) from the input interface 514 via gestures from the user. The computer 500 monitors gestures performed by the user and converts them into commands (e.g., scroll horizontally, scroll vertically, navigation command, selecting a page thumbnail, etc.). The graphics adapter 512 displays images and other information on the display 518.The network adapter 516 couples the computer 500 to one or more computer networks.
[0065] Computer 500 is adapted to execute computer program modules to provide functionality described herein. As used herein, the term "module" refers to computer program logic used to provide the specified functionality. Therefore, a module or routine may be implemented in hardware, firmware, and / or software. In one embodiment, program modules are stored on storage device 508, loaded into memory 506, and executed by processor 502.
[0066] The types of computers 500 used by the entities of Fig.1 may vary depending on the embodiment and the computing power required by the entity. For example, user device 500 may interact with one or more servers that cooperate to provide the functionality described herein. Computers 500 may not include some of the components described above, such as keyboards, graphics adapters 512, and displays 518.
[0067] Some portions of the foregoing description describe the embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and representations are typically used by one skilled in the art to effectively convey the substance of their work to another skilled in the art. While these operations are described in functional, computational, or logical terms, it is understood that they are implemented by computer programs that include instructions for execution by a processor or equivalent circuitry, microcode, or the like. Further, it has sometimes been convenient to refer to these arrangements of workflows as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combination thereof.
[0068] As used herein, references in this specification to "one embodiment," mean that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The use of the phrase "in one embodiment" in various places throughout the specification does not necessarily all refer to the same embodiment.
[0069] Some embodiments may be described using the terms "coupled" and "connected," along with their derivatives. It should be understood that these terms are not synonymous with one another. For example, some embodiments may be described using the term "connected" to indicate that two or more elements are in direct physical or electrical contact with each other. As another example, some embodiments may be described using the term "coupled" to indicate that two or more elements are in direct physical or electrical contact. However, the term "coupled" may also mean that two or more elements are not in direct contact with each other, but still operate or interact with each other. The embodiments are not limited in this context.
[0070] As used herein, the terms "comprises," "comprising," "includes," "contains," "has," "comprising," and other variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, article, or device comprising a list of elements is not necessarily limited to only those elements, but may include other elements not expressly listed or inherent in such process, method, article, or device. Furthermore, unless otherwise noted, "or" refers to an inclusive rather than an exclusive or. For example, a condition A or B is satisfied by one of the following: A is true (or present) and B is false (or absent), A is false (or absent) and B is true (or present), and both A and B are true (or present).
[0071] In addition, "a," "an," or "another" is used to describe elements and components of the embodiments herein. This is done solely for convenience and to convey a general understanding of the disclosure. The description should be read as including one or at least one, and the singular includes the plural unless clearly intended otherwise.
Claims
[1] A computer-implemented method for generating navigation interfaces that facilitate the navigation of e-books, comprising: Displaying an e-book as multiple e-book pages connected to multiple segments; Display one page of the multiple e-book pages; Receiving a navigation command from a user, wherein the navigation command requests a particular mode of a navigation GUI (graphical user interface) of a predefined set of modes comprising an intermediate navigation mode and a table of contents mode; Identifying one or more e-book pages of the plurality of e-book pages for page thumbnail generation; Generating page thumbnails for each of the identified one or more e-book pages, wherein a page thumbnail is associated with a same segment as a linked e-book page, and wherein a size of the thumbnail is determined in response to the requested navigation mode; in response to the intermediate navigation mode requested: Grouping the generated page thumbnails by segment using the multiple segments, Generating the navigation GUI in intermediate navigation mode using the grouped page thumbnails, wherein the navigation GUI lists at least one segment of the plurality of segments and horizontally lists at least one page thumbnail associated with the at least one segment, and Displaying the navigation GUI in intermediate navigation mode, wherein the displayed navigation mode replaces the displayed page with a single thumbnail and at least one partial thumbnail adjacent to the single thumbnail, wherein the single thumbnail is a scaled reproduction of the page and the at least one partial thumbnail is a scaled reproduction of a portion of a page adjacent to the page, and wherein the at least one partial thumbnail is smaller than the single thumbnail and sizes of the single thumbnail and the at least one partial thumbnail are based in part on the requested navigation mode; and in response to determining that the navigation command is a pinch gesture requesting table of contents mode: Generating the navigation GUI in table of contents mode, wherein the navigation GUI lists a portion of the plurality of segments vertically and lists page thumbnails associated with the listed segments horizontally; and Displaying the navigation GUI in table of contents mode, wherein the displayed navigation GUI contains a plurality of thumbnails, wherein sizes of the plurality of thumbnails are based on the table of contents mode. [2] The method of claim 1, wherein in response to the request for the table of contents mode, the method further comprises: Identifying one or more segments within the eBook that are associated with the generated page thumbnails; and Grouping the generated page thumbnails by identified segment such that each of the one or more identified segments is associated with at least one generated page thumbnail. [3] The method of claim 1, wherein the navigation GUI in the intermediate navigation mode horizontally lists the single thumbnail and the partial thumbnail. [4] The method of claim 1, further comprising: determining a reference distance value associated with an initial distance between two locations on a touchscreen interface of the user device associated with initiating the pinch gesture; Monitoring an active distance value associated with a decreasing distance between the two touched locations of the pinch gesture; and responsive to the active distance value being less than a first percentage of the reference distance, determining that the particular navigation mode is the intermediate navigation mode. [5] The method of claim 4, further comprising: responsive to the active spacing being less than a second percentage of the reference spacing and the second percentage being less than the first percentage, determining that the particular navigation mode is the table of contents mode. [6] The method of claim 1, further comprising: Identifying the individual thumbnail associated with the eBook page presented by the user device when the navigation command was received; and Highlight the identified single thumbnail. [7] The method of claim 1, wherein the at least one partial thumbnail is a displayed portion of a thumbnail of the scaled reproduction of the page adjacent to the page corresponding to the single thumbnail. [8] The method of claim 1, wherein the size of a thumbnail displayed in the navigation GUI in the intermediate navigation mode is larger than the size of a thumbnail displayed in the navigation GUI in the table of contents mode. [9] A non-transitory computer-readable storage medium storing executable computer program instructions for generating navigation interfaces that facilitate navigation of e-books, the instructions being executable by one or more processors of a computing device to: Displaying an e-book as multiple e-book pages connected to multiple segments; Display one page of the multiple e-book pages; Receiving a navigation command from a user, wherein the navigation command requests a particular mode of a navigation GUI (graphical user interface) of a predefined set of modes comprising an intermediate navigation mode and a table of contents mode; Identifying one or more e-book pages of the plurality of e-book pages for page thumbnail generation; Generating page thumbnails for each of the identified one or more e-book pages, wherein a page thumbnail is associated with a same segment as a linked e-book page, and wherein a size of the thumbnail is determined in response to the requested navigation mode; in response to the intermediate navigation mode requested: Grouping the generated page thumbnails by segment using the multiple segments, Generating the navigation GUI in intermediate navigation mode using the grouped page thumbnails, wherein the navigation GUI lists at least one segment of the plurality of segments and horizontally lists at least one page thumbnail associated with the at least one segment, and Displaying the navigation GUI in intermediate navigation mode, wherein the displayed navigation mode replaces the displayed page with a single thumbnail and at least one partial thumbnail adjacent to the single thumbnail, wherein the single thumbnail is a scaled reproduction of the page and the at least one partial thumbnail is a scaled reproduction of a portion of a page adjacent to the page, and wherein the at least one partial thumbnail is smaller than the single thumbnail and sizes of the single thumbnail and the at least one partial thumbnail are based in part on the requested navigation mode; and in response to determining that the navigation command is a pinch gesture requesting table of contents mode: Generating the navigation GUI in table of contents mode, wherein the navigation GUI lists a portion of the plurality of segments vertically and lists page thumbnails associated with the listed segments horizontally; and Displaying the navigation GUI in table of contents mode, wherein the displayed navigation mode includes a plurality of thumbnails, the sizes of the plurality of thumbnails being based on the table of contents mode, and wherein the navigation GUI lists the identified one or more segments vertically and lists the page thumbnails associated with the listed segments horizontally. [10] The computer-readable medium of claim 9, wherein the instructions are further executable by the one or more processors to: in response to the table of contents mode request: Identifying one or more segments within the eBook that are associated with the generated page thumbnails; and Grouping the generated page thumbnails by identified segment such that each of the one or more identified segments is associated with at least one generated page thumbnail. [11] The computer-readable medium of claim 9, wherein the navigation GUI in the intermediate navigation mode horizontally lists the single thumbnail and the partial thumbnail. [12] The computer-readable medium of claim 9, wherein the instructions are further executable by the one or more processors to: Determining a reference distance value associated with an initial distance between two locations on a touchscreen interface of the user device associated with the initiation of the pinch gesture; Monitoring an active distance value associated with a decreasing distance between the two touched locations of the pinch gesture; and responsive to the active distance value being less than a first percentage of the reference distance, determining that the particular navigation mode is the intermediate navigation mode. [13] The computer-readable medium of claim 12, wherein the instructions are further executable by the one or more processors to: in response to the active distance being less than a second percentage of the reference distance and the second percentage being less than the first percentage, determine that the particular navigation mode is the table of contents mode. [14] The computer-readable medium of claim 9, wherein the instructions are further executable by the one or more processors to: Identifying the individual thumbnail associated with the eBook page presented by the user device when the navigation command was received; and Highlight the identified single thumbnail. [15] Device for generating navigation interfaces that facilitate the navigation of e-books, comprising: a processor configured to execute modules; and a memory that stores the modules, whereby the modules are executable by the processor to: Displaying an e-book as multiple e-book pages connected to multiple segments; Display one page of the multiple e-book pages; Receiving a navigation command from a user, wherein the navigation command requests a particular mode of a navigation GUI (graphical user interface) of a predefined set of modes comprising an intermediate navigation mode and a table of contents mode; identifying one or more e-book pages from the plurality of e-book pages for page thumbnail generation; Generating page thumbnails for each of the identified one or more eBook pages, wherein a page thumbnail is associated with a same segment as a linked eBook page, and wherein a size of the thumbnail is determined in response to the requested navigation mode; in response to the intermediate navigation mode requested: Grouping the generated page thumbnails by segment using the multiple segments; generating the navigation GUI in the requested intermediate navigation mode using the grouped page thumbnails, wherein the navigation GUI lists at least one segment of the plurality of segments and horizontally lists at least one page thumbnail associated with the at least one segment; and Displaying the navigation GUI in intermediate navigation mode, wherein the displayed navigation mode replaces the displayed page with a single thumbnail and at least one partial thumbnail adjacent to the single thumbnail, wherein the single thumbnail is a scaled reproduction of the page and the at least one partial thumbnail is a scaled reproduction of a portion of a page adjacent to the page, and wherein the at least one partial thumbnail is smaller than the single thumbnail and sizes of the single thumbnail and the at least one partial thumbnail are based in part on the requested navigation mode; and in response to determining that the navigation command is a pinch gesture requesting table of contents mode: Generating the navigation GUI in table of contents mode, wherein the navigation GUI lists a portion of the plurality of segments vertically and lists page thumbnails associated with the listed segments horizontally; and Displaying the navigation GUI in table of contents mode, wherein the displayed navigation GUI contains a plurality of thumbnails, wherein sizes of the plurality of thumbnails are based on the table of contents mode. [16] The apparatus of claim 15, wherein the modules are further executable by the processor to: Identifying one or more segments within the eBook that are associated with the generated page thumbnails; and Grouping the generated page thumbnails by identified segment such that each of the one or more identified segments is associated with at least one generated page thumbnail. [17] The apparatus of claim 15, wherein the navigation GUI in the intermediate navigation mode horizontally lists the single thumbnail and the partial thumbnail. [18] The apparatus of claim 15, wherein the modules are further executable by the processor to: Determining a reference distance value associated with an initial distance between two locations on a touchscreen interface of the user device associated with a start of the pinch gesture; Monitoring an active distance value associated with a decreasing distance between the two touched points of the pinch gesture; and responsive to the active distance value being less than a first percentage of the reference distance, determining that the particular navigation mode is the intermediate navigation mode. [19] The apparatus of claim 18, wherein the modules are further executable by the processor to: responsive to the active spacing being less than a second percentage of the reference spacing and the second percentage being less than the first percentage, determining that the particular navigation mode is the table of contents mode.
Citation Information
Patent Citations
Sections of a Presentation having User-Definable Properties
US20120131464A1
System and methods for generating interactive digital books
US20120229391A1
Recognizing table of contents in an image sequence
US7979785B1