I'm building a system for people to post comments and messages, in a hybrid realtime/asynchronous stream. And I wanted to ask all the hackers here: should the newest comments arrive on top or on the bottom?
It seems to me that, despite the fact that we read books from top to bottom, and most chatrooms have newer messages on the bottom, that the other way is better. Here are the pros and cons:
New messages on top:
The textbox can be on top of the webpage, encouraging people to submit a message more than if it's somewhere on the bottom, because of its more prominent (and fixed!) position.
Using pagination with this style would bring the most recent comments naturally on page 1.
Blogs often sort comments this way.
Email threads are usually shown this way, for example in gmail or on the iPhone mail
It seems this style is more suited to slower, asynchronous conversations
Comments on the bottom:
Mobile phones typically have the textbox right next to the keyboard, such as on the iPhone
People tend to read from top to bottom and they can just keep reading the messages chronologically
Pagination would be a little weird though, with this style
When uou produce a list of items that is autoplayed, such as a music mix, you want to put later items on the bottom, as there is a very strong precedent for autoplaying or numbered lists to have the numbers increase in the downward direction.
Personally for user engagement reasons I would want to favor the newer messages (and textbox) on top approach, which is what email threads, facebook posts and twitter streams do. Since I need the same interface for chat, how alen do you think it would be for people?
Do any of you know of any links to articles or usabiloty studies that have been done with this? Any insight would be definitely appreciated.
The other examples you mentioned, like Facebook/Twitter posts, are different because they're usually standalone and don't have to be read together with other posts. (You'll notice that new comments on Facebook posts appear at the bottom, because those are meant to be read together and in order.) The one example you mentioned that doesn't really fit here is email threads, which are displayed with new messages at the bottom in interfaces like Gmail.