Skip to content
Go back

超文本中的聚合结构

Published:  at  10:06 AM

在超文本系统中,文本通过超链接连接在一起,形成一个松散的网络结构。这个网络结构是动态变化的,随着节点和链接的变化,结构也会随之发生变化。这些结构的特点是虚拟的,动态的,如果不保存下来,随着超文本系统的变化,某些结构就永远的消失了。

而我所做的尝试,就是允许用户将这种结构持久化保存下来。因此在接下来的讨论中,我着重点是如何保存不同的结构,将其实体化。这些实体将加入到超文本网络,其他节点享有相同的地位。并且我预期由于它们的加入,网络的结构将变得更加丰富。

浏览超文本的过程中有一个众所周知的问题: 迷失方向。而解决这个问题,最显而易见的办法就是:创建索引,优化导航,让用户更清楚其所在的上下文。比如浏览路径(俗称面包屑),双向链接,索引页面,站点地图等都成为现实中广泛应用的解决方案。但是这些方法要么是自动化,要么是由信息架构师所设计的,和用户本身的心智模型是不匹配的,做为网站导航尚可接受,面对严肃的超文本阅读时,这些方案就捉襟见肘了。

我认为更好的办法是让用户来亲自上场来做这件事,不再是交给信息架构师和程序员。而是让用户自行创建和编辑地图、索引等对象。不同的内容实体中所蕴含的个人思维越多,则会越个人化,用户更容易记起自己所编辑的内容。这种理念的转化,有点类似工业化流水线生产,变为注重个人特质的手工生产方式。不过不同的是,我并不排斥高效的搜索和算法推荐,因为这些技术手段有助于让注意力和时间可以聚焦于核心思维过程,而非无趣的重复编辑动作上,让技术回归其工具属性,以人为主。

聚合(Aggregation) 就是其中一种方法,将若干个相关的节点构成一个更高级别(higher level)的节点。实现的方法有:创建一个真实的可编辑对象,然后将节点添加到里面,并增加符合当前主题需要的额外的描述信息。比如 Tangram 的 Collection 采用的就是这种方式,将若干个因为某个主题而产生相关性的 Block 聚合在一起,形成一个集合,并且这种不是简单的聚合为一个列表,而是具备可编辑性的数据库,用户可以添加更多维度的信息来描述加入其中的对象,以满足当前上下文的需要,这些数据是属于 Collection 的,与原来的 Block 无关。

当然,这种聚合而成的对象,并不一定是要完全手工编辑。也可以是自动查询而来的临时动态列表,也可以是混合自动化和手动的 Hybrid 形式,比如设置符合条件就自动添加到可编辑的列表中。我将这种超文本中复合(组合)对象,称之为高级别超文本组件(higher level hypertext components),允许组合其他超文本对象,形成新的实体。从这个角度来看,现在 Web 站点中常见的面包屑、导航菜单、TOC 等,其实都是高级别超文本组件。


Suggest Changes

Previous Post
stretchtext
Next Post
软件开发的复杂度是本质性的