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

Popularity #165

Open
petermasking opened this issue Mar 29, 2024 · 6 comments
Open

Popularity #165

petermasking opened this issue Mar 29, 2024 · 6 comments
Labels
domain All issues related to the business domain feature New feature or request

Comments

@petermasking
Copy link
Member

We need to design a popularity system that we can use for the explore features.

@petermasking petermasking added feature New feature or request domain All issues related to the business domain labels Mar 29, 2024
@basmasking
Copy link
Member

The first and simple implementation could be very simple and show the posts ordered by the most likes on the post. I think for now that is good enough.

@petermasking
Copy link
Member Author

Should we also take the number of reactions into account to calculate the score based on all engagements?

For the creator popularity I think we can use the average comic post popularity score and the number of followers for the calculation.

@basmasking
Copy link
Member

Should we also take the number of reactions into account to calculate the score based on all engagements?

We could, but then I suggest to rate a reaction higher than a like. People tend to like easier then that they leave a reaction.

For the creator popularity I think we can use the average comic post popularity score and the number of followers for the calculation.

I like the idea of incorporating the number of followers, but I don't know if this is going to work the way we want.

Let's look at the following scenario: creator A creates a lot of good posts. Let's say A has 100 posts with an average of 300 likes, and has 1000 followers. The popularity score for A would be 0.3 (300 / 1000). Now that the creator is ranked number 1 in the explore creator ranking, A gains 501 new followers before a new post has been created. The popularity score now drops to 0.1998 (300 / 1501).

Creator B has 1 post with of 2 stars, and has 10 followers. The popularity for B would be 0.2 (2 / 10). Now that A has gained a lot of followers, B is now the most popular creator.

What I like about this idea is that creators with a small follower base can become popular quickly if they post some good content. Having a lot of people simply clicking on the post doesn't make you popular.

What I don't like is that if you have gone viral with a single post and don't do anything anymore, you can stay popular for a long time. Especially if people start to unfollow you, because then the number of followers decreases, making you even more popular.

Should we also keep track of the activity of the creator then?

@petermasking
Copy link
Member Author

petermasking commented May 5, 2024 via email

@basmasking basmasking self-assigned this May 9, 2024
@basmasking
Copy link
Member

I started with this issue and ran into a challenge. We need to resolve this before this story can be continued.

The reaction count, rating count, followers and following are all stored on the main domain objects itself (creator, post, reaction). We want to change this and introduce an engagement domain object. This separate model should help us in getting the numbers for popularity etc. easier.

@petermasking
Copy link
Member Author

We've been philosophizing and playing around to come to the following model (that looks like a mystery box if you weren't there, but it's for our own reference).

Popularity

This helped us with making the decision to go for an event driven solution. The only problem is that Jitar doesn't support this yet... So we have to pick that up first before we can continue this issue. On hold for now.

@basmasking basmasking removed their assignment May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain All issues related to the business domain feature New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants