# Patent

## Title
System and method for reading multifunctional electronic books on portable readers

## Abstract

A platform agnostic digital publication format that supports rendered and resizable text, illustrations and graphics, “read to me” features and interactive functionality. The format takes advantage of the alternate renditions feature of the OCF of the EPUB® specification and includes both a ShockWave Flash (SWF) based rendition and a HyperText Markup Language (HTML), Java Script (JS), Cascading Style Sheets (CSS) based implementation. In order to avoid duplicating large components (graphics, audio, etc.), files containing those components are not embedded in the SWF files, but are rather externally referenced by both the SWF and the HTML files. A strict and consistent folder structure and file-naming convention improves efficiency and reduces the potential for error.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This application claims benefit under 35 U.S.C. §119(e) from U.S. Provisional Patent application No. 61/407,004, filed on Oct. 26, 2010, the entirety of which is incorporated by reference herein.


FIELD OF THE INVENTION
The present invention generally relates to systems and methods for reading electronic publications, and more particularly to electronic publication readers capable of reading electronic publications with interactive features on multiple platforms from a single format eBook file.
BACKGROUND OF THE INVENTION
The EPUB® specification is a distribution and interchange format standard for digital publications and documents. EPUB® defines a way of representing, packaging and encoding structured and semantically enhanced Web content, including XHTML, CSS, SVG, images, and other resources, for distribution in a single-file format. EPUB® allows publishers to produce and send a single digital publication file (an ePub file) through distribution and offers consumers interoperability between software/hardware for unencrypted, reflowable digital books and other publications. EPUB® was initially standardized in 2007 as a successor format to the Open eBook Publication Structure or “OEB”, which was originally developed in 1999.
Two important components of the EPUB® specification are the Open Packaging Format (OPF) and the OEBPS Container Format (OCF). The OPF specification defines the mechanism by which the various components of an electronic publication are tied together and provides additional structure and semantics to the electronic publication. Specifically, OPF describes and references all components of the electronic publication (e.g. markup files, images, navigation structures), provides publication-level metadata, specifies the linear reading-order of the publication, provides fallback information to use when unsupported extensions are employed and provides a mechanism to specify a declarative global navigation structure (the NCX).
The OCF specification describes a general-purpose container technology in the context of encapsulating ePub publications and optional alternate renditions thereof. As a general container format, OCF collects a related set of files into a single-file container. OCF can be used to collect files in various document formats and for classes of applications. The single-file container enables easy transport of, management of, and random access to, the collection.
OCF defines the rules for how to represent an abstract collection of files (the “abstract container”) into physical representation within a ZIP archive (the “physical container”). OCF is the required single-file container technology for ePub publications. During the preparation steps in producing an electronic publication, OCF is used as the single-file format when exchanging in-progress publications between different individuals and/or different organizations. When providing an electronic publication from publisher or conversion house (Content Provider) to the distribution or sales channel, OCF is the recommended single-file format to be used as the transport format. When delivering the final publication to an ePub reading system or end-user, OCF is the required format for the single-file container that holds all of the assets that make up the publication.
SUMMARY OF THE INVENTION
The present invention is a digital publication reader that takes advantage of an expanded ePub functionality. The reader provides digital rendering of reflowable text, to support graphical and picture books, interactivity, animation, resizeable text boxes and the ability to zoom in and pan around illustrations. The reader of the present invention can function on multiple platforms including Android and iOS.
The inventors of the present application have found that readers for the traditional architecture for files for electronic publication are insufficient for digital picture books and graphic books with resizable text and graphics, light motion graphics, narration and sound effects. The present invention is a platform agnostic digital reader that supports rendered and resizable text, illustrations and graphics, read to me features and interactive functionality. The reader takes advantage of an enhanced rendition feature of the OCF of the EPUB® specification and includes both a ShockWave Flash (SWF) based rendition and a HyperText Markup Language (HTML), Java Script (JS), Cascading Style Sheets (CSS) based implementation of an ePicture Book. In order to avoid duplicating large components (graphics, audio, etc.), files containing those components are not embedded in the SWF files, but are rather externally referenced by both the SWF and the HTML files. A strict and consistent folder structure and file-naming convention improves efficiency and reduces the potential for error.



BRIEF DESCRIPTION OF THE DRAWINGS
For the purposes of illustrating the present invention, there is shown in the drawings a form which is presently preferred, it being understood however, that the invention is not limited to the precise form shown by the drawing in which:
FIG. 1 illustrates the structure of the electronic publication employed by the present invention; and
FIG. 2 depicts an exemplary electronic reader capable of reading the electronic publication.



DETAILED DESCRIPTION OF THE INVENTION
The reader of the present invention is appropriate for a wide variety of enhanced ebook content, including for electronic children's picture books.
Throughout this document references are made to “pages” for simplicity, understanding that a page of the publication might correspond to a two-page spread of the corresponding physical book. Some of the goals achieved by the electronic publication include a well defined and documented format, optimal multi-platform support with a single zipped file to maintain, ingest, and distribute, and fully supported Digital Rights Management, DRM.
The reader of the present invention operates on an electronic device as illustrated in FIG. 2 and serves as a reader for electronic publications in the format described in connection with FIG. 1, the ePiB format. The reader is launched automatically by a library application when the user chooses to read an electronic publication in the ePiB format.
The reader exits either when the users closes the electronic publication which is trigger from within the electronic publication content or presses the Home key on the device 500. On exiting, the unzipped and unencrypted electronic publication data is purged from the memory and/or disk of the device 500. This purging can be handled by the reader itself or by the library application.
The reading experience provided by the present invention is immersive, meaning the electronic publication itself fills the screen with a minimum of visible user interface (UI) elements. Page turns are driven by both swipe gestures and taps in the right and left gutters of the screen of device 500. Zooming into the page is done with a pinch/spread multi-touch gesture.
The reader also provides a Heads Up Display, HUD, button on the screen of device 500 that launches further navigation possibilities. Such navigation controls include commands such as “return to the library” or a Thumbnail Navigation Scrubber.
Text enlargement is triggered by a single or double tap on a text box on a page of the electronic publication being displayed. Clicking anywhere on the screen of device 500 closes the enlarged text box. Some children's books include narration, which is tied to page turns and to text blocks. Pages themselves, as displayed by the reader, have varying levels of interactivity as defined by the SWF files that make up the electronic publication's content. SWFs need a mechanism to accept gesture events to control them.
For children's books, when a child enters an interactive mode (i.e., launches an activity on a page), the normal page turn gestures are disabled and replaced with specific page-turn icons, to lessen confusion. Additionally, a page turn automatically ends an activity on a page.
For adult trade books, some ability to save data is desirable. For example, a user of a crossword puzzle book done might want to save work done to date between readings. The reader provides the user with the ability to save the work already performed in the crossword puzzle book.
The ePiB format specifies a folder 154 for thumbnail images of each page/spread. The reader of the present invention accesses those thumbnails to implement a navigation scrubber.
ePiBs for children's books are typically in landscape mode. Adult trade books encoded in the ePiB format can be in either portrait or landscape, and might also adapt to either orientation. The reader of the present invention accommodates an accelerometer in device 500 for orientation detection and also provides for a locked-orientation mode.
Brightness and volume controls are accessible from within the reader.
The reader of the present invention supports ePiB, ePub, Digital Rights Managed and non Digital Rights Managed content. As a user selects an electronic publication in a library application, the library application detects the MIME type of the electronic publication and has Adobe RMSDK perform DRM decryption and zip extraction to hidden partition.
Once the electronic publication has been unzipped and decrypted, the reader of the present invention is pointed to newly extracted folder and looks for the proper ePiB structure, including the TOC, Images, JSON files as further described below. Using the roadmap contained in the electronic publication according to the ePiB format, SWF dynamically creates ‘ePiB’ book based on the assets (audio/images) and the page structure contained with the JSON file. When a user initially opens an electronic publication, the reader will open the publication to the publication's cover page.
In reading mode, the current reading page, previous and next reading page are all rendered in memory by the reader. When a user exits the reader while reading an electronic publication, in all cases when the user opens the electronic publication again, the user returns to the same reading location and same overall state. For example. if the user hit the power key or the home key when the contextual menu was up, the user will return to the just read page. If minimal tools have been activated and the user left and returned, they will return with the minimal tools ON.
The reader of the present invention provides the following reading navigation tools. A user can turn the page by swiping on the touch screen of the device 500. The user can swipe anywhere on the page to turn to the previous or next page. The user swipes left to right to turn to previous page and swipes right to left to turn to the next page. The user can also turn the page by tapping on the touch screen. In a preferred embodiment, the user can top on the page gutters (20% left and right) to turn to the previous or next page. The reader further provides an animation upon the turning of the page in the form of a curled page on turning.
User can zoom in/out on the illustrations on a page displayed by the reader by using a pinch or spread gesture on the touch screen. Further, the user can use a touch gesture to pan around in a page.
The format of the electronic publication used by the reader of the present invention makes use of the Open Packaging Format (OPF) and the OEBPS Container Format (OCF) that are part of the EPUB® specification described above for organizing, specifying, and packaging content data for electronic content. Using these standard specifications provides several benefits. The OPF and OCF specifications are well understood and supported, so reading systems, such as the present invention, that support OPF and OCF can support the format of the present invention with certain modifications and extensions. The DRM in place in readers to handle traditional ePub documents can be used with the enhanced ePub publications of the present invention without modification.
The reader of the present invention separates the structural description of a publication, its media elements, and its interactivity logic. This architectural separation within the format of an electronic publication provides several benefits. Because the media assets, by far the largest elements of any advanced electronic publication, are separated from the interactivity logic and the structure, multiple renditions of the logic can exist within one document, without the electronic publication growing unreasonably large.
Because there can be multiple renditions of the interactivity logic, the reader of the present invention can make use of different technologies supported by different devices (e.g., Flash on an Android device, HTML5 and JavaScript on an iOS device).
One of the important aspects of the present invention is the folder structure utilized by the reader. An example of an enhanced ePub file 100 used by the reader of the present invention is illustrated in FIG. 1. Following the OCF format specification, there are two root-level folders, META-INF 105 and OEBPS 110. As with traditional ePub files, the enhanced ePub container 100 of the present invention includes the mimetype 107.
The OEBPS folder 110 serves as the root of both the SWF and the XHTML versions of the publication. The OEBPS folder 110 contains at least the following files: Toc.ncx 115; Content.opf 120; Book.html 130; and Book.swf 140. Content.opf 120 is a file that contains publication metadata and a manifest of the files that make up the electronic publication.
Book.swf 140 is the primary SWF file that drives the Flash reader of the electronic publication. This SWF file 140 includes publication-level logic, including page turns, navigation scrubber, reading mode, etc. The primary SWF file 140 loads individual page-level SWF files to allow the reader to render the individual pages of the electronic publication. Using the page-level SWF files, the reader of the present invention can load background and animation images from the IMAGES subdirectory 150 and audio from the AUDIO subdirectory 160 as further described below.
Book.html 130 is the primary HTML file that drives the HTML/JS reader of the present invention. The HTML Architecture is similar to the Flash rendition architecture. Book.html 130 is essentially an HTML/JavaScript application that operated on the reader and loads and unloads pages according to user navigation, and handles memory in the reader by adding and deleting nodes of the Document Object Model, DOM, tree. All graphic and audio content is referenced from the same directories, e.g. IMAGES 150, AUDIO 160, and are the same files as used by the Flash rendition.
When executed by the reader, both the Book.html 130 and the Book.swf 140 primary files make use of the Book 170, JS 180 and Book.CSS 190 folders as further described below.
Additionally, OEBPS folder 110 contains the following subfolders: IMAGES 150; AUDIO 160; BOOK 170; JS 180; and CSS 190.
IMAGES subfolder 150 contains all of the images 152 used on the pages in the electronic book contained in enhanced ePub file 100. The images 152 contained in subfolder 150 are preferably in either the PNG or JPG format. IMAGES folder 150 preferably includes a subfolder THUMBNAILS 154. Electronic books are broken typically into “spreads” (typically facing pages from the print version). Each spread has a thumbnail reference (image), the actual width and height of the image of the spread, an identifier of the image for the spread, and “narration” entries. Subfolder THUMBNAILS 154 contains thumbnail images 156 of each spread (e.g., two facing pages) in the electronic book for use by a book-level navigation scrubber in an electronic reader capable of reading the electronic book.
AUDIO subfolder 160 contains all the audio files 162, 164 associated with the electronic publication contained in the enhanced ePub file 100.
BOOK subfolder 170 contains the JSON data files 175 used for the page layout for the electronic publication contained in the enhanced ePub file 100. The size, position, and contents of each text block on a page is described and associated with each book page. The primary file in BOOK subfolder 170 is book.json 175. This file contains the structural definition of the publication in the form of JSON data.
Book.json 175 begins with publication level data, including the following (note that the actual values are provided exemplary purposes only):

    
    
        “title”: “The Title of the Publication”,
        “author”: “Author's Name”,
        “width”: 1536,
        “height”: 768,
        “backCoverPromo”: “backcoverpromo”,
    
    


The width and height values specify the pixel dimensions of the source assets of the electronic publication. An electronic reader displaying the enhanced ePub publication uses these values to scale the displayed version of the publication to the size of the view screen of the electronic reader. For example, on a screen of an electronic reader with dimensions of 1024×600, the publication described above would display at a resolution of 1024×512.
Following the publication-level metadata in Book.json 175, is an array of spreads, specified by:















“spreads”:



[









...









]










Each element of the array of spreads preferably has the following format. Again, the values used herein are exemplary only.















{









“thumbId”: “thumb_11-12_0”,



“width”: 1536,



“height”: 768,



“assets”:



[









{









“itemref”: “spread_11-12_0”









}









]



,



“narration”:



[









{









“itemref”: “narration_11-12_01”,



“id”: “narration0”,



“audio”: “audio_11-12_01”,



“initial-width”: 555,



“initial-height”: 232,



“initial-left”: 111,



“initial-top”: 47,



“width”: 966,



“height”: 386,



“left”: 59,



“top”: 60









}



,



{









“itemref”: “narration_11-12_02”,



“id”: “narration1”,



“audio”: “audio_11-12_02”,



“initial-width”: 502,



“initial-height”: 138,



“initial-left”: 933,



“initial-top”: 596,



“width”: 862,



“height”: 219,



“left”: 661,



“top”: 547









}









]



,



“activity”:



[









{









“itemref”: “”,



“autoplay”: false









}









]









}










“thumId,” as used above, references a thumbnail image 156 in IMAGE directory 150 and is used to represent the spread in a “thumbnail scrubber” navigation method.
“Width” and “height,” as used above, specify the pixel dimensions of the assets in the particular spread being described. Generally, the width and height of a spread corresponds to the book-level width and height dimensions, but can vary depending on the spread.
“Assets” as used above is an array of references to image, animation, and interactivity assets used in this spread.
“Narration” is an array of specifications of textboxes on the screen. Each element of that array specifies the image asset used when that textbox is enlarged, the audio file (if any) that accompanies that text box, the bounding box of the unenlarged text box (used as the triggering hotspot to enlarge the box) and the resulting bounding box of the enlarged text box. The narration array is an optional component.
“Activity” is a specification of the activity that occurs on that spread, as specified in the assets portion of the spread description. It is an optional component.
Other data can be included in the spread description, allowing the format to extend its functionality.
CSS subfolder 190 contains all the CSS files 195 pertaining to the electronic publication contained in the enhanced ePub file 100. These files 195 add styles to the document without having to repeat code in HTML at each individual instance. Using the CSS files 195, the style need only be applied once.
JS subfolder 185 contains all JavaScript files 185 pertaining to the electronic publication contained in the enhanced ePub file 100. JavaScript files 185 add interactivity functionality to pages in the electronic publication, for example, pop up or text boxes.
As previously described, presently, there are two primary architectures for rendering electronic publications, the Flash Rendition Architecture and the HTML/JS Rendition Architecture.
The Flash rendition of the electronic publication is driven by a primary SWF file Book.swf 140. This SWF 140 includes publication-level logic, including page turns, navigation scrubber, reading mode, etc. The primary SWF file 140 loads individual page-level SWF files to render the individual pages of the electronic publication. The page-level SWF files load background and animation images from the IMAGES subdirectory 150, audio from the AUDIO subdirectory 160, etc. The page-level SWF files open data files from the BOOK directory 170 to position elements on the page being rendered. In this way, the page-level SWF files are largely similar to one another, unless they include activities. For most electronic publications, the page-level SWF files may be identical except for the data files to which they point.
The HTML/JS Rendition Architecture is similar to the Flash rendition architecture, where the publication is driven by a book level HTML file, Book.html 130. Book.html 130 is essentially an HTML/JavaScript application that loads and unloads pages according to user navigation, and handles memory by adding and deleting nodes of the Document Object Model, DOM, tree. All graphic and audio content is referenced from the same directories, e.g. IMAGES 150, AUDIO 160, and are the same files as used by the Flash rendition.
The format of the container 100 of the electronic publication is structurally an ePub file. Everything the reader of the present invention needs to present the content as intended is listed as an <item> in the <manifest> section of the enhanced ePub file 100.
However, in contrast to a traditional ePub structure, there is a JSON file 175 contained in the BOOK directory 170 in the enhanced ePub container 100. This JSON file 175 contains metadata that tells the reader application how the various pieces of the electronic publication should be presented. This structure employed in an electronic reader is not taught or suggested by traditional ePub container structure.
In operation, when the electronic reader of the present invention loads an electronic publication according to the format described above, the enhanced ePub file 100 is digested and the name/value pairs of IDs and file paths are stored. The JSON file 175, the roadmap to the electronic publication, is read and converted into an in-memory data structure in the reader. The first spread in the book, as referenced by the JSON file 175, is drawn or rendered by the reader.
Each narration entry associated with a spread contains a “hit zone” that tells the reader where a tap should be interpreted as a request to zoom into the text of a narration, how big the zoomed-in image should be, and whether or not there is an audio clip associated with this narration asset. “Hit zones” for any narration assets are remembered for that page. If a user taps in a hit zone, the narration text for that hit zone is displayed in a zoomed state.
If there is an audio clip accompanying the narration text, a play button is displayed at the upper-right of the zoomed narration area. Tapping the play button plays the audio clip. The reference to an audio clip in the JSON file 175 is the identifier for the entry 162, 164 in the AUDIO directory 160.
FIG. 2 illustrates an exemplary device 500. As appreciated by those skilled the art, the device 500 can take many forms capable of operating the present invention. As previously described, in a preferred embodiment the device 500 is a mobile electronic device, and in an even more preferred embodiment device 500 is an electronic reader device. Electronic device 500 can include control circuitry 500, storage 510, memory 520, input/output (“I/O”) circuitry 530, communications circuitry 540, and display 550. In some embodiments, one or more of the components of electronic device 500 can be combined or omitted, e.g., storage 510 and memory 520 may be combined. As appreciated by those skilled in the art, electronic device 500 can include other components not combined or included in those shown in FIG. 2, e.g., a power supply such as a battery, an input mechanism, etc.
Electronic device 500 can include any suitable type of electronic device. For example, electronic device 500 can include a portable electronic device that the user may hold in his or her hand, such as a digital media player, a personal e-mail device, a personal data assistant (“PDA”), a cellular telephone, a handheld gaming device, a tablet device or an eBook reader. As another example, electronic device 500 can include a larger portable electronic device, such as a laptop computer. As yet another example, electronic device 500 can include a substantially fixed electronic device, such as a desktop computer.
Control circuitry 500 can include any processing circuitry or processor operative to control the operations and performance of electronic device 500. For example, control circuitry 500 can be used to run operating system applications, firmware applications, media playback applications, media editing applications, or any other application. Control circuitry 500 can drive the display 550 and process inputs received from a user interface, e.g., the display 550 if it is a touch screen.
Orientation sensing component 505 includes orientation hardware such as, but not limited to, an accelerometer or a gyroscopic device and the software operable to communicate the sensed orientation to the control circuitry 500. The orientation sensing component 505 is coupled to control circuitry 500 that controls the various input and output to and from the other various components. The orientation sensing component 505 is configured to sense the current orientation of the portable mobile device 500 as a whole. The orientation data is then fed to the control circuitry 500 which control an orientation sensing application. The orientation sensing application controls the graphical user interface (GUI), which drives the display 550 to present the GUI for the desired mode.
Storage 510 can include, for example, one or more storage mediums including a hard-drive, solid state drive, flash memory, permanent memory such as ROM, any other suitable type of storage component, or any combination thereof. Storage 510 can store, for example, media content, e.g., eBooks, music and video files, application data, e.g., software for implementing functions on electronic device 500, firmware, user preference information data, e.g., content preferences, authentication information, e.g., libraries of data associated with authorized users, transaction information data, e.g., information such as credit card information, wireless connection information data, e.g., information that can enable electronic device 500 to establish a wireless connection, subscription information data, e.g., information that keeps track of podcasts or television shows or other media a user subscribes to, contact information data, e.g., telephone numbers and email addresses, calendar information data, and any other suitable data or any combination thereof.
Memory 520 can include cache memory, semi-permanent memory such as RAM, and/or one or more different types of memory used for temporarily storing data. In some embodiments, memory 520 can also be used for storing data used to operate electronic device applications, or any other type of data that can be stored in storage 510. In some embodiments, memory 520 and storage 510 can be combined as a single storage medium.
I/O circuitry 530 can be operative to convert, and encode/decode, if necessary analog signals and other signals into digital data. In some embodiments, I/O circuitry 530 can also convert digital data into any other type of signal, and vice-versa. For example, I/O circuitry 530 can receive and convert physical contact inputs, e.g., from a multi-touch screen, i.e., display 550, physical movements, e.g., from a mouse or sensor, analog audio signals, e.g., from a microphone, or any other input. The digital data can be provided to and received from control circuitry 500, storage 510, and memory 520, or any other component of electronic device 500. Although I/O circuitry 530 is illustrated in FIG. 2 as a single component of electronic device 500, several instances of I/O circuitry 530 can be included in electronic device 500.
Electronic device 500 can include any suitable interface or component for allowing a user to provide inputs to I/O circuitry 530. For example, electronic device 500 can include any suitable input mechanism, such as a button, keypad, dial, a click wheel, or a touch screen, e.g., display 550. In some embodiments, electronic device 500 can include a capacitive sensing mechanism, or a multi-touch capacitive sensing mechanism.
In some embodiments, electronic device 500 can include specialized output circuitry associated with output devices such as, for example, one or more audio outputs. The audio output can include one or more speakers, e.g., mono or stereo speakers, built into electronic device 500, or an audio component that is remotely coupled to electronic device 500, e.g., a headset, headphones or earbuds that can be coupled to device 500 with a wire or wirelessly.
Display 550 includes the display and display circuitry for providing a display visible to the user. For example, the display circuitry can include a screen, e.g., an LCD screen, that is incorporated in electronics device 500. In some embodiments, the display circuitry can include a coder/decoder (Codec) to convert digital media data into analog signals. For example, the display circuitry or other appropriate circuitry within electronic device 1 can include video Codecs, audio Codecs, or any other suitable type of Codec.
The display circuitry also can include display driver circuitry, circuitry for driving display drivers, or both. The display circuitry can be operative to display content, e.g., media playback information, application screens for applications implemented on the electronic device 500, information regarding ongoing communications operations, information regarding incoming communications requests, or device operation screens, under the direction of control circuitry 500. Alternatively, the display circuitry can be operative to provide instructions to a remote display.
Communications circuitry 540 can include any suitable communications circuitry operative to connect to a communications network and to transmit communications, e.g., data from electronic device 500 to other devices within the communications network. Communications circuitry 540 can be operative to interface with the communications network using any suitable communications protocol such as, for example, Wi-Fi, e.g., a 802.11 protocol, Bluetooth, radio frequency systems, e.g., 900 MHz, 1.4 GHz, and 5.6 GHz communication systems, infrared, GSM, GSM plus EDGE, CDMA, quadband, and other cellular protocols, VoIP, or any other suitable protocol.
Electronic device 500 can include one more instances of communications circuitry 540 for simultaneously performing several communications operations using different communications networks, although only one is shown in FIG. 2 to avoid overcomplicating the drawing. For example, electronic device 500 can include a first instance of communications circuitry 540 for communicating over a cellular network, and a second instance of communications circuitry 540 for communicating over Wi-Fi or using Bluetooth. In some embodiments, the same instance of communications circuitry 540 can be operative to provide for communications over several communications networks.
In some embodiments, electronic device 500 can be coupled to a host device such as digital content control server for data transfers, synching the communications device, software or firmware updates, providing performance information to a remote source, e.g., providing riding characteristics to a remote server, or performing any other suitable operation that can require electronic device 500 to be coupled to a host device. Several electronic devices 500 can be coupled to a single host device using the host device as a server. Alternatively or additionally, electronic device 500 can be coupled to several host devices, e.g., for each of the plurality of the host devices to serve as a backup for data stored in electronic device 500.
Although the present invention has been described in relation to particular embodiments thereof, many other variations and other uses will be apparent to those skilled in the art. It is preferred, therefore, that the present invention be limited not by the specific disclosure herein, but only by the gist and scope of the disclosure.

## Claims

1. A method for displaying an electronic publication comprising:
opening a root level folder in the electronic publication, wherein the root level folder is an Open eBook Publication Structure, OEBPS, folder;
retrieving an architecture file from the root level folder;
retrieving a data file in the electronic publication, wherein the data file contains JavaScript Object Notation, JSON, data
rendering a page of the electronic publication in accordance with instructions contained in the architecture file and the data file;
accessing an image folder in the electronic publication in accordance with instructions contained in the architecture file;
retrieving an image from the image folder;
displaying the image on the page in accordance with instructions contained in the architecture file and the data file;
accessing an audio folder in the electronic publication in accordance with instructions contained in the architecture file;
retrieving an audio file from the audio folder; and
playing the audio file in connection with the page in accordance with instructions contained in the architecture file and the data file.

2. The method according to claim 1, further comprising opening a second root level folder, the second root level folder being a META-INF folder.

3. The method according to claim 1, further comprising opening a JavaScript folder, the JavaScript folder containing JavaScript files.

4. The method according to claim 3, further comprising executing interactivity functions in association with the page according to instructions contained in the JavaScript files.

5. The method according to claim 1, further comprising:
opening a Cascading Style Sheet folder; and
applying styles to the page in accordance with Cascading Style Sheet files contained in the Cascading Style Sheet folder.

6. The method according to claim 1, wherein the file is a SWF file, the method further comprising loading and executing page level SWF files for rendering the page, wherein links to the image and audio and image files are contained in the page level SWF files.

7. The method according to claim 1, wherein the file is a HTML/JS file, the method further comprising rendering the page according to instructions contained in the HTML/JS file.

8. The method according to claim 1, further comprises:
retrieving thumbnail images of pages of the electronic publication from a thumbnail folder; and
displaying the thumbnail images.

9. A reader for displaying an electronic publication comprising:
a display;
an audio subsystem capable of playing audio files;
a memory, the memory storing the electronic publication; and
control circuitry coupled to the display and coupled to the memory, the control circuitry operable to:
open a root level folder in the electronic publication, wherein the root level folder is an Open eBook Publication Structure, OEBPS, folder;
retrieve an architecture file from the root level folder;
retrieve a data file in the electronic publication, wherein the data file contains JavaScript Object Notation, JSON, data
render a page of the electronic publication on the display in accordance with instructions contained in the architecture file and the data file;
access an image folder in the electronic publication in accordance with instructions contained in the architecture file;
retrieve an image from the image folder;
display the image on the page displayed on the display in accordance with instructions contained in the architecture file and the data file;
access an audio folder in the electronic publication in accordance with instructions contained in the architecture file;
retrieve an audio file from the audio folder; and
play the audio file using the audio subsystem in accordance with instructions contained in the architecture file and the data file.

10. The reader according to claim 9, wherein the control circuitry is further operable to open a second root level folder, the second root level folder being a META-INF folder.

11. The reader according to claim 9, wherein the control circuitry is further operable to open a JavaScript folder, the JavaScript folder containing JavaScript files.

12. The reader according to claim 11, wherein the control circuitry is further operable to execute interactivity functions in association with the page according to instructions contained in the JavaScript files.

13. The reader according to claim 9, wherein the control circuitry is further operable to:
open a Cascading Style Sheet folder; and
apply styles to the page in accordance with Cascading Style Sheet files contained in the Cascading Style Sheet folder.

14. The reader according to claim 9, wherein the file is a SWF file, wherein the control circuitry is further operable to load and execute page level SWF files for rendering the page, wherein links to the image and audio and image files are contained in the page level SWF files.

15. The reader according to claim 9, wherein the file is a HTML/JS file, wherein the control circuitry is further operable to render the page according to instructions contained in the HTML/JS file.

16. The reader according to claim 9, wherein the control circuitry is further operable to:
retrieve thumbnail images of pages of the electronic publication from a thumbnail folder; and
display the thumbnail images on the display.