Scroller element changes size: which way should I grow/shrink?
I'm writing an infinite scroller widget for a messaging application.
Element sizes are not uniform, and may change as other users edit messages. In such a case, I need to shift other elements in the list to either make/take room for/from the resized elements. I can do this by:
- shifting elements from the top; growing elements move elements above them upwards, while shrinking elements move elements above them downwards,
- shifting elements from the bottom; growing elements move elements below them downwards, while shrinking elements move elements below them upwards,
- shifting elements from both sides by some proportion.
Is there any consensus as to which of these options is better?
Obviously if the message list is scrolled to the bottom, I want the scroller to stick there. This is more for the case of the list being in the middle of the content.
One thought I've had is that if the current user is editing one of their messages, having an edit box "grow upwards" would be unintuitive.