Replies

Mar 14, 2022 4 years ago Official
Star Captain
Galaxia
User Avatar
SailorButtress

We've updated the Donation Center with some new coding to reduce lag. It will only load 2000 items at a time, although items over that amount aren't lost or deleted!

You may notice that the names aren't showing; right now this is intentional, to reduce the number of queries per page. However, we understand that part of the fun may be seeing who's pitched in a gift, or who has a birthday, or who's really gotten into a site event; please provide your feedback on the forums on whether you'd prefer names on the donations or not.

We've put some candy hearts in there as well, so please test it out and tell us what you think of the changes.

Thank you for being a Subetan!

- - -
Signature art: Original pencilwork by , digital lineart and coloring by

Mar 14, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Quote by Brinny
I get that you want to try and fix the lag on site and I understand why change needs to happen.</p>
<p>However, I&;m not sure this works for the DC.
When you donate a lot of items..it&;s first added to inventory..first added to donation corner when you mass donate. So if I have like 1k hearts and 1k trinkets and 1k coins...the coins won&;t show until the 2k hearts and trinkets are gone. This means that randomness won&;t work anymore.</p>
<p>I also feel that the 2k limit is quite small considering a lot of people donate items to the DC. I don&;t think 50k is appropriate either, but maybe more closer to 10k?</p>
<p>I also love to see who is donating items because it could be their birthday or someone leaving the site or someone doing a huge giveaway. It&;s nice to know who to thank.</p>
<p>Just my 2 cents...

You aren't correct in how items get added to the donation center, and they're still randomized.

And to be clear, the question isn't "should we flip the switch to have usernames back on, no problem" but do you want programmer time and energy spent on that.

Fixing the page so that it can load the item information and show the donation items without crashing was a fairly easy fix, primarily because we could remove the user information which is an additional query for every item on the page.

Bringing back that information will require re-writing the entire page, and IMO, there are more important fish to fry right now.

💖 ✨ 🤗

Mar 14, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Oh being able to hover and see who donated is absolutely an option!

We are specifically not loading the full set of items so that the page stays fast. Unfortunately, even counting them means doing a query to pull all of the items and count them.

I'll make the text a little more clear (that there are ✨ some mysterious number more than 2,000 ✨) though!

💖 ✨ 🤗

Mar 14, 2022 4 years ago Official
Star Captain
Galaxia
User Avatar
SailorButtress

I'm going to be going through this thread specifically to report back on how we can further tweak and make an action plan, so please, give that feedback!

- - -
Signature art: Original pencilwork by , digital lineart and coloring by

Mar 14, 2022 4 years ago Official
Star Captain
Galaxia
User Avatar
SailorButtress

Something may be time-consuming but still worth doing, especially if it's going to impact user experience. The more people who weigh in, the more of a 'big picture' we can get. If there's a strong tilt in opinion, the effort can be allocated and it's going to be worth it. But since it is an effort, it's important to know whether it's going to improve the fun of the site before starting on something.
Keith's reaction is centered around him being the one coding the details if needed, but we are listening. I have a note on my calendar, in fact, to collect responses and write the report with suggestions people have offered.

- - -
Signature art: Original pencilwork by , digital lineart and coloring by

Mar 16, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Each user gets a "chunk" of the total items in the donation center (randomized), and those are displayed when you refresh. That chunk is cached, so you'll get the same items when you refresh from that pool.

Just pushed out the following changes:

  • Less items shown per refresh
  • Increased size of cached chunks for user, so you should get more variety in your refreshes

💖 ✨ 🤗

Mar 16, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Unfortunately this "style" of page (with a TABLE lol) is really, really old, and even getting the number of items changed takes an unreal amount of work.

💖 ✨ 🤗

Mar 17, 2022 4 years ago Official
Star Captain
Galaxia
User Avatar
SailorButtress

The candy hearts were, er, consumed by the userbase, not deleted! We added about 5K at the time.

I've grabbed a tally so far of peoples' thoughts as well as suggestions and will update on any other changes we make.

- - -
Signature art: Original pencilwork by , digital lineart and coloring by

Mar 18, 2022 4 years ago Official
Star Captain
Galaxia
User Avatar
SailorButtress

If over 2000 items are donated they're all still in the DC, it's that only a certain amount are loaded into the cache at one time to be claimed. So everything is still in the DC, the code takes care of it without a staff member having to handle it manually.

We also didn't add back in all 40K at once, we went with 5K (edit: Keith had put 10K in there) to test the changes. I'm going to check with Keith about the feedback on names or not or alternatives like that hover, and we may do more then.

I also checked with Keith to make sure I was correct on the 'why 2K'; to even get a precise count for each refresh per user the DC has to search the database, and putting a cap on the amount of items it pulls to count/build the cache is less resource-intensive.

- - -
Signature art: Original pencilwork by , digital lineart and coloring by

Mar 18, 2022 4 years ago Official
Star Captain
Galaxia
User Avatar
SailorButtress

That is part of the caching; basically, someone picked up that item while the info was being sent to you. There is not an easy way to change how that works, unfortunately, for reasons I'm going to go into below as a more general summary and update/conclusion.

The Donation Center is 15-year-old code, and this was not the first time it had issues with volume of donations. Amber or Keith have had to clear it before, or add servers to deal with lag. Both usernames and total number of items were slowing the page down severely, to the point of it being inaccessible at times during particular large donations. But it's a wonderful feature, and we want to make sure it works! So Keith changed the queries in the existing code. This included usernames because that was literally one of the things breaking the page.

There was a clear preference for names or some kind of credit mechanism and Keith did look into trying some solutions from this thread based off of that, such as a hover or a page afterwards crediting the donator or even an anonymous toggle switch. Unfortunately, though, it's not that simple. Right now the "donated" field in the database is a plain text representation of the username, so any method would have to search the user database for username (a more expensive query than by ID), and then show the user hover information, which includes active pet, avatar, achievement data. Changing that, adding anything additional to the page, or putting in more steps after the fact, would require a code rewrite and that would mean updating all of the places that you can donate an item from now to ensure that they're inserted in the new format. This would then involve changes to quickstock and the inventory page...

mentioned even temporary blackouts in features being concerning and that's very true, and a rewrite plus testing for names/credit could potentially introduce that into the core features that everyone uses. That is a messy trade-off for a (very) nice-to-have and the conclusion reached was that, as much as we'd like to be able to implement it, right now it's not practical.

Keith initially put 10K candy hearts in the DC as part of testing changes, and to make up for the 45K that had to be deleted has manually added more in. This is going to be the last candy heart haul from SubetaTeam, and is directly related to the generosity of the community during Survival. Thank you all so much, these candy hearts are because of kind users even without their names shown!

TL;DR: This feedback was useful, and Keith was checking into the thread to see what we could do. This is also useful for being able to know what a new system should include, an anon toggle is a very useful idea. We appreciate people pitching in and love seeing the Donation Center put to use as a way to redistribute items from the community to the community! But unfortunately we won't be able to put usernames back onto the items, existing methods are incredibly database-intensive and the page would most likely break under high load. New coding would require updating other parts of the site and would be a long-term project, but now we know what you would want to see in that. Thank you!

- - -
Signature art: Original pencilwork by , digital lineart and coloring by

Please log in to reply to this topic.