1

I have a bunch of ignored tags, and in my prefs I've enabled "hide ignored tags".

When I load the frontpage, initially all posts are visible. Then, when the JS loads up, it removes the ignored ones abruptly and the whole page jumps horribly.

Seems like the obvious solution is to do it serverside rather than clientside :)

3
  • 1
    hey stefan, welcome to meta. keep in mind that downvotes should be interpreted slightly different than on SO in that they are a measure of agreement/disagreement as opposed to a measure of approval/disapproval, if that makes any sense. Jun 27, 2010 at 19:24
  • I'm confused by "it removes the ignored ones abruptly and the whole page jumps horribly". Ignored tags aren't removed, they're grayed out, so the page structure is completely unchanged Jun 27, 2010 at 21:22
  • 2
    @Michael There's a "Hide Ignored Tags" setting which causes the ignored tags to be hidden, rather than just faded out. This does cause the page to be rearranged to close all of the resultant gaps.
    – Grace Note StaffMod
    Jun 27, 2010 at 22:23

4 Answers 4

7

The reason it is done client side is to offload the labor of this user-pref to the client.

The server aggressively caches the pages that are served and what you propose would require that each request be generated just for little ole you and would bring anything less than big-blue to it's knees.

Shouldn't happen and aint gonna happen. not today, not tomorrow, not ever.;-)

And as far as a client-side remedy for your UX blues, I don't see much more wiggle room. The page has to render before the filter can be applied and there doesn't seem to be any animation involved.

FWIW - my experience is that the collapse is noticeable (i have an inordinate number of ignored tags) but instantaneous.

Are you browsing on a mobile platform or a computer powered by hampsters on a wheel? ;-)

9
  • Well technically the percentage of people who have ignored tags is probably less than 1% so in theory the server is perfectly capable to handle uncached requests from such clients; but I still don't see why go through all this trouble, the JS solution works just fine. Jun 27, 2010 at 19:49
  • @kop - i would not have stats to argue with your figures but mega sites are not engineered on probablys and if you provide millions of people with a feature that is going to tax your servers you must, if you wish to retain credibility, investors, viewers etc, supply not only appropriate resources to handle it you also have to SEVERELY affect the performance of your site. So I totally disagree with your assertion that 'the server' is or should be able to handle this load. Jun 27, 2010 at 19:55
  • @code: millions of people? stack overflow only relatively recently reached 1 million page views (not visits) in a day; visits are obviously considerably less, and registered users who use the ignore tags feature are in all likeliness an extremely small number. In fact, according to the data explorer only 20,941 people with more than 200 reputation visited the website in the last month. Like I said in my previous post though, the JS solution works fine and I see no need to switch it to the server. I'm just saying that - in my opinion - it's technically possible. Jun 28, 2010 at 0:41
  • @kop - ok, so maybe i got a little excited and came across as confrontational as i have been known to do from time to time. but the point i was trying to make is that there is a vast difference in server load when you compare aggressively cached content vs ala carte querying/rendering. the number of users with > 200 rep is a red herring. the 1m daily page views is the salient metric. and the percentage of client side filtering is still an unknown unless there is an odata point for ignored tags per user. fwiw - it is technically possible to send a man to the moon. ;-) Jun 28, 2010 at 6:33
  • @Kop As code poet mentioned, currently they are agressively caching the pages, which means that the pages that are delivered are identical for every user. If you move this kind of thing serverside, then it does not matter if most of the users are using few or no ignored tags, it means that you need to determine that, and deliver a "custom" page to every user, which would be VERY taxing, and in this case, it doesn't really accomplish anything.
    – devinb
    Jun 28, 2010 at 16:32
  • 1
    @Code poet, saying "my experience is that the collapse is not noticable" is kind of snarky to someone who is raising the issue that the collapse is noticable.
    – devinb
    Jun 28, 2010 at 16:33
  • @devinb - it was not meant as anything but a personal anectdote FWIW = For What It Is Worth. I was contrasting my experience with the OP characterization of the collapse as 'Horrible'. I guess snark is in the eye of the beholder (or the eye of the acronym challenged) ;-) Jun 28, 2010 at 22:10
  • @devinb - hmmm.. i just realized that you might not have been wearing your reading glasses when you accused me of being snarky. Treat it as one of those funny paper word puzzles and see if you can spot your mistake. ;-) Jun 28, 2010 at 22:16
  • @Code poet. BAHAHAHA, you're right! I completely misread you! I apologize!
    – devinb
    Jun 29, 2010 at 10:25
1

Another option that you have if you are only interested in a just a few tags and ignore the rest is to use a custom tag search only following your interests.

2
  • 1
    This. It's hard to deny that the "hide ignored" feature is broken from a usability standpoint, but custom tag feeds are a much cleaner solution in any case.
    – Shog9
    Jun 28, 2010 at 20:57
  • But, speaking of moving user preferences to client-side, how would i express something like [javascript] AND NOT [jquery]? Resulting output seems to be union of tags, so boolean expression seem to be unsupported.
    – user153949
    Nov 27, 2010 at 12:42
1

As i said previously - current solution is terrible clumsy. So, having no success in bringing some developer attention to the issue, i made quick and dirty fix in the form of user-css to hide ignored questions before jquery filtering kicks-in:

html>
body.question-page>
div.container>
div#content>
div>
div#questions.content-padding>
div.tagged-ignored { display : none; }
  • fixes: ignored questions are displayed until jquery .ready event fired
  • not fixes: given preference is N question per page, page still have arbitrary number of questions [0..N]

DOM path is very specific, so it will not affect anything else. Anyway, key is last line, feel free to tweak it.

0

The only way that I can think of on how this would happen is if you have a slow internet connection, the page must load, then the cleansing script runs. But is it really all that bad? I've visited SO while torrenting, noticed the same thing, and its not horrible or detracting from the experience at all.

All though there is limited computing power, the amount of people with ignored tags is pretty low, and regenerating it for that subset of people isn't going to hurt anything.

Or maybe the list could be passed to javascript and the JS draws the list but filters it beforehand?

Seems like alot of work for little reward.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .