大家好,我叫 Roy,我是一个 Maker,一名软件工程师,一个四个月孩子的父亲,一个 30 多的老家伙。从这几个身份,也可以大致描述我现在的状态:理想,职业,责任,彷徨。
前些日子在 ProductHunt 上面发布了自己人生第一款小应用,AnyPicker,这是一个 “可视化爬虫” 应用,基于 Chrome Extension 。希望可以帮助人们在爬取少量数据时,做到 “‘取’ 你所见,无需代码”。很幸运拿到了 ProductHunt 当日第一。
感兴趣的同学可以在这里找到,主页:AnyPicker: Visual Web Scraper | Web Crawler | Web Data Extractor | Web Data Visualization,下载:Chrome 商店。
很多小伙伴也都想开始去做自己的产品,在知道我的小工具以后都私信我希望我能分享一下这段经历,那么我来分享分享我的这段经历。说错的地方不怕 喷,知错就改。
其实一直都想去做一款属于自己的软件,我和一位挚友 Hawstein (@Hawstein) | Twitter 也聊过很久,从我们在一起共事,一直到大家都离职,也一直都在聊一个 indiehacker 的梦。宗旨是做一款属于自己的产品,说白了就是不想沟通,我一个人说了算!不想做妥协,我想怎么样就怎么样!(我这个说法有些狭隘,但是当时我对于做一个 indiehacker 的初衷就是这样。)
说起来还挺怀念那段时光,以前在一起工作时,我们的工作压力很大,所以大家经常下楼抽烟的时候,就闲聊一些自己心目中的优秀软件,和一些优秀的创业者,我们把他们当作梦想但是抽完烟上楼后,只能继续我们的 paper work(我们当时已经渐渐从写代码走向了管理岗)。
直到有一天 Hawstein (@Hawstein) | Twitter 说他离职开始创业了,做了一个算法的教学视频网站 AlgoCasts 用心做好每一个算法视频 ,我真的被刺激到了,他真的走出了第一步!就像我们以前工作中一直所强调的 “执行力” 一样,他给出了一个定义,想到就去做!
另外还有一位挚友,左程云,他自己定义为一个程序员(当然也是大牛级别了),有三个要去做的梦想(也主要是因为他兴趣爱好特别广泛),出一个专辑,写一本书,拍一部电影。他在算法和工程实践上有很深入的研究,之前工作于 IBM,百度,GrowingIO 以及 Amazon Fba 部门,全部是大数据相关,前途不可估量。但是他现在选择放弃职业,随心选择了去学习编剧(因为出书和做专辑已经完成了)……(我觉得我不用 6 个点点点我都不知道该怎么表达)
对于我个人,因为家庭原因(主要是想要一个宝宝),我从北京回到了老家,又有两位 “追梦人” 的鼓励,我为什么不去开始做一件事?
再者,带着软件工程师的 “傲娇”,我也曾经常常 “抱怨”,“讥讽” 甚至 “辱骂” 产品部门,总觉得别人做的的事情是 XXX,抱着 “You can you up, no can no BB!” 的心态我也上路了!
困惑;关于想要去做一款自己的产品,我和大多数人一样,只是单纯的想去做这么一件事情,但是做一个什么样的产品,解决什么样的问题,也给我带来了很大的困惑,因为 没有灵感 ,做一个社交类产品?自己没有推广的经验和能力;做一个电商类插件?自己没有搞过电商,根本不知道从哪里开始;从自我出发,做一个解决效率的 “小工具”?作为一个工程师,我感觉自己没啥痛点,尤其是一个解决 “小问题” 的工具,几行代码就搞定了,根本不知道用户真正的痛点在哪里。想了一遍所有可能性以后,想想也只能从 “小工具” 开始,有一个说法叫做 “高纬打低纬” ,或许我可以做一个非工程人员需要,但是他们很难做到自动化的工具。
方向;有了大致的方向,下一步就要确定具体的产品。那么解决什么问题?拍脑袋肯定是不行的,找用户去聊也不太现实因为没有一个具体的范围,用户反馈总是各种各样的点子。所以我想我总可以定义我的能力范围吧!第一,我对于 Android 和 iOS 开发不太熟悉,现学倒是可以,但是我想做产品,不能跑偏。第二,服务端开发尽量要轻,因为 “穷”,如果付费用户转化周期长的话没有钱去支撑。第三,尽量去找一些市场已经验证过的东西,看它的用户数量,以及它的价格。看价格并不一定意味着要打价格战,而是如果价格高的话,最起码我可以考虑用 “工程” 的手段去降低价格形成竞争力,或者如果它是一个 all in one 的工具,那么我可以细分选取一块来做的更好,那样也意味着我可能会分一部分它的市场。
首先这种方式我不认为这是一种 “抄袭”,最起码不是一种赤裸裸的抄袭。很多行业软件已经存在了 5 年甚至 10 年都没有迭代过,样式老旧,交互操作繁琐,这个就是需要去解决的问题。
确定产品;综上所述,基本上可以把范围缩小到我需要做一个重前端的效率工具。关于用户体量,又因为想 “出海”,第一想到的就是 Google Suite 生态圈。至于 Google Docs 和 Google Sheets 相关的 Plugins ,因为我没有比较深入的使用过,所以也就不考虑。那么我只能把目光放在 Chrome Extension 这个平台里。把 Chrome Extension Store 里面的类型选择为 Productivity ,然后一个一个产品去看,一个一个去他们的主页看价格,最终我锁定了两大类。一个是邮件相关,一个就是网页数据了。关于邮件相关,基本是用来做邮件营销的工具,这个没有经验,pass 。关于网页数据,说来这不是一个产品数量特别多的分类,但是基于我以前在一家数据公司工作,我有很长一段时间在做 “无埋点采集” 的 SDK ,以及根据可视化界面来标定页面元素做数据查询。突然间,发现了新大陆,我有经验去解决问题,这个又是一个存在很多年的需求!另外,基于服务端的 “爬虫”,成本都很高所以价格也很高,而且很多存在多年的产品交互复杂,页面老旧。反正差不多就开干了!不想了! 2019 年的 3 月 1 日,我写下了第一行代码。
开始写代码是简单的,但是产品怎么设计?PS 我自己也不会,手绘原型图感觉还不如我写代码来的快。好在网上有各种各样的开源组件可以拼凑一个原型图出来(例如 Ant Design - 一个 UI 设计语言, Design - Material Design)。但是如何做产品呢?需求是啥?竞品页面老旧的问题,可以换一套新的 UI 。操作复杂是个问题,但是解决方向是啥?怎么样就不复杂了?工作的时候,经常跟产品经理说:” 先别说那么多没用的,把需求文档拿来,你们的 use case 写全了么?做过市场调研么?PMF 研究清楚了么?” 现在这一刻,只有我自己,我该从哪里下手?
不装了,我摊牌了,我不会。我错了,向当年我质疑过的所有设计,产品以及市场的同事们真诚的道歉,当年我在质疑你们的专业时真的是太幼稚,太无知了。真的对不起!
蹒跚学步;知道了自己的不足,开始补吧。向前同事们和朋友们真诚的道过歉,开始向他们虚心学习以及请教。也买了一堆书,订阅了一堆博客文章,跌跌撞撞的开始了产品相关的探索。就这样按照脑子里大体的想法做出了第一个版本,或者说叫做 “MVP” 。但是新的问题又来了,我是把页面和颜色弄的好看了一些,交互上面也更顺手了,但是交互顺手那是我以为的。真正找了几个朋友用了一下,大家都不会用,门槛太高了!这意味着我想解决的问题方向错误了,因为 “核心” 问题没有解决掉。经过了两个月断断续续的开发,突然是这样的结果,心里落差很大,我想产品我也不擅长,我是不是应该换个方向或者放弃。
上线 Beta; 虽然心理落差很大,但是好在有几位挚友一直在鼓励我,“既然已经做着么多了,先上线看看真实的用户反馈吧。”,“咱们老东家从开始一直做到现在我们也经历了很多,先上线,有问题修了就好了,没关系的!一定会做起来的。”,“你的完成度已经很高了,我觉得你可以吸引到一部分感兴趣的用户的,他们的反馈会更有价值!”。在大家的鼓励下,又赶上我的第一个孩子出生了,在他出生的 3 天后 2019年6月1日,我正式在 Chrome Web Store 提交了 Beta 版本,心想我得给孩子做个榜样,不能这么轻易就放弃了。
上线 Beta 后,自然而然第一个需要考虑的问题就是,什么时候发布正式版?在哪里发布?
迭代产品;发布了 Beta 以后,靠着给朋友们推荐以及自然流量,一点一点积累到了 100 个用户,期间也收到了很多非常有价值的反馈和建议(大部分来自于朋友)。比如说,使用门槛高的问题,如何用交互形式来做引导;对于内容以及按钮的展示,如何做的更整洁一些;在程序里面插入一些教程,方便用户更便捷的体验和了解产品等等。基于这些反馈,我明确了什么时候可以发布正式版了。
心魔做祟;当产品迭代了一段时间再拿给朋友看时,这时收到的更多的是夸奖和鼓励了。此时也觉得自己貌似在产品设计方面也小有进步,开始有些飘飘然了。再去对比一下竞品,也觉得自己有些自信了!心想那就发布吧,看了看比较流行的地方貌似是 ProductHunt ,就这里了!很多东西还不完善,比如主页,教程,视频。。。无所谓了,很多人发布时产品的完成度都不如我高,其他相关的一切 “设施” 比我的更简陋!我有啥可担心的,发布了再说!反正 ProductHunt 这个社区里大家都很友善,容忍度又高!发布吧!不需要做那么完善和全面!收集反馈最重要!就这么定了,“勇敢一点”!
正确理解 “勇敢”;在自己飘飘然的时候,突然看到一本书 《MR.HUA 创业手记——从 0 到 1 的 “华式” 创业思维》,虽然书里面讲的是外贸行业相关的一些经历,但是他有一个很大的特点,第一执行力高,想到就去做。第二,在做的同时,他会把自己的产品包装的非常漂亮引人注意。比如他讲到他做二手车的时候,会把车弄的干干净净的(虽然现在国内二手车都会这么做,但貌似在新西兰不一样),同样的车客户就会额外注意他这一款。另外谈到他做卖光碟(不要理解错了,人家是卖录制好的国内电视剧)的经历,他们把自己的网站以及内容介绍做到最好。他的成功,并不是他有多么好的点子,而是他的执行力,以及精心的准备。这些给了我很大的启发,别人的 “包容” 并不一定就是可以去任意 “消费” 的,如果需要引起别人的注意接受更多的反馈,就需要做到更好,把别人没有做好的地方,自己要做好。这不就像是产品本身想要解决的问题一样么?以前想到的 “勇敢发布” 其实只是懒而已,因为自己是一个工程师,写代码当然是最简单的事情了,所以不愿意去录视频,不愿意去写东西,更不愿意去推敲设计细节。执行力,不就是应该勇敢的面对问题解决问题么?我要走出 “舒适区”,去做一些自己最不愿意做的事情。网站尽量做的精美一些,多借鉴一些好的设计。给用户提供一个 Sandbox ,让他们很方便的去测试产品。另外,多多录制视频,给用户提供更多的教程媒介,想看文字的看文字,想看视频的看视频!所谓 “勇敢”,并不是 “冲动”,而应该是细心准备,“勇敢” 是正确面对不足和欠缺,而不是 “鲁莽” 的忽略问题。
焦虑;当知道了什么是好产品应该具有的 “品质” 之后,我就开始不停的反复推敲,除了产品本身的交互以外,也不停的修改首页,录制视频,做 GIF 动画,写教程等等。这一次心态又陷入了新的低谷,总觉得自己做的不够好,总想做的更 “完美” 一点。因为要发 ProductHunt ,会有更多的人了解到这个产品,不想要给自己留有遗憾。逐渐开始焦虑起来,就这样一拖再拖,不停的修改不停的 “优化”。几位挚友也一直跟我讲,“差不多了,比以前好太多了,可以发布了,做产品要更多的接触客户,而不是自己瞎琢磨。” 但是我总感觉就像是以前在学校的 “考试前夜”,总想多看两眼书,生怕第二天考试的时候遇到的问题是自己前一晚没有复习到的。其实这段时间更加煎熬,到后面真的就是像个 “无头苍蝇” 一样乱优化,没有方向,没有目的,仅仅只是 “焦虑”。这个时候已经没有新的反馈进来了,但是 “焦虑” 还是驱使着我不停的乱试,更可怕的是还冒出了很多无厘头的运营的点子,各种收费方案以及促销活动,还有代理模式之类的。一时间已经偏离了初衷……
最终发布;经过一段时间的焦虑和乱试以后,慢慢心态恢复了,做产品真是门艺术啊,更多的是需要 “平衡”,每个阶段尽力做到自己满意,但是还要避免闭门造车,更多的去面对客户才能做出价值。就像写代码一样,最经典的两句话,“Quick and Dirty” 和 “Robust and Clean” 。过于 Dirty 的项目不具备可维护性最终会导致失败,但是也许有一个线上 bug 影响范围很广很大或者需要验证某一个方向,还真的需要有一定的 “Dirty” 来快速解决掉,至于 “Robust and Clean” ,可能等把代码写 “完美” 了,但是用户也都流失完了,这个项目最终会变成一个 “艺术品” ,真正想提供的价值却没有得到体现。做好规划,平衡好心态,在对的时间做对的事。最后在 2019年10月7日 ,惴惴不安的在 ProductHunt 上面发布了正式版,焦急的等待着客户的反馈。
套用 “魔兽世界” 里面玩家的一句话,“产品正式发布以后,游戏才刚刚开始!”
大量反馈;在正式发布以后,一时间得到了很多的关注,ProductHunt 也确实是一个非常包容而且热心的社区,不仅下载量蹭蹭的往上涨,而且也有很多的人给我发邮件提反馈,甚至有一些用户给我录视频,一点一点给我描述他遇到的问题以及希望我改进的方向,我突然间被淹没在了客户邮件的海洋里面。按理来说这时我应该是兴奋并且幸福的,有那么多人关注了这个产品。但是我却有一些退缩和苦恼了,因为我虽然得到了大量的有价值的反馈,明确了改进的方向,但是我要阅读以及回复大量的邮件,到写文章这一刻我都没有找到一个好的方法来平衡开发和与客户交流的时间。突然间又不知所措了……
客户成功;虽然不知所措,但是还是想到了我这些年工作里最重要的一段经历,在 GrowingIO 官网-硅谷新一代无埋点用户行为数据分析产品 的日子。那时候最大收获除了技术能力的提升,以及对于数据分析的学习以外,还有一点就是 “如何对待客户”。客户的成功才是真正价值落地的体现!本来我做的这个产品就是一个效率类的小工具,那么更不能放弃用户,真正的价值落地,应该是用户使用时真的解决了他的问题,满足了他的应用场景。所以我毅然决然的在免费版本中也加入了 “Full Email Support” 这一服务选项,我希望我可以照顾到更多的用户,不管是否付费。
更加明确;经过用户的反馈,我也明确了 AnyPicker 的方向,它不是一个 “爬虫” 工具,我希望它的应用场景是帮助用户解决 “几百到几千个的页面的粘贴复制工作”,它是一个自动化粘贴复制的工具!
由于写这篇文章的时候,离在 ProductHunt 上面发布只过去几天,我确实还没有好好认真的具体思考过这个问题。不过其实今后计划也很简单,就是如果开销不高,还能活下去的话,做好产品服务好客户。
我个人的一些期待,希望可以应用更酷的技术,比如说用 WebAssembly + Rust 重写重计算的部分,把性能做到更好。另外,应用以前工作中学到的 “增长黑客” 的知识,这次实践一把,认认真真的用 “AARRR” 模型做一次实战。
最后套用一位好友曾今的 QQ 签名作为结束
以此为生,并以此为乐。 — Terry Tai (@poshboytl) | Twitter
很多同学对我的工作经历以及使用到的工具很感兴趣,我这里尽量详细的列出来。
我的两位老东家,都在招人,欢迎大家投简历!他们教会了我很多东西!
使用到的工具: