advplyr / audiobookshelf

Self-hosted audiobook and podcast server
https://audiobookshelf.org
GNU General Public License v3.0
6.17k stars 431 forks source link

Display book rating for books #1153

Open derkington opened 1 year ago

derkington commented 1 year ago

Describe the feature/enhancement

Can book ratings be added audiobookshelf if it’s set in the file metadata? My books are tagged with RATING WMP, it would be great if audiobookshelf was able to display this information both via browser and mobile applications.

wal-and commented 1 year ago

This functionality is also important to me.

advplyr commented 1 year ago

How do you want this to be displayed and edited in the UI? I can't think of a good way to implement this.

Is this a rating for 1 to 5?

Dr-Blank commented 1 year ago

Is this a rating for 1 to 5?

It has been the default way to go to for most apps that implement ratings.

I liked the way plexamp has implemented it.

Under the user settings you can choose your own scale:

  1. One star system, either star it or not (in the database rating is either 0 for no stars, and 10 or 100 for 1 star) (and anything above 49 is rendered as 1 star, so basically rounding it)
  2. Five-star system, what is enabled by default, database stores 0, 2, 4, 6, 8, 10
  3. Five-star system with half star enable, you get it how db will store the ratings.

Screenshot_2023-04-09-19-12-13-438_tv plex labs plexamp jpg

Musicbrainz stores a value between 0 and 100 in its db, but in its ui it only renders as a five-star system.

Audible also uses a five-star system, but idk how it is stored under db.

But I would like it to be able to switch how the ratings are rendered in the ui, some like simple rating, some like more granular.

Also, since we are talking about rating, I like how audible lets you rate the book, and the performance separately. And I like this idea a lot because there are some narrators that just butcher a good book but I don't want the book rating to suffer due to that. On the contrary there are absolutely amazing voices that just don't get good material.

I would imagine filtering and sorting my library based on the performance and then selecting narrators adding a filter to get unread books for me to read next. Just one of the use cases off the top of my head.

wal-and commented 1 year ago

Thank you for this question. For me, the most convenient would be a system from 1 to 10 expressed in numbers, no. 7.2 or 8.4, with one decimal place.

Wysłane z iPhone'a

Wiadomość napisana przez advplyr @.***> w dniu 10.04.2023, o godz. 00:30:

 How do you want this to be displayed and edited in the UI? I can't think of a good way to implement this.

Is this a rating for 1 to 5?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

derkington commented 1 year ago

Reading the above and thinking more about why this is useful to me

1) When choosing a book I want to know what I am getting into from the start based on general opinion, so if there’s a rating applied to the file under the following tags then that would be useful to have that as the first rating or starting point. This could be optional, start with existing ratings in files or ratings pulled from metadata sources or no rating.

2) I want to be able to give my opinion for a book I have listened to and make that visible to those who might listen to the same book and have them give a rating and have that contribute to an overall raring

So maybe what is displayed is an “Average rating” for the book which is the combination of ratings from all users of your abs server. Then if you click on the “Average rating” it takes you to a list of the ratings for each user?

User 1 gave rating = User 2 gave rating = User 3 gave rating =

Regarding representation I like the idea of the star system, I think I prefer 5 stars with half stars. But I would be happy with the numerical rating as well, again 1-5.

advplyr commented 1 year ago

I think the ratings from external sources and the ratings by users on your server will need to be separate. Along with the rating from audible for example we usually get the number of users that rated. We would store both of that information from an external provider.

So far the best way I can think of to do this is similar to how Plex does it. The external rating would include a small icon of wherever it came from. That would be mostly Audible but I think Google books may have ratings also. We won't have access to Goodreads ratings since they closed their API. That would display as a decimal number like 4.5/5 then the Audible logo.

That leaves us to figure out the best way to allow you to rate a book on your server and a way to display what other users on your server rated a book. For this I'm thinking we use the 5 star system. You can select a star rating 1,2,3,4,5 and we figure out some way to display overall server average.

Lastly, many users don't want ratings so this feature will be able to be disabled.

wal-and commented 1 year ago

a rating of 1 to 5 is useful when rating items for yourself, but when multiple people are rating, the rating should be averaged. Will the precision of 0.5 be sufficient then? This is one of the reasons why I pointed out the usefulness of rating from 1 to 10 with one decimal digit.

Wysłane z iPhone'a

Wiadomość napisana przez advplyr @.***> w dniu 15.04.2023, o godz. 16:29:

 I think the ratings from external sources and the ratings by users on your server will need to be separate. Along with the rating from audible for example we usually get the number of ratings. We would store both of that information from an external provider.

So far the best way I can think of to do this is similar to how Plex does it. The external rating would include a small icon of wherever it came from. That would be mostly Audible but I think Google books may have ratings also. We won't have access to Goodreads ratings since they closed their API. That would display as a decimal number like 4.5/5 then the Audible logo.

That leaves us to figure out the best way to allow you to rate a book on your server and a way to display what other users on your server rated a book. For this I'm thinking we use the 5 star system. You can select a star rating 1,2,3,4,5 and we figure out some way to display overall server average.

Lastly, many users don't want ratings so this feature will be able to be disabled.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

iconoclasthero commented 11 months ago

Yes. This would be great. +2 as I have two thumbs.

Mlitz commented 10 months ago

I would love to see both Audible ratings and User Ratings. Maybe a way to turn both of them on and off separately.

sandmann91 commented 5 months ago

+1

nichwall commented 5 months ago

Please don't just comment "+1" or "I want this" and instead show support for features by reacting with a thumbs up to comments. https://www.audiobookshelf.org/faq/#i-have-a-feature-request-how-should-i-bring-this-up