Refresh chat messages through overlay instead of scrolling, thus keeping messages in a fixed location, improving legibility.
I've been looking at the way messages refresh in a busy chat channel. All messages are shifted upward every time a refresh takes place, thus, changing their location all the time. This makes it difficult to finish reading messages, as your eyes need to re-adjust constantly to new messages as well as all old messages re-appearing in new places. This is the case, even though messages stay on-screen sufficient time to read them, if only they didn't move.
So, currently you see:
message 1
message 2
message 3 <--
followed by
message 2
message 3 <--
message 4
and:
message 3 <--
message 4
message 5
finally:
message 4
message 5
message 6
My idea is to refresh the chat messages in a different way. Thus keeping messages in the same place, but refresh new messages from the top down:
message 1
message 2
message 3 <--
followed up by
message 4
message 2
message 3 <--
And:
message 4
message 5
message 3 <--
Finally:
message 4
message 5
message 6
Thus, the messages would (could) continue to refresh at exactly the same rate as they do now, but they stay longer in the same location, giving you more opportunity to actually read the messages, as well as giving a much calmer presentation overall. This method reminds me of the way an old TV would draw a new image; every time from the top down.
Hope you can consider implement this and hopefully spread the idea to other platforms too. Many thanks!

-
[Deleted User] commented
@Gulpen the problem would be that messages are sized in pixels, and the amount of messages that are needed to fill a screen vary based on a lot of things. With the messages you pointed out, you basically have message slots. This is something that could be done, but the scaling of things could be weird depending on how your screen looks, or you'd end up with a small gap at the end where there wasn't enough space to put another message. The other, somewhat bigger, problem is that this kinda effect makes scrolling really weird. I love what you're going for, but I don't think this is the solution.
-
Gulpen commented
Why would different message sizes be a problem? Say I have three messages:
AA
AA
BB
CCNow I add message D from the top in several different ways.
In this case you remove message AAAA fully when adding DD:
DD
--
BB
CCThough you could just as easily retain the latter portion of message AAAA:
DD
AA
BB
CCInversely, if the new message DD is triple the size:
DD
DD
DD
CCI don't see a problem.
You could of course buffer messages for several milisecond to have a smoother overlay, at a more constant speed.
-
[Deleted User] commented
Yeah that's a pretty good idea. I think the fact that messages can be different sizes kinda ruins this. Maybe the way it could work however, is for it to wait until it has received enough messages to fill one entire page, and then auto scroll down. Not when there's only 3 new messages or something. It could even keep adding the new messages at the bottom, but only scroll down if there's enough new ones.