以互联网思维做好客户端软件

加入爱奇艺的时间不长,但我感受到的震撼却不小。在外企打拼了十几个春秋,今年终于有机会进入一家国内顶尖的互联网企业,真真切切地有一番不太一样的体验。

不过,我今天并不想说在外企工作与国内企业的差别。目前,我负责“爱奇艺PPS影音”PC客户端软件的研发。也许有人会有疑问:怎么还在做PC软件?大家不都一窝蜂似的转去做移动开发了吗?然而,大家要明白的是,虽然PC行业已经风光不再,但PC饱有的体量仍然是巨大的,并且PC自有其不可替代的价值;PC软件还要继续做,今天我想说一说的是,怎样以互联网思维来做好客户端软件。

说起互联网,大家自然便会想起网站。(顺便提一下,爱奇艺就是以网站起家的;现如今,爱奇艺的服务已经覆盖包括PC、MAC、手机、平板、电视、机顶盒等各种终端。)想必大家也知道网站与客户端软件各有优劣吧,比如:网站可以运行在任何设备的浏览器上,不需要用户安装,也不麻烦用户升级,能在各个终端保持统一的用户体验;而相比之下,原生的客户端软件运行得更快,并且能够充分利用本地资源为用户带来更加强劲、炫目的功能。(推荐阅读Jeff Atwood的一篇博文:App会取代网站吗?)我们的客户端软件是用C++写的,性能自然不必多说。而我们公司的互联网基因,也促使我们把网站的众多优点融合进了客户端软件。

先说说研发流程吧。互联网行业最大的特点就是变化快。我们求新,必须快速迭代,快速试错。网站采用的是这种开发模式,我们的客户端软件开发也可以。我们采用了Scrum敏捷开发流程——两周一次迭代,每两周发布一个版本。我们称之为“小步快跑”——把大功能拆小,分阶段实现,追求微创新。比较一下传统的软件开发模式:先制定一份详尽冗长的PRD,然后是动辄1~3个月(甚至半年)的开发周期,再加上一个较长的稳定期来修复足够多的bug,等到发布产品的时候,市场环境早就不一样了……互联网环境容不得如此慢的节奏!

上面说到了快速试错。那么,怎么试呢?又怎么知道我们是对还是错呢?这就要依赖数据啦!网站有它的先天优势,可以很方便地收集到这些数据:用户在网站上停留了多久,点了什么网页,在网页上点了什么按钮,用户使用的是什么浏览器,同时有多少人在线,访问的峰值出现在什么时间段,等等。我们在客户端里也加入了类似的投递代码。我们还有强大的数据统计和分析团队的支持,让我们对客户端软件性能以及用户行为了如指掌。我们很容易就能知道客户端软件的启动耗时、崩溃率、用户在我们客户端里看了哪些视频、播放是不是有卡顿等信息。在我们尝试做了一个新功能、但又不确定用户是否会喜欢的时候,我们也可以通过一个小渠道发布这个版本,然后在后台观察各种统计数据,以此来帮助我们决定是否应该继续开发这个功能,或者在后续迭代里需要在哪些方面做改进。

