您是否被QQ群折磨得死去活来,又怕遗漏重要消息而舍不得屏蔽?
您又是否常常机械地check邮件,却从没有思考过如何来改进效率?
您是否经常不停地刷新某个页面,为的只是看到其他人对您的回复?
一切关乎信息的推送,关乎它的推送方式以及您该如何优化它来改进效率。
一开始我就直接抛出一个可以称之为事实的假设:即信息的推送方式分为 push(推)和pull(拉)两种。之后所有的阐述都将围绕这个观点(假设)来进行。
现状
毋庸置疑,QQ群(旺旺群也一样) 在原始状态下是push的方式,它将信息强行推送给你,即用显著的提示信号(声音+图表闪烁)。但这个push又非彻底的push,因为在你没有登录QQ 时无法接收到这一信息(或者信息的提示信号)。由此你也可以猜到,我假定出来的彻底的push只有手机和传呼机之类的便携工具了。更准确地讲,彻底的 push工具只有传呼机的呼叫和手机上的短信、通话、邮件(开通了推送服务的移动邮件)、蓝牙等。扯多了,再回来。QQ群有个特殊的功能是[群消息设 置],它可以将QQ群的方式改为pull(当你设置为接收不提示消息时)。这样的功能对于用户来讲是非常有用的,也是产品上对信息推送方式优化的一种进 步。但是我必须承认它只是起步,远远没有解决信息推送的问题。IM(即时聊天工具)的重心就是[即时],也多多少少是由push方式本身所体现出来的,所 以一棒子打死肯定是不对的。因为[群消息设置]本身是从消息的接收端来切入的,也就是消息流的下游来切入。越是在下游来进行优化,就越吃力,这是肯定的。 就像数据库分表的方式,就是在上游的数据插入时进行优化来缓解下游的查询时的压力。QQ群的问题扯到这里,关于使用QQ群所产生信息困扰的具体场景我就不 直接描述了,你懂的!
另外一种重要的工具便是email,在内部沟通时不用email的企业应该非常罕见吧。email的原生态是 pull的,但在其长期的演变优化后,已经可以变得伸缩自如,pull与push混搭,强大无比。从email的发送对象上来看,可以一对一,一对多(一 种是直接发送指定多个用户,另一种就是发送至邮件列表)。其中还有cc来进行角色的强化和弱化。邮件中的回复其实跟发送没有区别,只是引用了邮件发送的正 文。email的优化几乎都是接收端的优化,重点是接收信号的创造。邮件本身是没有接收信号的,它需要你手动check你的邮箱(有的是刷新,有的 是…)。但是Email本身有POP、IMAP等协议,可以很好地进行扩展优化(本人对email 这块不是很熟悉,有扯烂的地方请文明点喷哈!)。
优化之Outlook Outlook(包括其他同类产品)通过机器定时地check你的远程邮箱,如有新邮件,就给出一个提示信号。有人就会说那么它现在就是一个非彻底的 push了!当然有需求就有市场,因为有些工作者必须对邮件敏感,所以不得不去折腾一个邮件推送服务来解决,将其优化为彻底的push。如有新邮件,服务 提供商自动将新邮件推送到你的手机上(用黑莓的大多都用这个服务吧,我是外行我扯淡!)。
优化之Gmail 我本身是Gmail的坚决拥护者+狂热fans,所以这边对于Gmail的赞美有太多主观因素。Gmail本身就是一个有账号身份的邮箱,但它又可以作为 邮箱客户端(类Outlook)。我的Gmail上就有3个账号,其一是Gmail本身,基本都是个人通信,另外两个是公司用。这样所有的邮件都统一在一 个客户端,便于接下来的优化。首先是提示信号的创造,通过Firefox插件(Gmail Notifier等)。因为工作上不需要时时对邮件敏感,再加上出差不多,所以没必 要使用邮件推送服务(毕竟还是有开销的)。接下来是信息过滤的优化,这一块是这里的重点!Gmail给出了信息过滤的极为优雅的设置方式,但需要你去实践 了才会明白它的好。核心是标签(Label),分为系统标签(收件箱、加星、已发送、草稿箱、所有邮件、垃圾邮件、已删除)和自定义标签。 所有接收进来的邮件都会存放在收件箱,存档操作会将其移出收件箱(去掉收件箱标签),其他操作都对应类同。优化自然是搭配系统标签和自定义标签了。首先给 外部邮箱账号的邮件分别定义标签,比如company_1、company_2等(在接收选项中可以设置让机器自动地打对应的标签)。那么 company_1账号上的邮件会自动打上company_1标签,其他类同。另外一个核心是过滤器(Filter),设置标题为[Re | 答复]的邮件自动标记为已读的过滤器(注意别跳过收件箱)。如果你不想所有的回复都过滤掉,就对指定规则来进行过滤。经过这两个设置,再加上Gmail本 身会对主题和回复进行样式上的排列(很像论坛的方式),就完美地解决了本人工作及个人上的邮件信息处理。因为对于邮件主题,我需要的push,需要在开机 状态下对它敏感,而回复一般都不敏感,只要每天找个固定时间去手动check下好了(Gmail会将有新回复的邮件都加上收件箱标签,就好像有新回复的帖 子自动提前一样)。
SNS服务的信息推送方式似乎都是多样的,举几个典型的例子来说说吧。传统的BBS中信息主要有短消息和关注信息点的 提示。前者是push,后者是pull。后者说通俗点就是,关注有人回复了你的帖子或者你的回复。通常就是傻瓜式地点击[我的话题]或者[我的回复]进行 查看。当然现代的BBS程序也做到了通过订阅来发送短信息进行提醒。这个还是挺不错的。人人网(校内)则默认使用了这一规则,并且它的短消息做得更为直 接、自动。有了新的评论或者评论回复,就会直接给出提示信号(+音效),页面是自动check的,而不需要手动刷新。Twitter本身完全是pull 的,但模仿它的微博,相对来讲是push的。这个是什么原因呢,下面会阐述到。
机制
上面扯了这么多,其实不是想介绍如何使用现有工具进行工作上的优化。主要是想讨论下信息推送方式的演变,以及今后程序上的发展方向。接下来就完全是我为了满足自身生理需要的YY了。
我们计划设计一种新的工具(或者某系统中的模块),其职能就是用了沟通或者信息传达。但是这个工具(或模块)的应用场景很广,并且无法给出一个详细确切的描 述。(貌似这本身在软件工程上就是个错误,囧!)那么怎么应对今后不定的客户需求呢?
首先,这个工具本身基于pull,例如 twitter,例如email。核心结构必须越简单越好,pull得越纯粹越好!然后给出一套完善的API,或者以其他扩展模块的方式对其进行选择性的 优化,将其改造成适应性不同的push方式。这种设计比较容易实现,也比较有效。我觉得越来越多的程序将会用这样的方式进行信息的推送。
如果工具本身是push的,那么如何在发送者这一端进行优化就是重点了。发送者必须确保你所发送的对象都是有效对象,也就是对方愿意花精力来应付你push 过去的信息。比如手机短信,通话,直接性的邮件(非邮件组)等这类信息。但是发送端进行对象的选择是有问题的,当发送对象超过一定数量,发送者就会在这个 环节浪费过多的时间。那么,怎样在这个环节进行优化,发送者和接收者都满意呢?这个问题暂时没有很好的解决方案,期待达人!
