Usability plugin for recent political megathreads? June 26, 2016 10:04 AM   Subscribe

I've been following the most recent last primary US election post and the Brexit post in my recent activity. However, trying to load these threads (even on my laptop - I don't even bother on my phone) in full is very difficult. Are there Chrome plugins out there that will allow me to truncate or modify these threads in some way to make the page load faster?
posted by codacorolla to MetaFilter-Related at 10:04 AM (59 comments total) 4 users marked this as a favorite

Not a plugin, but using the rss feed for comments in an rss aggregator might be an option. Add /rss to the end of a post url.
posted by CBrachyrhynchos at 12:45 PM on June 26, 2016 [2 favorites]


For the US, mebbe we should just move the whole thing to Fanfare. Slate posts a new Trumpcast every weekday. Lots of short threads. (Hell for mods, I’m sure.)
posted by Going To Maine at 1:55 PM on June 26, 2016


Oh, and assuming you've commented in the thread, there's the recent activity page which shows the last 10 posts.
posted by CBrachyrhynchos at 2:37 PM on June 26, 2016 [1 favorite]


Even if you aren't commenting you can add the post to your recent activity page.
posted by COD at 3:51 PM on June 26, 2016 [2 favorites]


Yes. I understand the recent activity page. That's why I mentioned it in the FPP.

However, once the thread gets to 3,000 comments, and I want to add to the discussion, actually doing that is a painful process since I have to load the entire thread, find the thing I want to quote as the page skips around during its loading, and then slowly scroll to the bottom of the page. It's doable, but having a way to truncate to the last ~100 comments or so would make it a much easier process.
posted by codacorolla at 3:57 PM on June 26, 2016 [2 favorites]


It’s sort of a once-every-four-year problem, but when it comes around it’s constant and painful and unending.
posted by Going To Maine at 5:13 PM on June 26, 2016


For the US, mebbe we should just move the whole thing to Fanfare. Slate posts a new Trumpcast every weekday. Lots of short threads. (Hell for mods, I’m sure.)

Why not?

In a way, that'd be sort of perfect. Each week could open up a discussion of the week's political news. I take it that that would somehow be harder to moderate, but having four smaller weekly threads rather than one mega-thread each month doesn't seem obviously worse to me.

It'd also honestly reflect the way that most people consume political news.
posted by anotherpanacea at 6:58 PM on June 26, 2016 [3 favorites]


It isn't really a once-every-four-year problem these days, though, is it? Right now the Brexit thread is in the same state as the periodic US election threads, and I had to stop following the Star Wars: The Force Awakens thread because it was crashing my phone's browser routinely. I'd really welcome a way to do post-url/tail/n to get the last n comments, or something less flexible but easier to implement. And maybe if a thread passed a certain threshold number of comments, mobile browsers could default to tail/100.
posted by town of cats at 9:54 PM on June 26, 2016 [26 favorites]


I was late to the party and only got to the brexit thread at 1500 comments or so. I'd like to know what mefites think of the whole situation but the thought of wrangling that beast onto my phone has disauded me from even trying to open it.
posted by deadwax at 5:55 AM on June 27, 2016 [1 favorite]


Not just my phone, but I've been following via Recent Activity, and it's been ok, but loading the thread to reply was an ordeal - I thought my laptop was croaking (again).
I'm wondering - what would be the problems (other than people chiming in before reading previously replies) of adding some sort of "quick reply" button below each most recent comment, opening a text reply pop-up for quickly answering something?


(also, uh, I've accidentally flagged deadwax's comment to see if the "other" really had some sort of text pop-up to write the reason like I'm suggesting, but I'm probably imagining things)
posted by lmfsilva at 7:14 AM on June 27, 2016


Recent Activity is my main way to navigate threads I'm following. For me, it doesn't really help with fast-moving threads if the last 10 comments are displayed if I've actually missed the last 100. I know loading more comments or having a hide/show mechanism has been discussed before, just talking about how it currently works for me. This is why I just use the open tab method.

(other than people chiming in before reading previously replies)

I would rather be even more inconvenienced to reply rather than encourage this, especially in fast-moving, volatile threads.
posted by Room 641-A at 7:39 AM on June 27, 2016 [1 favorite]


It isn't really a once-every-four-year problem these days, though, is it?

Plus it's a year-plus-out-of-every-four-years problem.
posted by Etrigan at 7:47 AM on June 27, 2016 [5 favorites]


It's presidential primaries for two different parties, plus the presidential general, plus midterms, plus miscellaneous other stuff.

It's at least 2.25 years out of 4, I'll bet.
posted by anotherpanacea at 8:47 AM on June 27, 2016 [2 favorites]


Reading those threads on mobile is nightmarish. Not only does it not jump down to the last comment because that comment hasn't loaded yet, I can't even nope out and 'skip to menu' because the very menu itself fails to load until the entire 10 billion comment thread loads [which often fails to happen entirely]. It totally sucks.
posted by showbiz_liz at 9:19 AM on June 27, 2016 [5 favorites]


I'd really welcome a way to do post-url/tail/n to get the last n comments, or something less flexible but easier to implement. And maybe if a thread passed a certain threshold number of comments, mobile browsers could default to tail/100.

Is there really no way to do this? Forget defaults: merely having the server provide pagination for those who dig through the FAQ to find the url and create a plugin to use it in this way would be a miracle.

(Then, of course, it becomes possible to ask about user preferences and mobile preferences and so on. But is it very hard merely to serve up a url that follows this format?)
posted by anotherpanacea at 9:38 AM on June 27, 2016 [3 favorites]


there's the recent activity page which shows the last 10 posts.

I've been using this since it was created and it's not really a good replacement for a "threads I'm interested in" tracker. It's not help at all for this new creature, the thread jumping subjects like the US election and others.

Mefi has a terrible discoverability problem. It's really, really hard to track a subject or a post you would like to follow. Search doesn't do it though a google search ("site:metafilter.com ...") works better than an on-site search. Tags work poorly, because of lack of a good keyword dictionary and keyword commonality. The "Recent Activity" and "Popular Posts" sort of kinda work, but both suffer from their own problems.

I'd really like to see a tool where favourites actually worked as a favouriting mechanism. Favouriting a post---not an individual comment, a post---would add it to the "Recent Activity" list. This would largely solve one problem problem while eliminating the impulse to simply post a comment so it shows up in one's RA list.

But discoverability will still take some additional work. For chain posts, in particular, I'd really like to see mods put links to the next blessed post in the older one, then close that older one to activity. It's a bodge, but it would work ok.

Discoverability and persistent subject tracking is really something that could benefit from a long rethink, but those two patches, one technical, one of mod behaviour, would patch most of the cracks for now.
posted by bonehead at 12:42 PM on June 27, 2016 [5 favorites]


Note that closing is an important step to maintain continuity, which is why a mod has to do it.
posted by bonehead at 12:44 PM on June 27, 2016


I'd really like to see a tool where favourites actually worked as a favouriting mechanism. Favouriting a post---not an individual comment, a post---would add it to the "Recent Activity" list.

This one at least, you can do! See add to activity.
posted by LobsterMitten (staff) at 12:53 PM on June 27, 2016 [6 favorites]


What LM said. Also:

I'd really like to see mods put links to the next blessed post in the older one, then close that older one to activity.

I have no problem with having a link to the new one in the old one, and have added it myself on one or two occasions where someone didn't (this is the more likely case) beat me to it.

But, while I get the idea of forced closure to make sure that "go to the next one" link has maximal visibility, that's also deeply out of character with how we've managed threads on the site and would be a can of worms in its own right. The only part of the site where we close threads in a non-deletion capacity is MetaTalk and even here that has been a point of significant contention despite mostly only coming up when the closure is because everything has gotten or is getting actively terrible.

So I get it but it's also far from a trivial move to contemplate.
posted by cortex (staff) at 1:17 PM on June 27, 2016 [2 favorites]


I've never taken part in mega-threads before because they're usually about foreign politics of little interest to me - however, I've taken an active part in the recent threads about the UK/EU situation. I'd love to see some changes made - the suggestion above for an option to show only the last X comments is an excellent one - but I don't think new code or features are on the table right now.

Could we perhaps have a procedural rather than a technical change at this point - perhaps when a thread gets to 1,000 or so comments it is closed and a new one replaces it? That's the point at which my mediocre internet connection starts to struggle to load the thread - others will have different points at which the user experience starts to deteriorate. At 3,000 comments, it was unusable.
posted by winterhill at 1:24 PM on June 27, 2016 [2 favorites]


First, thanks for that link LM. I must have missed that thread.

closure is because everything has gotten or is getting actively terrible.

Things are technically terrible, that's the issue. On a mobile device a post with more than 1k comments is actively terrible for many people.

I agree with winterhill, this shouldn't be seen as an editorial closure, but as a technical measure to fix a specific issue with the page length. Could it not be used simply in that regard?

I don't think this is a great long-term solution, but it is a stop-gap that could be used today to greatly improve site usability for a number of people. It would be fairly rarely used, and it could be noted in the closure, go to the next one, that this is done simply to limit page length.

Ideally, of course, there would be some sort of contemplation of a longer-term true fix. A loader that only adds the last 250 comments or so, might be a good way to do it, but perhaps there are better ideas out there. So, I recommend this simply to buy you the time needed for those threads that are tire fires right now, for when resources and brains permit an answer to be found.

Because I think a least-bad answer now is really preferable to the status quo.
posted by bonehead at 1:44 PM on June 27, 2016 [8 favorites]


It's presidential primaries for two different parties, plus the presidential general, plus midterms, plus miscellaneous other stuff.

It's at least 2.25 years out of 4, I'll bet.


And that's just the US - as we've seen with Brexit, megathreads can happen outside the US electoral calendar. What do you think the thread will be like when Cameron and possibly Corbyn step down in October? And then there's all the political insanity that has been happening in Australia . . .

As a politics junkie, I'd love for some way to make these threads more manageable without completely flooding the front page.
posted by chainsofreedom at 1:45 PM on June 27, 2016 [1 favorite]


Things are technically terrible, that's the issue. On a mobile device a post with more than 1k comments is actively terrible for many people.

Starting a new thread when the current one is getting badly bogged is something we've been generally supportive of the last several months (US election threads being the main issue) despite not being thrilled about the idea of proliferating serial threads on principle. So as a technical "take the load" off solution, I don't really disagree and am okay with folks taking that approach.

The distinction between opening a new thread and forcefully closing the previous one is the one I'm making, and I don't believe that forced closure makes sense because it isn't necessary for a new thread to exist. If some folks are willing/able/inclined to keep tottering around in the older, big thread, they should be able to; saying that we're changing a basic assumption about how the site works to prevent them from doing so doesn't track, for me. Folks who want to go to the new thread can go to it just fine even if the old one is still open.
posted by cortex (staff) at 1:58 PM on June 27, 2016 [1 favorite]


...and I don't believe that forced closure makes sense because it isn't necessary for a new thread to exist.

Except it's also the case (isn't it?) that new threads will certainly be closed due to an old thread being open. So this kind of reads as a catch-22.
posted by Drastic at 2:03 PM on June 27, 2016 [1 favorite]


Except it's also the case (isn't it?) that new threads will certainly be closed due to an old thread being open.

No, that's what I'm saying: we've been generally a lot more tolerant, despite traditional misgivings about this sort of thing, of folks cracking open a new thread a week or so later after the old one has hit four digits and is getting creaky, because that seems like a decent compromise to reduce browser strain without implementing a major technical change.

In my ideal universe we'd stick to a thread for a big topic for a month at a go, and it'd work just fine in everyone's browser. This isn't that universe, and I recognize that, and we've been trying to show some flexibility there as a result.
posted by cortex (staff) at 2:06 PM on June 27, 2016 [3 favorites]


saying that we're changing a basic assumption about how the site works to prevent them from doing so doesn't track, for me

We're kinda already there with these multi-posts. I acknowledge that close-and-move-on is less-than-perfect, but it minimizes the already broken assumptions about how the place works (one subject, one thread) at least in my opinion. I think you're letting the perfect be the enemy of the good here.

Here's the jist: do you want to have one continuous, trackable tread for discussion, across posts, or multiple, potentially three or more, discussions on-going? It would seem to me to be more in spirit to keep everyone in one place, one big room, rather than a bunch of rooms, some of which are too full for many people to get a look into.
posted by bonehead at 2:12 PM on June 27, 2016 [4 favorites]


I think you're letting the perfect be the enemy of the good here.

I think we're probably talking past each other, because I'd argue the converse: what we have now is imperfect but does basically what is being asked for. Cracking open a new post when the old one is getting awfully big, with a link in the comments of the old one to the new one, is the basic shape of the idea even if it differs on specific details, yes? And it seems like folks have generally—not perfectly, but as a gut check from the mod side reasonably well—been navigating that well enough.

The step to this last, recently-supplanted Brexit thread from the previous one gave folks a bit more trouble than usual because of the vocab in the post text, and that's worth thinking about, but it's not clear to me that that generalizes to chains of posts in general.

In any case: I'm not on board with making a move toward closing threads on the blue, certainly not right now. I hear the argument, I'm just not on board. Maybe at some point we will look at some sort of technical solution as part of this but it's a uniquely bad time to expect that to happen as we've seen pb off and frimble is still very much getting familiar with how stuff works under the hood.
posted by cortex (staff) at 2:24 PM on June 27, 2016


There is also a social problem, in that when we DO allow serial threads, what tends to happen is the angriest combatants from the prior thread view it as a chance to fight the same battles on fresh ground, starting from scratch. They shoot ever-faster towards 500 comments or so, and the first few hundred comments tend to involve a LOT of relitigating. "New thread on same topic" is always extra moderation-intensive for the first several hours, and they tend to bring out some of the worst behavior we see on the site. (As well as e-mails saying, "I wanted to discuss the new developments and tried to frame it that way but User X and User Y are just having their fight about the old thing from the last thread!")

It is a technical problem, but it is also a social one that isn't easily amenable to solutions, and many of the technical solutions that have been tried over the years fall victim to the same sorts of behaviors that drive the current political megathreads into unuseability.
posted by Eyebrows McGee (staff) at 2:59 PM on June 27, 2016 [11 favorites]


"merely having the server provide pagination"

My opinion is that what would be best would be having a mechanism whereby the server paginates a thread either if it reaches a (very large) length threshold, or not automatically but manually triggered by a mod. This would only happen with these monster threads, the way the site works otherwise wouldn't be altered.

There are some problems with this serial threads compromise and so not doing that and paginating only the very long threads would work out better. Of course, this is asking for a new feature, which frimble isn't supposed to be worrying about right now. But I personally think that's the best solution -- I agree with the refusal to go to a general pagination model, but just for these monster threads makes sense to me.

Again, though, I'm aware that this would be a substantial pony -- it wouldn't be merely breaking apart a thread into pages, which sounds simple enough, but would require changes to the javascript stuff for a thread, too. I'm assuming, I've not really looked at the code.

"Are there Chrome plugins out there that will allow me to truncate or modify these threads in some way to make the page load faster? "

Since I'm mentioning some technical problems to those who might not be familiar with them, a Chrome extension or the like would probably be insufficient to solve these problems because the browser would still necessarily be served the entire thread -- in fact, the extension could make the problem worse. There isn't a way for the browser to break up the page into chunks without it seeing the whole page in the first place. What could manage this would be some intermediary server acting as a proxy. But if your browser is already having trouble with the page, the browser isn't in a position to solve the problem it's having with the page.
posted by Ivan Fyodorovich at 3:47 PM on June 27, 2016 [3 favorites]


I vote that for complicated or controversial threads, the "small" HTML tag be automatically prefixed to the lead post, so that each page takes fewer kilobytes to load, and there is less scrolling.
posted by the uncomplicated soups of my childhood at 5:57 PM on June 27, 2016 [5 favorites]


If you have the Mefi Navigator extension, turning it off speeds up long threads enormously.
posted by Rumple at 9:30 PM on June 27, 2016 [2 favorites]


Classic Theme helps immensely. I've had no trouble with the Brexit thread even on my very old low-spec Android device when using classic theme, but basically unusable with modern. ymmv.
posted by Dysk at 2:12 AM on June 28, 2016 [2 favorites]


Could we give users the option (in settings? Or perhaps every time they load the Recent Activity thread to avoid hammering the servers?) to change how many recent comments they see per-thread? Maybe allow users to query last 20 or 50 comments on a thread?
posted by Happy Dave at 4:55 AM on June 28, 2016 [1 favorite]


Can we just have a pagination option? User-selectable? Would that be hard to do?
posted by I-baLL at 8:13 AM on June 28, 2016 [6 favorites]


What if there was a practice, either automated or mod-initiated, that created a new thread after, say, every thousand comments? If it duplicated the material above the jump plus a PART N designator, it would be clear that it was the same thread and that users were expected to be conversant with whatever came before.
posted by carmicha at 8:40 AM on June 28, 2016 [2 favorites]


I know this is a bit off-topic, but I've long wished that the "remove from activity" link existed on Mobile Classic. Sometimes I can't get to the threads I'm interested in for days at a time because I posted some throwaway comment in a mega-thread and people are posting novella-length comments in it non-stop, making my Recent Activity an exercise in infinite scrolling. I can't fix it without going to Desktop, which is a pain.
posted by Anticipation Of A New Lover's Arrival, The at 4:11 PM on June 28, 2016


What if there was a practice, either automated or mod-initiated, that created a new thread after, say, every thousand comments? If it duplicated the material above the jump plus a PART N designator, it would be clear that it was the same thread and that users were expected to be conversant with whatever came before.

I would ride this pony so hard.
posted by a box and a stick and a string and a bear at 6:59 PM on June 28, 2016 [1 favorite]


Honestly, I'm just super burned out on slogging through thousands of comments on a single topic. I wanted to get insight into Brexit, but that was just way too much to process. I don't have hours and hours to go through fights and arguments and "I can't believe you think that" comments (which - skim for the most-favorited comments, and half the time that's what they'll be).

The Emotional Labor thread has 2113 comments. Now we're getting double that on the regular. People are getting called out for bringing up things that were already argued about in other threads, as if they should know what happened 2500 comments ago. This isn't how I want to engage with this site, and the result has been that I've stepped back. I'm having to make a choice not to go here for the insights I would have depended on this site for, because there's just too much to process. Maybe it was a mistake to look at the site this way in the first place, but at least from where I'm standing there's a real problem, and it's bigger than the technical limitations.
posted by teponaztli at 8:09 PM on June 28, 2016 [8 favorites]


The Emotional Labor thread has 2113 comments. Now we're getting double that on the regular.

I have made some ugly graphs. The regular is, in fact, not that regular, but it is increasingly common. It’ll be a painful October.
posted by Going To Maine at 9:10 PM on June 28, 2016 [2 favorites]


How can I bookmark the place I've read up to in a massive thread?

Like, I read maybe 800 comments of the first Brexit thread the first day, then another 800 the next day, and dribs and drabs up until now. I read on both my phone and laptop and relocating the last spot I read to is difficult.

It occurs to me that I could favorite the last comment I read and find my spot that way, but it seems like a potentially socially awkward solution.
posted by hungrytiger at 1:12 AM on June 29, 2016 [3 favorites]


The date stamp under each comment is a link to it in the page. You could bookmark that link for the last comment rather than favouriting it?
posted by Dysk at 2:13 AM on June 29, 2016 [5 favorites]


I stick with Classic design on my mobile devices because the overhead of the styles, script and font loading slow things down noticeably.

With the Modern design, the longer a thread is, the longer the hang time needed for the browser to load content, load fonts, and then reflow the content with the new non-native font. That last step is the killer, the giveaway being that long period where the page is blank except for random horizontal strokes where the underlines of links are about to go.

Maybe disable CSS fonts for the content in long threads?
posted by ardgedee at 2:15 AM on June 29, 2016 [4 favorites]


