Netpad和其它普通本编辑器的最大不同之处在于:她是一款多人协同文本编辑器。在您的机器上,有着许多文本文件,你经常编辑或查阅他们。随着日益发达的计算机网络,人们通过网络的沟通越来越容易。因此,在您编辑本机上的文件,其中某些内容是您不熟悉的、或者文件中的某些内容根本就是分工给别人完成的、或者您想要的信息存在于您朋友的电脑中,如是等等,您就可以通过Netpad和您的朋友或者同事同时编辑或查阅同一个文件。
由于是多人协同编辑同一个文本文档,我的朋友和同事会经常提醒:多人同去写一篇文档,那文档的内容不就乱了,这个人要在一个地方插入些文字,那另一人又想删除一些文字,如此等等,不乱才怪。
于是我笑着告诉他们,Netpad所要解决的核心问题就是这个。这叫“计算机支持的协同工作”(Computer Support Cooperative Work),简称CSCW。目前在这方面已经有了很多的科研成果,这些科研成果告诉我们,作为文本协同编辑器,需要解决下面两个问题:
文档内容一致性维护:是指在多人协同编辑过程中,任何时候,每个协编者看到文档内容都是一致的。
操作意愿维护:是国际上提出的新概念,旨在使用户产生该操作时希望选到的效果与该操作实际执行后所产生的效果一致,属于并发操作的一致性维护范畴。
Netpad使用了一种叫作“操作转换”的算法,以确保在多人协同编辑时,文档在每个协编者看到的文档内容是完全一致的。同时,很好维护了每个协编用户的操作意愿。
我们不希望做一个集中式的服务器,并且将用户的文档都存放在这个服务器上。我们将这个选择的权利交给用户。也就是说:我们提供这种集中存放文档的服务,但却不是必须的,用户可以自己选择是将文档存放在自己的机器中,还是存放在我们为用户提供的服务器。
为了满足上面的需求,我们采用了P2P架构,即每个Netpad都可以提供服务给别的Netpad使用。同时,每个Netpad也都可以使用其它Netpad的服务。
基于这种P2P的架构,Netpad可以通过两种模式完成多人协同编辑:一是通过互联网进行协同编辑,二是通过办公网(局域网)进行协同编辑。
.
通过互联网进行协同编辑
当希望和您一起编辑文档的人与您不在同一个办公网时,您需要通过互联网进行协同编辑。由于Netpad是P2P架构,因此协同编辑时是点到点直接联系。而在茫茫的互联网中,我们是很难找到一台上网的机器而且同时使用了Netpad。为了解决这个问题,我们提供了一个叫做“Netpad协同编辑社区”的网站,只要您在“Netpad协同编辑社区”注册一个用户,而您的机器又能联到互联网,Netpad就会自动登录到“Netpad协同编辑社区”,以使得每个Netpad用户可以相互发现。 具体操作如下:
1. 打开“Netpad协同编辑社区”(http://www.cnetsoft.net)页面;
2. 注册成为Netpad协同编辑社区会员,并记住您的用户名和密码;
3. 启动Netpad,通过Tools=>Preferences=>Collaborate功能设置用户名和密码,如下图:

4. 其中[User Name]和[Password]即为您在Netpad协同编辑社区上注册的用户名和密码。[Editor area color]为您在协同编辑的时候您所编辑过内容的背景色。
5. 点击上图中的[Login]按钮,登录到Netpad协同编辑社区。设置好后,后续启动Netpad时会自动登录到Netpad协同编辑社区。登录成功后您会在Netpad底部的Log窗口中看到如下提示:

6. 登录后,在左侧导航栏上即出现您的协作者,也是在Netpad协同编辑社区中的好友列表,您可以双击这些协作者,看到他们的共享文档,打开后就可以进行协同编辑。
“Netpad协同编辑社区”只是一个中间人,当Netpad用户相互发现对方后,在协同编辑过程中,是不需要“Netpad协同编辑社区”参与的,以更好的利用带宽,并同时减少对集中服务器的依赖。
.
通过办公网(局域网)进行协同编辑
当通过办公网进行协同编辑时,我们认为Netpad的用户是知道自己在办公网中的IP地址等基本信息的。因此,找协作者的过程我们就交给Netpad用户自己去完成了。这样处理的好处是:如果您只通过办公网进行协同编辑,您甚至不需要在“Netpad协同编辑社区”注册用户,也就是说,通过办公网进行协同编辑,无须任何一台中间服务器或中间人,将自由完全交给用户自己,使用上没有任何限制。