陈大好:持续创造小而美的产品丨独立开发者 x 开放麦
本文内容来自RTE NG-Lab 计划中「独立开发者 x 开放麦」活动分享,分享嘉宾独立开发者 @陈大好。
本次活动中,来自 W2solo 独立开发者社区的管理员 @Eric Woo 也以《独立开发者在元宇宙中的新机会》为主题进行了分享,点击文末「阅读原文」即可查看两场分享的视频回放。
01 关于我
1、自我介绍
大家好,我的名字叫陈大好。目前我们有一个品牌名称叫作 OneNice, 有些朋友可能听说过我们的产品。
我们团队在北京,产品都是苹果生态的 App。从 iOS 到 iPadOS,我们做了很多工具类型的产品。目前我们的产品如图 1 所示,大家如果感兴趣的话,可以通过网址查看详情。
■图 1
2、我的产品开发之路
我本人的工作经历主要与产品运营相关,其中有两次比较重要的创业经历,具体如图 2 所示。
■图 2
2015 年,我开始第一次的移动互联网创业,并获到了险峰华兴的天使轮融资。我们所开发的是一个图片社交产品,产品以“自拍”为切入点,主要面向年轻人。和很多早期的移动互联网创业公司一样,我们并没有找到合适的商业模式,最后以失败告终。
2016 年,开始了第二次创业,这一次同样是移动产品,该产品是一个跑步社区,获得了联想和洪泰基金的天使轮投资。经过了多年的运营,我们找到了合理的商业模式,用户和营收都在持续增长。到了 2018 年,这家公司被一家行业的户外龙头公司并购。此后,从 2019 年到现在,我的主要业务开始面向 ToB,从事企业营销咨询的相关工作。
2017 年 3 月 24 日,我开始进行独立开发,之所以记得这么清楚,是因为之前写过的一篇文章记录下了这一天。经历了 100 多天的努力后,在 2017 年 7 月 4 日我的第一个产品终于上线了。
其实我的专业并不是开发相关,决定尝试独立开发也是受到朋友的鼓励。经历了第一次尝试以后,我也陆续开发了其他产品,有一些得到了较好的反响,其中有两个产品在 2020 年的付费总榜同时进入了前五名。截止到目前,我发布的产品总数达到了 13 款。
3、独立开发阶段
复盘这五年来的独立开发经历,我认为独立开发会经历三个阶段。
首先是“完成阶段”,在早期的时候可能每个人都有一种冲动:想开发一个自己的产品,或者满足自己或身边人的某一个需求。此时,开发者的第一个目的是证明自己非专业出身也能做产品。在经历一段时间之后,我们就进入了“完善阶段”,现在我也仍然处于该阶段。此时会发现,一个好的产品除了要满足开发者自己的私心,还要被市场所接受,这就需要不断地对产品进行完善。最后就是“完美阶段”,此时不管是从使用体验还是从团队收益角度来看,产品的各方面都已经非常完美,这是我们最终的目标。
接下来回到今天的话题,我认为“持续创造小而美的产品”对于独立开发来说是非常重要的,这七个字其实刚好就是三个话题。
02 持续创造小而美的产品 —— 持续
我在第二次创业中开发了一款名为“百日跑”的产品,这个产品面向的用户是一群爱好跑步的人。他们通过我们的产品定期参加活动,结识更多热爱跑步的朋友。
这个产品在早期的 4 年里,经历了非常多关键的增长时刻,在这段时间存在四个拐点(也可以叫引爆点)。最初的一年多时间里产品的日活大约为 300,我们迎来的第一个拐点是知乎,当时知乎推广还没有屏蔽很多关键词,我们在各种跑步相关的话题下面回答问题(打广告),带来了很多流量,日活大约到达 3000;后来我们又通过朋友圈的海报裂变,用户通过分享海报带来转介绍,日活突飞猛进来到 10000;此后我们又改变了一些裂变属性,日活从 10000 涨到了 10 万。
其实创业跟独立开发是一样的,我们可能会经历类似爬坡的时刻,也会遇到震荡的时刻,在这个过程中,我们需要熬到拐点。回顾我之前开发的经历,有的产品在两年之后才得到较好的收益,这两年前可能根本想不到,我能做的就是随着系统更新和用户反馈持续修改。所以送给大家一句话 —— 做的人不多,坚持的人更少。
所有的增长都是呈 S 曲线的,我们需要努力熬到每一个拐点。
03 持续创造小而美的产品 —— 创造
1、输出是最好的学习方式
我从 2014 年在大约两年的时间内写了 100 篇文章,经过日积月累的努力之后,对知识有了更深的理解,瞬间有了茅塞顿开的感觉,这样的时刻我在之后的经历中也有过几次。我其实是一个比较内向的人,但在进行了一场现场演讲之后,我突然发现也没有那么困难。当我完成一个 App 的时候,曾经的恐惧也消失了。这些经历让我明白,输出是最好的学习方式,如果我们选择独立开发,创造一定会给带来非常大的价值。
2、构建可以持续增长的资产
我认为资产分为三种,一种是固定的时间带来固定的收益,比如传统工厂生产多少商品就带来多少收益。第二种是固定的时间带来持续的收益,比如写一本书所花费的时间是固定的,但是在未来它会带来持续的收益。第三种是别人的固定时间带来自己持续的收益,比如工厂老板。
这三种方式都各有优劣势,独立开发是一种风险的平衡,它更倾向于固定的时间带来持续的收益如果一个产品在未来一年、两年甚至十年能够带来一些收益,那么不管收益是多是少我认为它都是一个非常好的资产。
3、多维能力的最佳实践
对于这一点我感触颇深,我在知识欠缺的情况下开始进行独立开发,发现涉及大量的工作,比如测试、设计、运营、调研、推广、分享等,要跨越多个维度,在各种专业领域横向扩展。
4、一种幸福的商业模式
我认为独立开发 App 是一种非常幸福的商业模式,很多企业的流程非常烦琐,甚至有些因素是我们无法控制的。
比如就我之前接触到的情况而言,在北京的商场里开设店铺其实非常麻烦。但是做独立开发,只需要一台电脑、一部手机、一个 WiFi 就可以面向全球用户,尤其在疫情之下,这是一种非常好的商业模式。
04 持续创造小而美的产品 —— 小而美
1、如何把产品做⼩
我在开发产品的过程中踩过很多坑,其中有一个产品在我埋头独自开发了一年之后,推出的效果却不尽如人意,并没有通过市场的验证。第二个产品失败的原因则是产品定位不准,在用户本地就能完成的情况下开发了后端。另外,我也尝试过做多端,但发现自己毫无经验,结果又走了很多弯路。通过这些失败的经历,我想跟大家分享一些经验。
对于如何把产品做小,我要特别提到的就是克制需求、赶紧上线。做独立开发,特别是在早期,我们要的是赶紧拿结果、赶紧有回馈、赶紧有响应。所以能不跨平台就不跨平台,能不要服务器就不要服务器,能不要登录就不要登录,能少一个功能就不要多做一个功能,能十天上线就不要延长到一个月。
2、如何把产品做美
关于小而美,要做的就是找到有潜力的需求,选择确实比努力重要,如果一开始就选错了,那么即使再努力,最后可能也没有价值。
当然,我所讲的是在完善阶段,就是当我希望把事情做得更好的时候,一定要从更深刻的角度进行思考,所以要做选择。根据目前的经验,我认为可以从三个方面寻找需求:首先是自己的需求,因为我们自己也代表了一部分人的需求;第二个是被验证过的需求,你可以有特别的创意,但是其风险也会相对更高;第三个是洞察潜力需求。
另外,要想做到小而美,不要有明显的短板。这是我在做独立开发,特别是最近两年特别有感触的,因为随着开发的进一步深入,我发现自己会变得很吃力,即使有好的想法,但是效果无法达到预期,对自己失去信心,这就是因为自己在某个方面存在短板。
此时可以通过自身的努力查缺补漏,也可以借助团队的力量,通过与领域专家的合作进行弥补。所以如果要进行独立开发,并使产品更加完善,那么一定要想尽一切办法在各个维度避免短板。
最后近期我开发了两个产品,一个叫作 OneMusic,这是一个复古的音乐播放器工具,与 Apple Music、Spotify 连接,功能是将历史上的播放器还原到软件上。第二个是之前做的产品,叫作 OneWidget,我们最近在做系统锁屏小组件的功能更新。如果大家感兴趣,可以下载体验一下。
非常感谢大家,很荣幸在此分享。
什么是 RTE NG-Lab?
RTE NG-Lab 是由声网及 RTE 开发者社区共同发起的、为关注 RTE(Real-Time Engagement,实时互动)领域的人群提供交流和帮助的长期计划。我们希望更多人参与进来,一起探索创新,共建新技术、新产品、新场景,一起提升实时互动体验,推进和加速实时互动领域工程落地,共建下一代 RTE 技术生态。RTE NG-Lab 计划包含灵感宝盒(Idea Box)、代码实验室(Code Lab)、独立开发者孵化器(NGLab Incubator)三个部分。
陈大好:持续创造小而美的产品丨独立开发者 x 开放麦的更多相关文章
- 有奖投票丨HC2019开发者关注的TOP10问题你最想听哪个?
目前,人工智能已经成为广大开发者重点关注的技术领域.然而,随着人工智能技术的快速发展,AI应用场景复杂度在与日俱增,算法调教也亟需不断成熟,这些都为开发者们带来了更多全新的挑战.如何快速把握前沿技术的 ...
- WePY - 小程序敏捷开发实践丨掘金开发者大会
声明:内容转载他处,如有侵权,可协商下架 本主题虽然在其它地方讲了很多次,但还是有非常多新内容.因为很多东西正在做或者想要做.本次分享主要分为以下几个部分: WePY 的介绍 WePY 的用户 上面展 ...
- Python:Fintech产品的第一语言
来源商业新知,原标题:为什么说Python是Fintech与金融变革的秘密武器 人生苦短,不止程序员,Python正在吸引来自金融领域大佬们的青睐目光. 金融科技的风口下,无数传统金融人都想从中掘一桶 ...
- 【转】开发者分享如何创造一款优秀的iOS游戏——2013-08-25 17
http://game.dapps.net/gamedev/experience/889.html 创造出<Temple Run>的夫妻团队在高峰时期每天能够获得"好几万&quo ...
- 哪些产品不用开发原生APP,微信公众号就够了?
最近一阶段H5技术被推到高峰,很多人认为借助H5就能利用微信公众号取代APP原生应用了,而事实是怎么样的?这里我从产品层做一个客观分析. 一,原生APP总体趋势 要谈APP是否会被微信取代,那么必须回 ...
- 基于Docker持续交付平台建设的实践
导读:中国五矿和阿里巴巴联手打造的钢铁服务专业平台五阿哥,通过集结阿里巴巴在大数据.电商平台和互联网产品技术上的优势,为终端用户带来一站式采购体验.本文是五阿哥运维技术团队针对Docker容器技术在如 ...
- 产品经理都知道MVP,但是它可能不再是产品研发最好的模型了
产品经理都知道MVP,但是它可能不再是产品研发最好的模型了 孟小白Aspire • 2017-09-01 • 汽车交通 要简单.讨喜.完整,不要最小可行性产品.这对创业公司的第一个产品来说很重要. M ...
- 使用 Jenkins 实现软件开发的持续集成
转自:http://www.ibm.com/developerworks/cn/java/j-lo-jenkinsintegrate/ Jenkins 是一种易于使用的持续集成系统,它可以使开发者从繁 ...
- 持续集成与devops
持续集成 持续集成 持续集成(Continuous integration,简称CI),简单的说持续集成就是频紧地(一天多次)将代码集成到主干,它的好处主要有两个: 1.快速发现错误.每完成一次更新, ...
- 使用 GitVersion 在编译或持续构建时自动使用语义版本号(Semantic Versioning)
我们在之前谈过 语义版本号(Semantic Versioning),在项目中应用语义版本号能够帮助库的开发者在发布包时表明更多的语义信息.这是趋势,从微软的博客 Versioning NuGet p ...
随机推荐
- CSS3-animation实现走马灯效果
动画animation 1.先定义动画: @keyframes 动画名称( from{} to{} ) 或者 @keyframes 动画名称( 0%{} 50%{} 100%{} ) 百分号指的是动画 ...
- calibredrv命令
flattencell: set L1 [layout create *.gds -dt_expand] $L1 flatten cell TOP_CELL_NAME $L1 gdsout ./*_f ...
- eclipse中利用Maven逆向工程生成PO类以及mapper(mybatis)
在pom.xml的project>build里面添加如下代码,让maven环境支持mybatis-generator组件 <pluginManagement> <plu ...
- curl下载远程图片到服务器
<?php //curl下载远程图片到服务器 方法 function download($url, $path = 'images/'){ $ch = curl_init(); $names = ...
- xlwings简单使用
xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改 xlwings基本操作 打开已有的Excel文档 # 导入xlwings模块 # 打开Excel程序,默认设置:程 ...
- python使用openpyxl读取合并单元格的值(转)
目录问题:解决思路:问题:假设在test.xlsx的"Sheet1"工作表中,A1:D3区域的值如下:要求给定指定的行.列以及对应的工作表作为参数,能够正确解析合并单元格,获取指定 ...
- 20200926--图像旋转(奥赛一本通P96 9 多维数组)
输入一个n行m列的黑白图像,将它顺时针旋转90度后输出. 输入:第1行包含两个整数n和m(1<=n<=100,1<=m<=100),表示图像包含像素点的行数和列数. 接下来n行 ...
- 二,使用axios
1,下载https://unpkg.com/axios@1.3.2/dist/axios.min.js保存在js目录下,命名为axios.js 2,http.js let baseUrl = &quo ...
- 在uni-app中调用高德地图去导航
1.判断一下是不是在微信环境 2.微信环境调用微信自带的地图导航 3.h5环境跳转去高德地图 guide() { let self = this; console.log("self.lat ...
- vue项目部署后页面加载首次很慢的优化方案
参考: vue项目首次加载特别慢需要怎么配置? 1.看看你的依赖包是不是全局引入的,改为组件内按需引入,可大大降低加载时长.或者将组件引入方式改为cdn引入.需要注意的是,两种引入方式不能共存. 2. ...