移動開發的那些事(上)


移動開發的那些事(上)

作者:Lucida

原文鏈接:http://lucida.me/blog/on-mobile-developing-1/

關於

“移動開發的那些事”是一系列文章,我在開發移動應用時經歷的見聞軼事,每篇文章由3個移動開發相關的小故事組成,上中下一共三篇,所以一共是9個故事。

這系列文章不是技術文章——但我打賭你會從中看到一個很不一樣的移動開發——或者說是一個具有中國特色的移動開發——並且能學到不少東西——不信的話就繼續閱讀。 😄

  1. 入坑
  2. 刷榜
  3. 人造用戶

入坑

我在讀研時很幸運:不同於其他研究生導師,我的導師張莉老師給了我充足的時間讓我做各種自己感興趣的事情。因此我既閱讀了大量計算機書籍(程序員必讀書單這篇文章中的大部分書籍都是我在讀研時閱讀的),也閱讀了不少經典計算機論文。

當然還做了很多移動應用,這才是這篇文章的重點。

其實本來我的讀研生活應該是就這樣讀書讀論文然后找工作(當時我真的連找實習的念頭都沒有),直到我參加了一次豆瓣讀者書友會。

在研一下學期的一次Jeffrey Richter讀者書友會中,我誤打誤撞(原定的翻譯因病缺場,因此我就自告奮勇上台了)的為Jeffrey Richter進行了現場口譯,由於我翻譯的還不錯,所以引起了書友會的另一位嘉賓方敏(當時是微軟的Principle Testing Manager)的注意,在他的鼓勵下,我得到了微軟的實習機會。

微軟的實習環境很寬松,於是我一邊做實習任務,一邊在微軟閱讀各種計算機書籍和經典論文論文,並順便翻譯了一本JavaScript小書(JavaScript修煉之道)。

之后,由於研究生開題和實習時間沖突,我離開了微軟。然而花了兩周時間准備好開題之后我又閑了下來,但由於已經有了實習經歷使得我根本閑不下來——巧合之下,受朋友的邀請,我加入了一個小創業公司OctInn制作iOS應用,盡管在這家公司我只待了不到一個月,但創業公司的文化讓我大開眼界——從零開始制作產品,進行市場推(Shuā)廣(Bǎng),根據用戶反饋快速迭代,從而打造用戶需(Tāo)要(Qían)的產品。

從而正式跳入了移動應用開發這個大坑。

刷榜

刷榜算是移動開發界公開的秘密——因為做一款應用容易,但如果想把應用推到排行榜前列(尤其是Apple的AppStore)就沒那么容易了。每個應用市場都有自己的排行榜算法,但無外乎是下載量+評論量+打分,其中評論和打分的權重相當高(所以你會看到很多應用都在無時無刻的乞求你打個好評)。

下載量很難在短期積累起來(沒有那么多的itunes賬號),但評論和打分就要容易很多(2011年時1000個好評就足以把一款新應用推到AppStore排行榜前十名)。這也就催生了各式各樣的刷榜服務——印象里當時淘寶搜刷榜可以搜到上百個結果,一條評論的價格從兩毛到一塊,千條以上的評論可以再打個八折,此外還有包周包月服務(例如保證你的應用在這周內一直是前10名),一應俱全,無比貼心。

辛勤的刷榜工

所以故事是這樣的:我朋友的一個朋友在做iPhone應用,為了推廣應用,他在刷榜上就花了上萬元,但效果還是不理想。

苦逼了數日后,他突然開了竅——既然刷榜這么貴,我幫別人刷榜豈不更賺!?於是他注冊了幾個郵件服務器,搞了幾十台舊電腦,寫腳本注冊了一萬多個itunes賬號,然后架網站開網店提供刷榜服務。

結果第一周他就把之前做應用(包括刷榜)的成本收了回來。

兩個月后換了一輛嶄新的寶馬7系。

土豪撒錢

我無法證實這個故事的真實性,但我傾向於相信它:一方面因為當時的刷榜確實是鋪天蓋地,另一方面因為我自己也做與過類似刷榜的活,這就是下一個故事。

人造用戶

嚴格來說我做的並不算是刷榜,而是一個嚴肅的算法問題 -_-#

  • 刷榜的第一步是需要制造大量的用戶;
  • 注冊用戶的第一步是提供用戶名;
  • 所以說刷榜的第一步是制造出大量的用戶名;
  • 而這正是我要解決的問題。

估計你的第一反應是,生成一個用戶名還不簡單,一個前綴加一串隨機數不就行了嘛!沒錯,事實上不少國內互聯網公司在早期“積攢”用戶量時就會用這種方式,生成一堆諸如“手機用戶1879102471829”或“老鼠愛大米52178903729”之類的詭異用戶。

但並非所有公司都這么沒追求——比如一些有追求有信仰的公司認為“手機用戶1879102471829”這樣的用戶名太low逼——尼瑪這也假的太明顯了吧!

於是我就接到了一個這樣的神奇私活,要求生成五百萬個中文用戶名,五百萬個英文用戶名,用戶名不重復,且不能假的太明顯。

賤表情

英文用戶名很容易生成,因為英文就26個字母,元音就是AEIOU輔音就是剩下的BCDFHGHJKLMNPQRSTVWXYZ,再加上一些諸如ui,ae,en,ia之類的組合元音和Kn,Ch,Rh,Cz之類的組合輔音,我很快就有手工打好了一個元音表和一個輔音表,接下來把元音和輔音交替相連,就可以生成諸如“Rhonada”,“Knaemia”,和“Yoshida”之類的“逼真”英文名。

舉個例子

  1. 隨機選一個輔音——得到“Z”;
  2. 隨機選一個元音——得到“oe”;
  3. 隨機選一個輔音——得到“d”;
  4. 隨機選一個元音——得到“ah”;
  5. 程序終止——返回“Zoedah”。

中文用戶名的生成就沒有那么容易了——因為漢字實在太多,但好在網上有各式各樣的姓名庫,於是我扒了幾個姓名庫合並了下然后枚舉組合很快就湊齊了五百萬個中文用戶名。

這下任務就完成了!我發了部分用戶名給客戶,客戶表示很滿意英文用戶名,但他同時表示中文用戶名真的有點太假——因為很多中國人起名時並不會使用自己的真名,而是起一些流行語/數字/明星之類的名字(比如“卷福愛花生”或是“李敏鎬521”之類的用戶名)。

打臉

仔細想想,客戶說的話很在理——於是我又重新調整了程序——這次的生成代碼要復雜很多,它會首先選擇一個分類(動物/動漫人物/明星/地名/動詞)下的一個詞,根據選中的分類,它會再從隨機從下一個相關分類中選一個詞,然后一定概率停止,一定概率繼續選擇。

再舉個例子

  1. 隨機選一個分類——得到地名;
  2. 在地名分類下隨機選一個詞——得到“加州”;
  3. 隨機選一個和地名相關的分類——得到菜名;
  4. 在菜名分類下隨機選一個詞——得到“紅燒肉”;
  5. 程序終止——得到“加州紅燒肉”。

賤表情

客戶這次終於滿意了,在付清了余款后,我就把剩余的“千萬用戶”發給他,他表示很滿意很Happy。

然后沒過多久我就在網易新聞看到某國內知名互聯網企業宣稱自己用戶量突破千萬。

賤表情

好吧也許是巧合。

你知道的事太多了

未完待續


作者:Lucida

原文鏈接:http://lucida.me/blog/on-mobile-developing-1/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM