Talk:A Celestial Shrine Visit/@comment-27129602-20160111233440/@comment-25500470-20160112150616

@Kushieda

" "Server data" data has nothing to do with it, but Bandwidth does. Hosting companies, like cloudfront, charge their customers by how much bandwidth they use.

What the current code does is select the initial 100 cards (oldest or newest) then the type filters work on that without requesting more data from the server. This was likely designed to lower bandwidth costs associated with people just looking at their presents all the time and doing nothing with them.

As for showing 1000's of cards at a time, I can almost guarantee you that the initial reason was so older devices would not crash the game. This game is close 4 years old. That means they are targeting devices 6+ years old which are very constrained on memory. Also by limiting to the top 100, they further reduce their bandwidth by not showing ridiculous amounts of card to people who only need one or two."

Again, this is poor code. I'm a developer.

A properly designed filter only requests the data that the filter asks for. What you describe is what I know they did: pull all of the data and then change the display. That's bad code.

When I hit a filter for SR cards, it should query the system and only ask for SRs. That's actually less bandwidth than having to do multiple repeated requests for buckets of 100 each. Using my example, a person is making 10 hits to get down to a subset of data; versus a properly designed filter that hits the SRs one time.

The theory that they targeted older devices doesn't hold up by the graphics and RAM requirements of the game. I don't buy it.

No...they designed it this way to force people to be on the game for lengthy periods. Everything in the game is designed that way. That's not good design. Other games manage this process way better and don't have anywhere near the issues of VC.