我们每两周对外发布一个版本。我们也深知,发出去的版本就像泼出去的水,也是我们未来必须背负的包袱。时间一长,客户端版本碎片化,几千万用户手上的版本多达几十种。我们固然可以通过软件自带的升级机制把最新版本的客户端送到用户手上,但出于种种原因,新版本能够做到高于90%的覆盖已经不错了,而这个数字绝对达不到100%。然而,网站却能做到。网站添加了新功能之后,一旦部署,顷刻之间就能被全世界的所有用户使用上。问题是,我们怎么在客户端里获得像网页那样的灵活性呢?我们的做法是,对于性能要求不高并且可能会频繁调整的部分,用HTML/JavaScript来实现,并在客户端里用内嵌浏览器打开这些网页;而对于性能要求高的部分,坚决采用我们强大的C++皮肤库来把网页本地化。一个很好的例子就是爱奇艺影视大全(http://v.iqiyi.com),在与网站保持协同的基础上,我们让它在客户端里表现出了更为卓越的性能。

在功能实现方面,我们时刻保持着一种意识:尽量不把业务逻辑在客户端里写死。否则的话,一旦业务逻辑有变,我们必须修改客户端的代码,然后再做全网升级,一来周期比较长,二来新版本也做不到100%的覆盖,结果就比较被动了。举一个VIP会员相关的例子吧。在客户端,我们有针对当前登录用户的类型来做不同会员套餐促销的需求,具体的业务逻辑是:如果当前是普通会员,则跳到白银套餐的购买页面(url1);如果当前是白银会员,则跳黄金套餐页面(url2);如果当前是黄金会员,则跳铂金套餐页面(url3)。一些经验欠缺的开发人员会把上述逻辑直接实现在客户端软件里,就像下图中左边所示的那样。遗憾的是,一旦VIP会员套餐的促销逻辑有变,比如,要改成对所有用户都推销铂金套餐,那就惨了!更灵活的实现方式应该像下图中右边那样,客户端只是调用一个相对固定的url(并带上必要的参数),而把具体的业务逻辑实现在服务器端。

当然,上面只是一个很小的例子。为了在客户端里获得足够的灵活性(不通过发布新版本就能满足业务需求),我们还给很多功能加上了云端配置。只要我们发现某些功能的用户体验不理想,随时都可以调整控制参数,甚至将其彻底关闭。我们始终牢记,我们在做的不是一个单纯、孤立的客户端软件——我们提供的是一种互联网服务。也因为如此,我们的客户端软件同时很好地支持了编辑运营(及时发布时事或专题、热门推荐、快速上线或下线节目等),以及灵活的广告策略控制。

PC软件真的没落了吗?其实不然!也许我们只是需要顺应潮流,改变一下自己的思维方式。我们相信,只要有用户存在,每个终端都是重要的。因此,即使没有聚光灯、鲜花或掌声,我们仍然在坚持不懈地努力做好产品,全心全意为我们的用户服务!

以互联网思维做好客户端软件

时间: 2024-10-19 12:03:25

以互联网思维做好客户端软件的相关文章

用互联网思维来开发客户端软件——项目开发小结

随着智能手机.平板电脑的快速发展,台式电脑在个人用户那里已经没落了,但是台式电脑仍然是企业用户工作中的主要工具,且具有不可替代的作用.客户端软件在企业级用户那里有着不可替代的作用,结合时代发展,我们应以互联网思维来做好企业级应用客户端软件?研发快速迭代.快速试错,把大功能拆分成小功能,分阶段实现,追求微创新. 通常企业级应用的客户端,就是企业管理应用系统,一般分为BS与CS两种架构,CS架构要求在用户的电脑上装上客户端与数据库,或者数据库安装在数据库服务器上.这种方式我们经常会碰到一些问题,比如

互联网产品经理常用软件及工作平台

http://uedc.163.com/2657.html 上期书友会分享了工具,大家发信给我说希望能够写篇博文来分享,PPT还不够他们使.好吧,我再啰嗦一次.我不想和大家具体去讨论一个工具如何如何 使用,具体有那些细节功能,我相信,工具只有在亲自使用.体验.完成工作任务才知道是否合适.好用.够用.在这里,我系统的和大家分享一下,到底会用到那 些软件.工具.平台,在全局上面有一个了解.工欲善其事必先利其器,好的工具软件可以大大提高工作效率,工具各有优劣,大家按需取之,我分享的主要是 Window

[ 产品经理 ] 互联网产品经理常用软件及工作平台

[ 产品经理 ] 互联网产品经理常用软件及工作平台 2014-5-11 08:37| 发布者: 无为 | 关键词: 上期书友会分享了工具,大家发信给我说希望能够写篇博文来分享,PPT还不够他们使.好吧,我再啰嗦一次.我不想和大家具体去讨论一个工具如何如何使用,具体有那些细节功能,我相信,工具只有在亲自使用.体验.完成工作任务才知道是否合适.好用.够用.在这里,我系统的和大家分享一下,到底会用到那些软件.工具.平台,在全局上面有一个了解.工欲善其事必先利其器,好的工具软件可以大大提高工作效率,工具

跟周鸿祎学互联网思维 ——《周鸿祎自述|我的互联网方法论》读后感

跟周鸿祎学互联网思维 --<周鸿祎自述|我的互联网方法论>读后感 1.互联网思维是大势所趋 互联网.移动互联网.物联网.智能家居生态链必然是大势所趋,我们能做的是拥抱变化."趋势一旦爆发,就不会是一种线性的发展.它会积蓄力量于无形,最后突然爆发出雪崩效应. 2.用户至上 1)用户是谁? 改变传统行业"一锤子买卖"."一次性交易"的行为方式,互联网思维中的用户是持续性的概念,公司为用户长期提供服务,用户长期感知到你的存在,能长期保持一种联系的人.

杨元庆谈互联网思维:招招攻小米命门

8月29日消息,联想集团董事长兼CEO杨元庆出席“2014亚布力中国企业家论坛夏季高峰会”,在演讲中直批互联网思维颠覆论.他指出,“一些国内的企业,在国内过得如鱼得水,日子红红火火.但是一到国外,他们按照中国习惯的方式去经营,很快就露出马脚.到处碰壁,像透露用户隐私这种行为都不可以了.” 以下为演讲实录: 杨元庆;今天想和大家分享两个观点:一个是谈谈对当前互联网热的看法,二是谈谈对互联网时代诚信经营的看法. 我认为这两点要做好了是增长动力,如果做不好就是增长阻力.近年,互联网概念被炒得火热,好像

企业互联网思维,从重新想像电子邮件开始

在现代互联网的世界里,最古老的互联网产品恐怕就是电子邮箱了.1970年代到1980年代,在美国的ARPANET项目中诞生了最早的SMTP电子邮件协议以及早期的电子邮件形式,到了1990年代的时候开始出现了现代电子邮件.在企业市场,企业级电子邮件系统一直是现代企业运营的基础设施之一,在没有出现WhatsApp.微信等社交通讯工具之前,几乎所有企业都依靠电子邮件系统维持可靠与高效的运转. 电子邮件不仅仅是企业文档与信息流通的机制,更是企业根深蒂固的思维方式.电子邮件的层级式信息传递.按时间顺序推进.

互联网思维之我见

“互联网思维”是一个近年来兴起的.迅速蹿红的词汇,据不准确考证,始作俑者大概是小米公司的老板雷军.即便他不是第一个,也是第一批.至少有一点值得我们自豪的是,这个词是我们天朝人原创的,在英语中对应的概念类似“Internet Thinking”或者“Internet Thoughts”是从中文翻译.解释过去的,这里有一篇英文相关的帖子.维基百科上也没有类似的中文或英文的词条. 通常的“互联网思维”包括很多内容:用户思维,体验为王,口碑,快速迭代,专注,极致,免费,低价,创新等等.比较经典的例子包括

新华网采访脉搏制造网创始人李春伟—让互联网思维基因注入制造业

新华网报道截图 以下部分内容摘自新华网 摘要: 梵天智能工业科技有限公司从"新"字诀出发,通过要素多元组合衍生出的全新创新模式,努力为"中国智造"开拓新天地.2017年1月,"脉搏制造网"将正式上线运营,实现互联网+制造业+工业大数据的深度融合. 新华网12月7日电 "'中国制造2025'''亟须工业化和信息化深度融合,需要采取新机制.新模式.新业态,梵天愿做探路者."脉搏制造网创始人李春伟先生说. 脉搏制造网利用"

互联网思维:毛利率变零下的硬件厂家将横尸遍野,华为这样的硬件公司何去何从

最近涌出了很多互联网思维概念,并在市场上掀起波澜.其中硬件免费最为可怕,而手机市场毛利率变零正在变成现实,小米为代表的山寨规模化正在洗劫手机市场,而最近手机厂家兆信老板自杀拉开了硬件厂家走上不归路的序幕. 一直以来,中国软件盗版危害导致金山等软件公司一直赔本占吆喝,20年没有出现一家重量级的软件公司,有人说跟捆版到windows有关,但是事实上是因为盗版抄袭之风太烈,你做出再好的软件也未必能卖出挣钱,因而很多公司去做政府有关的软件,获得一点利润.然而还有一个利润红海,就是做智能硬件,硬件不能盗版