3
$\begingroup$

This is an extension of the old question How would interstellar internet work?. If civilization was spread over several different planets or moons (in the same system), and it took perhaps a few hours for signals to jump between clusters, how would social media like Twitter function? Twitter is instantaneous, it assumes everyone on it is on the same “page”, otherwise the concept of a twitter timeline (feed) ceases to be workable. So how would Twitter, or something similar in concept, manage to work in a multi-globe system? How would users stay in sync? What would happen if the distance, and thus the latency time, was increased to weeks or even years?

Some intrinsic attributes of a twitter-like social media to note:

  • Twitter is linear—barring its bizarre (and unpopular) algorithmic timelines, twitter users rely on the assumption that tweets show in the same order for everyone. The concept of “before” and “after” are vital as users react, and react to reactions, and react to reactions of reactions, and so forth.

  • Twitter is universal—Anyone can be on Twitter. When you follow a person, you don’t automatically know where they are, and in theory you can follow anyone (unless that person goes on private, but that’s on an individual basis). There are no structural factors that make one group of users easier to follow than another group. In contrast to a site like Stack Exchange (which is divided into various “communities” that you need to explicitly join), Twitter has no communities.

  • Twitter uses unique identifiers—as a result of the universal attribute, users on Twitter are assigned unique identifiers (@ names) since everyone is in the same “pool” and no namespacing is allowed.

$\endgroup$
1
  • 1
    $\begingroup$ Like a 19th century Agony Column. $\endgroup$
    – JDługosz
    Commented Jul 12, 2016 at 21:18

4 Answers 4

8
$\begingroup$

The problem you describe is one that Twitter deals and other networks deal with even now, just on a much smaller scale. The key understanding is that a given Twitter-like network 'receiver' will eventually be correct.

We assume (fairly easily) that a given message in a Twitter feed can be uniquely identified: the source of the message assigns it this unique identifier and does it in such a way that other receivers know when in the source's timeline of creating messages that message exists. Thus, if the source produces messages A, B and C, any receiver can categorically sort those messages.

Now, note that the source of the messages might tag the message with a 'time', but that time might be a bit of a lie. Keeping computer clock systems in sync (even in local space) is very hard, and largely a fools errand. It's enough that you get close, and that you are able to agree on an ordering.

For this reason, there are algorithms like the Vector Clock that allow a distributed network to reason about how messages should be partially ordered. What this means is that if two message sources send messages with the same partial ordering (that is, they send the messages without being aware the other source sent a message at the same time, thus being unable to say which was actually first), it sort of doesn't matter if one came before the other: deciding between these two is not actually material.

This same thing can be utilized across stellar or interstellar gaps. While one can imagine a lot of machinery involved to aid the network's reliability, we can simplify and assume that messages travel at the speed of light. When a receiver 'gets' a message it just has to order it amongst all the other messages received. Because the Vector Clock lets us do this, we know that it will, eventually, be correct.

Why do I say 'eventually'? Well, some part of the network might be partitioned (separated), or there may be unexpected latency. Eventually, though, the machinery of the network would deliver the messages. The human experience might be different if there is a lot of packet delay or loss (note that Twitter actually sees this from time to time now: you just don't notice it), but eventually you'd have a fully composed feed of all the messages that could possibly have reached you, based on the speed of light, in the right order.

$\endgroup$
8
  • $\begingroup$ This is a really good answer, but how does partial ordering reconcile with the one-pass scroll? Would users have to be retrained to periodically scroll back down to check for just-arrived tweets that get sorted lower in the timeline? Twitter functions the way it does right now because the resorting differential is usually within a few seconds, and tweets are unlikely to appear outside of the viewing window of the screen since rarely will the resorting differential correspond to a position difference of more than 5 or 6 tweets $\endgroup$ Commented Jul 12, 2016 at 20:52
  • 1
    $\begingroup$ This is what I meant about the 'human' experience: because the time gaps are longer you might notice that new messages that are older than messages you've already read just arrived. In this case it would be easy for the 'receiver' software to notify that 'new old messages' arrived. You could collapse all the messages already read locally, and expand them if the user wanted to see the full timeline. It simply becomes a UX question. $\endgroup$ Commented Jul 12, 2016 at 20:54
  • $\begingroup$ One of the really neat things about vector clocks is that it is impossible for a response to get ordered "before" its challenge. Thus, while you could not have any guarantee of ordering between unrelated tweets, between related tweets you could rely on the ordering. $\endgroup$
    – Cort Ammon
    Commented Jul 12, 2016 at 20:58
  • $\begingroup$ @CortAmmon how would you determine which tweets are related? The reply and the quote tweet are far too narrow to capture all tweet relationships; that is why we have the indirect and the sub. The former of which is exceeding difficult for an algorithm to find its anchor, the latter is impossible. $\endgroup$ Commented Jul 12, 2016 at 21:00
  • 1
    $\begingroup$ @Kelvin The way vector clocks works would increment a local clock for every received message and for every message sent. That local clock would be bundled up as part of the larger vector clock that is sent out. Thus, any reply sent after the receipt of a tweet will be ordered after said tweet, because it must have a later local clock value than the receipt, and the receipt of the tweet always is always timestamped at a later time than the event which sent the tweet in the first place. $\endgroup$
    – Cort Ammon
    Commented Jul 12, 2016 at 21:17
1
$\begingroup$

They would have the same issues they have right now, information travel over the wire or radio waves at the same speed, the speed of light, for the worlds at 5 or more light hours, if the information has not reached yet, then it has not happened, there is no way to know something sooner than that. there will always be a gap between what happens here and there, but from each point of view it will be like instantly.

they will see your timeline in real-time from their perspective but the reply will take longer to reach you. the same the other way around.

$\endgroup$
2
  • $\begingroup$ I should've read the whole previous answer before posted mine, as now i realize its almost the same. should i delete it? $\endgroup$
    – montelof
    Commented Jul 13, 2016 at 19:33
  • $\begingroup$ repeat answers happen on occasions. it is best to read previous answers to avoid them, but it's not the end of the world. I think it's fine. $\endgroup$
    – dsollen
    Commented Jul 14, 2016 at 14:54
0
$\begingroup$

I don't think Twitter could function as it is now. It will have to either split into communities with their own individual tweets. It could have a Twitter main which gathers and sorts all the other Twitters at the end of the day but this would not be instant. Another way would be for tweets to appear In order of arrival although this could get confusing if the latency times aware high enough. The only other option is to go to non-instant messaging where latency time has less affect.

$\endgroup$
0
$\begingroup$

Who says it has to be Twitter? A more e-mail like system would work better with high latency (it's called e-mail and mail has high latency). If you wish to modify Twitter to make it better you could:

  • Scrap the 140 character limit (or make it much more, like a few thousand)
  • Make it ordered based on time received

Also, intraplanetary social media may use different systems (more like twitter).

$\endgroup$

You must log in to answer this question.

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