<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="https://elezea.com/wp-content/themes/elz_2023/styles/pretty-feed-v3.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:slash="http://purl.org/rss/1.0/modules/slash/" >
  <channel>
    <title>Elezea by Rian van der Merwe - RSS Feed</title>
    <atom:link href="https://elezea.com/2015/09/how-to-display-threaded-discussions-on-the-web/feed/" rel="self" type="application/rss+xml" />
    <link>https://elezea.com/2015/09/how-to-display-threaded-discussions-on-the-web/</link>
    <description>A personal blog about product, technology, and interesting things that are worth sharing.</description>
    <lastBuildDate>Thu, 02 Apr 2026 17:43:52 +0000</lastBuildDate>
    <language></language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <generator>https://wordpress.org/?v=6.9.4</generator>
          <item>
        <title>How to display threaded discussions on the web</title>
        <link>https://elezea.com/2015/09/how-to-display-threaded-discussions-on-the-web/</link>
        <pubDate>Mon, 21 Sep 2015 19:27:18 +0000</pubDate>
        <dc:creator>Rian van der Merwe</dc:creator>
        <guid isPermaLink="false">https://elezea.com/?p=5572</guid>
        <description>
          <![CDATA[I&#8217;ve been doing some work on threaded discussions and comment threads in our web and mobile apps, and I thought it might be useful to summarize some of my findings here. The particular issue we&#8217;re trying to address is how to deal with infinitely threaded discussions, like the kind you find on Hacker News and [&#8230;]]]>
        </description>
        <content:encoded>
          <![CDATA[<p>I&#8217;ve been doing some work on threaded discussions and comment threads in our web and mobile apps, and I thought it might be useful to summarize some of my findings here. The particular issue we&#8217;re trying to address is how to deal with infinitely threaded discussions, like the kind you find on Hacker News and Reddit<sup id="fnref:5572.1"><a href="#fn:5572.1" rel="footnote">1</a></sup>:</p>
<p><img decoding="async" style="display: block; margin-left: auto; margin-right: auto;" title="Infinitely threaded comments on Reddit" src="https://cdn.elezea.com/images/reddit.jpg" border="0" alt="Infinitely threaded comments on Reddit" /></p>
<p>The first thing I did was some research on the different approaches currently used on the web and mobile for discussions and comments. There are some weird outliers, but in general there are five major ways threads are handled:</p>
<p><img decoding="async" style="display: block; margin-left: auto; margin-right: auto;" title="Threaded discussions on the web" src="https://cdn.elezea.com/images/web-comments.jpg" border="0" alt="Threaded discussions on the web" /></p>
<p>I did some further digging and came up with the following list of pros and cons for each approach.</p>
<h3>Completely flat</h3>
<ul>
<li>Example: <a href="http://www.nytimes.com/2015/09/12/health/blood-pressure-study.html?&amp;target=comments&amp;hp&amp;action=click&amp;pgtype=Homepage&amp;modref=HPCommentsRefer&amp;module=first-column-region&amp;region=top-news&amp;WT.nav=top-news#commentsContainer">New York Times</a></li>
<li>Pros:
<ul>
<li>Easy to navigate—just scroll down</li>
<li>Content not pushed off screen</li>
</ul>
</li>
<li>Cons:
<ul>
<li>No context available</li>
<li>Difficult to follow conversation or see what a comment/reply refers to</li>
</ul>
</li>
</ul>
<h3>Infinitely threaded</h3>
<ul>
<li>Example: <a href="https://www.reddit.com/r/todayilearned/comments/3kj8fr/til_that_it_takes_approximately_6_of_a_crowd_to/">Reddit</a></li>
<li>Pros:
<ul>
<li>Context always visible</li>
<li>Can have deep side conversations</li>
</ul>
</li>
<li>Cons:
<ul>
<li>Difficult to navigate</li>
<li>Hard to find new replies on a thread</li>
<li>Pushes content off screen (as threading continues to reduce column width)</li>
<li>Doesn&#8217;t let you decide which tangents (reply threads) you want to dig into<sup id="fnref:5572.2"><a href="#fn:5572.2" rel="footnote">2</a></sup></li>
</ul>
</li>
</ul>
<h3>Capped threaded</h3>
<ul>
<li>Example: <a href="http://workplace.stackexchange.com/questions/54377/lost-my-temper-with-an-underperforming-employee-and-he-quit">Stack Exchange</a></li>
<li>Pros:
<ul>
<li>Sets expectations that replies can&#8217;t go on forever</li>
<li>Keeps context visible (up to a point)</li>
<li>Content not being pushed off the screen</li>
</ul>
</li>
<li>Cons:
<ul>
<li>Deeper levels of replies not possible</li>
</ul>
</li>
</ul>
<h3>Infinitely threaded (collapsed)</h3>
<ul>
<li>Example: <a href="https://www.quora.com/How-could-Googles-new-logo-be-only-305-bytes-while-its-old-logo-is-14-000-bytes">Quora</a></li>
<li>Pros:
<ul>
<li>Context available on demand</li>
<li>Easy to scroll and decide which tangents to go off on</li>
<li>Less cognitive load to scroll through</li>
</ul>
</li>
<li>Cons:
<ul>
<li>An extra action needed to view context</li>
</ul>
</li>
</ul>
<h3>Teased capped threaded<sup id="fnref:5572.3"><a href="#fn:5572.3" rel="footnote">3</a></sup></h3>
<ul>
<li>Example: <a href="https://www.facebook.com/nytimes?fref=ts">Facebook</a></li>
<li>Pros:
<ul>
<li>Context available on demand</li>
<li>Easy to scroll and decide which tangents to go off on</li>
<li>Less cognitive load to scroll through</li>
<li>Can highlight relevant content as teasers</li>
</ul>
</li>
<li>Cons:
<ul>
<li>New comments in thread can be confusing without their context</li>
</ul>
</li>
</ul>
<h1>Our approach</h1>
<p>All design in a business is compromise. In our case, we need to figure out what we&#8217;re willing to gain, and what we&#8217;re willing to give up for it. In our case, our existing product uses infinitely threaded comments. So any change from that will obviously be&#8230; complicated. But considering that we want a single approach on mobile and web, it currently looks like we&#8217;re going to go with the <strong>Teased capped threaded</strong> approach:</p>
<p><img decoding="async" style="display: block; margin-left: auto; margin-right: auto;" title="Teased capped threaded" src="https://cdn.elezea.com/images/teased-capped-threaded.jpg" border="0" alt="Teased capped threaded" /></p>
<p>This seems to strike the best compromise between easy scanning and the ability to drill into specific conversations. The &#8220;teaser reply&#8221; is particularly interesting, because it opens up some neat ways to provide relevant content to users. Perhaps you show the first unread reply, or the latest reply by someone you follow, or the most-liked reply. We&#8217;re still trying to figure out what would be most useful.</p>
<p>Another outstanding issue is if/how to deal with this approach differently on desktop and mobile. Some apps (like Quora and Facebook) split the view into two pages. The first page has the content and the first level of comments, and the second page has only the reply threads. In digging into it a bit more, it looks like this is mostly to make the app more performant. Here&#8217;s how Facebook does it:</p>
<p><img decoding="async" style="display: block; margin-left: auto; margin-right: auto;" title="Facebook comments" src="https://cdn.elezea.com/images/fb.jpg" border="0" alt="Facebook comments" /></p>
<p>And here&#8217;s Quora:</p>
<p><img decoding="async" style="display: block; margin-left: auto; margin-right: auto;" title="Quora comments" src="https://cdn.elezea.com/images/quora.jpg" border="0" alt="Quora comments" /></p>
<p>Youtube, on the other hand, does it all on one page:</p>
<p><img decoding="async" style="display: block; margin-left: auto; margin-right: auto;" title="Youtube comments" src="https://cdn.elezea.com/images/youtube.jpg" border="0" alt="Youtube comments" /></p>
<p>We&#8217;ll need to dig into the performance issue, but my preference would be for a single page with truncated replies, like YouTube does it. Our current working hypothesis for a good solution is this:</p>
<ul>
<li>Show entire comment thread on the same screen (replies not on a separate screen) to make the flow better (easier to scan and dig into individual threads)</li>
<li>Cap each individual comment at 5 lines (with a way to expand) (Mobile only)</li>
<li>Show first reply to a comment, with “View more replies” to load 5 more (&#8220;View more&#8221; on mobile only)</li>
<li>Show first 10 comments on a post, with “View more comments” to load the next 10 (&#8220;View more&#8221; on mobile only)</li>
</ul>
<p>I like this hypothesis because it keeps the approach the same across devices, but still allows for differences in screen real estate available on mobile and desktop. We&#8217;re still in the middle of the debate, so if anyone has any recommendations or anything to add, please let me know!</p>
<div class="footnotes">
<hr />
<ol>
<li id="fn:5572.1">
<p>Yes, Reddit starts capping threaded replies at some point, but they&#8217;re the best example out there of threads that go on forever.&#160;<a href="#fnref:5572.1" rev="footnote">&#8617;</a></p>
</li>
<li id="fn:5572.2">
<p>Jeff Atwood did a good deep-dive on these issues in his post <em><a href="http://blog.codinghorror.com/web-discussions-flat-by-design/">Web Discussions: Flat by Design</a></em>&#160;<a href="#fnref:5572.2" rev="footnote">&#8617;</a></p>
</li>
<li id="fn:5572.3">
<p>Yeah, I know I&#8217;m not good at naming things&#8230;&#160;<a href="#fnref:5572.3" rev="footnote">&#8617;</a></p>
</li>
</ol>
</div>
          <br>
          <br>
          <hr>
          Thanks for still believing in RSS! Get in touch <a href="https://elezea.com/contact">here</a> if you'd like.]]>
        </content:encoded>
                      </item>
      </channel>
</rss>