Giter Site home page Giter Site logo

amahule / fbreaderj Goto Github PK

View Code? Open in Web Editor NEW

This project forked from skullkey/fbreaderj

13.0 8.0 3.0 29.6 MB

Official FBReaderJ project repository

Home Page: http://www.fbreader.org/FBReaderJ/

C 3.14% C++ 0.11% Java 63.28% Shell 33.41% Python 0.05%

fbreaderj's Issues

Browse and Discover content

User Story
As an Aster user, I can browse for books by category, most popular and recently added in both anonymous and logged-in mode, so I can discover content matching my interest

Search for Bookshare books in logged-in mode

User Story:
As an Aster user, I can use the same search capabilities ( eg. ISBN, Title, BookId, Title/Author etc) as in Bookshare.org, in both anonymous and logged-in mode, so I can quickly find the books I need.

Error Feedback

As an Aster user, I expect elegant and useful messages when things do not work as expected in every step of work flow.

Is it possible to provide audible feedback?

Local Library organization

As an Aster user, I can find the books organized by few key attributes ( eg. author, title, recently used), so I can find my content efficiently.

Navigation : Reading of foot notes

At any time during the reading of a note, the user shall be able to interrupt the reading and return to the point in the text immediately following the note reference.

Search for Bookshare books in anonymous mode

User Stories:
As an Aster user, I have the option to use the app in anonymous mode to search and download public domain/generally available Bookshare content.
As an Aster user, I can use the same search capabilities ( eg. ISBN, Title, BookId, Title/Author etc) as in Bookshare.org, in anonymous mode, so I can quickly find the content I need.

Navigation : Instant Start/Stop

User Story:
Playback can be stopped/started instantly by the user. The device can be stopped and then restarted and no audio material will be missed.

Import DAISY content

User Story:
As an Aster user, I can import my personal DAISY content from my computer to my mobile device, so I can access content seamlessly.

Navigation: Setting Bookmarks

User can set one or more bookmarks for later access. Bookmarks are saved even when phone is turned off and are deleted only upon user initiation.

Navigation: Ability to retrace steps

The reader maintains a "history" file of the locations the user has passed through when moving through the document in discrete steps. The user can move backwards and forwards through that list of locations.

Provide Book Info

User Story
As an Aster user, I can view detailed information about the book ( author, date published, , category, synopsis, freely available, available for download ) from the search results, so I can learn more about the book.

Local library search

As an Aster user, I can search my local library by common search attributes such as author, title and category so I can find my content efficiently.

Navigation: Useable table of contents/index

User can access the table of contents/index from any point in the book and select an entry for immediate access. Links from table of contents lead to the item selected. Links from index lead to the top of the page selected.

Epic: Help functions

Place holder for Help functions such as:

  1. Key identifier:
    Buttons identify themselves when pressed. This function can be enabled/disabled by the user.
  2. Confirmation messages ("earcons")
    Spoken messages confirm user's action, e.g. system says "play" when "play" key is pressed.

3 Audible error feedback
Tones or spoken messages are generated when user attempts an invalid function, e.g. pressing the "move forward" key when already at the end of the document. Configurable/queryable. One configuration might involve the use of a tone to indicate an error, with a spoken message following if invoked by the user.

4 "Drill down capability" (Tell me where I am.)
More button presses provide more detailed information. For example, multiple presses might elicit location information such as title, chapter, page, etc.

  1. Summary Information
    User can query the device and obtain a quick overview of the document (e.g., 563 pages, 9 hours of play, 4 levels of heading, 2 parts, 12 chapters, 5 tables). Information is dynamic and can be tailored to the contents of the user's current location (e.g., chapter 11).

Status of download

As an Aster user, I am alerted to the status of the download, so I can ensure the intended operation completed successfully.

Wrong book downloaded from search results...

Steps to reproduce:

  1. Make sure there are no "The Divine Comedy" books in local library
  2. Do a Bookshare Title search for "The Divine Comedy"
  3. Select the first book by Henry Wadsworth Longfellow.
  4. Notice the Bookshare id starts with 35, however it should be 2885
  5. Then when you go to the local library, it display book information for the one starting in 2885 and displays a download link, since it downloaded the one starting in 35.

There also seems to be issues when you click back from the search results that are related to this.

Login using Bookshare account

User Story:
As an Aster user, I can login using my Bookshare account, so I can utilize both generally available and protected Bookshare content.

Navigation: Easy skips (defined by document)

User can skip through the document by segments defined by document elements such as chapters, pages, paragraphs, etc. In this mode, the user moves through the elements sequentially, rather than jumping directly to a specific target.

Navigation: Fast forward and fast reverse

Controls allow user to move forwards or backwards through the text at 5 to 20 times normal speed, with audible feedback ("chatter," tones, or spoken cues) providing information on the structure of the document.

Modify Bookshare account preferences

As a Bookshare member I have the ability to modify basic aspects of my user profile (download password, adult content filter ) directly from the device.

"War and peace" Freely available book on bookshare.org does not show the download button

  1. Look for "war and peace" on the bookshare.org , advanced search
    with filter set to "Freely Available" books. War and peace does show up.
  2. on FBreader, when you do a title search, it lists 2 entries, one with the blue download sign.
    clicking on it shows the book details , but the "Download" symbol does not appear.

Since it was listed as freely available on the bookshare site, I was expecting the same behaviour on FB Reader.

Forgot Password - help page

As an Aster user, I am prompted with the right set of actions, in case I have forgotten my password, so I can reset the same.

Author and Title not displayed correctly for downloaded books

  1. Add bookshare catalog
  2. Search for "Beatrix Potter"
  3. Download "The Great Big Treasury of Beatrix Potter"
  4. Book downloads successfully, and the a link is given to "Open local library"
  5. In local library, author is "Unknown"
  6. The Title is displayed with hyphens as "The_Great_Big_Treasury_of_Beatrix_Potter"

Behavior in 5) and 6) are not user friendly. We should display Author name and spaces rather than hyphens in the Title.

Sign up functionality

User Story:
As an Aster user, I need to be directed to a suitable place with information to create a Bookshare membership if I do not already have a Bookshare account.

Migrate API code to new Benetech API

  1. Apply for a developer key at bookshare.mashery.com
  2. Instead of using basic authentication, append the following parameter to your web service calls ?api_key=YOURKEY
  3. Let's store this key in the code and use the currently authentication dialogs in the app to get Bookshare user account credentials for downloading books that are not freely available.
  4. For user authenticated requests send md5 of user password in http header named "X-password"

Example:
http://bookshare.api.mashery.com/book/search/title/The%20Divine%20Comedy?api_key=YOURKEY

Note final endpoint will be https://api.bookshare.org

Navigation: Labelling book marks

User can tag bookmarks with text or voice labels. The same label can be assigned to multiple bookmarks to create a set of related bookmarks. The user can browse through all existing bookmarks.

Bookshare login happens for wrong username/password as well

Following is cause of the bug:
If the response code is 401, only then the login is flagged as unsuccessful.
However, it is observed that sometimes error code 500 is sent as part of response when the login credentials are wrong.
[Adding this condition to the verifying step should be the fix]

Navigation : Ability to move directly to a specific target

User can easily jump directly to a specific point in the document such as page 56 or chapter 12. The user selects or enters the name of the target and then initiates the jump.

User can jump directly to a location identified in the document as a target (for example a cross-reference). The user encounters a cross-reference, for example, "See Appendix 5," and activates the link to that location. When a user prompts the device to follow a link, the device launches the nearest previous link. This allows a user to activate a link even if he has not reacted immediately after being notified of the link.

Navigation: Ability to manage foot notes

Footnotes can be managed in a variety of ways. The user can set her configuration profile so that:

  1. footnote references and the footnotes themselves are automatically played in full,
  2. footnote references are played but the footnotes are not unless the user chooses to hear one, or
  3. footnote references and footnotes are skipped

Navigation: Current Location

User can obtain information about current location in book relative to the entire book such as "n% read, n% remaining" or "n hours remaining," and logical location such as "chapter 5, page 129, paragraph

Navigation: Cross-Reference notification

The user has the option of being notified via an audible signal when a cross-reference is encountered. Default is to enable it. User may choose among several audible indicators.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.