引言

App是Application的简称,正是因为有了丰富多彩的各类App,人们就可以通过它们来最大限度地发挥手中设备的功能。本文主要讨论手机上的App,因为手机的硬件和软件与十余年前相比早已有了巨大的飞跃,用户随之增多,而且在手机上使用App更加便捷,像有些简单的事务使用手机就可解决,不需要去特意打开电脑桌面,电脑毕竟太麻烦,尤其是出门在外的话,至少不会有人去拿着电脑扫描支付宝的二维码。硬件方面,现代智能手机内置了多个传感器,例如重力感应,加速度,面容识别等类型,同时高性能手机还有专门的图形处理器芯片,大幅度提升了游戏性能;此外,智能手机外观也越来越具有科技感,早期的手机比较厚,屏占比小,而现在的手机大多都趋向于全面屏,有些还是瀑布屏,同时搭载的OLED技术令色彩更为鲜艳和更具对比度。软件方面,手机的操作系统目前以Android, iOS为主,它们各有千秋,但总的趋势是系统更加安全,更加注重用户的体验。

手机App正是依托着硬件和操作系统,时间一久,应用市场上的App便琳琅满目,人们选择、下载App时会目不暇接。同之前相比,用户越来越愿意将时间花在刷手机上,那么有些App厂商根据这种趋势不断地扩充其功能,在启动界面投入广告,私自收集数据,过分索取权限等等。上述问题貌似更多地存在于国产App上,笔者时常能够在社交媒体上看见网民们针对这些问题来做出评论或反馈,但并未引起有关部门或者App开发公司的重视,即这些问题仍存在于未来版本的App中。因此,笔者一定要写这篇博客希望引起大家的共鸣和厂商、各部门的重视。以下则具体谈谈国产App存在的一些“臃肿”问题。国产的App们,你们该“减肥”了!

开屏广告

在启动一个App时,首先映入眼帘的就是它的启动页面。一个纯净App的启动页面可以包含其App的标志,开发公司/人员的信息,版本信息等等。当然不需要写太多信息,毕竟启动页面停留的时间太短,用户无暇顾及那上面究竟写了些什么。但是在大多数国产App中就不是这样了,如果大家有下载很多国产手机App可以随便点几个进去看看,是不是都是些广告,而且这些广告与你最近的“使用行为”密切相关,简而言之就是你最近在手机上频繁关注的一些商品(例如在淘宝,京东上经常看的一些商品)可能会在其它App的开屏广告上推送给你,这真的是一件侵犯隐私的事情,详情下文中会提到。有哪些App会出现开屏广告呢?其实常见的国产App貌似都会有,例如新浪微博,UC浏览器,百度贴吧,淘宝,央视影音,腾讯视频,爱奇艺还有其他头条、资讯类和天气类的App等,此处就不再一一列举了。

App中开屏广告大致有以下几种情况:

  • 没有开屏广告:这种情况已经算很良心的了,但这种情况主要存在于国外的App。
  • 有开屏广告,同时有跳过按钮:一些国产App虽然存在开屏广告但是广告界面上会有一个跳过的按钮,那又有何用?要么跳过按钮太小,要么强制用户看3秒后再显示出来。
  • 有开屏广告,无跳过按钮:App完全强制用户观看开屏广告,这真的让人难以忍受,所以碰到这种App还是别考虑安装了吧……
  • 有开屏广告,但有虚假“跳过”按钮:这一点是最令人“发指”的,也是在挑衅用户。 总会有一些别有用心的广告主知道App启动界面会有一个“跳过”的按钮,于是乎在投放的广告图片中【一般在四个角落里】“画一个”假的跳过按钮,如果用户没有注意则很有可能点进去并观看这些愚蠢的广告或下载额外的App。有时笔者就在想,“这些开屏广告已经十分令人厌恶了,谁知道广告主又在做假的跳过按钮,App厂商难道不审核吗?是不是没有考虑到这种诱导用户点击的广告也会让自家App的印象分降低一些呢?”如果是笔者开发App,要么就不搞开屏广告,要么就收一小部分费用去广告,绝对不搞这种诱导式(Click-bait)点击的广告。

笔者还是拿一些常用的国产App来说明这些开屏广告到底有多泛滥吧,以下是在iOS系统中国内App启动界面的截图。总共有选取了6种年轻网民常用的App,分别为:微博,哔哩哔哩,百度贴吧,知乎,腾讯视频,迅雷。

微博
哔哩哔哩
百度贴吧
知乎
腾讯视频
迅雷

显然这几个App都有开屏广告,而且正是我刚刚提到的那样——微博跟知乎的开屏广告内容这么接近,是关于肯德基的;百度贴吧和腾讯视频的广告内容也很接近,是关于网上购房的。最后则是迅雷,启动页面中出现了很明显的诱导性广告。第一点,该广告以社会工程学的方式让用户误认为自己的手机未连接至网络从而促使用户点击以骗取点击、下载流量!第二点,在迅雷的启动页面中竟然出现了两个“跳过”按钮,如上图两个红色的方框所示,显然这经过精心设计的,上方方框中包含的跳过按钮应该是虚假的,而下方方框中包含的才是真实的跳过按钮。这一点也是运用了社会工程学的原理。不过对于这种广告主,笔者和各用户会对其表示特别反感,厌恶最后是鄙视的态度!

开屏广告实际上利用人们现在拥有高度碎片化的时间,只要稍微有点时间人就会不知不觉地去刷手机,在使用过程中一定会点击App并启动,广告主在App启动之时投放广告,既能够加深用户的印象也可利用上述一些手段促使用户点击这些广告。然后无数的用户点击这些广告就形成了大量的点击量,积少成多,这样就会为广告主以及App运营商带来收益。有的人是出于真心想了解的心态去点击,相信更多的人只是误打误撞点进去的吧,所以大家都很讨厌开屏广告,总之无论是哪种情况,厂商有收益就行。

另外再补充一点,据说App的国际版版本如微博国际版,爱奇艺国际版,UC浏览器国际版等等版本无开屏广告,界面干净、简洁。所以笔者就很奇怪怎么在国际版中就没有这些乌七八糟的东西呢?也许是因为国外部门对应用市场管理的更严格一些吧,有开屏广告的算违规甚至违法,违者将缴付巨额罚金。看来我国的部门也应该制定出更为严厉的措施严打这些不规范行为,至少国外的App没有开屏广告,它们身后的运营商不是依然在正常运作吗?所以开屏广告这种东西属于App中“臃肿”的一部分,完全可以舍弃掉。

功能杂糅

App是有生命周期的,App在推出的早期功能都很简单、界面简洁、一目了然,因为厂商需要花时间去进行市场分析了解用户的软件需求,所以在未来的App版本添加了大多数用户期待的功能。随着时间的推移这款App产品逐渐成熟,同时带来的问题就是App的功能越来越多,但功能丰富就一定是好事吗?未必!App的功能增多意味着其开发、维护的难度提高,还要占用大量的手机空间。由于开发人员水平参差不齐,在App没有进行优化的情况下还一股脑儿地添加许多功能于其中,导致的结果就是App启动速度慢,运行过程中出现App无响应的情况,严重影响了用户体验。

功能复杂意味着界面也会比较复杂,常见的问题就是App功能入口不明确,对初次使用者来说特不友好,因为有些常用的功能根本就不知道在哪里点击(很难找寻)。包括App中的设置功能,要调整App的某些设置需要一个一个点进去,国产App对设置菜单的分类做的很糟糕,没有做到一目了然。直到现在我还是认为现在的常用国产App还是很难用,点进去找不着北。

以臃肿版微博为例,看到下面这张图,你确定都知道这些是做什么的吗?会有眼花缭乱的感觉吧。平常又用到其中多少功能? 此外,微博的消息那一栏中还会有系统推送的一些消息,比如“微博小秘书”,“粉丝头条服务”等等,这些东西谁会去特别在意?还有什么“微博卡片”的功能,就是自定义一下你所发博文的皮肤,我感觉这功能十分没有必要。【注:那个“微博卡片”的功能入口,我没有找到,所以懒得再截图了……】

很多App存在着许多非必需功能,这里仍然以上述“臃肿版微博”为例。在那么多图标中,是不是可以看到“房产”、“微公益”、“潮物”这些没点击过的图标。“微公益”:做公益不是已经有其它的平台吗?类似众筹、水滴筹这些不就可以了吗?为什么微博也要设计出这种功能?有这项功能又有多少人会使用,至少比众筹、水滴筹的使用人数少吧。“潮物”或者微博里的“明星周边”:这是提供给用户的购物平台,但是大型的购物平台不是有好多吗?淘宝,天猫,京东,还有二手的闲鱼等等……微博在这里做个购物平台是何意思?而且微博、淘宝都是阿里旗下的App,为何两者不能互通账号数据?微博钱包也是如此,有支付宝,微信支付不行吗?对大多数人来讲,大家更希望用心地阅读微博,知道世界发生了什么,周围的人有哪些新动态,自己的偶像今天又做了什么……而不是在微博中被迫地受到这些功能的干扰,以至于影响到阅读微博的心情。

