作为一个在线社区,诚然所有的内容(至少大部分)都应当是由社区中的用户所贡献,因而,对活跃的参与型用户的功能/产品设计才是在线社区的重中之重。之后会找一个机会说说针对浏览型用户的产品设计。
参与型用户需要的是交互,交互的对象不是网站,而是其他的参与型用户。因此,在线社区的交互设计应当从增进交互的广度和频率两个方面下手。增进交互的广度应当(1)让活跃的参与型用户彼此发现,并(2)创建多种维度的交互方式。增加交互频率的最好方式就是—提高响应速度。看贴,发帖如果速度都很慢,那么将浇灭用户的热情(可以设想一个发了消息需要等半秒钟才可以看到的QQ群)。其次是对熟练用户提供更快速的交互方式,如键盘导航(可以设想一个不支持快捷键发送,只有一个大发送按钮的IM软件)。
交互广度方面暂且按下不表,下面先说说交互频率方面的改进。
首先是运用 AJAX 的方式来提供交互。这样用户所发表的内容可以以较快的速度直接显示,而不需要等待整个页面的刷新。但是带来的负面也很明显,响应的速度太快,用户比较难一下子接受。这样就需要给用户以反馈,可以采取的措施有:
以鲜亮的背景色填充刚发表的内容背景,并渐变至标准的背景色。
翻页使用平移动画对项目进行滚动,或者干脆不使用翻页而使用滚动条自动加载。
发送消息时可以有动态效果表示消息发送给了某人。
这些措施并不是为了单纯呈现很酷的动态效果,而是给用户一个较短的暂停时间,并通过过渡动画来协助用户构建心智模型。要注意,动态效果过犹不及。
其次是键盘导航,键盘是快于鼠标的一种操作方式。可以使用通用的 j/k 按键或者光标键来在列表中上下移动,并使用r进行回复,或者enter进入查看。在查看并返回版面选择列表后,应当自动将光标停留在包含未读项目的版面上,方便选择。查看上一篇/下一篇等浏览跳转操作均可以有方便的快捷键可以实现。
下面说说交互广度。对参与型用户而言,在首页、版面、主题、文章等页面之间要可以(1)看到其他参与用户,并(2)获知这些用户的在线状态得知是否可以进行即时交互,还要(3)跟踪自从上次查看以来的新变化。这些需求,可以通过在线用户和未读标记来提升满意度。
在线用户指的是可以在首页、版面列出当前用户的在线状态(Color Code)。当前的“在线状态”往往只是一个小图标,并且只在查看文章/用户页面的时候显示,这应当更广泛应用在全社区,只要有用户名出现的地方就应该有在线状态的表示,因此,考虑使用 Color Code ,利用颜色来区分状态,是比较合适的做法。
未读标记指的是保存用户对某篇文章/主题的阅读状态,以便(1)下次访问的时候可以快速继续,并且(2)可以迅速发现其他用户更新的内容。未读标记同样也可以使用 Color Code,或者使用一个未读指示图标也可。
结合之前所说的线性模式,目的是可以给参与型用户一个更好的交互体验。