写点什么

WebRTC - 通讯大众化带来新的应用体验

2015 年 6 月 05 日

开放互联网和现代计算机的形成例证了科技开放驱动创新成长的能力。HTTP 协议大概是有史以来最伟大的发明之一,计算机可以通过 HTTP 协议从服务器请求和接收数据。不幸的是,这些创造者们当时没有想到创造异步数据流和实时通讯,因为这些功能当时被电信供应商所掌控,他们基本上已经掌控了声音、视频和讯息的分发业务,不过现在,新的 web 标准将会开始打破这一传统商业模式。

随着 WebRTC API 标准的形成,电信企业通信的局面正在发生变化。这个标准以及它快速成长的生态系统使得开发者无须具备任何复杂的通讯技术和协议的经验就可以轻松地在他们的应用中集成实时通信模块。

能如此轻松地开发将会孕育出大量新的革命性应用,而这一切将会改变我们通信、交换信息以及相互交流的方式。

什么是 WebRTC

WebRTC 是一个开源项目,可以在浏览器中不借助任何插件进行实时通信。由 Google、Opera 和 Mozilla 主导的这一项目允许开发者在浏览器中仅使用 JavaScript API 和 HTML5 就可以将声音、讯息和视频融为一体。

主要的 WebRTC 组件包括:

  • getUserMedia - 允许一个 web 浏览器连接设备的摄像机和麦克风
  • peerConnection - 建立音频 / 视频呼叫
  • dataChannels - 允许浏览器点对点共享数据

开发者能够借助简单的 web 技术将实时通信集成到他们的应用中,使会话场景更富有弹性。在移动 app 或 web 浏览器具备发起和接受实时通信的能力可以为用户创造一个更好的交流环境,提高信息交换的效率。WebRTC 支持一个更加动态的生态系统,在这个系统中声音和视频通信与现有协议解耦,带来新的体验。这项技术第一次出现是在网站或 app 中的点击呼叫按钮,如若不详可以调研 Amazon 的紧急呼叫按钮。

尽管 WebRTC 提供了一些标准以促进创新,不过尚有一些问题仍需解决。其中两个大问题是缺少标准化信令和浏览器的普遍支持。WebRTC 联盟曾故意遗漏信令标准来避免冲突,此举可使各方尽快就标准达成共识。因此厂商目前使用各不相同的协议,包括 SIP、WebSockets 以及 HTTP 协议。竞争 API 和译码机标准同样阻碍了 WebRTC 跨浏览器被广泛支持。

工具和服务供应商

随着标准的发展,许多厂商已经进入这个市场来填补生态系统的缺口,并帮助移动和 web 开发者将通信模块集成到他们的项目中。这些厂商为支持移动端实现提供了通过 RESTful API 集成通信服务的功能,并且提供了 SDK。除了提供连接服务,这些厂商同样也能够在云端为开发者提供便于访问的基于通讯的服务。下面这个图表展示出调查受访者在他们的 app 中使用每一个服务的比例。

电话功能调查问卷已经集成到他们的 app 中

来源:Smith’s Point Analytics

这份数据来自我们(Smith’s Point Analytics**)关于开发者在他们的应用和网站中集成通信功能的调查。点击这里参加我们2015年度的调查。下一季度敬请回来查看结果分析报告。**

无论是通讯API 供应商还是云RTC 服务都在迅速成长并吸引了一大批竞争者。尽管所有的供应商都为市场带来连接和通讯功能和相关服务,但是厂商由于种种特质被区分开来,比如相互连接性和通话质量,或者是功能弹性和实现难度。诸如Plivo、Twilio、Nexmo、Tropo 和Telestax 这样的公司竞相与运营商建立联系,与此同时,诸如Genband、Acision、Temasys、Voximplant 以及Bit6 这样的公司专注于打造更强大的SDK 和更富弹性的服务。

使用案例

随着云通信领域的新工具和新技术获得青睐,开发者并没有等待WebRTC 最终定稿,他们正在紧跟标准的脚步积极实现。现今开发者享受着易于实现的案例,正如顺手摘下低垂的果实一样简单,不过依然没出现真正的创新。

低垂的果实

客户关系管理合作是第一个利用云通信的应用。如果销售和服务代表可以在CRM 应用中便捷地拨通客户电话,生产力就可以显著提高。而WebRTC 恰巧可以轻松地将客户信息和通话组合在一起。拨入的电话可以自动匹配客户信息,显示账户的细节和相关历史。如果客户通过网站拨入电话前已经验证过身份,那么服务代表就可以跳过恼人的重新验证过程来提升客户体验。WebRTC 规范中声明的点对点共享技术标准同样也支持服务代表与客户共享他们的屏幕。所有的这一切过程无须客户离开浏览器或下载附加软件。

尽管几年前就可以共享屏幕,但WebRTC 带来的体验对于开发者和客户来说更易上手。开发者可以利用自己的web 专长创造这些体验,他们无须理解通讯技术和协议就可以发起呼叫或管理数据流,这使得开发者可以创建适合自身需求和业务的自定义体验。金融服务垂直领域正在为他们复杂的产品快马加鞭地实现云通信功能,他们与客户的关系建立在相互信任的基础上,通过更近距离的交流以及更好地理解产品和需求可以树立相互的信任,因此金融服务企业成为了这项技术的先驱拥趸。

在协作套件中,具备集成多重数据流和共享屏幕的能力也得到了良好的应用,横跨所有设备组合这些能力使得跨团队决策更有效,从而得到更好的结果。

打破传统通信的藩篱

WebRTC 能够为当下用例带来价值,那么这种符合标准且基于云的通信手段的伸缩性就可以将通信体验大幅提升到下一个级别。在独立设备上切断数据与验证的关联造就了云计算范式,使得无论何时何地使用任何一台设备都能获取个人信息。所以通信会逐渐套件化,任何形式的无缝通信无论在何时何地任何状态下都变得触手可及。实现一通电话的传统技术壁垒将不复存在。

现在,通信往往只在单一设备上启动与结束。随着连接设备的激增,各式各样的计算机都能够支持声音、视频和信息,但是每一个都有自己的优点和唯一特征。在车里对于司机来说声音是唯一安全的交流方式,用户总是可以通过移动电话可以被联系到,更视觉化的交互更适合平板。当用户在不同环境间切换时,如若连接可以无缝地从手机切换到车上再切换到平板上,这种持续性可以驱动更好的生产力,达成更多的合约。在这些设备间转移通话的能力使得用户可以更好地利用它们的唯一特征。

更好的弹性也弱化了不同模式通信之间的隔离。随着对话的发展,需求不断改变。对于 WebRTC 而言,你可以使用一个文本 URL,将一段文字交流转变为一通电话或者视频对话。拨入呼叫中心的电话也可以通过整合不同形式的通信手段提高效率。在一个支持用户使用可交互自动应答语音树进行导航的网站或 app 中,当你打电话与之交互时会显示文字菜单,大可不必再耐心听完所有选项。

未来的体验

让 WebRTC 和云通信得到主流支持的一个真实挑战是,开发者对实现通信有预先形成的概念。电话通信自被发明以来,使用体验并没有显著改变,用户需要拨打电话号码发起呼叫然后等待对方接听,大众化的通信将引领一个新的创新浪潮,那带来的电话通信体验将远超我们的想象。

可能有这样一个潜在的创新用例:现场服务技术人员不能解决他所服务片区的设备问题。通过一个集成了通信功能的 app,技术人员可以初始化一个会议呼叫更有经验的技术人员,双方通过语音或视频交流,共同处理有问题的设备。通过将增强现实嵌入场景中,指导人员就可以以问题设备为背景,实时讲解合适的解决方案。

来源:Vipaar

一旦完成通信,所有的声音、视频和增强现实流可以被存储以备未来支持其他的技术人员和产品设计师进行借鉴。这种类型的体验也可以在健康医疗公司发挥巨大价值,可以努力降低上升的成本。

这些种类的 app 将会帮助我们重新设想信息如何实时交换的问题。我们不期待马上就出现一个具有革命性体验的 app 爆炸传播,缓步增量的创新可以引领业界不断前行,去探索我们未知的世界。开放基于自身不断驱动着创新创造。

Smiths Point Analytics 2015 调查

厂商努力为市场带来工具和服务,不断降低开发者向 app**** 中集成通信功能的难度。为了帮助这些厂商洞悉开发者所需的特性和功能,我们需要您协助调查。

参加我们的开发者调查,帮助业界驱动生态系统不断向前,为下一代体验树立基石。我们将会在稍后的文章中发布结果,所以你可以更好地理解你的同行如何看待这项技术。在所有的调查问卷中我们将抽出一个 Apple iWatch

从这里进入调查

关于作者

Peter Crocker是 Smith’s Point Analytics 的创始人和首席分析师,SPA 是一个全套服务市场研究与咨询公司,专注于移动软件和云服务生态系统。他们的产品包括思想领导论文、客户咨询和财团研究报告。

查看英文原文: WebRTC - Democratization of Telecom Enabling New App Experiences


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 6 月 05 日 03:052690
用户头像

发布了 63 篇内容, 共 124.7 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

寻找感动的养分

一直AC一直爽

感恩 随笔杂谈 感动

布隆过滤器是个啥!

诸葛小猿

布隆过滤器 bloomfilter bloom filter

【源码系列】Spring Cloud Gateway

Alex🐒

源码 SpringCloud Gateway

架构师训练营 -- 第七周作业

stardust20

程序员开启社交和打造影响力的最佳方式

非著名程序员

程序员 提升认知 写作 程序员成长 社交

第七周总结

andy

极客大学

Elasticsearch源码解析:环境搭建

Jackey

elasticsearch

你的个人博客网站该上线了!

北漂码农有话说

性能测试

陈皮

最短路径问题(无负边值)——Dijkstra算法

烫烫烫个喵啊

算法 prim 最短路径

多线程为了同个资源打起架来了,该如何让他们安定?

小林coding

并发编程 多线程 操作系统 计算机基础

数据分析师 ”痛“ 谁能了解

松子(李博源)

数据分析 产品经理 数据产品 数据模型

一个简单的物联网设备接入网关高可用方案

凸出

Java nginx Netty

redis系列之——缓存穿透、缓存击穿、缓存雪崩

诸葛小猿

redis 缓存穿透 缓存击穿 缓存雪崩

排序笔记

烫烫烫个喵啊

算法 排序

密码学的随机性与区块链随机数

CECBC区块链专委会

week7 学习总结

Geek_2e7dd7

三分钟热度的干劲

落曦

提速数字化!区块链加速应用落地,新制造与服务不断推出

CECBC区块链专委会

[POJ 1001] Exponentiation JAVA解题报告

一直AC一直爽

算法 刷题 POJ ACM

一千万个身份证号在java中需要多少内存

华宇法律科技

Java string heap memory

第七周作业

andy

极客大学

百度CTO王海峰对话王辰院士:全球“最强大脑”助力大数据抗疫时代来临

脑极体

Redis(二)单机版安装

奈何花开

Java redis

公开课 | 吉祥人寿从0到1的 Jira 落地实践

Atlassian速递

敏捷开发 研发管理 Jira

LeetCode 题解:122. 买卖股票的最佳时机 II,JavaScript,一遍循环,详细注释

Lee Chen

前端进阶训练营

week7 作业

Geek_2e7dd7

可读代码编写炸鸡九 - 抽取子问题

多选参数

编程 代码 代码优化 代码规范 可读代码

思维模型盲区:所知障和从众效应

石云升

思维模型 倾听 从众效应

轻松应对并发问题,简易的火车票售票系统,Newbe.Claptrap 框架用例,第一步 —— 业务分析

newbe36524

容器 微服务 架构设计 .net core ASP.NET Core

架构师是怎样炼成的 7-1 性能测试与优化

闷骚程序员

WebRTC - 通讯大众化带来新的应用体验-InfoQ