So I was wondering, why we don't have a simple "Last >>" button on user pages for giveaways, like we have for discussions? You know, it might be convenient for group admins or other people vetting profiles for whatever reason to be able to jump to see the earliest wins/gifts of someone. Like is there anything preventing it?

2 years ago

Comment has been collapsed.

They don't do it on the main page because it was taking a long time to do the calculations. Might be a similar reason for users... some users have 1,000s of giveaways.

2 years ago
Permalink

Comment has been collapsed.

well, there are people with 1000s of discussions created and you can jump to last there...
Besides I don't really think it'd be that comutationally intensive. we pull the total number of user's GAs both created and won at the same time in fact when we load the profile page anyway. The max number of displayed entries per page is know and static. Then adding a simple division and putting it into dynamically generated URL is not that hard. Unless of course there's something at the backend preventing that which I'm not aware of...

2 years ago
Permalink

Comment has been collapsed.

FWIW, ESGST has a feature to add a "Last Page" link to most of the pages that don't have it. I don't notice any performance impact from it.

I realize most people don't like installing extensions or they browse the site through their phones, so it's clearly not a universal solution.

View attached image.
2 years ago
Permalink

Comment has been collapsed.

yes, I don't like extensions. I don't want to have to install fing extention for every damn thing I need/want to do.
besides, If extension can do it, why the site itself can't?

2 years ago
Permalink

Comment has been collapsed.

Besides I don't really think it'd be that comutationally intensive

I'm not sure how steamgifts do it, but paging is usually comutationally intensive for higher pages. Jumping from page 1 to 2 has different cost compared to 1000 to 1001.

2 years ago
Permalink

Comment has been collapsed.

and how is that? sure it is if you're going one by one and have to load and cache every result you've been through but why would you do that? we're pulling the numbers from the db when we load the page anyway so why not just do some simple maths a put the button in?

2 years ago
Permalink

Comment has been collapsed.

If you want to get more technical, it's explained in detail here: https://use-the-index-luke.com/sql/partial-results/fetch-next-page

Most paging feature uses limit and offset, and offset will count all data from the first page until the page you are asking (cmiiw), so it is technically slower on higher pages. It is how the database/storage was designed, so it's not like you can easily change that.

The alternative that is less costly is to use prev and next (the seek method from the link), which requires you to provide the last searched indexed number. The cons is that you won't be able to use the last page.

I belive that steamgifts is still using offset method, but they obscure the "last" link to make it easier on the database.

2 years ago
Permalink

Comment has been collapsed.

so... If I get it right, it's just lazy programming and ultimatley relying on users' laziness? Like "we won't have to deal with cost of loading the last page, if we don't put the 'last' button cause users will be too lazy to navigate there otherwise"?
But it's irrelevant to the matter at hand! We talk specifically about users who want that last page access. And if I understand that correctly we still pay all the computational cost or maybe even more? wether the user gets there by manually figuring the number and hand typing the URL, pressing "next" a few dozen times and loading all the pages in-between they don't care about or by using a dedicated end button.

2 years ago
Permalink

Comment has been collapsed.

Not really, the offset method has its advantages with the page number and easier implementation. With the seek method, you wont have that. As i said before, the offset method issue comes from how the database work, so you can't just fix that (unless if that fix is about changing the implementation to other methods, of course)

The "we won't have to deal with cost of loading the last page, if we don't put the 'last' button cause users will be too lazy to navigate there otherwise" might be true to some extent, although it is more like a "quick fix" rather than an actual solution.

It is relevant to the matter at hand though. They can't put that button if it will cause issues. Since they still keep this implementation for a long time, i believe this "solution" works, and it is better not risk it and add the last button to increase the chance of things breaking.

2 years ago
Permalink

Comment has been collapsed.

They can't put that button if it will cause issues.

If that's the case, wouldn't it cause issues on other pages as well? Yet it exists on other pages - user created discussions, group giveaways - and as far as I can see the site works just fine!
Aside from that - apparently an extension can add such a button. How could a little bit of script running in a browser do that? does it reimplement the whole db or maybe it's just burning the servers on my behalf with all this extremly coplex operations that 'cause the site to slow down? no, and no. I don't know how it does that, but I suppose it might have something to do with maths and those giveaway numbers that we pull from db while loading the page anyway!

2 years ago
Permalink

Comment has been collapsed.

My guess is that they havent reach that treshold when the performance is concerning. I can't say about group giveaways since i don't know the average count for page there (and i cant see the last button in that page either), but the only person that has a lot of discussion threads in this site that i know is sensualshakti, and it's only 2089 threads aka 84 pages. Now let's compare it with user giveaways. There are people like grez1 here who gave away 10k games and many others in the thousands range. That can take a hit if the button is easily accessible to everyone and everyone is using it.

I believe the goal to obscure it is to make most people not use that (and probably some crawlers that click all links in a page), while still allowing the feature to several people who knows and needs it. Well, so far it has been working, so as i said before, it's better not to change it if there is a chance to break it.

Ps: i hope this doesn't fall into name calling since i didn't mention the names to say bad things about them, but if it is, please tell me and i'll remove the names.

EDIT: there is also this. I think we can safely assume that the button exists in the past, but then removed since it cause issues. There is no reason to put it back if there hasnt been any changes to mitigate that same issue, isn't it?

2 years ago*
Permalink

Comment has been collapsed.

Math.ceiling(total_gifts_won / 25)

261/25 = 10.44 ceiling = 11

Page 11

https://www.steamgifts.com/user/Devirk/giveaways/won/search?page=11

2 years ago
Permalink

Comment has been collapsed.

yes, I can count. yes, I can manually navigate to the last page. that's missing the point. I want it automated not manual.
notice that when you load the user page it just goes to /user/[id]. If you'd want to manually navigate to the last page of created GAs you'd have to add /search?page=[#] and count what number you have to enter. No matter how fast you type and how good at maths you are you'd still be slower than dedicated button. And that assumes that you type all that yourself instead of going down to click the "next" button so all you have to type is just the number, which is worse for the backend becuase we have to load an entire new page! not to mention I bet loads of people are just lazy and would rather click that "next" button a dozen of times instead of doing some simple maths...

2 years ago
Permalink

Comment has been collapsed.

I remember there being some talk about this in the past and it had something to do with server load. It was a long time ago, so I don't know if it would still be an issue or not.

There is a change log from 2015 that says "Last button will appear for results with 100 pages or less, instead of the previous 50 pages or less". It seems like some pages don't get a last button no matter how many results there are though.

From around the same time, CG posted this comment

Right now the Last button only appears in paged results across the site with 100 pages or less. Certain pages on the site take longer to load the further you extend into the results, so it's setup that way to limit how frequently people jump to the last page, while still making the button available in smaller result sets. This is one of the main reasons most sites don't include the button in the first place, but instead have load more, or just previous and next links. That way they avoid users going deep into the result set, and also avoid an extra query to count the results.

I'm pretty sure there was more talk about it somewhere else.

2 years ago
Permalink

Comment has been collapsed.

I'm pretty sure there was more talk about it somewhere else.

well, yeah, if there is it's buried somewhere. I know the staff at sg is overworked and moderating forums is probably the lowest priority on their list, but seriously, the bugs/suggestions section is propably the one that should be moderated and it's a mess...

That comment might be helpfull, but it's horribly out of date. There are pages that with more than 100 results that still show "Last" button. User discussion pages, Group giveaway pages, the more I look the more I find...
And as I said above, I see why we don't put it everywhere (like on the main page for instance) but on user pages - you load the numbers from the db anyway. Just add a bit of simple maths and you got the link, you don't have to page all the giveaways from the start. So I don't see what's the issue here...

2 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

2 years ago*
Permalink

Comment has been collapsed.

have you tried it? does it work for you? 'cause it doesn't for me. just loads an empty page.
however that would be neat workaround, if, you know, it worked... and ultimately it's still not a solution, just workaround. For an issue that's somewhat implemented, somewhere, but not everywhere and it just seems random at this point why some pages have it and others don't...

2 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

2 years ago
Permalink

Comment has been collapsed.

well, apparently this site's more jank than I thought... I seems to also work on group pages!
as I said above, I'm not a fan of extensions. For now it's not such a pressing matter for me that I'd have to resort to use third party tools to fix an issue that could be fixed with a line of code. But it's an issue enough to be noticed, to get annoyed by and to start screaming around forums that it's broken and should be fixed...

View attached image.
2 years ago
Permalink

Comment has been collapsed.

It does work with discussions, but not with user profiles.

2 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

2 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.