Sometimes I am reviewing the conversations in some chats, and for some reason I must leave the chat, and I hope that when I return to the chat, I can continue reading where I stayed, but on the contrary, the chat automatically returns to the beginning, and I have to search manually where I stayed, wasting some time.
So:
I recommend keeping the chat reading status, unless you find new messages.
(probably not a good idea) Just donāt un-render the message lists of other chats, so that the browser is the one keeping the scroll position. Similar to how tabs work in browsers. This is probably gonna be problematic, e.g. we would have to make sure not to mark messages and not to scroll as read as they arrive to the non-current chat.
When closing the chat, simply find the last message whose bottom corner (or top corner?) is visible. When you go back to the chat, jump to that message (unless we are explicitly provided another message to jump to, e.g. through notification click).
apart from that, at a first glance, i see a worsening for the majority of cases, where, if you leave a chat, you will want to forget about scrolling position, esp. if you open the chat hours or days later. esp. if additionally new messages arrive - where to scroll then?
sure, we have the scroll down button, and the logic can maybe be more smarter than āpersist positions of all chatsā but all in all that makes chat opening unpredictable. not to speak about larger complexity and maintaiinance costs.
also, when searching a along time for some message you want to remember the next days: sometimes you do not even know the chat, so that would not help at all also, there is multi-device.
so, all in all i am not sure if targeting this proposal would overall be a win, even if technically super-simple to do.
another approach, that works today, targets the case of āchat forgottenā and āmulti deviceā as well - and that was not possible the time the proposal was filed (note, that this issue is quite old, lots of things has changed since then):
if it was really hard to din the the message or position: āSaveā it to āSaved Messagesā - that way you can easily go back to the exact position in the correct chat at any time with one tap
answering myself: none of WhatsApp-iOS, WhatsApp-Web, Signal-iOS, Signal-Desktop, Telegram-iOS or Telegram-macOS persist the position for private chats. Telegram seem to do this for āChannelsā esp. the latter is interesting as Telegram decided not to do that for private chats even though they have implemented the logic.
I did only a quick testing round, so it may be inaccurate, also not sure if some things were bugs in apps
We might want to āforgetā the old scroll position after a while, but IDK if it would be better. Could be perceived as inconsistent maybe.
If you previously had the chat scrolled up, then scroll to the old position. Otherwise (if you had it scrolled to the bottom), then scroll to the first unread message (as we do now), which is also basically almost equivalent to restoring the old scroll position.
But we can look up how Telegram does this precisely.
Whatās unpredictable about this? You continue where you left off, thatās it. Like opening a book on a bookmark.
Sorry, I didnāt get this.
Are you saying that in this case the purpose of the feature at hand is to āsave a messageā for later? I wouldnāt see it this way. Itās more about switching between chats rapidly.
Sure this is a nice feature, but a distinct one. You wouldnāt want to āsave messageā every time youāre reading through one chat, and then have to switch to another to reply real quick.
Sometimes there is a high-traffic group chat you want/need to follow, and after some offline time you canāt read all the new messages at once. Then itās very convinient to start from last read position.
Useful feature, which I discovered only now.
Once again, DC interface is misleading, for me at least. It believe it should be named āBookmark postā or just āBookmarkā, but not āSaveā.
I agree with this. In my view, saving/bookmarking a message for later is designed for a different use case to switching between chats and wanting to keep your position in the chats as you switch between them. The āSave messageā feature can be used as a workaround for the second use case but itās not ideal. It means that instead of switching between two chats, you would now need to switch between three chats with the āSaved Messagesā chat acting as a go-between, which is an unintuitive workflow, requiring more time and concentration.
It also greatly increases the number of taps/clicks which you need to make to switch between the chats, and you end up with many messages cluttering your āSaved messagesā chat which you probably didnāt want to save, unless you then take the time to remove them later.
I like the āSave messageā feature, and it can be used as a workaround in this case, but I donāt see it as a replacement for remembering the last read position in the chats.
For what itās worth, I would also find it very useful if chats remembered the last read position, but itās fair that developers might want to prioritize other things first.
Well it acts as a bookmark and saves the message, so both terms are accurate. The saved message is kept even if the original is deleted. I guess āsave and bookmarkā would be more descriptive but maybe people find that too long. The icon implies bookmarking.