README Future feature feedback: Patreon badges?

DarthSeduction

Lord of Passion
Donor
Game Developer
Dec 28, 2017
3,360
5,204
I agree with Oiz (oh, god) and would rather it be on the profile page.
Looking at how Sam is suggesting we implement this, it doesn't have to be that obstructive. 3 small circles displayed under your post statistics on every post, and a 2 more below that, perhaps, with the third spot being a (...) so that people with more than 5 (which would be very few in the first place, I imagine) patronages would have either a link to a new page on your profile showing all of them in a cool list like we do the latest updates page, or even just the circles, but all of them on the profile page, or as happens when you click someone's name, a little popup window with the complete list.

I support this idea because, for me, when I first joined this site I got most of my game suggestions via people's signatures. But most have no more than one or two games listed there, and while that's great and all, not everyone even uses one. If we implement this, then people will have the opportunity to see what other people are supporting and take a look themselves, without really adding too much obstruction to screen real estate, like it would if people just had a signature for every person they support. Of course, there's also a little incentive as a developer, as it would mean that members who appreciate my game would be able to show it without having to dedicate their signature space.
 
  • Like
Reactions: Palanto

Palanto

Active Member
Game Developer
Oct 4, 2017
964
1,835
Didn't read everything, but I'm all for it, the idea is great :) I can't see any cons about it, some were mentioned but they aren't really anything I'd worry about. Besides I'm a dev too and I wouldn't need the badges to check if a user "steals" a game I'd build (yeah isn't possible in my case anyway since we release it here for free ;) ) There are other ways, like Sam mentioned, to crosscheck...
 
  • Like
Reactions: DarthSeduction

uradamus

Active Member
Jan 4, 2018
680
746
Seems like a nice idea. I agree with those who say it shouldn't be on posts though; the profile is a much better place for it. Though perhaps it could also show up on the popup box that appears when you click on someone's avatar. That way it doesn't clutter up threads, but is still only a click away for those interested.
 

DarthSeduction

Lord of Passion
Donor
Game Developer
Dec 28, 2017
3,360
5,204
Seems like a nice idea. I agree with those who say it shouldn't be on posts though; the profile is a much better place for it. Though perhaps it could also show up on the popup box that appears when you click on someone's avatar. That way it doesn't clutter up threads, but is still only a click away for those interested.


Yes, quick shitty paint thing. But seriously, it wouldn't be that much screen real estate added. Even on your post, which was admittedly short enough that it wouldn't extend just from the text, the addition would barely be noticed. And since many have an actual signature, it likely wouldn't be noticed at all, since the signatures already extend the post that far.
 
  • Like
Reactions: Palanto

Sam

Sysadmin
Staff member
Administrator
Dec 22, 2016
2,502
16,780


Yes, quick shitty paint thing. But seriously, it wouldn't be that much screen real estate added. Even on your post, which was admittedly short enough that it wouldn't extend just from the text, the addition would barely be noticed. And since many have an actual signature, it likely wouldn't be noticed at all, since the signatures already extend the post that far.
Yep if we were to display it on thread view, we wouldn't display the entire list, probably limited to either 3 or 5 as you suggest, and when clicking 'expand' the rest are displayed.
 

caLTD

Member
Game Developer
Feb 4, 2018
183
160
Nice idea, however I believe it can bring down servers to knees. Even with memcache support.

Also, it may lead those patrons buggered with some clever developers to gain support.
 

depechedNode

Well-Known Member
Oct 10, 2017
1,779
3,712
Great idea, I really wonder the percentage of the active users who really support a dev. On the other hand I even don't link my patreon profile to discords of the devs I support, so I will not be using.

But I'm guessing most people are not anonymity freak like me, so we may see some good statistics of how helpful this forum to the devs for gaining more support.

Supported devs/games must be shown in the post, not profile. This visibility can encourage more non patrons to start supporting a dev. People tend to mimic popular and glorifying tags, things, so I believe this will increase patron numbers even more.

Also level system must be used for supported devs/games count, like "supporter, backer, invester, banker or IMF", you get the idea. :)
 

EvilMonkey

Active Member
Aug 20, 2017
540
835
What about having the badges listed on the expanded profile, even the small preview when clicking on a user but giving everyone who links their Patreon the "Patron" ribbon, like the profile ribbons/titles already used? This way anyone looking at the user will know they have their Patreon linked and can check their profile or profile preview to see who they show support for.
 

Akatriel

Newbie
May 20, 2017
52
64
Think it's a great idea. As long as the user has full control over what is or isn't displayed.

Would be cool to have an analytics page tied to this too. See a ranked list of the most publically supported games on f95, even better if it tracks this by time, like Google Trends. I see developers join here on their own game thread after finding out where all the new traffic is coming from, showing them some neat trends could help developers mold their Paterons/Game marketing and see the value of f95.

trends.png
 

Sam

Sysadmin
Staff member
Administrator
Dec 22, 2016
2,502
16,780
Nice idea, however I believe it can bring down servers to knees. Even with memcache support.
Here's a rough technical walkthrough:

Upon sync we'd use Patreon's oAuth API to see what developers the user is an active patron of. This would be stored in a table in the database. The user would then select which developers to show on their profile, the others would remain hidden from everyone.

Every x days we'd request the list again from Patreon's API, updating the database, and if the user is supporting a new developer who has opted in, we'll send a notification telling the user there is another creator they can show on their profile, if they so wish.

Users would also be able to 'unsyc' at any time, by clicking a button within Patreon's settings page.

This would have no noticeable impact on our infrastructure, the only information we'd store is the developers the user is a patron of, and the user specific API key needed to fetch that list from Patreon, which would be AES encrypted in the database.

