【CSDN 编者按】在今天微信聊天对话框的顶部,我们时常会看到「对方正在输入…」的显示,却鲜少有人了解这项功能的起源。事实上,它来自于 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 翻译,转载请注明来源出处。

【END】

别惊讶!人工智能时代即将到来!

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

 热 文 推 荐 

华为主导 5G 入网之争?

☞是时候“抛弃”谷歌 BERT 模型了!新型预训练语言模型问世

“对不起,我就是传说中的 10 倍工程师”

☞17 岁成为 iOS 越狱之父,25 岁造出无人车,黑客传奇!

☞抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

☞又是GAN!这个AI让周杰伦、罗永浩“变脸”古典画像

☞你硬盘里的那些电影都是如何被保存的?

☞孙宇晨深夜发文致歉: “我年轻, 涉世未深”……

中国第一程序员,微软得不到他就要毁了他!

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

从微软到微信,“对方正在输入…”功能 20 年前的起源相关推荐

  1. 手机qq怎么设置不显示定位服务器,微信对方正在输入怎么设置不显示 关闭取消不让好友看教程...

    当你在进行微信聊天时,不少细心的用户就会发现,只要自己发出的信息,对方第一时间内收到进行回复,就会在页面上弹出"对方正在输入"的字样,反之,对方也能看到你,那么有很多用户不想让对方 ...

  2. 为什么会显示有人正在使用计算机,微信“对方正在输入”为什么有时出现?有时不出现?看完才懂了.....

    原标题:微信"对方正在输入"为什么有时出现?有时不出现?看完才懂了.. 生活中有很多美好的事情 手机电量满格 您的快递正在派送 换季衣服里翻出毛爷爷 与喜欢的人聊天显示" ...

  3. 揭秘微信对方正在输入……到底表示什么意思?

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 微言∶"什么情况下,微信才会显示对方正在输入--" 今天要跟大家分享的话题是:当两个人用微信聊天时出现"对方 ...

  4. 原来微信“对方正在输入”在这种情况下才显示

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 我们在微信聊天的时候总会看到 "对方正在输入--", 特别是和喜欢的人 ...

  5. 微信的「对方正在输入…」,到底是怎么来的?

    作者 | 木斯 来源 | AppSo(ID:AppSo) 看到微信聊天框上的「对方正在输入-」的提示长时间闪动,内心总是五味杂陈,一分钟,两分钟,标识断断续续最终却一句话都没看到,随之席卷而来的便是一 ...

  6. 手机微信中对方正在输入...,不显示有4种原因,还能永不显示

    手机微信中"对方正在输入-",不显示有4种原因,还能永不显示 当我们与他人进行微信聊天时,是不是特别希望别人能够秒回我们的消息,特别的期盼着"对方正在输入-"的 ...

  7. 微信什么情况下会出现“对方正在输入”?

    Hi,大家好,我是艾伦 我们都知道,现在的交流都离不开社交APP.我们的工作,生活都已经越来越离不开他们了. 在工作上,我们用它来回复领导的消息,等待客户的信息.生活中,我用它跟父母报平安,在朋友圈花 ...

  8. 原来微信显示“对方正在输入”,还有这样的含义,真的让人很扎心

    如今微信已经是使用人数最多的聊天工具了,并且我们每天都要用微信和朋友聊天,但是你发现了没有,有时候我们在等待对方回消息的时候,聊天框的上方会有"对方正在输入"显示,但几分钟过去了, ...

  9. 什么情况下,微信聊天里会出现【对方正在输入】,原来如此

    日常生活中,微信是我们最常用的一款聊天工具,10个人之中有9个都会用.最近有个网友问,微信聊天中,[对方正在输入]在什么情况下会出现呢?为什么和其它好友聊天又没出现?我记得我以前聊天的时候会出现[对方 ...

最新文章

  1. 云知声CEO黄伟:AI对产业的驱动不仅是创新更是颠覆
  2. 设计模式之Composite模式(笔记)
  3. android音乐播放器音乐加载,Android开源音乐播放器之在线音乐列表自动加载更多...
  4. codeforces 110A-C语言解题报告
  5. C语言?看女程序员是怎么往死里坑师兄的
  6. C语言小知识---特殊的字符串
  7. 前天做了一个点击随机改变背景色的JS,请各位老师指导下:
  8. BAT及各大互联网公司前端笔试面试题--Html,Css篇
  9. URDGN:Ultra-resolve Face Images by Discriminative Generative Networks
  10. 复杂网络理论及其应用-基本概念
  11. 摄影测量学知识点总结(万字长文警告)
  12. 通过u盘启动计算机使用ghost安装系统步骤,详细教您如何使用u盘启动盘手动ghost备份系统...
  13. 一篇关于批处理文件的经典文章
  14. Python爬虫下载QQ音乐网站歌曲
  15. OSChina 周一乱弹 —— 为什么人类和人工智能定要一战
  16. CRM 建设方案(01):CRM基础
  17. struct sockaddr和struct sockaddr_in的强制类型转换
  18. vue3开发实践总结
  19. kafka高性能的原因
  20. 装修如何省钱,极家好不好?

热门文章

  1. slmgr.vbs /rearm
  2. pysot中,将GOT-10K文件夹转化为GOT-10K.json
  3. ASP.NET-解决GridView控件某字段设置只读后,更新后该字段值为Null
  4. mysql查询父id下所有子id,或者通过子id查询所有父id到最上层
  5. text-shadow实现纯代码在网页中实现火焰字
  6. 两张照片怎么拼成一张图片?
  7. php基础知识点及留言板功能实现
  8. 当着众多MM脱裤子放屁
  9. 当程序员一天天老去.哪些人晚景凄凉
  10. Mysql sql语句创建myschool数据库