Add ActivityPub Backend Implementation for storing application reviews, ratings
Currently F-droid does not have any database for application reviews(comments) or ratings . This makes it difficult for users to find the apps they want. So it makes sense to me to keep this data in each F-droid repository and pull this data on the client. I think Fediverse/ActivityPub infrastructure can be used for comment and rating data and this infrastructure should be added to the repomaker code. This also helps F-droid to handle comments/ratings without user accounts in f-droid backend.
Prerequisites (for enduser)
- User should have an ActivityPub/Fediverse account
*
Server Side Implementation
- ActivityPub Integration. All F-droid repositories (F-Droid Repo, IzzyOnDroid Repo .. e.g.) should have an ActivityPub Backend. This provides integration with other Fediverse Applications (Mastodon)
- This means all applications should be displayed like a Fediverse Post as this:
NewPipe [NewpipeLog]
Lightweight YouTube frontend
NewPipe does not use any Google framework libraries, or the YouTube API. It only parses the website in order to gain the information it needs. Therefore this app can be used on devices without Google Services installed. Also, you don't need a YouTube account to use NewPipe, and it's FLOSS.
Comment Below to add your review to F-Droid Store ⬇️ ( x/5 : Comment)
Like/Star/Favorite post for adding this App as Favorite
- In this case original poster will be
apps@f-droid.org
in fediverse. (orapps@apt.izzysoft.de
for applications that uses izzy repo ... and similar for other repos)
What this means for enduser?
- An user that wants to install an app can see ratings and comments based on local ActivityPub database (client fetches count/comments from App Repo)
- User can click on "Rate Button" / "Comment Button" and will be redirected to Fediverse Post in his/her favorite fediverse app.
- User can Star/Like post. This increase "favorited" number for an app
- User can add comment to post. This comment will be parsed and all "x/5" sections will be averaged. (This rate can be cached each day for avoid system usage)
Example User Interaction
---
Poster: apps@f-droid.org
AppName [AppLogo]
App Info
App Description
Comment Below to add your review to F-Droid Store ⬇️ ( x/5 : Comment)
Like/Star/Favorite post for adding this App as Favorite
---
|
|
|
-> (Assume I liked post and commented like this)
Poster: asandikci@mastodon.social
4/5: I love this app .... bla bla, an example app review here.
- In this scenario When an user clicks app in f-droid client app. Sees Favorited Number, Average Rating, User Reviews (and rating of each user that have an review):
asandikci@mastodon.social 🌟🌟🌟🌟
I love this app .... bla bla, an example app review here.
- Comments other than
x/5 : Comment
format should not be displayed in fdroid clients. But may be still visible via another fediverse client
Things Should be Discussed
- How nested comments should be handled (or should be even handled?)
- What if an app consist in multiple repository?
- Is Favorited section really needed? Maybe just comments and x/5 ratings is enough
- How to handle new apps
- When a new app published a new post should be created I guess
- How to handle app updates
- When an app updates, also update the AP Post, change app version and maybe also changelog could be included
Edited by Aliberk Sandıkçı