We just rolled out a new comments system today at Digg. Redesigning one of the busiest and most vibrant comments areas on the web is pretty intimidating. Every day quite a few thousands of people participate in the comments and many more read the comments even if they're not participating. Despite its shortcomings, many people are familiar with the current system and forcing people to adapt to an altered version isn't something I took lightly.
For everyone who is wondering right now "What was their thought process behind the new comments?" or "What were they THINKING!!???", I thought I'd try to explain some of the process behind the user interface changes. If you're curious about the technical aspects of the design, check out the blog of the lead developer on this project, Joe Stump.
- Why Change Now?
-
The Digg comments system was showing its weaknesses as the site has grown... and it's growing quickly! We could see a bunch of technical problems with the comments as they bent under the weight of our growth and we were also aware of features we thought could enhance the commenting experience for all users.
Our users have also indicated that it's time for change — both explicitly by writing to us and implicitly by creating patterns in the current comment system that mimic functionality they wished the comments supported. For instance, advanced commenters have been using the @username shorthand to create faux threading beyond the two-level threading that was available.
- Identifying Goals
When we sat down to give the comments a serious rethink, we identified the following shortcomings as our main objectives:
- Two-level nesting didn't allow for genuine conversations. Particularly experienced commenters were frustrated by the simplistic 'threading' (I'm using 'threading' loosely here).
- Two-level nesting confused novice users. People who find two-levels too simplistic might find it hard to believe, but novice users were confused about the meaning of 'indented' comments. Novices aren't necessarily vocal and many novices are readers and not commenters themselves, so their frustrations may not be as loud as some. Nonetheless, they're a large audience and their needs are important.
- Lots of comments broke the page. If there was a comment thread with a couple of hundred comments or more, the sheer size of the html download and rendering simply froze your browser for a few seconds or longer as it loaded the page. Yeah, that's a problem. Totally lame and unacceptable.
- Replying to a comment happened out of context. The reply system was very basic and forced you to the bottom of the page to enter a comment instead of keeping you in context with the comment to which you were responding. This lead to many mistakes where people responded to a different comment than was intended.
- Displaying threaded comments facilitates off-topic "top-posting" in early threads. Because you could insert a comment higher on the page by replying to one of the first few comments, people annoyingly posted off-topic replies in the most visible portion of the comments. It was annoying for all users and especially confusing for novices.
- More Sophisticated Threading
Comment threading offered two opposing problems: moderate to advance commenters wanted more threading and novice users were confused by the existing relatively simple threading. How to make something more complex and simpler at the same time?
Adding more than two levels of threading was actually pretty simple technically. Our old comment system could have supported multiple levels of comments fairly easily, at least from a technical perspective. However, creating a user interface that made comment threads readable and understandable to a broad array of visitors required a significant rethinking of the comments system. We were certainly concerned that multiple levels of indenting would confuse people and displaying more intricate conversations would put a lot of content in front of people that they likely wouldn't be interested in wading through.
So, we decided to have it both ways. By default, the comment threads are all closed by default. This is nice and simple for novices and people who just aren't interested in delving into detailed conversations. And, now we can enable deeper threading to several levels. When you choose to open a new thread (a conscious choice) it's also easier to understand how the conversation is structured as you're choosing pathways intentionally, no matter what you consider your skill level with discussion forums.
This direction also facilitated a number of other improvements to the comment system, which are discussed next.
- Making Lighter Pages to Improve Load Times of Large Threads
-
There were several options available to us to reduce the load size of the comments pages. The obvious solution was to paginate the comments. However, I've always found paginated comments (see mozillazine for an example) to be cumbersome. It's hard to follow the flow of the conversation and it's annoying to navigate between pages to read everything.
We opted for a more sophisticated approach that I think is actually simpler from a UI perspective. On initial load, we only send the first level of comments and we only load around the first 50 of those. Each time someone selects to see the children of that comment, we call the children using AJAX and insert them without reloading the page. We're also preloading threads in the background to make it even faster to open new threads after the initial load.
Ah, finally, no ridiculous waiting for the page to load on the best discussions on Digg!
- Replying in Context
-
Ok, deep breath, this one is simple to explain. Replying out of context at the bottom of the page sucked. We now load the form with javascript and/or stick it at the end of a thread right where you'd expect it.
- Downplaying "Top Posting"
One of the unfortunate consequences of showing the comment threads opened by default (as in the old comments system) was that the first post would get hijacked by people posting off-topic comments. Because comments in response to the first thread were visually higher on the page, they received greater prominence and hence the incentive to respond out of turn. The trouble with this was evident in the way people buried top posters and in the way people apologized when they knew they were responding in a socially unacceptable way. With the new closed-by-default system, hopefully this issue with be mitigated as the incentive is lessened. We'll see how well it works in the wild, but that's the idea.
- Conclusion
I'm really excited to see how the new comments system is used in the wild. There will certainly be unexpected consequences and we'll try to adapt as we can. There are certainly certain drawbacks to the new system that will rankle some commenters (eg: not being able to read every comment without clicking) but I'm pretty confident that the trade-offs we made were the right ones. The comments are now lighter, faster, more powerful, simpler, and more flexible.
Comments
LordofShadows - June 19, 2007 1:36 AM
Very neat system, but I'm concerned with how well ajax will scale, all those http requests cant be good... Why not just send it all at once and hide them with dom?
Also the "hide n replies" takes up too much room imho.
(Love the system though, dont take my hopefully constructive criticism as bashing)
Brian Hoffman - June 19, 2007 2:16 AM
To load it all and then hide it using JavaScript doesn't help the fact that you still have to load it all first before the page is rendered. It's a sacrifice but it's improving the UI drastically I think.
Charlie - June 19, 2007 2:19 AM
The way it is now is perfect! Please keep it this way. It's still the old style we know and love, but with nested comments. Please let it stay like this!
Matt - June 19, 2007 2:27 AM
Why not just mimic the Slashdot system? It is tried-and-true (also familiar to many), handles nesting very well, loads quickly, and accentuates highly rated comments. Digg still appears to be behind the crowd when it comes to the comment system. Perhaps you are making this more difficult than it needs to be?
P.S. I love the design of this page.
hahah - June 19, 2007 2:34 AM
This blog sucks.
Rohit - June 19, 2007 2:36 AM
Yeah the commenting section is not so good on Digg and everyone is looking forward for a better commenting section....hope it would be great..
Dell - June 19, 2007 2:39 AM
These are some very good improvements to the old system, I hope this rolls out successfully and we'll be playing around with it to see if it is as good as you made it sound here.
Syvl - June 19, 2007 2:39 AM
Perhaps a color coded nesting system? Shades of one color? Just some suggestions =].
Rohit - June 19, 2007 2:39 AM
Yeah right now the commenting section is not so good on Digg and everyone is looking forward for a better commenting section....hope it would be great..
Antoine - June 19, 2007 5:24 AM
Good improvement indeed.
Just a thought, what about putting the username on the right side of the comment box and bring the "+14 diggs + -" to the left, I feel it would give a more consistent look, therefore making scanning comments faster (especially now that the "reply" link is on the left end side of the screen).
Political Manifesto - June 19, 2007 6:18 AM
Indeed a good system, let's see how it goes.
http://www.politicalmanifesto.com
Zain - June 19, 2007 9:03 AM
Your "Identifying Goals" section is spot on. I for one am glad with these changes.
Rob - June 19, 2007 9:47 AM
You should never test something new out live. That's just asking for trouble, and that seems to be what Digg's doing.
The Dude - June 19, 2007 11:34 AM
Wow Rob - that's very perceptive of you. I bet all the Digg staff gave themselves a collective slap on the head when they realized that they were testing on the LIVE site! (I can't stress this enough... put the garbage _in_ the garbage can)
Irene - June 19, 2007 11:48 AM
We'll get used to this soon. Testing... :-)
Irene
Rich - June 19, 2007 1:42 PM
Sweetness. I'm looking forward to this.
Jonathon Poe - June 19, 2007 2:21 PM
About the reply box: rather than navigating anywhere - to the end of a thread, OR the end of the page - what about one of those all-the-rage 'modal' javascript pop-ups? Then you'd not have to scroll the page at all to add your contribution.
Firefox - June 19, 2007 4:59 PM
I think it would be helpful to have little lines connect the threads, granted you only go four levels deep so maybe its not a big deal.
Adam Zey - June 19, 2007 5:52 PM
My biggest concern has always been finding out when somebody has replied to my comments. I've had to go into my Digg profile, click on the stories I've commented on, and then CTRL-F for my own username, then look to see if there are any new replies.
Will Digg now provide a way to see when somebody has replied to your post? It's very difficult to hold a conversation when there's no way to know if another party is trying to talk to you!
Coyote - June 21, 2007 9:27 PM
At least the old version worked, although I would have liked to see a reply button for each comment option. This is way too slow, even compared to the slow page load on the old version. It worked....and now you 'fixed' it! Sorry, just my initial take on it.
Ill - June 21, 2007 10:07 PM
It's OK, I guess. I don't really like AJAX for purposes like this. It's slow, and now Google can't index the comments.
Austin Heller - June 21, 2007 10:18 PM
I'm sorry, but I think Digg's design has been getting consistently worse. The top bar and comments are a solid color, the latter is lacking rounded corners and in general I think it's just bulkier.
I understand you guys want to aim for a "simplistic" look, but it's starting to look like 1999 on Digg.
Tim Shundo - June 21, 2007 10:49 PM
I, for one, am not gonna kiss ass. THIS LAYOUT SUCKS. Go look at the comments on the digg story.
zioxide - June 21, 2007 10:55 PM
faster? it takes like 15 seconds to load every fucking thread of comments. I'd rather have to wait 30 seconds at first for the whole page to load (like it used to with huge threads) than have to click every damn comment to see replies and then have to wait 15 seconds for each thread to open.
Awful system. Go back to the old one.
Tim Shundo - June 21, 2007 10:59 PM
Solution:
Go back to the old comment design. Keep the "Show 51 - 101 of 268 discussions" at the bottom. Problem solved.
Spudnic - June 21, 2007 11:12 PM
Awful, just plain awful.
I invite you to sort the following page by most diggs:
http://digg.com/tech_news/New_Digg_Comments_System_Live
The people have spoken, fix it or change it back.
Jonathan Haddad - June 21, 2007 11:31 PM
Wow, a few pretty brutal responses.
Let me offer my 2 cents. I agree that there are some issues with the "old" style of digg comments. Every point you mentioned above is valid.
However, the new system introduces some new issues. In trying to give people more power with nesting, it actually introduces an annoyance - continuously clicking on people's "expand" button in order to show the replies is extremely obnoxious, from the perspective of a power user.
Ideally, an "expand all" would be available - however I'm not expecting it. Good luck.
GreedKills - June 21, 2007 11:52 PM
it sux cuz it doesnt have any threashold options on each page, with slashdot you can only get -1 to 5, with digg you can get insanely high diggs so it would be hard to sort out the best
long ago digg did have a -1 to 5 rating like slashdot, they even had it say "insightful" and all those other options, i guess they want to be different im just not sure how they will sort it all out
i guess its an experiment really cuz i dont see this lasting and being effective very long
Chris - June 21, 2007 11:54 PM
Still no subscription?
I really wish I could be notified when someone replies to one of my messages. Especially with these threaded replies as it would mean someone was really commenting on something I said.
Somewhere, somehow, let me know I have not had the last word!
Darren Stone - June 22, 2007 12:42 AM
I have a question. I must be really stupid because it's a very basic scenario but I can't seem to figure it out:
Say I reply to a comment, in the middle somewhere, and I go away for a while. When I come back and reload the page, how do I find my comment to see anyone replied? In the old days I would just search for my user ID, but that doesn't work anymore.
I figure there must be a way to see if someone replied to my comment, since that's a pretty fundamental tenant of a discussion system, but I can't figure it out.
So help me out. How does a user find previous comments they've posted? There must be button or something, because I'm sure you guys must have thought of this scenario.
Thanks,
rhinopig - June 22, 2007 1:33 AM
Just so you don't feel to bad about all the 'this sucks' comments. It isn't a horrible system, but does need some tweaking. but I think most people will get used to it.
Some visual suggestions:
- 'show/hide replies' doesn't need to have a colored background making it stand out and the box grouping replies together doesn't need to connect to it. A better idea might be connect the box-group to the comment info (user, thumbs, etc) of the comment they are replying to and perhaps make the comment info/box-group-border a darker color that lightens the deeper you go in a thread. (To me the dark background highlights the text and makes it seem important like a bold. I guess maybe thats the point, but the functional text/buttons generally don't need to be highlighted like that since the text in them isn't important and is always the same.)
- Also there is to much indenting. Anything directly related to a comment should probably aligned with and/or contained within the comment it's related to. If you did insist on the button being indented than the comments that the button expands should be aligned with the button indent, not a second indent (I guess that might be what the box was supposed to combat?)
Some more technical/effort related suggestions:
- It would be helpful to be able to easily find your own comments, whether through subscriptions or autoexpanding any thread you've commented in, or whatever. (this includes comments you made that would be several 'show xxx-xxx out of xxx comments' pages down.)
- Almost unrelated to all of this but I've always kinda wanted a semi-actual form system. Seems it wouldn't be to hard with the new threading system in place. (just make a section full of digg article pages with no actual article links in them.)
- What'd be really nice is some system similar to slashdot that would expand threads or individual comments that had a high rating while also taking into account how deeply nested they are.
Finally, related to your goals:
- 1 was addressed but it is mainly the experienced users complaining now. I think if you make some of the visual changes I suggested it might help.
- 4 wasn't actually that much of a problem I don't think, but I could be wrong (I didn't pay that close attention). I have misreplied but usually it was just an honest mistake, not because i forgot which thread I was in.
- 5 will now be countered by the limiting of only 50 discussions. I doubt I'll ever go past the first 50 since I rarely go past the first 10 or 20 in the old system, and when I do I am just very quickly skimming for links or substantive post or answers to my questions. can't skim fast now.
Dangeech - June 22, 2007 1:36 AM
My experience is that the page loads 10x quicker when their are 100+ comments. I love the new comment system; keep up the good work, and don't be discouraged by the diggers that don't like change.
rhinopig - June 22, 2007 2:14 AM
Oh, one last thing. A GREAT threaded comment system is the ja.zz system used by shacknews.com. Probably impossible to implement on digg without a total rewrite, but I'd suggest stealing whatever you can from it.
cr3 - June 22, 2007 6:46 AM
The new comments system is bloody terrible.
You should be ashamed.
Nathaniel - June 22, 2007 8:51 AM
I'd have to agree with the "it sucks!!" camp. I really don't like the new system.
It's overly complicated, slow, looks bad and just makes me not even want to reply anymore, because it's such a hassle.
I know you guys have your pride and everything, but I'm asking you to swallow it. For your users sake. Slashdot really has one the the BEST comment systems on the web, especially with the karma system. I can read slashdot comments without losing track of the discussion, and there is very little abuse (whether this is due to more mature users or a better system I'll leave unsaid). Now, when I try to read Digg comments, all I get are random blurbs and a bunch of clicking. It doesn't even matter if I only want to read dugg up comments, I still have to click and click and click and... Well, you geet the point.
So take it from someone who loves Digg. PLEASE change the comment system back, or make it more like the Slashdot system.
darkmotion - June 22, 2007 9:01 AM
Gosh, it's funny how there are articles on how "awesome","streamlined", and usable the commenting system is, when really, it has got about 100x worse..
Please - June 22, 2007 10:21 AM
Please control-z your life.
Plese - June 22, 2007 10:22 AM
And by that, I mean the digg comments system.
Dan - June 22, 2007 10:32 AM
Daniel,
Often there are a number of buried comments in a row. What do you think of allowing a further collapsing of say 5 or more buried comments so users don't have to scroll as far to see good comments but always have the option of expanding groups of bad comments?
Corvidae - June 22, 2007 10:47 AM
Add another vote for the "It Sucks" camp. Without a way to find your previous posts, hiding the replies just makes conversation impossible. And breaking the list of comments into pages just makes it that much harder.
If your goal was to stop conversation and make it difficult for any type of discourse to happen, mission accomplished.
Slipgrid - June 22, 2007 11:14 AM
How do you set the default comment display option? For me, comments are displayed sorted "by most diggs" every time. This was a problem before the new release, but now it's like five clicks to get it right, when it used to be only one or two. We really need a way to default the display settings. Please help.
PaperMonkey - June 22, 2007 11:17 AM
I believe in complimenting people on a job well done so I will say that there is some great 'curb appeal' to the new system. I think you guys are going in the right direction but as the system is right now I don't think it works well. It is a little bulky and difficult to manage. I wish I could offer more helpful suggestions in terms of different programming options but I can't so I will go with what I know. I think the current system could work nicely if you were perhaps given a filter (similar to the old hide everything with x number of diggs filter) that would allow you to view the comments page with varying layers expanded (i.e. display comments in first x levels) that way the people who want to be able to read everything can set their preferences to show as many levels as they like. The other big suggestion I have has been mentioned before and it is to set up a subscription option so that people can be notified of responses to their comments. Now I don't know what would be easier.. to have a traditional subscription scheme where you get an automated e-mail notifying you of a reply or to have an RSS feed that users can subscribe to in their preferred reader to track the reply 'feed' to their comments.
Like a lot of people I 'fear change' so this is going to take some getting used to but I think it is great that you can now follow a discussion without having to search back and forth through a massive comment 'thread' to figure out what comment people are replying to.
Benjamin Aiken - June 22, 2007 11:28 AM
Yeah, the new system is attrocious. I can't stand using it. The main reason I enjoyed digg before was to read comments. Now that I can't read comments, my stay at digg has shorted by 90%
My advice, don't change too much at once. Rolling out something this large, this fast, is considered a no-no when you have this many users.
AbandonedHero - June 22, 2007 11:39 AM
Absolutely horrid. Why does everything take so long to load? I'm on a freaking cable connection - it should not take 45 minutes to open and read every single comment on a digg page.
Gadzooks - June 22, 2007 12:23 PM
Fantastic! I love the new improvements. I find it really lame when people can't see past their petty complaints and see the big picture. Way to think it through and see what needed to be done.
HCI Nerd. - June 22, 2007 2:12 PM
Hi. I'd like to draw your attention to some usability thoughts that were raised with heavy use, which you may want to study yourself.
1. You know the old adages about user attention span and so on, I suggest you measure the time taken for a user to read a comment thread with the old system versus the new one.
I haven't done anything exhaustive with this, but we were just messing about and we were quite shocked that with comment expansions being rather numerous and having a open time of about 2-8 seconds each time, it may in fact take over 10x longer(!) to read a comments section with the current system than with the old one - which would take you way way WAY out into dangerous territory WRT usability and stopping users leaving a web page.
You might want to check that one, if that's turning out to be the case you need that info.
2. Less serious and not at all scientific, heh - a quick straw poll showed that most of us use in-page search (F3/ctrl-F/edit menu>find depending on user) all the time to navigate on digg, and conversation elsewhere seemed to naggingly suggest that's very common.
The changes to the comments system completely put an end to that, without providing any other way of immediately navigating to a particular comment.
Pseudowhis - June 22, 2007 2:51 PM
I think a lot of people complaining now, just don't realise that they can twak the options to view all comments, and iot would help if the default view was a bit faster... :)
Keep up the good work!
Daniel Burka - June 22, 2007 3:35 PM
Thanks for all of your feedback everyone. A lot of this detailed feedback is very valuable. We're certainly going to iterate as we go and this feedback is all going to feed into changes as they happen. Thanks again!
seamus - June 22, 2007 5:51 PM
I really don't digg the new comment system. Using the old system I'd scroll right down to the last comment. Now I don't even bother going past the first, waiting for the next batch of comments to load or even waiting for a sub-thread of comments to appear puts me right off.
Granted the old system's main flaw was the non-thread aspect (particularly the fact that the children only went one/two deep.) The new system fails at the sheer ridiculousness of actually see the most deep root thread.
undetected - June 22, 2007 9:01 PM
Have you looked at how theserverside.com does threaded comments? I'm trying to get someone on digg to take a look at it and see if it gives you guys any good ideas. Us digg users do like being able to read top to bottom, and we do like threaded comments, and TSS provides what I think is a good compromise. It's worked well for several years for them, you might want to pick up some ideas from how they've implemented it.
I posted this on digg.com but it didn't bubble up.
Josh - June 23, 2007 12:50 AM
If all the threads are closed by default, you miss out on the good posts unless you want to wait to load all the different threads (and it's noticeably slower).
The only reason I read the comments on Digg articles before was because I could view them all at +5 or higher and get mostly good and interesting posts. Now I have to spend a lot of extra time opening threads to see if something interesting is inside. Though I'm not a big fan of Slashdot, I can say that their comments work well because I can also view them at a certain moderation level, and most of the best posts (assuming people moderate well) are automatically visible right away. I don't need to load additional comments unless I find a particular conversation interesting.
With the new Digg system, now that it's become a little more difficult to read the comments, I may not take the time to participate unless I'm particularly passionate about a subject because the load times now seem far longer than before.
Andrew Fox - June 23, 2007 2:42 AM
New comment system sucks and is ugly as hell, ajax to load more comments is sloooww and there are stupid boxes everywhere. Also design wise the comments look very ugly, go back to the old style look of comments just add more nesting.
Jeff - June 24, 2007 4:38 AM
Daniel Burka, please inform anyone involved with the new comment system that they are an asshat.
The whole idea of digging/burying comments is that the good comments are expanded while the bad comments are collapsed. The fact that nearly ALL of the comments are collapsed goes against that very fundamental idea.
Not to mention that the whole design is ugly as hell. When you have a few comments on your screen collapsed/expanded with some reply boxes, there are a million lines and rectangles in different shades of blue and teal.
What the hell exactly is the point of threaded comments when there is a limit? Not to mention you have to click five times to get to that fifth layer.
Your new system also encourages hijacking the first post because otherwise your post is going to be on the 10th page of the comments. How many people are actually going to be reading that far in?
If your goal was to keep people from participating or reading in the comments section, you've definitely succeeded. You should remember that you're trying to grow a community, not limit them to some ugly, unusable app.
Kingsley Joseph - June 27, 2007 3:12 PM
I like the new design, and the reasoning is excellent. Can you add a "collapse thread" option to the bottom of threads so that I don't have to scroll all the way up to collapse them?
Pim - July 2, 2007 7:55 PM
Wauw, this new system really is neat!
Aaron Schoeffler - July 4, 2007 1:34 PM
Push me onto the "It Sucks" stack.
I suggest that you implement customizable filters for comments using DOT (meaning that all posts are downloaded and any filtering occurs on the client side), and have "Posts by Self," and "Threads I Posted In" be built-in filters everyone can immediately choose. For the latter, default to expand two levels out in each thread.
If one is posting a lot within one particularly long thread which is particularly branch-y, one could define the filter for "Threads I Posted In" such that the threads are broken up having some upper limit for the # of serial, uncrossing branches in a thread before considering them as separate.
Just some thoughts, because I don't like having to hunt for my posts.
How about how Slashdot does it? Could you make an expandable tree under "Digg's I've Commented On?"
-A