Would be cool to have an analytics page tied to this too. See a ranked list of the most publically supported games on f95, even better if it tracks this by time, like Google Trends
I think Graphtreon does a better job of this than we ever could, and is far more encompassing.
 

caLTD

Member
Game Developer
Feb 4, 2018
183
160
Here's a rough technical walkthrough:

Upon sync we'd use Patreon's oAuth API to see what developers the user is an active patron of. This would be stored in a table in the database. The user would then select which developers to show on their profile, the others would remain hidden from everyone.

Every x days we'd request the list again from Patreon's API, updating the database, and if the user is supporting a new developer who has opted in, we'll send a notification telling the user there is another creator they can show on their profile, if they so wish.

Users would also be able to 'unsyc' at any time, by clicking a button within Patreon's settings page.

This would have no noticeable impact on our infrastructure, the only information we'd store is the developers the user is a patron of, and the user specific API key needed to fetch that list from Patreon, which would be AES encrypted in the database.


I think Graphtreon does a better job of this than we ever could, and is far more encompassing.
Ummm, that too complicated. Normal user does not want to check everything or anything everytime. It will have to auto mod. If user want to show his patreons on forum oauth with patreon, thats it. Also if user want to not show any of ther patreon it will have to on off switch. Probably an update now button for immediate sync.

Also a daemon which runs background and check users patreon status each day per user. Becuse you cannot rely on thread process execution to sync with pateron data.

And I'm not talking about this.

When each thread shown, processor will check each poster is patreon synced, then each fetch from his patreons from database and put the his message. SQL server will bring down immadiately so we have to put those data in a memcached or similar server. Even with memcached due to f95zone nature I believe it will cost lot of cpu cycles.

Did we had enough to handle this extra load ?
 

Sam

Sysadmin
Staff member
Administrator
Dec 22, 2016
2,502
16,780
Also a daemon which runs background and check users patreon status each day per user. Becuse you cannot rely on thread process execution to sync with pateron data.
Yep we'll either use crontab or Xenforo has a built in cron system, so it doesn't resync on page execution.

When each thread shown, processor will check each poster is patreon synced, then each fetch from his patreons from database and put the his message. SQL server will bring down immadiately so we have to put those data in a memcached or similar server. Even with memcached due to f95zone nature I believe it will cost lot of cpu cycles.

Did we had enough to handle this extra load ?
There will be an extra column on the `users` table with the serialized array of developers the user wishes to display, it wouldn't require any extra SQL queries or even an additional JOIN, it'll just be an extra column to select in the already existing SELECT query, which already has a JOIN on to the `users` table.
 
  • Like
Reactions: DarthSeduction

caLTD

Member
Game Developer
Feb 4, 2018
183
160
Thank you for replying. I have some suggestions if my 20 years of php development experience counts.

Yep we'll either use crontab or Xenforo has a built in cron system, so it doesn't resync on page execution.
Cron based system may not be cut. If patreon supported users high amount cront job may not be finish in time (except if you run for per day) then creates race conditions. I had tons of bad experiments about this. I recommend backend daemon. You can wrote even with php.

There will be an extra column on the `users` table with the serialized array of developers the user wishes to display, it wouldn't require any extra SQL queries or even an additional JOIN, it'll just be an extra column to select in the already existing SELECT query, which already has a JOIN on to the `users` table.
I do not know current state of cache system f95zone uses. However even with same sql query, unserializing still a cost.

And if you store patreon data in serialized cell only it will lead lots of problems for analyzing data for later.

My suggestion is build a relational database system for users patreon data. Covert this data to json Then put it in your serialized cell in the user table.

Then write nice little javascript code which parses user patreon data and converts to html. This model will minimize the overhead.

My Humble Regards.
 

Sam

Sysadmin
Staff member
Administrator
Dec 22, 2016
2,502
16,780
Cron based system may not be cut. If patreon supported users high amount cront job may not be finish in time (except if you run for per day) then creates race conditions. I had tons of bad experiments about this. I recommend backend daemon. You can wrote even with php.
We'll probably only update every few days, we can easily add some checks to prevent stacking and race conditions.

unserializing still a cost.
unserialize() isn't an expensive operation, it's faster than json_decode(), and even faster than explode() in some situations, I don't see a problem.

And if you store patreon data in serialized cell only it will lead lots of problems for analyzing data for later.
The column in the `users` table will be the developers the users have opted to show, there will be a separate table containing the 'raw' data and encrypted API keys.

Then write nice little javascript code which parses user patreon data and converts to html. This model will minimize the overhead.
We'll use Xenforo's templating system, format the html in PHP, then use JS for the 'show more' feature when applicable.

Thanks for your feedback, but I assure you we'll have the technical side of this feature planned and figured out without any major issues.
 
  • Like
Reactions: DarthSeduction

carbonatedman

Member
Donor
Apr 13, 2018
175
142
Sounds pretty cool. Especially with it being opt-in since no-one would link their accounts unless they actually wanted to.

Obviously there will be detractors and arguments for a while after the change (as is already evidenced in this thread), but given some time the hubub and paranoia over it should die down, it would be seen as just another feature of the site, and everything would go back to business as usual.

Plus, you know, there's the whole angle of people advertising the patreon pages for the games they want to see completed. I really don't see any drawbacks to this unless you count there being a few minor quibbles along the way as people get accustomed to seeing the badges, and some folks trying to rehash the old supporters vs. pirates argument again from time to time.




As for the presentation:

I like the idea of showcasing between 1 to 3 of the badges under the posting stats.
Wouldn't be that intrusive from the examples shown.

Also support the idea of adding the badges to users profile pages and allowing them to pick which games they are supporting actually get displayed there, as well letting them choose which 3 are displayed in their posts.

+1