仅仅“臃肿版微博”这一个App就已经暴露出上述的许多问题了,相信其它的App也会有。笔者就于此大致概括一下自己了解的App。比如QQ里的看点功能,只想好好聊QQ,怎么还让我在里面看新闻头条,看也无法认真看,突然来一条消息就分散了注意力;还有QQ的小程序,并不像微信那样会有列表显示出最近用过的小程序,而是显示在好友列表刷新的缝隙里……还有好友的资料卡片列举的东西也稍显复杂,貌似有什么在线状态,QQ等级,贴纸,好友个性标签,王者荣耀段位等等,有些选项根本没必要列在上面。所以我再也不想用QQ了,推荐各位用TIM。还有哔哩哔哩的App,它的功能也挺繁杂的,笔者最近申请了一个哔哩哔哩的账号,但好久也没弄懂奖励、扶持计划中所介绍的概念。

所以功能杂糅是App臃肿的原因之一,这样的App就像吃多了东西——走不动。

App强制性下载

此处介绍的强制性下载是指用户在不知情,意外或者被强迫的情况下下载的该App。有以下几种情景:不小心点击广告然后自动下载;完全不知情时的后台下载;在浏览手机网页时被迫下载。

前两种情况相信各位也有碰到过,笔者自己的手机有安装一款“天天斗地主(真人版)”的App,在玩牌的时候出牌区下方显示出一条抖音、快手的广告,而且关闭广告的按钮又特别小,常常一不小心就点进去了,然后就是度过“快乐”的下载App的时光……(此刻已无言)。又或者在完全不知情的情况下下载App,但一般是App后台自动更新。我很讨厌+反感+厌恶这种行为,更新不是应该取得用户的同意吗?!凭什么你说更新就更新!而且还是偷偷的下载,如果不是打开显示网速的开关,不知道这个App又要下载些什么东西。

最后一种情况那就更常见了,例如用手机浏览器在百度上查看热点时(即百家号的相关资讯),下方会有“相关阅读”一栏,点击之后会提示“请下载百度App查看更多内容”;不仅如此,末尾还有评论区,若要查看完整评论或回复评论也是要下载其App,就算有账号登录在浏览器也要下载App。我只是偶然看一下这些热点、资讯,或者突发奇想在评论区留言,但没有安装百度App,让我这种使用频度不高的用户专门为了看那几条资讯或者发表评论特意耽误时间去下载一个百度App,为什么用户不能有选择的权利?!评论或查看其它内容一定要下载吗?直接在浏览器上操作这些厂商又在担心什么?担心自己减肥吗?App体积又大,可能下载网速又慢。你认为我会去下载吗?当然不会!毕竟自己的时间有限。不仅仅是百度,还有CSDN,哔哩哔哩,百度贴吧等App,请背后的运营厂商扪心自问如此对待这类用户你觉得合适吗?是高情商的体现吗?如果厂商取消这种机制,这些用户反而还不会因强制性下载App离开这些平台不是吗?那是不是适当地增加了用户黏度了呢?是不是意味着可能在未来,这些用户在有充分空闲时间的条件下去主动下载App呢?

如下图示,点击了红色方框区域均会弹出下载对话框。其余有些App与之类似,就不一一截图了。

 
 

过度索取敏感权限及隐私窃取

隐私权是最基本的人权!

本文引言中提到现代智能手机内置了多种传感器,这就给了各App可乘之机,通过过度索取权限来收集用户的隐私信息。网络流传着一种说法,“你的手机比你自己还要了解你”。可怕的是,若要安装该App,需要同意它所有申请权限的请求,否则无法安装,是不是很霸道?(是否同意权限与能否安装使用有啥必然联系吗?!)在前期,这些App根本没有表明使用该权限具体用来做什么,用户对此一无所知——App为刀俎,用户为鱼肉,只能眼看着自己的隐私被窃取泄露。常用的权限申请可以有如下几点:

  • 摄像头:用于拍照上传,扫描二维码等;但App可以在后台偷偷调用摄像头来对用户录影、拍照。
  • 麦克风:用于录音,给对方发录音,视频或语音聊天时需要用到;App能够打开麦克风进行录音操作。
  • 通讯录:根据通讯录来查找同样使用该App的好友,例如QQ、快手、抖音等会用到这个权限;App根据通讯录获取电话号码上传到服务器以此推广产品,基于上述条件,在其后台数据库被入侵的情况下,这些信息有泄露的风险。
  • 拨打电话:App调用系统接口帮助用户拨出电话;App拨出电话可能导致话费异常流失。
  • 短信发送:帮助用户发送短信验证身份;App发送短信也会导致话费异常流失。
  • 日历:帮助用户建立日程、提醒事项;App依据此记录用户行为,并分析来做出用户画像。
  • 定位:帮助用户定位,提供导航服务,地图,共享单车,天气类App需要此权限;App也可私自获取用户的位置,绘制、记录移动轨迹,并分析该用户画像。
  • 相册:App保存图片或上传图片到社交平台等;App通过相册分析图片的元数据得出用户常住地以及当前所在地,甚至AI分析图片内容,得出用户画像。

