Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: chat going up or down?
21 points by EGreg on Dec 22, 2010 | hide | past | favorite | 25 comments
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.




Chat should go on the bottom. Why? People (at least people reading English) read top-to-bottom, and chat messages very rarely make sense out of context: when someone is reading a chat message, they're almost certainly reading a conversation, not a single chat message.

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.


The general results I tend to see, with a bit of my theories as to why:

New at top + box at top => more, usually less relevant (often worse) comments. Because people are more likely to leave a comment and less likely to read others' first.

New at top + box at bottom => fewer, varying quality. Because people are less likely to comment at all. Where there are few comments, they tend to be pretty good; where there are a lot, nobody reads them all, and you get the same as above. And a bit of annoyance at having to scroll past things to get to the box (is this necessarily bad, though?)

New at bottom + box at bottom => fewer, threadier comments, varying quality. People think more like forums. You're also setting yourself up for "fp!", as those stay at the top forever. Similarly, good comments only rarely get a chance to be read by anyone.

New at bottom + box at top => worst of all worlds. Lots of comments, nobody reads, and people get frustrated because theirs never gets seen, leaving the world to the loud and annoyed and nobody else.

---

All that said: new at bottom + box at bottom anywhere you intend to have communication. Twitter is both-top because it's not a bi-directional communication platform; it's a shoutbox. The newest stuff matters, and yours is the newest. Focus decreases as you scroll down, and as things get older.

Most chat systems are both-bottom, because you can read conversations like a book, and add yours logically close to where it will appear, and where the likely-most-relevant things are (newest in a thread = likely most relevant to your comment). Focus likely increases as you go down, as things get more relevant; a downside to long-running threads if you have to reload the page, but no real problem if it updates in place.

Choice here can have a pretty profound impact on how people approach and use your system. What do you want it to be used as?


New at top + box at top => more, usually less relevant (often worse) comments.

Indeed, YouTube comments work this way, even though they've tried to dilute the sewage a bit by highlighting a few highly-rated comments at top.

I'm still a fan of newest-on-top, but this is a cautionary observation. Perhaps there's some way to have the 'box in middle' – or displaying alongside as soon as you've read enough of the log to avoid the most boneheaded, repetitive comments.


I personally like in-line comments, where the box appears wherever you want it. It heavily encourages threads, but most people communicate that way anyway. You can then sort the threads however you like, and filter out bad ones (a la Slashdot), and hide when they get too deep, as it's probably just a chat between a couple people then.

Hm. Anyone be interested in an extension for an in-line reply box for HN? I could probably add it to Flattehn, though it'll take a while.


I would really appreciate inline commenting, though not bundled with hiding stuff.


In a version or so, everything will be optional. I like options. That'll likely come before the inline reply, as that's a bit complicated.


Are you posting updates or discrete entities? Then new on top.

Are you having a conversation? Then new on bottom.

On a recent blog-like system I did, new entries went on top, but new comments (on the entries) went on bottom. Email works the same way - new threads will sort on top, but within a thread new messages are on the bottom.


Do what users are used to: bottom.

Facebook, iChat, Adium, Skype, Colloquy, Campfire, all do bottom.


It's not just what users are used to, it's what users are used to for that context. So if it's publish/consume content (even if some is user-generated), then newest should go on top because users are used to that. If it's synchronous two-way communication, then newest should go on the bottom, because users are used to that.


(And pretty much every IRC client, Gmail, webOS/iOS SMS, even QQ chat.)


I think it depends what's being posted. Facebook does it both ways - in a message thread it shows new stuff at the bottom, on the news feed it shows new stuff at the top. I think the key difference is where you have stuff that should be read in a logical order, it is easier to have it listed top to bottom (since the individual messages will be read top to bottom). Where you have stuff where you can pick up the thread anywhere (like a news feed) it makes sense to have the new stuff at the top where it is more visible.


Perhaps you could do something a little bit novel allow all comments to behave like a chat room:

fixed size comment area, with a scrollbar that starts at the bottom, when you scroll up you load earlier comments dynamically?

