IT英雄:一個程序員如何月進萬金的?【轉(zhuǎn)】
本人與大家一樣,原來只是一個普通的程序員,靠給軟件公司打工謀生。后來感覺這樣長期干下去沒有什么前途,雖然現(xiàn)在年輕還可以加班加點靠拼身體吃飯,以后年紀大了怎么辦?聽說很多人自己單干每年靠共享軟件都可以賺幾十萬,我為什么就不行?仗著自己技術好,并且當時已經(jīng)有了成熟軟件的思路,我就辭職出來加入共享軟件這一行當了。 通過半年多的日夜苦干,軟件終于編出來了。由于我覺得自己的軟件功能比較新穎,編程的技術也很好,以為只要一發(fā)布就會大家搶著注冊購買,也可以像那些成名的共享軟件作者一樣每月坐拿幾萬元,結(jié)果卻是令我想象不到的,在發(fā)布后的第一年,只有1個人注冊,只得到可憐的幾十元。我這下才認識到了軟件推廣的重要性 — 我們作為技術人員,往往是重技術輕營銷,結(jié)果是再好的軟件也由于無人知曉而只能孤芳自賞。我這時就有意在網(wǎng)上搜索軟件推廣方面的文章,國內(nèi)的資料少就到國外的共享軟件論壇去查,另外還結(jié)合自己在實際推廣中的經(jīng)驗教訓不斷改進自己的推廣技巧,慢慢地在第二年軟件推廣有了初步起色,拿到了一千多元。接連在共享軟件領域摸爬滾打了幾年后,現(xiàn)在終于每月都有近萬元入賬。雖然比起那些共享大牛們來說這點錢還不足掛齒,但自己認為還算不錯了。為了避免程序員們重走像我當初的很多彎路,現(xiàn)在把自己的經(jīng)驗教訓寫出來,給大家在軟件推廣方面一點啟示。 第一、 對軟件本身的要求。 也許大家會覺得奇怪,不是講軟件怎么推廣嗎?怎么會講起軟件本身的要求來了呢? 其實一點也不出奇,高樓萬丈在于基礎是否穩(wěn)固。沒有一個好的軟件產(chǎn)品而去空談什么推廣,不要說很少有成功的,即使是推廣出去了,客戶拿到手之后也會有受騙上當?shù)母杏X,退貨以及退款,再加上對你的軟件的負面宣傳會搞得你焦頭爛額的。 那么怎么才算是一款好的軟件呢?首先你的軟件要新穎獨特,要有別的軟件沒有而大家又需要的功能。很多程序員常犯的一個毛病是,他們喜歡從自己的技術出發(fā),編自己喜歡編的東西,或者干脆就是賣弄自己的編程技術。其實作為用戶來說,他們不懂也根本不會關心你的軟件中使用了什么先進的編程技術,他們所關心的是這個軟件能給自己帶來什么有用的東西。有些程序員沒有自己的獨特的思路,總是人云亦云,一看到網(wǎng)絡上什么軟件熱門了,馬上就進行仿造,現(xiàn)在不是QQ流行嗎,他也跟著編一個聊天軟件;不是FlashGet很熱門嗎,他也隨著編一個下載軟件。這樣的軟件能銷出去才怪了呢。 在這里我的經(jīng)驗是,如果你不知道編什么樣的軟件才能好銷,你就站在普通電腦用戶的角度來考慮問題。要一切從用戶觀念出發(fā),要從用戶的要求入手,只要是用戶需要的功能,那怕軟件只有這一個功能,只要別人的軟件還沒有包含,你在這里就有成功的可能。例如周弈的MP3 CD Maker,功能并不復雜,但大家需要這個功能,而當時的很多流行軟件如Nero等并不具有,因此他憑這一點就可以月進上萬美金。 還有就是,軟件本身必須盡可能完美,也就是沒有什么明顯的Bug?,F(xiàn)在有許多人在軟件還沒有經(jīng)過什么測試的情況下就急著發(fā)布,結(jié)果別人一用到處都是問題,這樣的軟件給用戶的印象很差,只會給軟件造成很大的負面影響。 我的經(jīng)驗是,軟件編好后至少要經(jīng)過兩個月的測試。不但是自己要徹底測試,而且要交給你身邊的親戚朋友測試,當然能交給普通的用戶測試就更好了。也許你會說別人會愿意這樣做嗎?我的經(jīng)驗是只要答應測試完后免費給他們正式版的注冊碼,他們是很樂意為你測試的。 第二、 軟件推廣的常用方法 首先,當然是把你的軟件發(fā)布到大型的軟件下載網(wǎng)站,如華軍軟件園、天空軟件站等,至于那些成百個小型的下載網(wǎng)站嘛,就沒有必要一個一個發(fā)布了。當初我也想在這些小軟件下載站發(fā)布,可很多根本就沒有發(fā)布軟件的頁面。有的給個Email地址就算不錯了(不過我用電子郵件發(fā)布軟件后也像泥牛入海,杳無音信),有的干脆只有一個QQ號碼。其實據(jù)我觀察,只要你在華軍軟件園、天空軟件站等發(fā)布成功,就會有不少軟件下載網(wǎng)站也跟著轉(zhuǎn)載。這樣也好,省去了我的不少時間。 其次,是要專門為你的軟件建立一個網(wǎng)站。也許你會說,我不是已經(jīng)把軟件發(fā)布到其他網(wǎng)站了嗎?為什么自己還要費力去做一個網(wǎng)站。原因很簡單,別人的網(wǎng)站是別人的,你自己必須也要專門有個網(wǎng)站來推廣,同時這個網(wǎng)站也要負責搜集用戶的信息反饋等,另外更重要的是:共享軟件重在服務,你還要依靠這個網(wǎng)站來對你的軟件用戶提供技術支持等服務。值得特別要提醒的是,你的網(wǎng)站要做得很專業(yè),要使得用戶進入你的網(wǎng)站后能產(chǎn)生你們有著強的技術能力的印象。千萬不要認為自己是做軟件的,不懂得編網(wǎng)站,就隨便制作一個對付了事。我有個朋友,下載某軟件試用后曾經(jīng)想購買正式版,可一進入作者的簡陋的網(wǎng)頁,就沒有了購買的欲望。因為你的網(wǎng)站做得差,容易使別人聯(lián)想到你的編程技術以及服務也差。所以說,差的網(wǎng)站不但不能對你的軟件起到推廣作用,還相反可能把你的潛在客戶趕跑。 其實既然你都能夠編得出軟件,要設計出一個網(wǎng)站也不應該是什么多難的事,關鍵還是在于你舍不舍得下功夫。如果你實在沒有時間學習編寫網(wǎng)頁,那就花點錢請專門的網(wǎng)頁設計公司幫你制作一個吧。也許你又會說,那我沒有錢怎么辦。這里,我叫你一個密招(我輕易不會教給別人的),去大型下載網(wǎng)站下載排名TOP 10之內(nèi)的軟件的官方網(wǎng)站中找一個最符合你軟件風格的,用Frontpage 把整個網(wǎng)頁照搬下來,把文字及圖片換成你的,而保留原來網(wǎng)站的布局及CSS樣式,這樣一個專業(yè)的軟件推廣網(wǎng)站就誕生了。這一招我在當初也使用過,不過后來自己學習了網(wǎng)站設計方面的知識后,就不斷加以改進完善,早已經(jīng)比原來的別人的網(wǎng)站都專業(yè)多了。 再次,是有關軟件的廣告宣傳問題。有人會說了,那很簡單,找一個流量大的網(wǎng)站如新浪、網(wǎng)易,在上面打廣告宣傳不就得了。是啊,如果你每月能付得起幾萬元的廣告費這樣做當然無可厚非。不過如果你每月有幾萬元的收入,我看也就用不著靠共享軟件吃飯了。其實打廣告是很有學問的,不是單單看網(wǎng)站的流量大小,而是要針對你的軟件的潛在用戶的情況來定。關鍵是你要仔細分析來該網(wǎng)站的瀏覽者是什么樣的人,如果與你軟件的潛在用戶群相同,及時網(wǎng)站的流量不是特別大,你也可以在上面打廣告。這樣你花的錢不多,但正中你的目標用戶,廣告的效果是很好的。我有個行業(yè)應用軟件,一開始在一般的軟件下載站打廣告,但發(fā)現(xiàn)效果并不好,因為這些用戶只是來尋找一些常用系統(tǒng)工具軟件的,對我的軟件并不感興趣。后來我發(fā)現(xiàn)有個軟件商務網(wǎng)http://www.bizsofts.com 的瀏覽者與我軟件的用戶群相吻合,就在這個網(wǎng)站上打廣告了。廣告是文字類型的,在網(wǎng)站的“熱銷軟件”欄目中,由于該欄目出現(xiàn)在軟件信息的所有的頁面中,所以瀏覽量也不少。最主要的是廣告費不貴,每月才100元,廣告發(fā)布后效果很不錯。現(xiàn)在也有人在做GOOGLE ADWORDS文字廣告,不過我還沒有試過。 第三、 軟件如何推向海外 你的軟件已經(jīng)在國內(nèi)推廣了,還要不要走向海外?回答是肯定的。由于國內(nèi)存在對盜版解密等活動打擊不力的問題,你辛辛苦苦工作出來的勞動成果,給別人破解后可能全部付諸東流。所以在國內(nèi)防止軟件被破解是一個重大的課題,對付破解的問題我留到下一點再仔細講。而在國外,由于對于盜版以及破解打擊的力度較大,另外用戶的正版意識普遍比國內(nèi)要高,所以付錢注冊購買的人也相對較多。所以你的軟件在國外推廣是很有必要的。就拿我來說,現(xiàn)在軟件收入的大部分就是來自海外用戶。 在海外推廣軟件的第一步也與國內(nèi)相類似,也要把軟件提交到大型的軟件下載網(wǎng)站。國外的大型下載網(wǎng)站主要有兩個:一個是www.download.com ,另一個是 www.tucows.com 。與國內(nèi)軟件站不同的是,在download.com 上發(fā)布軟件是要收費的,每提交一次要收79美金,UPDATE一次也要收79美金。如果你真想把軟件推向海外的話,這筆錢是不能省的。因為 download.com 實在是太熱了,名符其實是全球第一的軟件下載站,如果不在這里發(fā)布,你會損失一大半的軟件用戶。另一個軟件下載網(wǎng)站 tucows.com 雖然號稱能免費發(fā)布,其實你如果真這樣做的話,你會大失所望的。我有個軟件,一月份就向 tucows.com 提交了,可是到六月份還沒有發(fā)布,進入作者管理界面一查,是在 8340個待審查的軟件中排第 1367 位,可能一兩年后才有可能發(fā)布。后來干脆花了 59美元“插隊費”,結(jié)果沒過兩天就發(fā)布了。 另外,在國外一般都是找一家代理公司幫你收錢,每月定期寄支票給你。代理行業(yè)在國外已經(jīng)是一個很成熟的行業(yè)了,不用擔心代理會不給錢你。比較大一點的代理有:www.RegNow.com 設施最完備的代理,需要開戶費。www.Qwerks.com 免費開戶,據(jù)說信譽極好。還有www.Shareit.com 也是一家不錯的軟件代理公司。 還有www.RegSoft.com 不過據(jù)說反映一般。 除了把軟件發(fā)布到這些下載或代理網(wǎng)站之外,你自己也要相應有一個英文網(wǎng)站。如果你的英文不是特別好的話,奉勸你找一個英語特別棒的朋友或干脆花錢請專業(yè)的英語專家翻譯一遍再發(fā)布你的網(wǎng)站,否則你的網(wǎng)站不但起不到推廣作用,還會給國外用戶留下很差的印象。 要想軟件推向海外,除了以上介紹的方法之外,重視國外用戶的反饋信息以及搞好服務也是特別重要的。我有個軟件發(fā)布在 download.com 后,大約過了一個月看到上面有一個評論,把我的軟件評價為最差,并且加了一大堆評語:說他雖然是個捷克人,英語并不是他的母語,卻也發(fā)現(xiàn)了我軟件中的英語是terrible English ,充滿了錯拼的單詞,不存在的單詞等;另外軟件打開以后,界面沒有操作提示,根本不知怎么使用,功能也不完善;在1024 x 768的分辨率下無法滿屏顯示等??傊盐业能浖H得一無是處,用他的話來說是: Terrible, just terrible 。一開始,我也覺得很灰心喪氣,但后來我仔細一想,何不趁此改正Bug,并升級軟件呢。由于在download.com中找不到評價者的聯(lián)系方式,我就在軟件的注冊者信息中找到他的Email地址,把我改正過后的軟件電郵給他,并誠懇地請他繼續(xù)指正我的錯誤。果然不久他就回復了我的EMAIL,在郵件中他一條一條地指出了我的其他錯誤。我借此機會進一步更正錯誤并把軟件升級到了2.0 ,使我的軟件上了一個大臺階??傊?,重視用戶對你軟件的評價及批評,積極面對用戶的意見,這樣即使是壞事也能變成好事。 另外在國外,是會遇到別人購買你的軟件后覺得不滿意而要求退款的。PayPal以及其他的付款方式都有幾十天內(nèi)不滿意可以要求退款的條文。對于要求退款的用戶,他如果堅持要退是一定可以退的。所以一般都是根據(jù)用戶要求直接就退給他,并告訴他Keep my software as a gift,反正他已拿到注冊碼了,你做什么都沒用,不如來個順水人情。即使他退完款后又來信要求你提供技術服務,你也要盡可能幫助他。能做到這點你的服務才能算真正到家了。 第四、 如何應對軟件的破解 在國內(nèi)推廣軟件,你要面對的最大問題莫過于軟件被破解了。很多軟件作者反映說,原來軟件在被破解前交費注冊的人還不少,但被破解后收入就直線下降,連成本都收不回來。您想,有了免費的東西人們還交那個錢干什么? 在這里,我借鑒了一個軟件作者的防破解經(jīng)驗:發(fā)行1.0版時2.0版已經(jīng)寫的差不多的。發(fā)行1.0版時要把1.0版的防破解或者注冊算法寫的簡單些等著別人去破解。一但出現(xiàn)1.0的破解,等待幾周,這幾周的時間足以使網(wǎng)上1.0的破解版遍天下。然后,分析破解過程更改2.0版算法(層層加密,復雜再復雜),雖無法根除破解但可以浪費破解者的時間和耐力!一般情況下,在網(wǎng)上一搜你的軟件已經(jīng)有破解版了(1.0的)新的破解者很少會再去破解,何況2.0版本更復雜些。我的一個軟件用了此法,推出一月后被破解組織破解,公開破解過程及注冊算法,并做成破解教程。其實破解從某種意義上說是幫我宣傳了軟件。我在一個月后推出早已經(jīng)寫好的新版本,還注冊成了“特別版”以迷惑想要破解版的人。使用上述方法后至少在我更新了幾次軟件后的今天仍沒出現(xiàn)破解。但在網(wǎng)上搜破解版、特別版、注冊版到處都是,可沒一個是真的。其實一些破解高手只是想試探自己的能力,破解一個軟件后,一般會把目標定在下一個軟件上。不過如果你的軟件成為人手必備的工具,此法怕是不靈了。 另外,從技術上講也有一些防破解的方法。假設你的注冊部分有300行,你可以分成30個inline函數(shù)調(diào)用(一定要inline),func1(),func2()... func30(). 將他們隨意放到程序的各個部分,一定不能放在一起。不要用Memcpy等常用系統(tǒng)調(diào)用拷貝注冊碼,盡可能自己寫,像Memcpy很好寫,性能差點無所謂。經(jīng)過編譯后inline函數(shù)展開,注冊部分和其他代碼混在一起,他要寫出注冊機就很困難,因為要向在幾十萬甚至上百萬匯編代碼里找出有用的注冊部分那簡直就像是在大海里撈針。另外注冊碼也不要放在一起,假設你的注冊碼是12位,千萬不要用一個12位的數(shù)組放注冊碼,你可以在程序的不同位置定義12個全局字符變量,每個放一位,這樣注冊碼在內(nèi)存就不連續(xù)了。最好再加密處理一下(簡單的字符異或就可以),驗證時再解密。只要破解者找不到你驗證結(jié)束的地方,暴力和Loader破解也沒有可能。很重要的一點是不要用連續(xù)內(nèi)存保存驗證用到的變量,盡量將用到的驗證臨時變量分散定義在程序的不同處,再在驗證中,不斷轉(zhuǎn)移一些值到其他變量中,對付暴力和Loader會比較有效。沒有必要用復雜的加密算法,更容易成為追蹤的目標。只要你將注冊部分隱藏的足夠好,也沒有漏洞,你花1天寫的加密算法,破解者可能會花100-1000倍的時間破解。大部分人都會放棄。你將注冊做在一起,就像將你的財寶放在現(xiàn)代保險箱里,雖然非常堅固難以解密,對于開鎖高手兩分鐘就打開了。對于一些比較專業(yè)的破解者采用上面的方法也是很有效的但是,還是要避免一些低級失誤例如:不要在內(nèi)存中直接出現(xiàn)注冊碼和明顯的注冊碼比較部分不要給用戶太多的有關注冊驗證的信息,也不要接收到注冊碼后立刻就進行比較。在軟件的不同功能處實現(xiàn)驗證時的好處還有就是不會立刻執(zhí)行到驗證代碼注冊碼,可以分多次驗證,也可以分成幾部分驗證,還可以分成幾層驗證驗證時,可以盡量多執(zhí)行一些無用的操作,加上一些象遞歸之類難于調(diào)試追蹤的代碼,但在其中要穿插實現(xiàn)軟件功能的代碼,否則人家直接就跳了過去。反正就是越不引人注意越好,亦即越亂越好。 其實要想徹底防止破解也是不現(xiàn)實的,除了研究一下破解方法,在發(fā)布前加殼外,并采用以上所說的方法外,不斷升級程序也是比較好的方法。 該文章在 2011/2/11 11:30:38 編輯過 |
關鍵字查詢
相關文章
正在查詢... |