Group storybooks by ReadingLevel
nya-elimu opened this issue · comments
Each StoryBook has a ReadingLevel
. Display one list of books per reading level, i.e. some type of visual indication/categorization that a storybook belongs to one of the four levels.
Depends on elimu-ai/content-provider#44
Depends on elimu-ai/content-provider#66
Relates to elimu-ai/webapp#1166
@nya-elimuai Do you think this is a good solution for this issue?
@gscdev Yes, this looks like a good way to categorize the books 👍🏿
Also, note that we have some books that are not yet categorized by reading level (readingLevel == null
):
Screenshot from http://xho.test.elimu.ai/content/storybook/list
In the future we'll probably change the backend so that that the reading level field becomes compulsory. But for now, we might have books without a reading level. In that case, how do you think we should categorize them in the app's UI?
CC @Keerthi4308
I think we can have a section titled as Other Books instead of Reading level: Unleveled for now.
And also if a Reading level has more books (>4) then:
- Are we going to wrap to the next row?
- Have a single row with a slider kind of to display next book that falls under the same level?
I can add the section Other books.
@Keerthi4308 with more books, the level has more rows
Okay, then should we have an additional option say dropdown on the top bar to pick reading level so that scrolling down is not the only option and we can have a default set to Level 1/ save the state to whatever user selects at a later point of time.
@gscdev @Keerthi4308 Let's solve this without adding more complexity to the code. So here is a solution: We will make it a requirement for content creators to always select the reading level when they store storybooks in the database: elimu-ai/webapp#1166. After this has been implemented, we will remove the category "Reading level: Unleveled" from the website.
This way, we will never end up with a situation in the Android app where we have unleveled books. So, for now I suggest you treat storybooks without a reading level as belonging to the LEVEL1
category.
By keeping things as simple as possible, it will be easier to maintain the code in the future.
Okay, then should we have an additional option say dropdown on the top bar to pick reading level so that scrolling down is not the only option and we can have a default set to Level 1/ save the state to whatever user selects at a later point of time.
@Keerthi4308 There are definitely many ways we can improve the user experience of the list of books. For example, a student starting from scratch will not see all the books, since they will be gradually unlocked to match the student's current skill level.
When it comes to the UX/UI, please add new GitHub issues at https://github.com/elimu-ai/vitabu/projects/4 if you have ideas for how to improve it. 🙂
The main point for us to keep in mind is that the user interface needs to be simple enough for a child to be able to use it autonomously, including those children at reading level 1 who are not yet able to read with understanding.