本届大会以“你就是主角”为主题,为移动开发者打造一场真正的年度盛会。为让更多的移动应用团队有自己专属、固定的展示交流区域,大会主办方特别提供了MDCC应用团队免费展位。无论是成熟的创业团队,还是处于成长期的移动应用、移动游戏、智能硬件开发团队,只要有成型作品,均可免费申请。
欧朋流量宝是由Opera欧朋主导研发的手机流量管理应用,于今年3月正式推出第一个版本。在移动端,手机已成为人们上网的一个主要入口,然而,用户却始终不能轻松、简便地对上网所产生的流量进行管理。欧朋流量宝通过技术手段,实现对流量的压缩、节省和管理。
欧朋流量宝团队所在的地域,横跨中国、美国、波兰、挪威四个国家。日前,欧朋流量宝产品工程负责人周元林与我们分享了这款产品的开发过程,以及开发过程中团队协同方面的经验。
CSDN:除欧朋流量宝外,很多手机管家类App都有流量管理监控功能,欧朋在这个时候才推出流量宝这款App会不会为时已晚?
周元林:其实没有。应该说,手机管家类App的流量监控,在整个App中只是辅助功能。其实从我们的角度来看,流量监控有五大功能:第一是压缩、节省;第二是监控,要知道流量消耗在哪儿、谁消耗了流量、什么时间消耗了流量;第三是流量管理,这一点类似于联网开关控制;第四是统计,知道流量消耗在应用间的排名及汇总信息;第五是查询,知道套餐还剩下多少、用了多少。所以,一个真正完整的流量监控应用应该包含以上五个功能,从产品角度而言,能把这五大功能结合在一起的,在国内App市场上只有欧朋一家。
CSDN:要完全实现以上创想,要克服哪些技术挑战?
周元林:举个例子,流量压缩功能是我们主打的核心功能,在一个App里压缩流量,其实不是一件很简单的事情,我们也走过不少弯路,比如把所有App的流量重定向到压缩服务器,然后送到手机客户端。这个过程一开始是在Java层做的,后来发现结果是内存使用消耗非常大。于是我们推翻了这个方案,重新在Native层做了一套,现在的内存使用是非常小的,而且也能够达到我们设想的效果。另一个难点在于,流量要接管,实际上相当于把流量重新定向到压缩服务器,这其实是平台的功能。因为我们是站在App的角度来做事情的,所以我们只得使用Android的VPN。VPN的服务是建立一个数据通道,所有App的进出数据通过这个通道到压缩服务器压缩后再传送。
CSDN:这就是所谓的“云端压缩”技术吗?
周元林:没错。刚才我提到的将VPN流量导入到云压缩网络的技术,实际上是继承自欧朋浏览器。云端压缩技术是非常成熟的技术,除了Opera Mini之外,在欧朋的手机浏览器、桌面浏览器上都有使用。此外,云端压缩还涉及到另外一个技术,即Turbo技术。Turbo技术也是用在欧朋浏览器中,用来将浏览器的流量经过压缩服务器进行压缩。而流量宝则是把浏览器的压缩技术进行扩展,从应用内变成跨应用之间的压缩。这里面有两个技术难点:第一是把其他应用的流量接管到这个压缩服务器上做压缩;第二点是使用云计算网络做压缩产品,也就是将这两个点合在一起。
CSDN:除此之外,在开发过程中还有哪些困难是你们印象比较深刻的?
周元林:最开始是在原型设计过程中,接管流量时内存消耗非常多。后来我们做了优化,使用Native层,因为Native层本来代码执行速度就快,而且内存也可管理。再举个例子,之前在监控时,我们发现广东省的用户平均流量消耗比其他省的要低,发现这个问题后,我们就派工程师到现场去,发现当时是DNS解析出现了问题。但相同的环境在其他的地区可能是正常的,只有广东地区出现了这种问题,导致了压缩服务不能使用。类似于这种连通性的问题还挺多的,这也是我们一直在努力攻克的技术点。
CSDN:听说流量宝的团队的办公地点横跨四个国家,你们之间是如何协同办公的?
周元林:流量宝和Opera Max是属于一个产品线,团队成员分布在中国、挪威、波兰、美国。北京有一个十几个人的团队,包括工程、产品、UI及测试,负责中国地区的流量宝的产品,而其他团队都有不同的侧重点,比如美国的同事则侧重于视频压缩。在协调方面我们主要是通过共享,比如不同地区间共享一份压缩服务器代码基线等。另外,我们各个团队间共用一个代码仓库来协从开发,每个团队都有权限修改、提交或开发。
CSDN:最新的3.7版本增加了“异常报告”功能,目前,用户反馈频率较高的问题有哪些?这一功能对你们有哪些帮助?
周元林:在这个模块之前,我们有一个自己的反馈系统,比如在“关于”里有一个“用户反馈”按钮,在这里用户可以输入任何想了解或发现的问题。通过这些手段,我们发现有些用户抱怨内存消耗高、CPU卡顿等问题。这一功能主要是通过用户上传来收集问题,并且我们可以定位到反馈用户的地区,看看这一地区的用户反馈同一问题的有多少。因此,我们的初衷第一是定位问题,第二是分析问题的本质是什么,然后去找解决方案。最终还是想把用户体验的稳定性和兼容性进一步提高。
CSDN:不难预见,对于这类流量管理应用,节省流量是用户最为关心的,在这方面,你们做了哪些努力?
周元林:一般来说,节省流量的重要因素是HTTP页面和图片,其中,节省比例最大的是图片,如果要增强节省力度,必然以牺牲图片质量为代价。不过用户往往对这一做法持不同态度,有些人不想图片质量受损,有的用户则认为看新闻时图片质量差点也没关系。基于这种诉求,我们对产品进行了改进。比如让用户来选择图片质量,通过高、中、低三个档次选择压缩等级。
把握核心功能是工具类应用制胜的关键
CSDN:作为欧朋流量宝产品工程负责人,你在开发中一般使用那些开发工具?
周元林:由于欧朋流量宝目前聚焦于Android平台,Android平台的开发工具现在比较流行的是Eclipse+ADT,还有一个是比较新的工具是Android Studio,这些对我们来说都是IDE工具,可以加速开发。此外,从开发的角度来讲,我觉得更重要的是团队配合的过程中,需要一套Code Review系统。Opera的几个工程师就做了这样一个系统,称为Critic,这应该是我见过的最好用的Code Review工具。使用时,程序员必须在这个系统上把代码Review通过,才能进入代码仓库中的主线。只要有一个问题没有解决,就会在工程师之间进行讨论。实际上,这种协同工具能够保证代码的质量,减少不必要的Bug和测试的时间。
CSDN:在使用工具方面你有哪些心得?
周元林:在日常工作过程中,对于工程师来说最不愿意干的就是重复性劳动,一件事情今天做一遍,如果发现这样的事情明天或后天还会碰到,那就是工作方法的问题,需要看看能不能把这些事情自动化。也就是说,对于一些工具的开发是很有必要的。有时我们开发一个工具可能要花一个礼拜,但有了这个工具之后,手动一天的工作量在以后就不会有了。简单来说可以总结为,工欲善其事,必先利其器。
【《近匠》Bmob:免费无限制的公有云服务】《近匠》第55期,越来越多的移动开发者开始关注mBaaS云服务模式,我们已经采访过多家mBaaS服务商,本期近匠对话mBaaS服务提供商――Bmob CEO何少岳,作为早期进入mBaaS领域的服务者,Bmob有什么新的变化?
【《近匠》LegendTech:AR技术现已加入15元豪华午餐】《近匠》第54期:在世界杯期间,某餐饮连锁品牌推出了一款AR足球游戏。如何使用Unity+Vuforia搭建了一个增强现实的游戏开发环境?该技术团队负责人将与我们分享了AR应用开发中的宝贵经验,和对AR技术交互性的理解。
【《近匠》Fancy3D:亿级游戏背后的轻量级引擎】《近匠》第53期,随着跨平台游戏的火爆各大引擎动作频频,Unity宣布支持2D,Cocos发布3D引擎等,行业竞争已从产品竞争本身蔓延至底层技术引擎层面。随着《黑暗之光》成功,青果灵动宣布Fancy3D引擎即将展开商业化。
回顾更多内容及线下开发者活动信息,请关注mobilehub公众微信号(ID: mobilehub)
寻求《近匠》免费报道,请私信:@CSDN移动,或发送邮件至mobile#csdn.net。