产品解析:join.me

题外话:感谢大家的留言。上一篇文章(该让谁升职?该裁掉谁?)引发了一些争议和讨论,各种观点交织在一起,很赞。文章本就是表达个人观点的一个手段,每个人都应独立思考的权利,所以我并不奢求我的每一句话都得到赞同。另外,有人提议再多写写职场建议,没问题,我已经想好了一个题目,不过不是今天讲。

今天趁着使用的热乎劲还没有过去,分析join.me这个产品。

昨天下午美国的同事做training,需要用到桌面共享软件。他说用join.me,我说用公司标配的Microsoft lync。于是昨天早上我们就一起做了个实验,结果发现join.me这样一个名不见经传的小网站,就桌面共享而言,在速度和易用性上,甩开lync好几条街。于是我花了点时间,研究了一下这个软件。

产品功能

join.me的产品功能非常简单,一入手感觉非常惊艳,和一般的互联网软件差别很大。首先,你不用注册任何账户,不用任何社交登陆就可以免费使用(这个决策从商业的角度来讲可能有些冒险,但从产品和用户的角度来看,简直太赞了);其次,只有屏幕共享的发起人才用下载客户端(这无法避免,毕竟屏幕截图),其他访问者只要有浏览器即可使用,再次将使用门槛降低到近乎为零。

我们看看要共享一个桌面,你要做些什么操作:

首先,打开join.me.app(osx上)。这是废话。

然后,发起共享(选择share)。

接下来,选择要share的部分(整个屏幕,还是某个窗口)。注意在这一步时已经生成了一个链接:https://join.me/257-501-445,用于共享。

最后,将这个链接发给任何你想共享桌面的人即可。

参与者收到链接,在浏览器里打开,就能看到共享的桌面。

join.me还提供了ios/android版,不过貌似只能用来接收屏幕共享,无法共享屏幕,功能还相当弱。下图是我iphone 4s上看到的mac上的桌片共享:

盈利模式

join.me有两种盈利模式,个人pro版软件订阅(每月USD13-19),和企业服务。

相对免费版,pro版有很多功能:

而企业服务,则奔着解决方案去的。

实现手段

作为开发者,看到新奇的东西很容易忍不住去思考这样一套系统是怎么做出来的。其实,它的核心功能实现起来并不困难(感谢开源软件)。

屏幕录像使用ffmpeg和vlc就可以。ffmpeg在linux下是个逆天的软件,在osx下就不那么风光了,搞个屏幕录像还要靠vlc帮忙。

本地录制的屏幕内容需要传输到服务器上,以便于向各种终端转发。神马?p2p?咱学学join.me,不增加其它用户的使用成本,让他们就用浏览器访问好不好?

这个靠ffmpeg的ffserver就可以搞定。

最后再写个前端,一个屏幕共享软件就搞定了。注意如果要用html5 video tag来承载video的话,mp4/ogg是比较好的选择(支持的浏览器多一些)。

如果你嫌ffserver的解决方案不够理想,可扩充性差,那么,可以试试github上的这个nodejs项目:jsmpeg。它可以结合websocket做broadcast,还可以录像。好处是你可以用javascript比较轻松地进行扩充。毕竟,能看懂ffmpeg并为其扩展的人还是很少的。

小结

  • 软件要尽可能简单,尽可能免去用户不必要的麻烦。
  • 以用户为中心并不意味着必须要注册。ID只是用来鉴别用户的一个手段,如果不用做营销,邮箱地址和自动生成的ID有多大区别?
  • 生产者需要native app,消费者可以直接用browser,这样很好。对join.me来说,两群人重合度很高,消费者在使用后很容易转换成生产者。

后记:join.me在使用几次之后终于告诉我需要注册才能继续使用。虽然免注册做得不够彻底,但这个时候提醒我注册,我已经基本被Lock down,不会有任何抵触了。

如想搭建类似的服务,可戳下面的链接,参考这篇博客(对不起,又是英文的):HTML5 LIVE VIDEO STREAMING VIA WEBSOCKETS

原文发布于微信公众号 - 程序人生(programmer_life)

原文发表时间:2014-02-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

内部app的收集方式

如今,随着移动互联网的发展,移动APP的安全问题已被各大公司所重视,然而,内部APP不像对外业务APP那样,做过严格的安全测试,自然安全性也不会那么高,所以内部...

920
来自专栏BestSDK

5个秘诀,轻松应对企业级数据存储问题

首先我们了解一下存储虚拟化的定义及其常见的三种技术。 存储虚拟化(StorageVirtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。通过...

3467
来自专栏北京马哥教育

Linux 与 Unix 到底有什么不同?

如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中。数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场...

1850
来自专栏SAP梦心的SAP分享

为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?

为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD、Tiptop、用友等产品,深深觉得SAP是贵的有道理!       一套好的ERP系...

5938
来自专栏点滴积累

geotrellis使用初探

最近,单位领导要求我研究一下geotrellis(GITHUB地址:https://github.com/geotrellis/geotrellis,官网htt...

4208
来自专栏数据和云

从“挖光缆”到“剪网线”|蚂蚁金服异地多活的微服务体系

本文介绍了蚂蚁金服异地多活单元化架构的原理,以及微服务体系在此架构下的关键技术实现。

1754
来自专栏GopherCoder

『简书API : jianshu 基于 golang (1)』

1964
来自专栏阮一峰的网络日志

中文技术文档的写作规范

很多人说,不知道怎么写文档,都是凭着感觉写。 网上也很少有资料,教你写文档。这已经影响了中文软件的发展。 ? 英语世界里,文档非常受重视,许多公司和组织都有自己...

51010
来自专栏芋道源码1024

端游、手游服务端常用的架构是什么样的?

因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器:

3052
来自专栏喔家ArchiSelf

Mesh?无线协议的选择

智能家居和智能建筑等产品的开发者可以使用大量的无线协议。 Zigbee,Z-Wave,以及专有的无线协议,在这些市场中占据了主导地位,新的进入者还包括Threa...

2032

扫码关注云+社区

领取腾讯云代金券