it-swarm.cn

显示无限嵌套注释的好方法是什么?

有没有办法以看起来并不可怕的方式来做无限嵌套的注释线程?我意识到可以简单地限制嵌套的级别,但是也许有一种更好的方式来表明某些评论是对其他评论的答复,而不是简单地缩进这些评论。经过一定程度的嵌套后,缩进失败。

可以使用的一些想法:颜色,大小,渐进公开,数字(1.1、1.2、1.2.1等),模式窗口,评论回复流(例如Facebook或Twitter), SeaDragon 等.

有谁解决了这个问题?你做了什么?我们也欢迎开箱即用的建议和直观示例。

34
Virtuosi Media

如果将“无限嵌套的注释”视为设计中的另一个维度,这并不难。大多数注释线程只有两个维度:注释(X = 1)和注释数(Y = N)。但是现在您已经嵌套了注释,将Z = M添加到混合中。

从UI设计的角度来看,这应该不是一个很大的挑战,因为存在许多用于处理额外尺寸的范式,例如Pam所描述的尺寸,选项卡,面板等。我们遇到的问题是现实世界是没有无限的屏幕空间或无限的丰富度。那就是事情变得复杂的地方:Web用户不想向右滚动,并且大多数注释框都受父页面滚动条的约束而没有独立性。

IPad版Twitter

IPad的Twitter最近在这方面给了我一些启发。在那里,Z维度以交互窗格的形式显示在X,Y上方:

Twitter for iPad

由于您使用的是iPad,因此您可以完全控制是否要带入多余的窗格以查看或轻拂它。因此,阅读推文(二维X,Y列表)很好:只需上下滚动即可。大多数Twitter应用程序在尝试添加第3维时会迷迷糊糊,第3维正在放大到Tweet中以查看其上下文。

例如,一条Tweet可能是对其他人的答复,在这种情况下,您想查看完整的对话。大多数基于Web的Twitter客户端将加载一个新页面。大多数应用程序都不真正支持它。但是,iPad版Twitter仅再次显示了该右侧窗格,并在原始窗格中突出显示了选定的Tweet。现在,您可以阅读上下文中所有内容的垂直滚动列表。此时,Z = 1。如果单击此列表中的项目,则右侧将出现另一个窗格,并且您位于Z = 2中。

从理论上讲,这对于Z = M可以继续,尽管我不确定Twitter客户端本身会做什么(可能崩溃!)。但是,此模型看起来很吸引人。

15
Rahul

没错,缩进在一定数量的级别后确实会失败,但是您总可以像 deviantArt 那样寻求解决方案(大约10个级别后,它们会将您重定向到整个页面回复流)。

不过,我宁愿更改字体大小或分组面板。这是我正在谈论的图像。它比较简单,我认为可以完成工作。 Facebook实际上在“新闻提要”页面上同时进行了这两种操作。主要思想是清楚地将它们分开,同时显示这是开始答复链的主要评论。 alt text

拓宽面板主题(因为我认为您对字体大小问题是正确的),因此可以用颜色区分注释组。它仍然需要缩进,但所需的缩进量要少得多,这为您提供了更多层次的嵌套空间,并且仍保持清晰。不过,您可能需要重新考虑该链接,该链接会导致在6个级别左右后到达另一个页面。

alt text

14
Pam Rdz

我内的UE必须问:哪种对话需要无限嵌套的注释?

真的需要无限嵌套吗?考虑Gmail的对话模式-它只是按时间顺序将对对话的所有答复分组。似乎工作得很好-多年没有改变。人们唯一的抱怨是有些人想要“无线程视图”,但这与您的建议相去甚远。

8
Julian H

我已经通过在某些情况下不缩进来解决此问题,并使用箭头指示哪个评论回复了哪个评论。

这是一个示例,来自 一个开源讨论系统 我正在开发:


Indicating which comment replies to which comment, via arrows


这是现实中上述示例的链接: http://www.debiki.com/-71cs1#post-116979

(我还写了一篇关于此的博客文章: http://www.debiki.com/-01jn7-solving-problem-nested-replies-indentation

8
KajMagnus

我想到了一个受MS Outlook 2010启发的小组对话:

仅显示“ LEAF”注释,每个注释包含该对话行中的所有先前注释。

例如,考虑以下“现实生活”结构:

Post
 - Comment1
 - Comment2
   - Comment2.1
   - Comment2.2
     - Comment2.2.1

用户将看到的是:

Post
  - Comment1
  - Comment2.1
  - Comment2.2.1

例如,当查看Comment2.2.1时,用户将看到:

Comment2.2.1 by UserX 

     I agree!

Comment2.2 by UserY

     I think this should be done so and so

Comment2 by UserZ

     This post has a call for action, what do you think?

(虽然Comment2.1也将包含Comment2)

5
Dan Barak

我认为@Dan仅显示一条评论及其祖先的建议很有道理。它允许人们在导致对话的上下文中查看消息,而不会分散无关分支的注意力。

最初,帖子可能显示如下:

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               | 
|                   [3 comments]| 
+-------------------------------+

单击[3条评论]或按向下箭头键将打开帖子下方的第一条评论。

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               |
|                               | 
+-------------------------------+
|                     1 of 3 [x]| 
|                               |
|< That's a great book!        >|     
|                               |
+-------------------------------+                     

从这一点开始,您可以使用箭头按钮或左右箭头键循环浏览有关该帖子的所有评论。 (顺便说一句,只要我说出方向键,就很容易想到触摸屏滑动,加速度计倾斜,操纵杆,轨迹球等)。

假设您直接阅读下一条评论:

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               |
|                               | 
+-------------------------------+
|                     2 of 3 [x]| 
|                               |
|  I want to read this one.     |
|< I've read his other two.    >|     
|                               |
|                   [8 comments]|
+-------------------------------+  

此时,您正在评论本身具有八个评论的评论。您可以下一层阅读这些评论。

+-------------------------------+
| The Design of Everyday Things |
| by Don Norman                 |
|                               |
|                               | 
+-------------------------------+
|                     2 of 3 [x]| 
|                               |
|  I want to read this one.     |
|  I've read his other two.     |     
|                               |
+-------------------------------+  
|                     1 of 8 [x]| 
|                               |
|  I enjoyed this one and       |
|< Emotional Design. I didn't  >|
|  know there was a third.      |
|                               |     
|                   [2 comments]|
+-------------------------------+

等等。从理论上讲,很容易跟踪所有分支(或只是有趣的分支)而不会用完空间,像溜溜球一样放大和缩小,试图将对话堆放在脑海中或忘记什么分支已经被访问过。

保存,添加书签或打印特定评论也很简单;它的上下文将自动包含在内。

5
Patrick McElhaney

在某些时候,您必须将用户限制为嵌套级别。如果允许用户在某个点(通常为3-4个级别)无限嵌套,则原始注释的内容将不再与更深层嵌套的级别相关。

还值得注意的是,如果手动将嵌套限制在一定数量的级别上,人们仍然会找出人为嵌套的方法,例如使用@replies并在对话链中进一步引用人员。

1
Jason

看看slashdot.org。以及Reddit.com。他们的评论系统非常深入(一旦删除过滤条件)。

怎么样?我认为,这将是在OS中扩展文件夹系统时采用的相同方法。亲子关系。我还没有遇到Windows文件夹结构可以运行到多深的限制,但是当您考虑时这并不复杂。

显示“最高答复”(第一,最新,评分最高,无论如何)。显示对顶部的回复。回复顶部是否有回复?

我还认为 Phonescoop.com (单击带有回复的示例)具有一个有趣的模型:回复在特定点后隐藏,但是您可以更深入地进行对话并保持层次结构。

当您将Slashdot与Phonescoop进行比较时,更容易忽略Slashdot上的层次结构,但是您必须做更多的事情来单击Phonescoop。随着深度的增加,Slashdot占用的空间也越来越少(我确信它会在某个时刻停止,并且它们都挤在一起或只是排列成一行)。

有些网站不需要深度嵌套。以这个网站为例。布局否定它。依靠其他评论发表评论的网站对此表示歉意。问题是,您诚实地预测会有多少活动?以及如何以有意义的方式展示它。

1
WernerCD

这是一个很难解决的问题,这也引起了一个有趣的难题。如果您不限制嵌套级别,则需要可以循环而不破坏嵌套的对象。循环时定位(缩进)会弄乱层次结构的上下文。

我已经尝试过颜色,我想也许可以在那里找到解决方案。

这很困难,因为循环解决方案不能具有任何层次结构状态,因为在循环时它将“重置”并且您将丢失上下文。因此,解决方案将需要具有临时层次结构状态。

有没有人?

1
Løvskogen

这是一个NP难题。

您可以解决此问题,但是永远不能确定(或说出)它是否有效。

0
kmonsoor