笔者在上文提到微博和知乎的开屏广告内容相似,腾讯视频和百度贴吧广告内容也很相似。大家可以注意一下也许这些App在互相交换数据,在默默地记录着使用喜好,包括搜索过的关键词以及商品,根据这些行为的频度来估算用户感兴趣的东西然后把用户喜好分享给其他App(会读取已安装App列表)。最经典的例子就是,若在购物App中经常看iPhone的信息,那么你肯定会在贴吧、视频、浏览器等软件的广告中看见iPhone手机的信息。仔细想想,细思极恐也!限于篇幅,截图就免了,大家都遇见过的。有的App申请的权限自己根本就没有用上,如同某些天气预报的App竟然要麦克风,通讯录的权限,是想帮忙打电话吗?

工信部于2月6日发布的消息说,目前有26款App被通报,涉违规调用麦克风和通讯录等权限,令2月10日之前完成整改。逾期不整改的,将依法依规组织开展对其相关处置工作。此外还设立了《移动互联网应用程序个人信息保护管理暂行规定》,共计22条。当然在国家部门检测之后有相当一批不合规范且拒不整改的App下架,笔者认为这项行动大快人心,那些App违规成本太低,它们还年轻,它们还小,一定不能放过它们,而且还应更为严厉地执行App管理措施,绝不能罚款了事,不能太惯着这些垃圾App开发商们【哈哈】。应用市场正是被这些人弄得乌烟瘴气。【附:26个通报App名单,看见这些App小心为妙。点此进入工信部网站

结语

以上内容阐述了现在国产App存在的部分问题,也是大家普遍关心的。当然还有其它的问题,文章中并没有一一列举。设计优良的App可以给用户带来极佳的体验,也为中国打进国际App市场奠定良好的基础。同时希望这篇文章能够引起大家的共鸣,也欢迎补充观点^_^。

【 “功能杂糅”小节中提到的观点取自播主“锡兰Ceylan”,笔者之前有看过他于YouTube上传的视频,他以微博为例在视频中录屏叙述了国产App臃肿的问题。这里是他的微博

#cnblogs_post_body h1 { background: rgba(0, 0, 0, 1); border-radius: 6px; box-shadow: 0 0 1px rgba(95, 90, 75, 1), 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: rgba(255, 255, 255, 1); font-family: "微软雅黑", "宋体", "黑体", Arial; font-size: 20px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 5px 0 5px 10px; text-shadow: 2px 2px 3px rgba(34, 34, 34, 1) }
#cnblogs_post_body h2 { background: rgba(43, 102, 149, 1); border-radius: 6px; box-shadow: 0 0 1px rgba(95, 90, 75, 1), 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: rgba(255, 255, 255, 1); font-family: "微软雅黑", "宋体", "黑体", Arial; font-size: 18px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 5px 0 5px 10px; text-shadow: 2px 2px 3px rgba(34, 34, 34, 1) }
#cnblogs_post_body h3 { background: rgba(91, 150, 0, 1); border-radius: 6px; box-shadow: 0 0 1px rgba(95, 90, 75, 1), 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: rgba(255, 255, 255, 1); font-family: "微软雅黑", "宋体", "黑体", Arial; font-size: 12px; font-weight: bold; height: 21px; line-height: 21px; margin: 12px 0 !important; padding: 5px 0 5px 10px; text-shadow: 2px 2px 3px rgba(34, 34, 34, 1) }
{ background: rgba(255, 255, 255, 1); margin: 0; padding-left: 4% }
#cnblogs_post_body blockquote { font-size: 15px; margin: 18px 35px; background: rgba(255, 255, 255, 1); font-family: "宋体"; box-shadow: 0 0 8px rgba(170, 170, 170, 1); clear: both }

国产App为什么如此“臃肿”?!的更多相关文章

  1. android APP是否需要缓存?+简单架构

    问题的由来 昨天,当我写完我的第一篇博客之后,我便百无聊赖的玩起了手机!当我打开Google自带的一些app的时候,发现他们直接叫我连接网络,并没有缓存上次从网络获取的数据.这就让我感到很奇怪!于是我 ...

  2. 浅谈短视频APP的发展趋势

    2014年6月20日,在AppAnnie最新发布5月应用指数中,美拍荣登“非游戏类iOS榜单”全球下载量第一位置,成为全球iOS应用商店最热门APP.能在<AppAnnie应用指数>这份A ...

  3. 苹果app(iOS app)的URL schemes

    最近折腾iOS快捷启动应用或应用内的某个动作的神器launch center pro (LCP),发现很多国产app并没有被LCP官方收录,所以不得不想办法找到app的url schemes. 下面是 ...

  4. 从Instagram“宁静、规则”的成功 看国内APP发展之路

    看国内APP发展之路" title="从Instagram"宁静.规则"的成功 看国内APP发展之路"> Instagram在全球获得的巨大成功 ...

  5. 账本APP开发

    服务端开发 好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 前言 我平时喜欢用账 ...

  6. iOS 与 惯性滚动

    注:以下所有例子均 只 在 iOS 的微信中测试过,但对于饿了么APP的内置浏览器同样适用(两者使用相同内核) 引题 工作中常常有需要显示大量信息的情况,列表超出一屏就涉及到滚动的问题.例如 - va ...

  7. 不一样的角度 解读微信小程序

    不一样的角度 解读微信小程序 七月在夏天· 2 天前 前段时间看完了雨果奖中短篇获奖小说<北京折叠>.很有意思的是,张小龙最近也要把应用折叠到微信里,这些应用被他称为:小程序. 含着金钥匙 ...

  8. 阿里最新热修复Sophix与QQ超级补丁和Tinker的实现与总结

    2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker(Bugly sdk也集成Tikner ...

  9. android-------- 常用且应该学习的框架

    今天来分享一下一些常用的库,在Github 上 star数也是很高的,开发中也是很常用的: 简单的分享一下,一起学习. http://www.xiufm.com/blog-1-944.html 框架名 ...

随机推荐

  1. [开源软件] 腾讯云Linux服务器一键安装LAMP/LNMP/LANMP环境 转

    本帖最后由 我本戏子 于 2015-8-13 22:00 编辑OneinStack是非常优秀的一键PHP/JAVA安装脚本,提供以下环境:lnmp(Linux + Nginx+ MySQL+ PHP) ...

  2. P3714 [BJOI2017]树的难题 点分治+线段树合并

    题目描述 题目传送门 分析 路径问题考虑点分治 对于一个分治中心,我们可以很容易地得到从它开始的一条路径的价值和长度 问题就是如何将不同的路径合并 很显然,对于同一个子树中的所有路径,它们起始的颜色是 ...

  3. day123:MoFang:直播间列表信息的前后端实现&创建房间的前后端实现

    目录 1.服务端提供所有直播间的列表信息 2.前端显示房间列表 3.创建房间 1.服务端提供所有直播间的列表信息 1.marshmallow.py from marshmallow_sqlalchem ...

  4. python学习笔记 | PyCharm出现卡顿解决方法

    问题:使用pycharm时常出现 the IDE is running low on memory 的问题 表示pycharm这款IDE使用内存不足 需要在系统内存充足的情况下扩充IDE memory ...

  5. python3 最基本且简单的实现组合设计模式

    组合模式是把一个类别归为一个整体,并且组织多个整体之间的关系,使用通过树形结构来描述所有整体. 一般的编写方式为一个类别对象下添加多个该对象的元素,该对象又为其它对象下的元素.简单来说就是一个学校有一 ...

  6. SDUST数据结构 - chap6 树与二叉树

    判断题: 选择题: 函数题: 6-1 求二叉树高度: 裁判测试程序样例: #include <stdio.h> #include <stdlib.h> typedef char ...

  7. 一. SpringCloud简介与微服务架构

    1. 微服务架构 1.1 微服务架构理解 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦.你可以将其看作是在 ...

  8. 痞子衡嵌入式:MCUBootFlasher v3.0发布,为真实的产线操作场景而生

    -- 痞子衡维护的NXP-MCUBootFlasher工具(以前叫RT-Flash)距离上一个版本(v2.0.0)发布过去一年半以上了,这一次痞子衡为大家带来了全新版本v3.0.0,从这个版本开始,N ...

  9. linux设备注册

    一.分配cdev cdev表示字符设备,使用cdev_alloc函数,cdev_alloc函数原型如下: /** * cdev_alloc() - allocate a cdev structure ...

  10. day03 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...