产品研究:安装程序 或 移动端APP 为什么这么占用空间?
一群產品經理討論應用為何這么占內容,PMcaff產品經理社區潛伏的一大批技術能人給出了很好的答案。該問題的貢獻者:原獵豹產品總監 胡國中,Google 資深RD 春哥,百度瀏覽器 資深RD 楊坤
有些硬盤比較小的用戶或者是蘋果手機容量比較小的的用戶可能經常抱怨app或者安裝的應用程序太大導致設備空間不夠用。特別是微軟Outlook為何要1G安裝包,而foxmai只要60M,為何同樣的競品APP有的點160M手機空間,有的只占5M?下面為大家簡單解釋一下為什么有些app或者應用程序總是那么大。
1. 歷史原因
為了兼容老版本或者一些舊有的用戶習慣,可能會有一些舊的特性包含在里面,但是有的時候可能項目開發周期短,程序員哥哥是不會去動舊有的東西的,因為一旦牽涉到修改代碼,成本是很高的;隨便去掉一個功能點,需要考慮整個業務流程邏輯是否通順完整,改完以后還需要QA再進行回歸測試,就好像是從一整棟完整的大廈里面抽掉一塊磚,一不小心就有瞬間崩塌的危險。
2. 為了適應不同的用戶群體
比如像office光安裝包就1G多,安裝完成之后發現各種組件都已經給你裝過了,包括什么ppt啊,visio啊各種亂七八糟的組件,excel里面甚至還包含了vbscript這類開發者用到的組件;正常人類只希望用一個文檔或者excel的功能,office就會給你安裝了這么一大堆東西。
3. 追求炫酷
有些app為了追求狂拽酷炫屌炸天的界面效果會使用一些精度比較高的資源(圖片、音頻、視頻),讓你看起來好像覺得很牛X的樣子,但是這些資源圖片占用了整個app容量的大頭,其實二進制文件編譯出來之后,把符號文件去掉,二進制的執行文件本身就是非常小的。
4. 第三方庫
有些開發者為了圖省事,會直接使用一些開源框架,比如做游戲需要用cocos2d, unity3d等,應用程序可能會用到reactjs等,這樣子的好處是直接一套代碼跨平臺,節省了開發時間,提升了開發效率,但是這些第三方庫本身是非常大的,因為第三方庫它不知道你要用哪些功能,干脆把所有的東西一股腦都給你。
5. 用戶數據
當用戶使用這些app(應用程序)的時候會產生很多使用痕跡的,有些app(應用程序)就索性直接用完之后扔在某個地方不管了,比如說產生一些日志文件或者一些臨時性的配置文件或者是一些數據記錄,就跟隨地扔垃圾的人一樣討厭,毫無節操可言。
看完上述種種,作為一個PM/RD肯定會有各種理由:我項目周期緊張啊、我的程序員哥哥不甩我啊、占用空間大小的事情只要不影響功能就行了啊、、、等,但是。。。這些都不能成為合理非法大量占用用戶使用空間的理由,如何讓自己的app更加輕快,更加好用,這才是作為一個有情懷的互聯網人所需要追求的,而且是需要PM和RD共同努力的,下面給出我自己針對上述問題的一些建議:
1. 解耦你的程序:現在大家都是用的面向對象語言,如果你的程序的類不能拆分成一個最簡單的功能,或者類依賴過多的類,肯定是很有問題的,需要程序員哥哥在寫代碼之前就要考慮清楚該如何做擴展,如何寫基礎模塊,如何寫業務模塊,哪些功能做成一個單獨的模塊,模塊里面每個類負責最小化什么樣的解耦功能;最好把工具類拆分出來,工具類有可能又分為業務型工具類和通用型工具類,說不定可以用到以后的項目中。
類似Chrome的插件模型永遠是客戶端程序最經典的架構。推薦沒事多看看《設計模式》,盡管你可能覺得過時了,不管時代怎么變化,有些基礎的思想永遠不會變。
2. 動態的加載所需要的庫:如果做到了上一點,第二點就很好解決了,因為所有的模塊都是熱插拔模式的,可以根據用戶的需要把一些不需要的功能模塊刪掉,保持占用空間最小化。
3. 盡量多用繪制庫:現在的繪制庫都是很牛X的了,各種算法都給你寫好了,而且優化的非常好,只要運用得好,就不要去用一些圖片去解決問題,經常用圖片解決問題的程序員是很懶的,懶得去了解繪制庫的用法,只要稍微多了解一下你的繪制庫,基本上秒殺各種特效了。
4. 削減第三方庫: 很多第三方庫都包含了很多用不到的功能,把這些功能都去掉吧,這些東西哪天要用到再加上也是可以的,如果你不會削減證明你根本不了解你的生產環境,這樣子是很可怕的;趕緊動起來,去了解你的底層。
5. 盡量把一些重要的用戶數據自動上傳到云端:比如一些最近的聊天記錄,聊天記錄中一些圖片文件等最好也要存成ID號上傳到業務服務器,圖片另外用圖床存都是可以的。還有一些用戶的使用偏好配置等信息也要保存到云端,本地可以留少許的數據;我有一個朋友前兩天發朋友圈說自己某信所有聊天信息都沒有了(是個美女),不知道是咋回事,結果各種倒騰了一天終于搞好,但是損失的時間成本和溝通成本是無法估量的,由此可見像這種極端異常情況如果處理好了,帶來的價值遠遠是高于做這些優化所付出的成本的。
最后建議一點,PM在日常開發過程中也需要把這些細節作為整個項目的一個需求去認真的落地,因為只有像這樣才能夠打磨出真正的精品。
注意:本文為PMcaff產品經理社區原創,轉載請標明出處
更多推薦
回復“61”——馬化騰內部分享:三個問題說透如何做產品
回復“62”——鳥哥筆記VS知乎劉錘:一個運營牛人的進化論
回復“63”——前蘋果副總裁:20-40-60法則
回復“64”——鵝廠頂級產品課程:產品細節中的情感化設計
回復“65”——如何用互聯網思維賣辣條
回復“66”——馬化騰親身分享:騰訊兵法教你做一款高口碑的產品
回復“67”——去哪兒產品總監:先解構,再設計,把握產品經理的核心競爭力
回復“68”——一份優秀的競品分析報告的撰寫方法
回復“69”——阿里收購驚人內幕,支付寶出大招顛覆式創新-人人都是ATM
回復“70”——你的微信朋友圈讓你焦慮了嗎?
原創或推薦文章請發送至郵箱:xiaoxi@pmcaff.com
PMcaff合作媒體:Chinaz
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的产品研究:安装程序 或 移动端APP 为什么这么占用空间?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 圈子 | 苏宁易购产品经理:平台支撑型产
- 下一篇: 推荐干货 | 我在阿里做运营:八一八运营