Here's an important point:
Among the reasons Facebook and Twitter push you to not want chronological order is they can't actually deliver it. Literally cannot. I'm sure they mess things around on purpose for their own reasons, but also they can't make it work. https://twitter.com/uberpreeya/status/1274173005955031040
Among the reasons Facebook and Twitter push you to not want chronological order is they can't actually deliver it. Literally cannot. I'm sure they mess things around on purpose for their own reasons, but also they can't make it work. https://twitter.com/uberpreeya/status/1274173005955031040
There are a lot of things in computer science that scale up very badly. If there were ten people on Twitter you could follow all of them and it would reliably deliver their tweets in order. In fact, it would be easier to do if all ten people followed each other.
But there aren't ten people on Twitter, there are tens of millions of people, and we all follow -- and are thus requesting that Twitter pulls content for us from -- different groups of people.
Just stop and think about how many tweets must have been made in the last ten minutes.
Imagine if Twitter's server just had all the tweets go into a list as they're made and it checks to see if you're following the person who made it and it shows it to you if you are.
Imagine if Twitter's server just had all the tweets go into a list as they're made and it checks to see if you're following the person who made it and it shows it to you if you are.
That model would work if it was a server with ten people, but just imagine it doing that for everybody who is online, for every tweet made, as the tweets are made.
Wouldn't work.
Wouldn't work.
So how does Twitter work, if it's not doing that?
Well, it could index tweets by who made them and when it's generating your timeline it goes and checks for recently indexed tweets by your followers, but... oh, that's a lot of names and tweets to look up, all the time, at once.
Well, it could index tweets by who made them and when it's generating your timeline it goes and checks for recently indexed tweets by your followers, but... oh, that's a lot of names and tweets to look up, all the time, at once.
How does Twitter work?
I'll be honest and say that I don't actually know. But I do know it involves a whole cloud of servers, not just "the Twitter server", and it involves attempts to optimize things through prediction, trying to figure out clusters of "close" accounts...
I'll be honest and say that I don't actually know. But I do know it involves a whole cloud of servers, not just "the Twitter server", and it involves attempts to optimize things through prediction, trying to figure out clusters of "close" accounts...
...so that it can minimize the amount of distance between people and the content they're most likely to consume, and I also know that it is designed to "fail gracefully" if not all of the information that is being requested comes through on a timely basis.
You've seen the thing, I'm sure, where a quoted tweet or sometimes even a reply in the middle of a thread shows "unavailable" and you check and the tweets exist and you're not blocked or blocking and haven't even muted the person?
That's what happens when a tweet "misses the bus", so to speak. The query didn't come back by the time Twitter decides it needs to either render all the requested tweets on your screen or you'll worry something is wrong, so Twitter "finishes loading" without all the info.
*In the case where there's other stuff around the tweet that loads*, it shows up as unavailable. A tweet in the middle of a thread, a tweet that's being QTed. But you can click through and get the tweet because it is available, it just missed the bus that one time.
But what happens if the tweet is just a tweet on your timeline, or the last tweet in its branch of a conversation?
Same thing. Twitter decides to load the page and treats that tweet the same it does as any other tweet it can't display. Which in these cases means, show nothing.
Same thing. Twitter decides to load the page and treats that tweet the same it does as any other tweet it can't display. Which in these cases means, show nothing.
Why does Twitter do things this way?
The two other real options are both seen as being undesirable.
One is to "hang" and just keep the page loading and loading until it has everything.
The two other real options are both seen as being undesirable.
One is to "hang" and just keep the page loading and loading until it has everything.
However frustrating you find missing tweets and "close enough" chronology, Twitter's marketing people are of the opinion - and they're probably right - that frequent hang time, visible lag in loading pages, would be more annoying to more people.
The other would be to kill the page if not all the results are returned in time and show you an error page instead.
Twitter used to do this. If you're old enough on here, you might remember the Fail Whale.
Twitter used to do this. If you're old enough on here, you might remember the Fail Whale.
The Fail Whale was cute and the Fail Whale was popular, but a company does not actually want a cute and popular mascot for failure. The Fail Whale was killed because it was becoming too big a part of Twitter's identity.
Back when more of the country had dial-up or really bad DSL or memories of those things, hanging and then crashing as a model for how the site worked... worked. People didn't expect websites to be quick or reliable!
Nowadays, we *do* expect websites to be quick and reliable. But a social network on the scale of Twitter *cannot actually do that*. So it chooses to be invisibly unreliable. It chooses to fail quietly in the background, many constant small failures instead of large ones.
Twitter will choose not to load single individual tweets that do not arrive quickly enough rather than not giving you your timeline, or the thread you requested. So you are sent tweets that never actually arrive.
And if you're thinking "You say this like it's random but it seems like there's patterns. It hides the same people's tweets from me over and over again."
Right. Because it all comes down to arcane arrangements of server architecture.
Right. Because it all comes down to arcane arrangements of server architecture.
And the reason, the real biggest single reason Twitter wants us on Home instead of Latest Tweets, is because when we're Home it doesn't have to pretend it's showing us everything. The behind-the-scenes balancing for server load can be open.
Home will show you the "best" (really popular, and popular in your cluster of friends) tweets over and over again because those are the tweets that get put in a basket right next to the door to hand you as you come in.
Home can show you stuff you didn't ask for instead of fetching the stuff you want to read, if that's easier for the network to handle.
If there were twenty kazillion tweets in the last five seconds and you hit refresh, Home doesn't have to try to figure out which of all of those tweets go in your list. It can pick some of them at random and space them out with tweets it already knows go to you.
Don't get me wrong, the "algorithmically curated timeline" *is also* about controlling what we see, but at the end of the day they don't have eyes and hands enough to get really dystopian about that.
It's mainly about making things easier for them.
It's mainly about making things easier for them.
Some of this stuff is really complicated and some of it isn't, but in the simplest terms: they want us to use Home instead of Latest Tweets because when we use Latest Tweets we get mad if we can tell that stuff is missing and when we use Home "oh well, it's the algorithm, LOL"