Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pagination of library data #683

Closed
abdulwd opened this issue Mar 31, 2018 · 11 comments
Closed

Pagination of library data #683

abdulwd opened this issue Mar 31, 2018 · 11 comments

Comments

@abdulwd
Copy link
Contributor

abdulwd commented Mar 31, 2018

Environment

  • Version of the software you use: 2.3
  • Device / operating system: Redmi Note 3 / Android 6.0.1

Feature Request

When we go to Menu -> Get Content, the list of books that can be download from the library must be paginated.

Feature Description

Presently, we download the full list of books which can we download from the Kiwix app regardless of the user language preferences. Around 7.1 MB is downloaded which contains the list of books. I have a 50Mbps connection but still, I have to wait for quite some time to see the list of books. Other users might be having a slower internet connection and have to wait longer. This is time and bandwidth consuming.

The list should only contain the books according to the user's language preference which he/she has selected from the globe icon. A user will never want to see the books in languages which he/she does not understand or we can say has not selected. This will save bandwidth and time. We will be needing an API on the server side which can provide the list of books only in the given languages and in the app codebase we can make a get request with the languages as parameters to get the books in the specified languages.

Along with this, we must have the list paginated. We can download around 20 books data at a time to fill the screen. When the user scrolls to the end of the list we can make another get request for the next set of books. This also has to be done on the server side and some changes have to be made in the app codebase.

@abdulwd
Copy link
Contributor Author

abdulwd commented Mar 31, 2018

@kelson42 @mhutti1 @EladKeyshawn @rashiq This will greatly enhance the user experience. We must implement this.

@hjoshi123
Copy link
Contributor

@kelson42 I think this is good feature. @abdulwd Can I work on this?

@kelson42
Copy link
Collaborator

kelson42 commented Apr 1, 2018

@hjoshi123 All the library UI will be rewritten before end of this year. I would not recommend to invest too much energy on this now.

@abdulwd
Copy link
Contributor Author

abdulwd commented Apr 1, 2018

@kelson42 This is independent of the UI of the library. Even after the revamp of the library we must have pagination of data. Our efforts will not go waste.

@kelson42
Copy link
Collaborator

kelson42 commented Apr 1, 2018

@abdulwd I don't think we have to provide a pagination system. For example: Google Play does not.

@abdulwd
Copy link
Contributor Author

abdulwd commented Apr 1, 2018

@kelson42 By pagination I mean to load a subset of data (list of books) from the network. Google Play Store does have it.

ezgif-3-d1eea7eb4c

@kelson42
Copy link
Collaborator

kelson42 commented Apr 1, 2018

The loading of the catalog will be soon be handled withing the libkiwix. So this is not something Kiwix for Android will handle directly. At least this is the plan: the stuff is in the libkiwix but still not exposed through the JNI. Even the ZIM download will be handled via the libkiwix... So, again, I do not think this makes a lot of sense to invest now on this at the Java level.

@sakchhams
Copy link
Contributor

@kelson42 but would the libkiwix implementation address the issues mentioned by @abdulwd ?

@abdulwd
Copy link
Contributor Author

abdulwd commented Apr 11, 2018

@kelson42 @mhutti1 Does the libkiwix makes the downloading of the catalogue of books faster?

@mhutti1
Copy link
Contributor

mhutti1 commented Apr 11, 2018

Yes it should do.

@kelson42
Copy link
Collaborator

Closing as #1203 will solve the pb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants