从微软到微信,“对方正在输入…”功能 20 年前的起源
【程序人生 编者按】在今天微信聊天对话框的顶部,我们时常会看到「对方正在输入…」的显示,却鲜少有人了解这项功能的起源。事实上,它来自于 PC 时代风行的微软聊天应用 MSN Messenger,本文作者,当时的微软工程师 Danny Glasser 即是其发明者之一。1999 年,他在微软工作,MSN Messenger 1.0 上线,加入了「对方正在输入…」的功能,由此让用户产生实时聊天的感觉。在这 MSN Messenger 1.0 上线 20 周年纪念之时,Danny 回忆了这段往事。
作者 | Danny Glasser
译者 | 苏本如,责编、封图制作 | 沭七
出品 | CSDN(ID:CSDNnews)
以下为译文:
在我就职于微软的职业生涯中,我有机会参与了一些项目,这些项目产生了一些专利,而我有幸被列入这些专利的发明人名单中。撇开有关软件专利和专利欺诈的问题不谈,我对自己名下的任何专利所拥有的自豪感几乎与专利本身无关,专利的申请和授予主要是律师的工作。而我的这种自豪感来自于促进专利申请的工作的实用性以及我对这项工作的个人贡献。
我很少关心我和比尔·盖茨一起被列为共同发明人的几项专利,比如说,第 8341405 号专利:非本地环境中的访问管理,尽管和他共列在同一项专利记录中是我的一种荣耀。这些专利都是一个“提前申请专利”项目的一部分,在这个项目中,我付出的努力很少,因此,对于随后发生的任何发明,我几乎不应该获得任何荣誉。
相反,我最引以为豪的专利是:一项由我负责最初的概念和实施,而且目前仍在广泛使用的发明。在美国专利数据库中,它的编号是 6519639:计算机网络中活动监控和报告的系统和方法,但对其他人来说,它被称为“对方输入指示器”(以下简称“输入指示器”)。
我最近一直在考虑这项专利,因为今天是 MSN Messenger 1.0 版发布 20 周年纪念日,而该产品是“输入指示”专利首次亮相的地方。虽然 MSN Messenger 不再使用了,但输入指示器功能被快速而广泛地复制了下来,并且成为了几乎所有聊天和消息应用程序的一个功能。无论你是使用 Facebook Messenger、iMessage、WhatsApp、Skype 等,还是使用客户支持的网站聊天插件,你都会看到动画特效的点或“[XXX]正在输入…”的提示消息,这项提示功能的来源可以追溯至这项专利工作。
大卫·奥尔巴赫(David Auerbach,一位具有软件工程背景的作家)在五年前详细解释了“输入指示器”的历史,所以我就不在这里全部重复了。简而言之,在 MSN Messenger 问世之前,实时聊天应用程序要么没有向你指出对方用户是否对你的消息做出了响应(如 IRC 或 AIM),要么直接向你显示了用户实时键入的每个字符(如 Unix talk 和 ICQ)。
当我们开发 MSN Messenger 时,我们相信可以提供一些更好的体验;在兼顾网络通信效率和正在聊天的对方用户隐私的前提下,提供一个实时反馈让你知道对方用户是否正在输入。
为此,我设计了 “输入指示器”的网络检测和通信功能,编码了它的实现,并在一个粗略而简单的用户界面上完成了概念验证(proof of concept)。在我们确认了这一切工作良好后,大卫·奥尔巴赫和其他人设计并实现了一个完美的用户界面并将它整合到 MSN Messenger 1.0 中。
由于“输入指示器”专利仅涉及检测和通信机制,而不涉及到用户界面,因此,大卫·奥尔巴赫和其他致力于初始实现的人没有被列为专利发明人。但是这并不会抹杀他们对这项工作的贡献。MSN Messenger 1.0 因微软与美国在线的即时通讯软件的互操作性之争而声名鹊起,大卫·奥尔巴赫在他的文章《聊天大战》中对此作了详细描述。
“输入指示”专利今天(2019 年 7 月 22 日)意义重大的原因是,最初的专利申请是在 1999 年 7 月 21 日(MSN Messenger 上线前一天)提出的,而美国的专利通常在申请后 20 年到期。这就意味着原始的专利保护从今天起就不再有效了。为此微软的律师提交了几项专利延续申请,最近一次是 7418495 号专利申请,所以留给“输入指示”专利的保护时间已经不多。
据我所知,微软从未因为侵犯这项专利而起诉过任何人。不仅如此,在许多情况下,微软和其他产品的所有者(如拥有 iMessage 的苹果公司)签订了专利交叉许可协议,使得这一问题变得毫无意义。另外,这个功能的新实现可能不会侵犯这个专利系列的具体声明,但我不知道是否有人愿意费心验证这一点。
在 MSN Messenger 首次发布几年后,当时仍然还是前智能手机时代。当我来到我孩子的一年级班级并且参加“你的父母是做什么的”这样的课程时,我就用了“输入指示器”作为例子。我制作了一个实时会话的所有页面模板,向 6 岁的孩子演示了它的工作原理,并按照海报大小将这些页面打印出来(如下):
因为已经将笔支持添加到 Messenger 中,因此“输入指示器”的文字提示变成了“is writing”
这些实时会话的页面模板的质量看上去很粗糙,这解释了为什么实现了“输入指示器”用户界面的正式版本的是其他人,而不是我。
原文:https://dglasser.wordpress.com/2019/07/22/danny-glasser-is-typing/
本文为 CSDN 翻译,转载请注明来源出处。
热 文 推 荐
☞多地GitHub账号使用受限;Python之父考虑重构解释器;62岁程序员埋逻辑炸弹 | 开发者周刊
☞微博宕机复盘:什么样的技术架构,可支持80个明星并发出轨?
☞超酷炫!Facebook用深度学习和弱监督学习绘制全球精准道路图