本屆大會以“你就是主角”為主題,為移動開發者打造一場真正的年度盛會。為讓更多的移動應用團隊有自己專屬、固定的展示交流區域,大會主辦方特別提供了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。