我为自己的婚礼开发了一个软件,没想到赚了数千万!

01

无心插柳

安迪结婚的时候,七大姑八大姨,领导同事朋友来了60个人。

在婚宴上,需要把这60个人座位安排好,让大家都舒舒服服的。

安迪觉得这是一个简单的“优化”问题,就自告奋勇去搞定它。出乎意料的是,安排座位这件事非常难,安迪下载了几个软件,都不好使。

既然现有软件不行,那就自己做一个吧!

安迪之前用FORTRAN、C 和 C++ 开发过运筹学、卫星图像处理、印刷电路板设计、环境建模和分布式系统,有相当多的开发经验,他写了一个很简陋的软件,成功地解决了座位安排的问题。

婚礼以后,安迪就想:“能不能把座位安排软件给商业化了?”

但是这样的软件有市场吗?有人会用吗?能靠它谋生吗?

当时安迪在一家创业公司工作,公司前景黯淡,与其坐以待毙,不如自己勇敢试一试。

2005年,基于Web的软件还处于起步阶段,他用C++和跨平台的框架QT编写了一个桌面软件:PerfectTablePlan。

87d75f8be1f0995195e1ef5636ec3ab0.png

没想到,软件在推出24小时之内,就获得了一个订单,这让安迪信心大增:看来给活动安排座位是个有需求的市场

他成立了公司,独自包揽了开发、销售、推广、客服等工作,而会计的活儿就让老婆来做。

在安迪的不断打磨下,PerfectTablePlan越来越完善。

除了婚礼之外,PerfectTablePlan还可以用于各种庆典、聚会、活动,只要是需要安排座位的场合,它都能胜任。

用户可以用图形的方式布置圆形、方形、长条形桌子,还还支持输入参会者的详细信息:

A必须坐在B的旁边

C想和D坐在一起

E和F不想和G坐在一起

X是素食主义者,Y对坚果过敏

是否确认来参加会议

诸如此类的信息,一句话:它考虑了组织一次大型活动时所有可能出现的情况。

ae1c6fa73a76b93708b4b3300d4f269c.png

6d1bc1b93e552e6e487dae297f0da94a.png

7abade16fe97e6064eccc1903cce7582.png

2969e0e1bc13d37788a4ceda9867e0c9.png

它还可以按照桌子,团体来打印座位表:

6322969f6870377de2a4100801f09ab6.png

53ae363058958eaafcd1074866ce00a2.png

还能定制、打印各种各样的座位卡:

46afaa940b5a23def18b53f00222aa23.png

甚至可以在场地的大屏上滚动显示座位安排:

998dc2add19303b79c59bcd9f15924da.gif

PerfectTablePlan的客户越来越多,在那个年代,网络还不普及,很多客户要求邮寄CD。

b66cebf21e01219e9861abfeb4aa4a44.png

安迪不得不请他的父亲来帮忙,邮寄了大约5000张CD,直到2016年才停止了邮寄业务。

PerfectTablePlan影响力有多大呢?

到2015年,10年内卖了4万多份,收入达到数百万英镑!

一些非常著名的组织和非常著名的活动(处于保密原因,安迪也没有权限透漏具体)都在使用它,它接待过皇室成员、名人和国家元首。

有一次,安迪不得不熬夜解决一个问题,确保一个举世闻名的事件不会变成一场灾难。

无数用户对PerfectTablePlan赞誉有加:

“我每年都会主持一场 500 人参加的慈善活动。您的软件对我帮助很大......”

“上个月,我使用 Perfect Table Plan 为 250 位客人组织了一场声望颇高的正式晚宴,我发现这个程序帮了我大忙....”

“只是想让你知道,你的程序对我的 2,500 名客人来说效果非常好!这个周末我真的很享受使用它的乐趣......”

“PerfectTablePlan 在我们最近的活动中救了我们一命。“

“我非常喜欢 PerfectTablePlan,这是我花过的最值得的钱......”

02

生活方式

过去的20年,虽然竞争对手和操作系统在变来变去,软件生态也发生了很大的变化,安迪一直在维护,更新PerfectTablePlan。

现在软件大约有14.5万行C++代码,虽然代码有些丑陋,但产品非常可靠,几乎没有错误。

用户文档也写得非常详尽,PDF版本将近500页!

安迪非常享受这种个人开发的生活,他说他没有获得投资,没有招聘员工,更不可能成为下一个Google或者Facebook,也不可能有喷气式飞机,但是他对生活很满意。

他不会被解雇,也不用给别人发工资,睡觉时也能赚钱。

每天的通勤距离大概是10米,每天在儿子上课前和放学后都能见到他。

不用参加任何会议,没有“最后期限”,没有人告诉他花括号放在什么地方,或者强迫他推出糟糕的软件,只是为了满足某个发布日期。

当觉得自己效率不高时,就去跑步或者做点儿家务。

其实,这就是真正自由的感觉。

当然,这种自由也有很大的代价,他不得不去做一些原本不喜欢的工作:写文档,处理发票,折腾网站。

一年364天都在回复客户的支持邮件,每次出去度假都必须要带着电脑,确保自己处于有网络的环境下。

03

技术挑战

安迪的PerfectTablePlan接待过4000人的活动,这是个非常大的人数,因为安排座位看起来很简单,但是让计算机来做的话就是个排列组合问题。

不可能尝试所有客人和座位的组合,因为组合实在太多了。

比如25个客人,排列的方式就有25!=15,511,210,043,330,985,984,000,000 种方式来分配座位。

所以需要一种有效的方法来搜索可能的布局,以便在合理的时间内找到一个好的解决方案,安迪使用遗传算法来实现这一点。

遗传算法的工作原理是模仿达尔文的自然选择过程,不断代代相传:

(1) 使用各种经验法则(“启发式”)来创建初始布局。

(2)布局随机变异和拼接,产生新的布局,并添加到种群中

(3) 弱布局(得分较低的布局)将被剔除出种群

(4) 转至步骤 2

这个过程持续进行,直到得到令人满意的解决方案。

由于遗传算法的工作方式,它不能保证给出数学上最优的答案 ,想得到最优解,传统计算机要运算几年时间。

量子计算机才能真正解决这个问题,实际上,加拿大 D-Wave 公司用于展示突破性新“Orion”量子计算机的时候,选择了三个程序来证明量子优越性,其中一个就是PerfectTablePlan。

安迪给D-Wave定制了一个PerfectTablePlan版本,让量子计算机来实现一次16个客人的最优座位安排。

53e2af79cf6e7af6a04f185b29f0feed.png

04

营销

安迪现在过上了悠哉悠哉,让人羡慕,享受被动收入的生活。

但是刚开始时,绝对不是这样,个人创业的第一年非常辛苦,收入不确定很强,2005年8月,在他创业几个月后,他曾经在论坛上发过这样的贴子:

“我每周工作 60-70 小时,最后只给自己发100英镑工资。如果只拿最低工资,我做汉堡可以赚到 3 倍的钱,希望这种情况不会永远持续下去……”

很快安迪就意识到,不能只是整天编程,在确保自己开发了一个人们愿意花钱购买的软件以后,还必须要做好营销。

安迪在营销上花费了大量时间,尝试了各种各样的手段:

1.Google按点击付费

2.和各种媒体合作,发新闻稿

3.参加婚礼和活动策划展,但是摊位费太贵了

4.电子邮件营销,获得了一份合法的、包含一千多名准新娘的列表,并向她们发送了一封关于 PerfectTablePlan 的电子邮件,但是没有做成一笔生意。

5.在英国和美国的婚礼和活动杂志上花费了几千英镑来做广告,效果有限

6.在潜在客户经常光顾的论坛上闲逛,回答相关问题,巧妙地推销产品,引导客户到自家网站

7.电话营销,通常由厚脸皮的人进行,还得有书面脚本,安迪座位程序员拉不下面子,做了几次就不做了

8.写博客自己宣传,这一点安迪做得很好

9.让下载网站纳入自己的软件

......

可以说,市面上能想到的营销活动,安迪基本上都试过了。

最能体现他营销策略的是他对盗版软件的处理方式,人红是非多,国外也有很多人在用盗版,有人试图下载破解版。

所以Google上经常会出现类似这样的搜索:

9ac779fb004512010d369d12d6b47529.png

安迪认为,软件是不可能防止破解的,他自己也做了一个“破解”页面,并且在Google搜索种排名很高(安迪做了SEO):

b2671291505e6438dfe89d24ca95bed9.png

用户点进去以后发现,这个页面解释了为什么下载破解版PerfectTablePlan是危险的,以及为什么应该购买正版的License。

用这种办法,安迪成功地“说服”了很多人购买正版,从中获取了不少收入。

05

总结

安迪无意间发现了座位安排这个小众的市场,开发了一个软件来实现这个需求,在不断打磨软件的同时,又不断地进行各种各样的的营销活动,最后终于达到了一人公司,在家工作,被动收入的舒服状态,这可能就是程序员理想中的生活吧!

福利时间

看完这篇文章,你有什么感想呢?是不是也有很多绝妙的想法等待实现呢?欢迎在评论区中留言,我会从中抽取5人,每人送一本《软件设计要素》。

4f7fe53867c08c8faa3f594ae910109e.png

如果你喜欢思考这些问题:为什么软件这样设计,以及为什么有些设计如此成功,而另一些却如此失败?那这本书不容错过。

软件是一个复杂的巨系统,这本书以系统化的视角和以人为本的价值观,为软件设计者提供了一个全新的变革性视角:

1.介绍一些简单的技术,软件设计师可以立即运用这些技术来提高设计的质量。

2.提供一个看待软件的全新视角,这样你不仅可以将软件视为大量功能交织的组合,还可以将其视为概念的系统组合

3.让从事软件应用和开发的研究人员和从业者相信,软件设计是一门令人兴奋且需要智力的学科。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值