显而易见,移动应用面临着爆炸式的增长,处处充满商机。根据Gartner的预测[1],截至2017年,app的下载量将达到2,680亿,770亿$的收益。
App的性能对其用户体验和黏性具有重大的影响,根据统计[2]80-90%的app在使用一次后被删除,Apple App Store中60%的app未被下载过。影响用户对app印象的关键因素包括:ANR、crash和响应慢。
当前,[3]全球约有12亿人使用app,每年增加29.8%,2017年将增长至44亿人,2012年到2016年全球app经济增长率将高达28%,显然对于app的需求很高。app的主要盈利模式主要是广告和app内部的收费(比如游戏道具),app本身通常是免费的。目前,开发一个app平均需要雇佣4.5个移动开发者。
虽然面对前所未有的机遇,app开发者也面临很大的挑战,而这个挑战就是碎片化。
根据Flurry[4]的统计,要覆盖90%的用户需要331台终端,要覆盖80%的用户需要156台终端,要覆盖60%的用户需要37台终端。
开发者获得app性能的主要来源通常有两个:crash报告和用户测试。
crash报告
crash报告能够帮助开发者发现和解决问题,但是一个正常的应用99%的时间是非crash的,仅有1%的时间是crash的。而在99%的时间中,app的表现并非是完美的,在这99%的时间的app到底发生了什么呢?
Crashlytics可以用来分析crash报告,Google Analytics用来进行产品分析,Modit分析sercers,Pingdom用来分析website。但是,即使使用了这些工具,仍然不能直观的看到app的表现、诊断和解决问题。
用户测试
很多情况下,开发者都是通过用户对app的抱怨来发现问题。用户在发现问题之后通常并不会明确的说出问题的细节,而是直接给一个一星评价和抱怨,而这一星需要很多的五星才能抵消其产生的负面影响。
用户报告的问题也是很难进行重现的,细节不完整的,这就导致了开发者只能陷入大量的log文件和debug trace当中尝试去发现问题。由于缺乏有效的证据信息,开发只能靠猜的去发现问题。
这种用户测试方式也是自扰的,用户发现问题之后会损害app的口碑,开发者热需要采用一种更加积极主动的方式去发现问题,在用户发现之前解决问题。
解决之道:APM
一个好的APM除了crash报告、等待用户抱怨和反馈、查看应用商店的评价之外,还需要一些实时的、真实用户的信息。APM实现框架如下:
APM需要收集更多的信息,包括:
HTTP请求:
APM监测app和外部服务器的所有交互,给出web服务和API请求的可视化结果。对于API-intensive的app,比如视频和动画多的app,看到响应时间、数据传输和吞吐量非常重要。
HTTP错误:
APM需要给出HTTP请求错误和网络错误,追踪不同错误的错误率。并且能够给出发生错误的原因。
运营商和地理位置:
对于大规模分布式app,如果仅在一些固定的位置,特定的运营网络里面app的响应慢,开发者需要知道这个情况来修复问题。
版本分析:
开发者需要知道在更新版本后,会不会产生一个更好的用户体验,还是,发生一个没预期到的交互产生了差的用户体验。版本分析对于有大量音视频、动画内容的app和需要频繁刷新动态内容的app很重要。
设备级的指标:
开发者需要知道本地数据库、设备内存和UI对app性能的影响。帮助开发者发现真实的问题,特别是对于游戏和有很多动画的app。
定制化的指标:
不同的应用有自己独特的指标需求,好的APM需要能够让app定制自己特有的指标来监测代码、异常、脚本和用户事件。
交互traces:
为了真实定位问题,需要知道用户如何与app进行交互的,并且如何的影响性能。一个用户交互trace数据包含内存使用、数据库指标、CPU和挽留过响应时间和错误。方法级的trace能够让开发者知道代码级别的信息。
终端信息:
APM还要能够提供app在不同os、终端上的表现。
APM能够帮助开发者快速的诊断问题,更好的使用内部资源,提高用户满意度,保证品牌口碑,从而提升ROI。
用户对app不满地到底会产生什么样的代价?
91%的客户将不会再与你的公司进行商业合作[5];
吸引新的客户的平均支出和留存当前客户支出的5倍[6];
平均一个不开心的客户告诉8到16个人他的糟糕体验,20%不开心的用户会告诉20个以上的人[6];
1 “Forecast: Mobile App Stores, Worldwide, 2013 Update,” Gartner, September 2013 (https://www.gartner.com/doc/2584918?ref=ddrec)
2 “App Store infested with zombie software, claims analytics startup Adeven,” Gigaom, July 2012 (http://gigaom.com/2012/07/31/app-store-infested-with-zombie-software-claims-analytics-startup-adeven)
3 “Fast growth of apps user base in booming Asia Pacific market,” Portio Research, March 2013
4 “Are Indie App Developers Becoming an Endangered Species?” Flurry Blog, March 2013 (http://blog.flurry.com/bid/94811/Are-Indie-App-Developers-Becoming-an-Endangered-Species)
5 TARP
6 Lee Resource Inc