That way you can always see the most recent comments in the discussion, and easily scroll backwards through the history to follow a conversation.. scrolling and loading dynamically is a lot 'lighter' of an interface than the frustration of paging. (that's my own opinion, not backed up by any usability studies)

just like people expect from a chat room.


I would guess that people are interested in the newest context available.

In something like Twitter or Identica, messages are largely unrelated to each other, therefore the unit of individual context is a message, and the newest messages appear at the top.

In something like IRC, messages tend to be very heavily interrelated, and the unit of individual context is the entire channel - or at least the past five or ten minutes. Until IRC clients learn to split channel contents by semantic context, they present the entire context (i.e. channel history) in chronological order for your perusal.

In something like email, messages tend to be somewhat interrelated, but because each message has links to its related messages, it's easy to break up a mailbox into threads. Generally, I would expect this kind of system to show the newest thread at the top, but the individual messages in that thread chronologically.

Since some email threads grow to enormous lengths, it's not always useful to have the first two thirds of the page occupied by messages posted a month ago, when all the activity is occurring in the leaves. In this situation, it might be useful to only construct threads based on activity in the past week or so - that way, the individual sub-threads of the Monster Thread can take their appropriate places among any other threads that have occurred recently.


Given the difference in views depending on use cases, what about offering users options? That doesn't entirely eliminate the question of what should be the default option but does give you the ability to test whether significant proportions of users have an alternate preference and what effect that has on their participation, within the context of your app.

Personally I quite like Facebook's hybrid reverse chronological order and box at the top for discrete updates with responses to those updates ordered chronologically and updated inline.


I call this the Activity Stream domain:

http://activitystrea.ms/

It has a lot of idiosyncrasies. One thing I noticed recently, and tweeted about, was how Facebook uses different ordering within a single view of its News Feed:

> facebook stream format: <(>>>)<(>>>)<(>>>) (reverse chronological order for news items; chronological order for comments on news items)

http://twitter.com/#!/BenATkin/status/10561264480686082


Bottom post. See here, which I'll quote: http://en.wikipedia.org/wiki/Posting_style#Choosing_the_prop...

  A: Because it messes up the order in which people normally read text.
  Q: Why is top-posting such a bad thing?
  A: Top-posting.
  Q: What is the most annoying thing in e-mail?


there are lots of ways to do it but what is it that it will look more appealing or new? for example globes like when u text to another cellphone and in the msg menu the msg wont dissapear it will only remain as globe green to blue blue to green :D


Tweetdeck has reverse chronological order. Seems to work quite well for unrelated messages.


Newest stuff goes closest to the place where you enter text.


Top please. That's the only way you will do something new and interesting. Don't just do what everyone's been doing because "that's how it's done". Why are you so scared of trying something crazy and new?


Wow, if only book writers followed your advice, we might have something decent to read!


Join the future, not the past: put the newest statements on top.

True, most other live-chats do the reverse. But Twitter, blogs, and feeds are training people to read upward – it's the layout with momentum.

The old way was dictated by handwriting and then typewriters; it's no longer required with most written communication keyed-in. Even where a physical reason may exist to prefer a text entry box near the keyboard, as on smartphones, it's still easy enough to compose-at-top (as evidenced by URL bars and search boxes). Or, a covering animation could cause messages to visually 'whoosh' from bottom-entry-area to latest-on-top upon send.

I expect at some point a tipping point will be reached – perhaps as a generational thing, or when some other post-Twitter channel takes off – after which even older interfaces will flip. (Is there an IRC client that's latest-on-top yet? If not, I expect one soon.)

Eventually, even prose that seeks to create a strong sense of time-falling-in-from-the-top may reverse its usual line-ordering.


Thanks guys for your responses. I just wanted to add a couple things: yes, if I was following what everyone else does (and the user kind of expects) then

a) my service won't really stand out in this respect, which may be fine, and

b) the box will be at the bottom, which means the human brain will have to look for it in a variable place, causing far less people to use it than if it was in a fixed place on top -- and causing less initial engagement with the site.

If you notice, youtube did whatever they could to get popular in the beginning, and it worked for them. They were one of the first web 2.0 companies to be sold for above a billion dollars.

Anyway, back to my point ... if you read email (not in gmail, but in regular email clients) then you usually have conversations in reverse chronological order. Come to think of it, I always feel I have to remind people to "read from the bottom" when I forward an email thread. So perhaps it doesn't lend itself to the best experience.

This seems to suggest that the best experience is indeed: bar on the bottom, infinite scroll going up (or pagination going backwards).

But now I will have the problem of drawing the user's eye to the bottom of the screen. Most chats will initially be empty, so I will just have a large empty space on the top, and a chat textbox on the bottom. What about that? Fine for IRC but not for a website, I think.


Indeed, what is causing our preference for the bottom these days, that will continue to be important as physical paper, etc. won't have much bearing on chat layout?

I think it is:

1) keyboards on phones are on the bottom, so as not to obscure our view of the screen, and we want that textbox to be in line with the keyboard

2) we read from top to bottom, so it is more natural to continue reading this way inter-message and not just intra-message

But there is one BIG ONE that seems to really scream "newest on top" for me:

On the web, things start at the top

This makes sense, because they are documents. And as such, embedding chat in a document seems to demand a large empty space: most of the important site elements (header, etc.) will be on the top, and to see the input box you have to look all the way DOWN.

Maybe I just need to come up with an idea to draw the eye there and make people want to type. But what?


http://xavvy.com/up-in-future

about this

I have strong feelings




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: