??xml version="1.0" encoding="utf-8" standalone="yes"?>
本h与大家一P原来只是一个普通的E序员, 靠给软g公司打工谋生。后来感觉这样长期干下去没有什么前途,虽然现在q轻q可以加班加炚wDn体吃饭,以后q纪大了(jin)怎么办?听说很多己单q每q靠?享Y仉可以赚几十万Q我Z么就不行Q仗着自己技术好Qƈ且当时已l有?jin)成熟Y件的思\Q我p职出来加入共享Y件这一行当?jin)?
通过半年多的日夜苦干QY件终于编出来?jin)。由于我觉得自己的Y件功能比较新颖,~程的技术也很好Q以为只要一发布?yu)׃?x)大家抢着注册购买Q也可以像那些成 名的׃n软g作者一h月坐拿几万元Q结果却是o(h)我想象不到的Q在发布后的W一q_(d)只有1个h注册Q只得到可怜的几十元。我q下才认识到?jin)Y件推q的重要 ??我们作ؓ(f)技术h员,往往是重技术轻营销Q结果是再好的Y件也׃无h知晓而只能孤芌赏。我q时有意在|上搜烦(ch)软g推广斚w的文章,国内的资料少到?外的׃n软g论坛LQ另外还l合自己在实际推q中的经验教训不断改q自q推广技巧,慢慢地在W二qY件推q有?jin)初步vԌ拿到?jin)一千多元。接q在׃n 软g领域摸爬滚打?jin)几q后Q现在终于每月都有近万元入̎。虽然比起那些共享大牛们来说q点p?sh)挂Q但自己认ؓ(f)q算不错?jin)。ؓ(f)?jin)避免程序员(sh)重走像?当初的很多弯路,现在把自ql验教训写出来,l大家在软g推广斚w一点启C?/p>
W一?对Y件本w的要求?/p>
也许大家?x)觉得奇怪,不是讲Y件怎么推广吗?怎么?x)讲赯Y件本w的要求来了(jin)呢?
其实一点也不出奇,高楼万丈在于基础是否E_。没有一个好的Y件品而去I什么推q,不要说很有成功的,即是推q出M(jin)Q客h到手之后也会(x)有受骗上当的感觉Q退货以?qing)退ƾ,再加上对你的软g的负面宣传会(x)搞得你焦头烂额的?/p>
那么怎么才算是一Ƒ֥的Y件呢Q首先你的Y件要新颖独特Q要有别的Y件没有而大家又需要的功能。很多程序员常犯的一个毛病是Q他们喜Ƣ从自己的技术出 发,~自己喜Ƣ编的东西,或者干脆就是卖弄自q~程技术。其实作为用h_(d)他们不懂也根本不?x)关心(j)你的Y件中使用?jin)什么先q的~程技术,他们所兛_(j)?是这个Y件能l自己带来什么有用的东西。有些程序员没有自己的独特的思\QLZ亦云Q一看到|络上什么Y件热门了(jin)Q马上就q行仉K,现在不是QQ行吗,他也跟着~一个聊天YӞ不是FlashGet很热门吗Q他也随着~一个下载Y件。这L(fng)软g能销出去才怪了(jin)呢?/p>
在这里我的经验是Q如果你不知道编什么样的Y件才能好销Q你q在普通电(sh)脑用L(fng)角度来考虑问题。要一切从用户观念出发Q要从用L(fng)要求入手Q只要是?户需要的功能Q那怕Y件只有这一个功能,只要别h的Y件还没有包含Q你在这里就有成功的可能。例如周弈的MP3 CD MakerQ功能ƈ不复杂,但大安要这个功能,而当时的很多行软g如Nero{ƈ不具有,因此他凭q一点就可以月进上万金?/p>
q?有就是,软g本n必须可能完,也就是没有什么明昄Bug。现在有许多人在软gq没有经q什么测试的情况下就急着发布Q结果别Z用到处都是问题,q?L(fng)软gl用L(fng)印象很差Q只?x)给软g造成很大的负面媄(jing)响?我的l验是,软g~好后至要l过两个月的试。不但是自己要彻底测试,而且要交l你w边的亲戚朋友测试,当然能交l普通的用户试更好了(jin)。也怽?x)?别h?x)愿意这样做吗?我的l验是只要答应测试完后免费给他们正式版的注册码,他们是很乐意Z试的?/p>
W二?软g推广的常用方?/p>
首先Q当然是把你的Y件发布到大型的Y件下载网站,如华军Y件园、天IY件站{,至于那些成百个小型的下蝲|站嘛,没有必要一个一个发布了(jin)。当初我?惛_q些Y件下载站发布Q可很多Ҏ(gu)没有发布Y件的面。有的给个Email地址q不错?jin)(不过我用电(sh)子邮g发布软g后也像惔牛入Px(chng)音信Q, 有的q脆只有一个QQL(fng)。其实据我观察,只要你在华军软g园、天IY件站{发布成功,׃(x)有不Y件下载网站也跟着转蝲。这样也好,省去?jin)我的不?间?/p>
其次Q是要专门ؓ(f)你的软g建立一个网站。也怽?x)说Q我不是已经把Y件发布到其他|站?jin)吗Qؓ(f)什么自p要费力去做一个网站。原 因很单,别h的网站是别h的,你自己必M要专门有个网站来推广Q同时这个网站也要负责搜集用L(fng)信息反馈{,另外更重要的是:(x)׃n软g重在服务Q你q?要依靠这个网站来对你的Y件用h供技术支持等服务。值得特别要提醒的是,你的|站要做得很专业Q要使得用户q入你的|站后能产生你们有着强的技术能力的 印象。千万不要认己是做Y件的Q不懂得~网站,随便制作一个对付(sh)(jin)事。我有个朋友Q下载某软g试用后曾l想购买正式版,可一q入作者的陋的|页Q?没有了(jin)购买的欲望。因Z的网站做得差Q容易别h联想C的编E技术以?qing)服务也差。所以说Q差的网站不但不能对你的软g起到推广作用Q还相反可能把你 的潜在客戯跑?/p>
其实既然你都能够~得?gu)YӞ要设计出一个网站也不应该是什么多隄事,关键q是在于你舍不舍得下功夫。如果你实在 没有旉学习(fn)~写|页Q那p炚w请专门的|页设计公司帮你制作一个吧。也怽又会(x)_(d)那我没有钱怎么办。这里,我叫你一个密招(我轻易不?x)教l别?的)(j)Q去大型下蝲|站下蝲排名TOP 10之内的Y件的官方|站中找一个最W合你Y仉格的Q用Frontpage 把整个网늅搬下来,把文字及(qing)囄换成你的Q而保留原来网站的布局?qing)CSS样式Q这样一个专业的软g推广|站p生了(jin)。这一招我在当初也使用q,不过后来 自己学习(fn)?jin)网站设计方面的知识后,׃断加以改q完善,早已l比原来的别人的|站都专业多?jin)?/p>
|站有了(jin)之后Q也不是׃事大吉了(jin)Q网站本w也有个推广的问题。要Ҏ(gu)你的软gQ设计一些关键字Q把q些关键字用在你的网站的标题?sh)?qing)|站内容之中Q得别人在用这些关键字在GOOGLE{搜索引擎上搜烦(ch)Ӟ能很快找C的网站。当?dng)|站的推q不是我们这里要讨论的话题,你在|络上应该能方便地找到这些资料。如果你能把有关你Y件的关键字做到GOOGLE搜烦(ch)l果的第一,那么恭喜你,你离成功不远?jin)?br />再次Q是有关软g的广告宣传问题?/p>
有h?x)说了(jin),那很单,找一个流量大的网站如新浪、网易, 在上面打q告宣传不就得了(jin)。是啊,如果你每月能付得起几万元的广告费q样做当然无可厚非。不q如果你每月有几万元的收入,我看也就用不着靠共享Y件吃??jin)。其实打q告是很有学问的Q不是单单看|站的流量大,而是要针对你的Y件的潜在用户的情冉|定。关键是你要仔细分析来该|站的浏览者是什么样的hQ如 果与你Y件的潜在用户相同,?qing)时|站的流量不是特别大Q你也可以在上面打广告。这样你q׃多,但正中你的目标用Pq告的效果是很好的?br />
我有个行业应用YӞ一开始在一般的软g下蝲站打q告Q但发现效果q不好,因ؓ(f)q些用户只是来寻找一些常用系l工兯Y件的Q对我的软gq不感兴。后?我发现有个Y件商务网http://www.bizsofts.com 的浏览者与我Y件的用户相dQ就在这个网站上打广告了(jin)。广告是文字cd的,在网站的“热销软g”栏目中Q由于该栏目出现在Y件信息的所有的面中,所 以浏览量也不。最主要的是q告费不贵,每月?00元,q告发布后效果很不错。现在也有h在做GOOGLE ADWORDS文字q告Q不q我q没有试q?/p>
W三?软g如何推向外
你的软g已经在国内推q了(jin)Q还要不要走?外Q回{是肯定的。由于国内存在对盗版解密{活动打M力的问题Q你辛辛苦苦工作出来的劳动成果,l别人破解后可能全部付诸东流。所以在国内防止软g?破解是一个重大的NQ对付破解的问题我留C一点再仔细讌Ӏ而在国外Q由于对于盗版以?qing)破解打ȝ力度较大Q另外用L(fng)正版意识普遍比国内要高,所以付 钱注册购买的Z相对较多。所以你的Y件在国外推广是很有必要的。就拿我来说Q现在Y件收入的大部分就是来自v外用戗?/p>
在v外推qY 件的W一步也与国内相cMQ也要把软g提交到大型的软g下蝲|站。国外的大型下蝲|站主要有两个:(x)一个是www.download.com Q另一个是 www.tucows.com 。与国内软g站不同的是,在download.com 上发布Y件是要收费的Q每提交一ơ要?9金QUPDATE一ơ也要收79金。如果你真想把Y件推向v外的话,q笔钱是不能省的。因?download.com 实在是太热了(jin)Q名W其实是全球W一的Y件下载站Q如果不在这里发布,你会(x)损失一大半的Y件用戗另一个Y件下载网?tucows.com 虽然L(fng)能免费发布,其实你如果真q样做的话,你会(x)大失所望的。我有个软gQ一月䆾向 tucows.com 提交?jin),可是到六月䆾q没有发布,q入作者管理界面一查,是在 8340个待审查的Y件中排第 1367 位,可能一两年后才有可能发布。后来干脆花?59元“插队费”,l果没过两天发布了(jin)?/p>
另外Q在国外一般都是找一家代理公司帮你收钱,每月定期寄支给你。代理行业在国外已经 是一个很成熟的行业了(jin)Q不用担?j)代理?x)不给׃。比较大一点的代理有:(x)www.RegNow.com 设施最完备的代理,需要开戯?a >www.Qwerks.com 免费开P据说信誉极好。还?a >www.Shareit.com 也是一家不错的软g代理公司?q有www.RegSoft.com 不过据说反映一般?/p>
除了(jin)把Y件发布到q些下蝲或代理网站之外,你自׃要相应有一个英文网站。如果你的英文不是特别好的话Q奉劝你找一个英语特别棒的朋友或q脆花钱请专业的p专家译一遍再发布你的|站Q否则你的网站不但v不到推广作用Q还?sh)(x)给国外用户留下很差的印象?/p>
要想软g推向外Q除?jin)以上介l的Ҏ(gu)之外Q重视国外用L(fng)反馈信息以及(qing)搞好服务也是特别重要的。我有个软g发布?download.com 后,大约q了(jin)一个月看到上面有一个评论,把我的Y件评价ؓ(f)最差,q且加了(jin)一大堆评语Q说他虽然是个捷克hQ英语ƈ不是他的母语Q却也发C(jin)我Y件中的英?是terrible English Q充满了(jin)错拼的单词,不存在的单词{;另外软g打开以后Q界面没有操作提C,Ҏ(gu)不知怎么使用Q功能也不完善;?024 x 768的分辨率下无法满屏显C等。M把我的Y件贬得一无是处,用他的话来说是:(x) Terrible, just terrible?/p>
一开始,我也觉得很灰?j)气,但后来我仔细一惻I何不此Ҏ(gu)BugQƈ升软g呢。由于在download.com中找不到评h(hun)者的联系方式Q我在 软g的注册者信息中扑ֈ他的Email地址Q把我改正过后的软g?sh)邮l他Qƈ诚恳地请他l指正我的错误。果然不久他回复了(jin)我的EMAILQ在邮g中他 一条一条地指出?jin)我的其他错误。我借此Z(x)q一步更正错误ƈ把Y件升U到?.0 Q我的软g上了(jin)一个大台阶。MQ重视用户对你Y件的评h(hun)?qing)批评,U极面对用户的意见,q样即是坏事也能变成好事?/p>
另外在国外, 是会(x)遇到别h购买你的软g后觉得不满意而要求退Ƅ。PayPal以及(qing)其他的付?gu)ƾ方式都有几十天内不满意可以要求退Ƅ条文。对于要求退Ƅ用户Q他如果 坚持要退是一定可以退的。所以一般都是根据用戯求直接就退l他Qƈ告诉他Keep my software as a giftQ反正他已拿到注册码?jin),你做什么都没用Q不如来个顺水h情。即使他退完款后又来信要求你提供技术服务,你也要尽可能帮助他。能做到q点你的服务 才能真正到家了(jin)?/p>
W四?如何应对软g的破?/p>
在国内推qYӞ你要面对的最大问题莫q于软g被破解了(jin)。很多Y件作者反映说Q原来Y件在被破解前交费注册的hq(sh),但被破解后收入就直线下降Q连成本都收不回来。?zhn)惻I有了(jin)免费的东西h们还?sh)那个钱q什么?
在这里,我借鉴?jin)一个Y件作者的防破解经验:(x)发行1.0版时2.0版已l写的差不多的。发?.0版时要把1.0版的防破解或者注册算法写的简单些{着 别hȝ解。一但出?.0的破解,{待几周Q这几周的时间以ɾ|上1.0的破解版遍天下。然后,分析破解q程更改2.0版算法(层层加密Q复杂再?杂)(j)Q虽无法栚w破解但可以浪费破解者的旉和耐力Q一般情况下Q在|上一搜你的Y件已l有破解版了(jin)Q?.0的)(j)新的破解者很会(x)再去破解Q何?.0?本更复杂些。我的一个Y件用?jin)此法,推出一月后被破解组l破解,公开破解q程?qing)注册算法,q做成破解教E。其实破解从某种意义上说是帮我宣传了(jin)软g。我?一个月后推出早已经写好的新版本Q还注册成了(jin)“特别版”以qh惌破解版的人。用上q方法后臛_在我更新?jin)几ơY件后的今天仍没出现破解。但在网上搜?解版、特别版、注册版到处都是Q可没一个是真的。其实一些破解高手只是想试探自己的能力,破解一个Y件后Q一般会(x)把目标定在下一个Y件上。不q如果你的Y 件成Zh手必备的工具Q此法怕是不灵?jin)?/p>
另外Q从技术上讲也有一些防破解的方法。假设你的注册部分有300行,你可以分?0?inline函数调用Q一定要inlineQ,func1(),func2()... func30(). 他们随意放到程序的各个部分Q一定不能放在一赗不要用Memcpy{常用系l调用拷贝注册码Q尽可能自己?像Memcpy很好写,性能差点无所谓?l过~译后inline函数展开Q注册部分和其他代码混在一P他要写出注册机就很困难,因ؓ(f)要向在几十万甚至上百万汇~代码里扑և有用的注册部分那?像是在大v里捞针。另外注册码也不要放在一P假设你的注册码是12位,千万不要用一?2位的数组放注册码Q你可以在程序的不同位置定义12个全局?W变量,每个放一位,q样注册码在内存׃q箋(hu)?jin)。最好再加密处理一下(单的字符异或可以)(j)Q验证时再解密。只要破解者找不到你验证结束的地方Q暴?和Loader破解也没有可能。很重要的一Ҏ(gu)不要用连l内存(sh)存验证用到的变量Q尽量将用到的验证(f)时变量分散定义在E序的不同处Q再在验证中Q不断{ UM些值到其他变量中,对付暴力和Loader?x)比较有效。没有必要用复杂的加密算法,更容易成t的目标。只要你注册部分隐藏的_好,也没有漏 z,你花1天写的加密算法,破解者可能会(x)?00Q?000倍的旉破解。大部分人都?x)放弃。你注册做在一P像你的胦(ch)宝放在现代保险箱里,虽然?常坚固难以解密,对于开锁高手两分钟打开?jin)。对于一些比较专业的破解者采用上面的Ҏ(gu)也是很有效的但是Q还是要避免一些低U失误例如:(x)不要在内存(sh)直接 出现注册码和明显的注册码比较部分不要l用户太多的有关注册验证的信息,也不要接收到注册码后立刻p行比较。在软g的不同功能处实现验证时的好处q有?是不?x)立L行到验证代码注册码,可以分多ơ验证,也可以分成几部分验证Q还可以分成几层验证验证Ӟ可以量多执行一些无用的操作Q加上一些象递归之类 难于调试q踪的代码,但在其中要穿插实现Y件功能的代码Q否则h家直接就跳了(jin)q去。反正就是越不引人注意越好,亦即ؕ好?/p>
其实要想d防止破解也是不现实的Q除?jin)研I一下破解方法,在发布前加壳外,q用以上所说的Ҏ(gu)外,不断升E序也是比较好的Ҏ(gu)?/p>
MQ推qY件对于搞惯了(jin)技术的软g作者来说一开始会(x)C些弯路,但只要不断学?fn)成功者的l验Q不断吸取自己失败的教训Q你也会(x)成功的。最后,大家个个都成ؓ(f)׃n高手? (tng)