However, trying to load these threads (even on my laptop - I don't even bother on my phone) in full is very difficult.

There's very little that can be done about this as far as I can see because it runs up against two obstacles that are baked into metafilter: A) users increasingly want a vehicle that was built to be, basically, a blog, to be a forum; and B) the source of many of the problems here, metafilter just hasn't scaled successfully. So between the lack of anything resembling a mechanism to "bump" or revive discussion threads, the difficulty of hosting those kinds of threads, and the numbers of people who want to participate in them, these YUUUGE unwieldy megathreads are spawned that ultimately fail to work for anyone. It's the problem of turning some guy's blog into a globally accommodating internet forum. Short of reinventing the entire site, I don't see a lot that can be done there and given the insistence on metafilter staying in character, I see even less that will be done.

In conclusion, my read is that the mods pretty much regard the 1500 (or so)-comment limit as a feature not a bug.
posted by octobersurprise at 6:43 AM on June 29, 2016 [2 favorites]


I wanted to get insight into Brexit, but that was just way too much to process.

I use the MeFi Filter script to see the most favorited comments in a thread. Interesting that the biggest ones in the current election thread are from June 13th and one from June 17th (12 days ago). The "Other Notable Contributions" shows some popular recent comments if you scroll all the way to the bottom. When I have thread fatigue, but still want to keep up a bit, I use that to summarize the thread from time to time.
posted by soelo at 7:31 AM on June 29, 2016 [2 favorites]


My link above goes to the Greasemonkey page on the wiki, but the script I use is actually on Jeff Howard's page.
posted by soelo at 8:11 AM on June 29, 2016 [1 favorite]


I feel like the overwhelming issue here is that pretty much all the proposed solutions involve technical fixes, and for the forseeable future we lack a tech person who is in a position to make those fixes. No disrespect to frimble intended there, it's just the reality of MeFi right now. They were hired for a part-time position that was explicitly focused on maintaining the status quo rather than changing or adding features, and they're still new to the post. Personally I'm really peased that MeFi's back end seems to be quietly humming along as we've transitioned from pb to frimble, so I think they're doing a great job so far. But even if cortex supported them in principle, technical fixes are currently off the table. Cortex has been pretty consistent about that.

So even if somebody comes up with a Perfect Shining Beacon of a solution that everybody can agree on and get behind, we won't be able to implement it until some as-yet-unknown date when we have a full-time, full-service tech staff again. I assume that getting there is somewhere in the long-term plan for MeFi, but I don't think there's been any kind of public announcement of a time frame for when that might happen. That's totally understandable and I'm not complaining, but that's where we're at right now as far as I know.

So we're left with social solutions, and I'm not sure what we could do there thaf's better than what we're currently doing. There are obviously technical problems with mega-threads which people have discussed at great length in this and other MeTas, but that needs to be balanced against the cost of starting a new thread in terms of disrupting the conversation. We don't want to do it more often than we have to. We've stepped up the speed with which new threads appear to the point where it's probably happening as frequently as it can without becoming counterproductive. The mods try to reduce the social cost by posting links to new threads when they come up, but that can only get us so far. So we're left with an imperfect solution.

MeFi was never designed for mega-threads. MeFi's design cannot be changed right now. This is going to cause problems in mega-threads. People are going to have to deal with that reality as best as they can. It's far from perfect, but it seems to me that that's where we're at.
posted by Anticipation Of A New Lover's Arrival, The at 8:21 AM on June 29, 2016 [3 favorites]


Classic Theme helps immensely. I've had no trouble with the Brexit thread even on my very old low-spec Android device when using classic theme, but basically unusable with modern. ymmv.

QFT and as a reminder that the Classic theme does help a ton on all platforms. Not a perfect solution, but closer.
posted by Celsius1414 at 10:35 AM on June 29, 2016 [4 favorites]


Metafilter's FPP pages are really pretty lightweight. Assuming you're viewing the Modern theme, the base page size (i.e. a new FPP with a short description and no comments) is around 80-100 KB with javascript/css cached, 250ish KB uncached. It's slightly smaller on the Classic theme, but not by much.

I particularly appreciate the very tiny footprint of The Deck ads.

For a 3000ish comment thread (for example, the next to most recent US election thread) the difference between Classic and Modern is a bit more substantial. On that thread, Classic comes in at 1.4 MB uncached vs 3.2 MB uncached in Modern. Loading that over a mobile or otherwise limited connection could be a bit of a burden, but considering the front page of something like The Verge comes in at a bloated 5.6 MB it's wafer thin by the standards of the modern web. If you can load (and reload) that page in your browser without issues, it's not a page size problem.

At a guess, I suspect that some browsers are not very good at scaling the display of text with web fonts as the volume of text to be rendered increases. The Modern theme loads two Google web fonts, with most of the page rendered in Source Sans Pro. So yes, give the Classic/Plain theme a try if you're having issues. A browser in 2016 should not be choking on a few MB of text.

A way to asynchronously load comments as you move down the page would be neat (although more complicated then it might seem at first blush for reasons like navigation to anchored comments and other things I probably haven't though of), but we already kind of have that in fast-moving threads with the load-new-comments widget. Pagination seems like it would be pretty hard to implement at this point because it's a fairly major change in how the site is structured after 160,000 FPPs that assume a single page.
posted by figurant at 3:08 PM on June 29, 2016 [3 favorites]

A browser in 2016 should not be choking on a few MB of text.
Something I found doing some testing on the recent 3,000+ post Brexit thread was that on my own system, Firefox performed far better than Chrome and the other WebKit/Blink browsers (eg. Opera). The WebKit browsers loaded the page faster, but there was something shonky going on with the page rendering itself, and scrolling was jerky and unreliable. It was impossible to post a comment, because there was a long lag between pressing a key and the letter appearing in the comment box. Firefox took slightly longer to do the initial page load, but the display of the page and scrolling was smooth.

I know this is just anecdata, and I'm using Debian 8 rather than a more mainstream operating system, but it might be worth considering looking at Firefox for easier viewing of megathreads if you're currently using Chrome etc.
posted by winterhill at 12:51 AM on June 30, 2016


Download size is just one thing that might make a page perform poorly on not so powerful devices. Another big one is the size of the DOM (basically the structure of the HTML document). If you've got a very simple page which downloads a 5MB javascript library, then that'll take a while to load but be fine after that. If you have a page like the Emotional Labor thread, then there's mostly HTML to load, and it's the number of things in the DOM which the browser has to juggle that is making it slow.
posted by bjrn at 8:59 AM on June 30, 2016 [2 favorites]


Okay I have something that might make browsing less unpleasant on mobile, though it won't help initial painful load. But scrolling should be better.

Metafilter uses jQuery so it's already loaded on any given page. You can trim the first 1000 comments out of a page this way:

$('div.copy').nextAll('a:lt(1000), br:lt(2000), div.comments:lt(1000)').remove()

In that case it's 1000 comments (and 1000 anchors which you COULD leave but let's slim everything down and 2000 line breaks which you won't want to).

So if we want a one-liner to remove half the comments from the page we can do this:

killX = Math.floor($('div.copy').nextAll('a').length / 2);$('div.copy').nextAll('a:lt('+killX+'), br:lt('+killX*2+'), div.comments:lt('+killX+')').remove()

If you put that in a bookmark and preface it with javascript: it'll just run when you click it. Metafilter's filters won't let me create a link in a message for you to just drag to your bookmark bar but it's doable manually, maybe some other more patient dev will provide some instructions.

That makes the scrolling a lot less prodigious but doesn't seem to shrink memory consumption down as low as I'd expect. I'm not sure what else is going on here.
posted by phearlez at 2:09 PM on June 30, 2016 [2 favorites]


Metafilter is not the source of this problem. The prevalent browsers have gone to shit and can no longer readily display a few megabytes of text. Lynx can show a big ol' kilocomments thread just fine.
posted by save alive nothing that breatheth at 4:04 PM on June 30, 2016 [1 favorite]


There is definitely a point when a thread is just painfully long. This is probably against metafilter ethos, but why can't separate election topics have their own threads? The moderation issue? For example, I was interested in reading what people think about the news from the FBI yesterday, and was surprised it wasn't on the front page - when I searched metafilter I saw there was a deleted post and that it referred back to the existing election thread... which is 1300+ posts. Headache.
posted by Sockowocky at 3:50 AM on July 6, 2016 [1 favorite]


That's the pickle, right? Because the comments about the Comey stuff in said thread give a pretty decent microcosm view of what the quickly-racked-up thousand or so comments in a new thread would have looked like: a bunch of people graring at each other and at absent third parties about the not-much-new-info tacked on to a pre-existing set of disagreements and prognostications about the email situation.

Which is not to say I don't understand wanting a thread for it, but, yeah, realistically speaking adding another thread just for that when there's no earth-shaking revelations involved would be us stretching ourselves thinner for not much purpose during a period where the site's already got multiple difficult related and unrelated threads kicking along.

By contrast, I suspect the Chilcot Report thread is going to be a pain in the ass to moderate too and could in theory be kept to just the existing Brexit thread, but that by comparison feels subjectively like a big enough pile of more concrete development and new content to discuss that giving it its own thread makes sense. So we'll take that hit.

And I can understand people could reasonably disagree with either of those calls, or that prioritization of them. This isn't a science, it's just some best-bet gut-driven load-balancing of busy parts of the site against mod resources. But that's very much part of why "can't we just split off new threads for sub-topics" isn't as simple a solution in practice as it may sound in theory.
posted by cortex (staff) at 7:19 AM on July 6, 2016


Can I ask a related question? Like hungrytiger, I have a hard time finding the last post I read in a massive thread. Dysk's solution is an ingenious workaround, and one I'm going to use. But I'm wondering how hard it would be to automate this.

If I look at the main page, there's a thing for each thread telling me how many new posts there have been since I last visited it, and when I click on "15 New," it takes me to the first of those fifteen new posts. That's tremendously handy for posts that are still on the front page. But for something like the Brexit thread, which is still going strong days later, it can be a bit of a pain to scroll back through the Older Posts to find it.

Is there a reason the same functionality can't be added to the Recent Activity page? IE, could it say something like "1810 total comments, 47 since your last comment, 34 new since you last visited," with the phrase "34 new" a clickable hyperlink that takes me to the first unread comment in the thread?

I understand that there just aren't the resources to add new features to MeFi right now, but in my ignorance, I'm wondering if re-using a feature that already exists would be more complex than I realize.

Obviously this wouldn't solve the issue of massive threads being slow to load, but it would solve the related issue of losing your place in these threads.


(Apologies if this has been hashed over a million times -- if it has, please feel free to ignore this.)
posted by yankeefog at 9:12 AM on July 6, 2016


No, it's an understandable thing to ask about. The short answer is that when we've talked about and looked at it in the past, the balance of extra site resources and functionality required to make it work really well wasn't practical to assign; folks have used some client-side solutions that don't have the same implications with some success, though obviously something like a greasemonkey script isn't a perfect solution since it won't work for everyone and isn't synced server-side.

It's something we can revisit and reassess at some point—these days we are, all else aside, less hurting on the raw server horsepower/disk front because costs have come down over time there compared to when we had earlier discussions about the idea—but I don't know when that'd be and we might still come to the same conclusion that it's more of a bear implementationally than is worth the effort.
posted by cortex (staff) at 10:14 AM on July 6, 2016


(As a point of clarification, part of the difficulty here is that the existing "x since your last visit" stuff on the front page is a pretty wonky hack; it works pretty okay if you're coming back to the site after a while away, but not so well between more frequent visits, and is never perfect. Importing that into the Recent Activity view with all it's half-broken wonkiness would as much as anything lead to a lot of new annoyance and bug reports. So to do that right we'd really need to rewrite that feature from scratch in a more server-intensive way.)
posted by cortex (staff) at 10:16 AM on July 6, 2016


Thanks, Cortex. That makes sense.
posted by yankeefog at 2:15 AM on July 7, 2016


I am not privy to what supah seekret majik happens in the backend of Metafilter, but what might be the lowest-hanging fruit from the standpoint of dealing with these crazy long threads would be for the server to only return messages > number X, where that number is set as a parameter and passed in.

Meaning, at the moment the "new messages" thing just provides the same link but with an anchor for the browser to jump down to that message. So

http://www.metafilter.com/160794/One-Last-Time

becomes

http://www.metafilter.com/160794/One-Last-Time#6596823

And in both cases the return to the client browser is the same. That #xxxx at the end just tells the client "jump down to that point in the page."

The primary issue with long threads seems to be just the sheer quantity of items creating a big memory footprint and slowing down scrolling etc. So if the server discarded all the messages before that point you'd resolve that problem.

Perhaps you achieve this with a link that looks like

http://www.metafilter.com/160794/One-Last-Time?discard#6596823

And when your server code sees that you've got that discard toggle set you remove that from the result set and replace it with, say, a block that says
Messages before #6596823 removed from view
using similar presentation to how a deleted post message looks, perhaps (example)

The upside here is you do very little fiddling with the structure; your database queries (which are presumably among the biggest speed/load factors) don't have to change - you just discard in the result, either via your loop or futzing the DOM (depending on what's easier in how it's architected/cold fusion(IIRC MF is CF)). The downside is you're possibly hosing up caching or other performance improvements already put in place. I don't see any sign MF is using varnish but I don't know what else might be going on.

ALTERNATELY, you could do something like this without any server side change other than a little javascript. It would be pretty trivial to add something to the page that notices when the URL uses an anchor like #6596823 above. When it sees that, it injects right in front of that position a button/link offering to trim out all previous messages. It could use the method I wrote in an earlier message and replace that with a box with the "removed from view" option.

The upside there is you don't change anything on the server. The downside is the payoff is a lot smaller - you still transfer the whole big fat thread over the network to the client and you delete stuff after the fact, which seems to have a smaller payoff (not to mention the heavy client-side lifting of walking the DOM) in performance.
posted by phearlez at 7:26 AM on July 7, 2016


« Older What's the word?   |   118: We Should Have Asked a Chemist Newer »

You are not logged in, either login or create an account to post comments