而本日笔者从其余一个视角进行一次产品剖析,老话说打蛇打七寸,干事抓关键,本日我们考试测验做一次产品设计关键点剖析,推演一下一款工具类产品0到1过程当中的几个关键点应该如何思考与方案。

在17、18年,编程猫还被称为少儿编程教诲行业当中的一匹黑马,短短两年韶光,它已经发展为了这个行业当中的佼佼者。
从融资角度来看,15年景立至今,一年一轮融资,5年韶光就融到了C轮,累计近9亿的融资资金;从运营数据上来看,截止到19年底,学员用户总数3000万+,互助学校10000+,19年整年总营收10亿公民币。

我们本日不从宏不雅观角度来剖析行业格局以及编程猫的发展进程,我将站在产品视角上,从头拆解编程猫的第一款产品 ——「kitten源码编辑器」,试图回答这样一个问题:这样一款面向少儿用户的工具类产品,面对产品0到1过程中的关键环节,如果是我会若何思考和方案?

仿交易猫源码php编程猫kitten源码编纂器0到1的症结点设计 CSS

关键点1:为什么要花巨大的成本来开拓少儿编程工具?

要想拆解产品,首先我们要理解为什么这个产品有存在的代价。
在少儿编程工具(与其说是编程措辞,我更乐意理解为编程工具)领域,有从06年便开始发布迭代的老大哥Scratch,Scratch由麻省理工学院媒体实验室的终生幼儿园小组设计和掩护,是一个免费并且功能强大的少儿编程工具,有着弘大的用户根本和环球范围的在线社区,它基本上奠定了少儿编程工具的设计规范;也有后来涌现的将工具与传授教化体系强关联的少儿编程平台Tynker。

现如今海内的少儿编程教诲品牌大部分都已经将Scratch当作少儿编程的入门必学课程之一,将Scratch作为少儿编程的标准编程工具,比如童程童美,核桃编程等。

那么编程猫为什么反面他们一样利用Scratch来作为标准的编程工具而要自己开拓一套呢?

从15年到17年这套工具打磨了近两年,17年,18年又相继推出代码岛以及海龟python编辑器,在工具开拓和打磨上越行越远,SO,我们不禁要问的是,在编程猫成立之初资源相对匮乏的阶段为什么决定花两年来开拓一套已有办理方案的编程工具?

剖析任何一个商业决策的缘故原由都须要将它代入到本身的商业模式当作,我认为衡量一个商业模式好坏的三个主要要素是:核心竞争力,持久性,以及扩展性。
我们从这三个方面入手进行综合剖析。

在K12在线教诲行业,西席是流动的,传授教化方案是可抄袭的,客户的品牌忠实度不高,行业玩家同质化严重,如果没有核心竞争力,随着行业进入洗牌阶段,将势必陷入以拼家底为主的恶性竞争当中,砸钱抢用户,抢学校,铺广告,打价格战,创业团队在早期阶段陷入这种纯粹靠成本博弈的粗暴竞争环境中很随意马虎被洗掉,因此开拓属于自己的编程工具有利于建立技能壁垒,塑造以产品为主的核心竞争力,在行业洗牌阶段建立自己的护城河,更随意马虎吸引成本的青睐,拥有后期争夺行业Top的家底。

大家要知道少儿编程工具和标准的编程措辞是有实质的差异的,编程措辞有着很强的标准化和开放性,有着很成熟的发展生态。

而少儿编程工具正处于发展初期,很多需求和功能存在很大的扩展性,但是并没有一个开放环境推动它提高,Scratch已经是一个成熟期的产品,产品迭代相对较慢,并且由于海内少儿编程这几年爆发性增长,挖掘了相称多的本土化需求,你没有办法根据你的传授教化体系来给Scratch提需求让他改动功能,你的传授教化体系会受制于Scratch,只能在它的开源根本上进行优化,因此Scratch也有很大的局限性。

这时候打造一个本土化的少儿编程平台就显得很必要了,根据以上剖析,我们总结一下开拓自己的少儿编程工具的必要性:

可以随时可以根据传授教化方案调度产品功能来知足本土化用户需求,供应更多差异化功能,进而提升产品方面的核心竞争力;可以作为行业标杆引领行业发展,提升公司在行业里的威信性,品牌效应同样是核心竞争力;自家的编译器能增加用户与品牌的打仗频度,增强用户粘性和忠实度,从而利用户可以持续留存下去,有利于坚持商业模式的持续性;编译器带来了更多的传授教化内容扩展和自定义的空间,进而可以做更细化的用户运营,为不同年事阶段,不同学习目的的用户带来不同的产品,进而可以更好的赞助做横向和纵向的用户扩展,以及盈利模式的扩展,有利于提升商业模式的扩展性。

关键点2:核心用户界定与研究 2.1界定核心用户与核心客户

产品的0 – 1阶段,我们一定要清楚的界定出核心用户,目标用户以及潜在用户,核心用户是目标用户中最主要的那部分群体,而产品的种子用户一定是符合核心用户的干系属性的。
编程猫官网上指明“专注为7-16岁孩子供应意见意义传授教化”,这是当前产品矩阵的目标用户,如果反推产品0-1逻辑的话,这显然不是源码编辑器的核心用户。

在这张图中我们可以看到编程猫对源码编辑器的目标用户的界定是6到12岁旁边的小朋友,也便是从幼儿园大班到五年级的韶光,而考虑到这个年事跨度也是比较大,孩子的智力发育水平和知识储备量也有比较大的差异,加上幼儿阶段有另一款产品作为承接,因此我们可以把源码编辑器的核心用户界定到1年级到3年级这个阶段的小朋友,也便是7-10岁之间。

由于少儿教诲行业的分外性,核心用户并不是付费客户,因此,我们须要对这个阶段小朋友的家长再做细分研究,这就好比是做一款玩具,要让小朋友玩的愉快,有所收成,让家长以为买的值,达到了自己培养孩子的目的。

对付家长,我们可以按照编程行业干系性和资金充裕度两个维度进行剖析,由于行业干系性的高低决定了客户目标的清晰程度,而资金充足性确定了客户的付费意愿和付费能力。

针对上图划分出来的核心用户我也在撰文之前挑选了8个身边具有相似属性的个体进行了小规模的访谈来验证下文描述的用户需求的合理性。

行业干系性指的是客户与编程关联性较高的职业,最范例的便是互联网行业从业者,这部分人让孩子学习幼儿编程相对来说会有比较强的目的性,由于他们对付编程有一定理解,以是对付让孩子打仗幼儿学习希望得到什么有清晰的认知.

比如,有的家长便是希望孩子往后能走编程这条路,以是希望让孩子提前打仗游戏化编程引发孩子的学习兴趣,并且学习一些基本知识观点,为往后学习正式编程打些根本。

有些家长虽然没有希望孩子往后从事这方面的职业,但是清楚少儿编程对付逻辑思维和创造性思维演习有很大的帮助,因此为了磨炼孩子的这些能力也会让孩子来学习编程。

这部分客户也是我们的目标用户,但是由于他有自己相对清晰的认知,相称于专家型客户,用户容量较小,如果将他们作为前期核心客户进行研究的话,会导致决策者对付大众群体的普适性需求有理解性偏差,因此不适宜作为最初的核心用户。

从潜在用户容量来讲,随着市场渗透率的提升,二三线城市的家长互联网行业干系程度会越来越低,这部分人群是产品的紧张客户,以是一开始进行产品设计的时候就须要挑选这部分人群作为核心客户进行研究,这部分客户与编程干系的行业关联度相对较低,并且由于少儿编程教诲行业处于发展初期,这部分客户对付少儿编程的认知度低,少儿编程教诲还是个很新的观点,也便是说还不具备普适性,如果客户的资金不足充裕,显然不会为一个自己不太理解的事物进行付费,因此我们须要选择收入水平相对较高的客户作为核心客户。

以是我们总结一下我们的核心用户和核心客户的角色客不雅观属性:

核心用户:7-10岁,处于1年级到3年级的小学生,所处传授教化环境较好,男女不限。
核心客户:身处一二线城市,收入水平中等以及中等偏上,并且与编程干系行业的关联度较低的7-10岁孩子的家长。

2.2 核心用户与核心客户需求剖析

2.2.1 核心用户特色描述

根据年级阶段我们的小朋友又会有以下一些特色,我们须要根据这些特色提炼出一些共性需求,以下是根据年级划分的用户特色:

一年级: 刚入学不久,对学生生活既新鲜又不习气,他们好奇、好动、喜好模拟,并且有直不雅观、详细、形象等思维特点。
二年级:已基本适应小学的学校生活,开始有了自我掌握的能力,好表现自己,竞争意识和上进心有所发展,都想争取成为好学生,并希望参加少先队的统统活动,好奇、好动、好模拟、思维的直不雅观性、详细性、形象性仍旧是其共同的特点。
三年级:三年级学生的思维正处于由形象思维过渡的期间,能进行一定的抽象思维,但仍以形象思维为主,模拟性强,想象能力由模拟性和再现性向创造性的想象过渡;

2.2.2 核心用户需求剖析

作为小朋友本身,他们行为本身没有太强的目的性,更多的是通过各种行为来表达情绪,他们有表现欲,因此希望通过得到一些成绩得到大家的讴歌;他们富有创造性,希望通过一种行为来表达自己的创造力;他们喜好玩耍,希望通过一些行为来享受快乐。

这些行为可以是学习新知识,可以是做手工,同样也可以是学习少儿编程,他们的需求大多数都是感性的,对编程没有什么认知,我们须要去贴合他们的各种情绪需求从而达成我们的传授教化目的。

我们总结小朋友们的情绪需求,这些情绪需求后面会提炼成我们的产品需求:

快乐,利用我们的少儿编程工具的过程是快乐的,能够主动引起他们的兴趣;知足创作欲,利用我们的少儿编程工具可以轻松的实现他的创造力,他可以很方便的将自己脑袋中想象的作品表达出来;知足表现欲,利用我们的少儿编程工具可以做出一个较为完成的作品,并且可以很方便的让他展示给其他小朋友,可以知足他们的表现欲。

2.2.3 核心客户需求剖析

那么对付父母的家长呢?他们显然希望通过学习少儿编程来使得孩子得到一些能力方面的提升了。

教诲需求之孩子思维能力的提升,创造思维,逻辑思维,认知能力的提升,开拓孩子的智力,使得孩子更聪明;(这也是编程猫对外宣扬的一条营销语)教诲需求之孩子知识技能的提升,通过少儿编程学习能节制一项额外的技能,使得孩子在今后的发展中得到一些竞争上风,并且也可以知足自己向其他身边人炫耀的情绪需求;教诲需求之跟随教诲风向,社会发展已经到了信息化和智能化的阶段,教诲政策导向也明方向于编程教诲,大部分家长虽然不懂编程,但是从各方面得到的信息能够感想熏染到编程对付社会发展的主要性,因此希望自己的孩子能提前有所准备;自我情绪需求之缓解自我焦虑,孩子竞争环境愈发激烈给自己带来的焦虑感,通过孩子学习少儿编程收成一些能力从而缓解自己的焦虑。

关键点3:教诲类工具产品与其他C端产品设计思路的差异——给用户和客户制订目标

虽然说我们梳理出来了核心用户和核心客户的需求点,但是客户的目标是不明确的,家长希望能够让孩子学习到一项技能,能够做出一些成果;孩子希望能够在学习过程中得到快乐,能够很方便的发挥自己的创造能力。

那么这项技能须要学习到什么程度,孩子做到什么程度算是一种成果,这些在用户和客户的心里都是完备模糊的。

而对付一样平常的C端产品,用户都有相应明确的用户目标,比如电商类产品,用户知道我打开电商APP,经由一系列流程后我可以购买到一个商品;再比如视频类产品,我可以用它来看我想看的电视剧。
这些产品都有明确的用户目标和利用场景。

而教诲类产品不是这样,用户目标是须要产品制订的。

比如现在的在线英语教诲产品,以开言英语为例,它会给你前辈行水平测试,然后给你制订个性化的学习操持,并且给你定一个目标,学完我的课程后,你的水平可以达到什么样的程度,是雅思多少分的水平。
这就让用户有了个清晰的目标,至少知道了我学完可以达到一个什么详细的程度。

因此我们也须要给用户制订目标,并且我们要从“用户需求 +场景 = 用户目标”的思考办法变成 “用户需求 + 传授教化体系 = 用户目标”的思考办法。

我们产品须要结合传授教化体系给用户制订目标,我们可以看一下编程猫官网给客户展示的用户作品以及浏览一下社区的大部分作品,我们可以定下这样一个详细的用户目标:可以让用户做出一款大略的偏客户真个游戏或者其他程序作品。
当然这个是笔墨的客不雅观描述,详细对家长的宣扬通过用户作品来表示出来即可,不可能说的这么繁芜。

这个用户目标是很主要的,它决定了我们的编程工具产品要做到什么程度,做哪些功能才能达成这个用户目标,综上我们可以明确一下我们的产品目标:依据我们的幼儿编程传授教化体系,做出一款能知足用户目标的图形化编程的源码编辑器。

本段总结:

客户目标(对外):孩子各项综合能力的全面提升,让您的孩子出类拔萃。
用户目标(对外):在快乐中做出引以为傲的编程作品。
用户目标(对内):做出一款大略的偏客户真个游戏或者其他程序作品。
产品目标(对内):在设定好的传授教化体系范围内做出一款能知足用户目标的图形化编程的源码编辑器。

末了我们要提一下,我们实际上还有一个主要的用户角色便是老师,老师是搭建传授教化体系的主要成员,并且有相称多的产品需求是从老师那里挖掘出来的,不过老师更多的事情还是在传授教化体系的开拓上面,在这里我们假设传授教化体系已经开拓出来,就不过多去谈论了。

关键点4:产品设计原则1. 可用在传授教化体系框架下将用户需求转化为产品需求,基本覆盖各个传授教化场景,从而达成用户目标;搭建知识主干,简化知识细节,让用户能学习到主要的编程知识点。

2. 易用高内聚,低耦合,模块化;信息层级清晰明了,精简流程路径。

3. 好用产品利用过程中须要有意见意义性,降落小朋友的利用门槛,引发小朋友的利用激情亲切;在产品的各个关键环节构建褒奖机制,使得小朋友得到造诣感和知足感,用了还想用。

关键点5:先增后减,明确产品功能点5.1 增,背景知识

对付此类有一定专业性的工具类产品,我们须要补充干系的背景知识,对知识架构有整体的理解,才能做到在设计功能的时候游刃有余,我们的用户目标是要制作一款大略的偏客户真个游戏或其他程序作品,这里面我们以游戏为主,那么我们首先须要知道制作一款大略的游戏须要哪些必备的背景知识呢?

5.1.1 如何设计一个大略的偏客户真个游戏?

嗯,最大略的游戏除了必备的核心玩法逻辑,胜败条件,操作规则,其他模块都可以省略的,比如《Flappy bird》

5.1.2 游戏编程的必备技能点有哪些?

游戏设计思路有了,那么须要哪些技能点来实现它呢?

小朋友怎么可能节制这么多的技能点!
以是就须要在传授教化体系框架下能砍则砍,能封装就封装,这更涉及到传授教化体系的方案,这里就不详聊了。

5.1.3 一款商用游戏引擎客户真个核心部件有哪些?

接下来便是须要研究一款能开拓游戏的商业引擎由哪些部分组成,在这个拆解阶段,理解的越详细越好,在后面简化功能的时候更能得心应手,我们以Unity为例,由于之前笔者也用Unity做过一些小游戏,相对来说对这款引擎有些理解。

游戏引擎最根本的四大组成部分,编程措辞,编译器,视图窗口,模块接口。
缺一不可,视图是引擎与用户直接交互的界面部分,而模块接口是引擎供应给用户的代码接口,用于实现干系高等功能,接下来我们把视图和模块接口展开来看一下简化后的信息构造:

以上是对引擎的框架性拆解,里面每一块儿细分下去都是很大的知识体量,以是有兴趣的同学可以自己去研究,在此我们对大致框架有所理解就好。

5.2 减,聚焦产品需求

我们前面研究了如何设计一款游戏,开拓一款游戏须要哪些技能点,商业性的开拓引擎包含哪些紧张模块,接下来我们要聚焦到我们的实际产品需求上来,显然我们不可能让小朋友一下子节制那么多技能,我们要开始做减法,努力将门槛降到最低。

对付设计一款游戏,小朋友没办法很好的整合自己的设计思路,更不可能有很多优质的美术,音乐素材,怎么办呢?

我们须要供应现成的游戏模板,以及现成的游戏素材,首先让小朋友能大略的进行模拟,然后逐步的加入自己的想法去创作属于自己的素材,因此,在功能上,我们须要有素材库供应给小朋友现成的素材,我们须要有几个已经搭建好的游戏作品案例作为教程供小朋友模拟,在后期我们还须要能让小朋友能自己创作素材,因此须要画板功能和音乐画板功能,供小朋友创作自己的音频和图片素材。
在这一步,我们可以梳理出以下产品需求。

对应产

品功能

接下来我们要进入比较困难的环节了,便是设计面向少儿的编程引擎,之后我也会统一叫做编程工具,由于我以为差异还是比较大,而实际上我们已经有很好的先驱可以参考了,便是Scratch,它的积木化编程已经深入民气,因此我们可以参考竞品的设计思路结合实际的需求整理我们的需求框架。
总的来说,一款少儿编程工具不管如何简化都会包含两大块紧张内容的设计:

视图设计编程积木设计

我们一个一个来看。

5.2.1 编辑器视图设计

首先是最主要的三个视图:

1)场景视图

对应产品功能

2)层级视图

对应产品功能

3)检视视图

对应产品功能

这三个视图集成了用户与工具交互的最根本的功能,场景和角色的编辑,素材的添加和删除,场景与素材之间的层级关系切换。

接下来一个很主要的视图模块是积木编辑视图,在设计这个视图之前,我们须要先把编程积木逻辑设计好,因此我们先看编程积木的逻辑是若何的。

5.2.2 编程积木设计

对付编程积木来说,须要从两方面动手设计:

一方面我们须要定义好积木与积木之间的接口规范,梳理出所有积木类型,如下图所示。

另一方面由于积木承载了编程措辞的功能,我们须要详细设计编程措辞语法积木和高等函数功能接口积木,首先我们确定我们须要封装哪些语法,哪些高等函数功能,这里可以参考Unity以及Scratch进行初步功能的搭建,后续这里是一个主要扩展的模块,比如最近编程猫后来更新的人工智能干系模块和海归函数,GameAI等模块。
在这里我们可以参考官网给出的源码图鉴梳理出完全的模块,这些模块是须要持续迭代和新增的。

实际的0-1的设计过程当中应该是经由了大量的参考以及反复确认,并且须要很有履历的开拓者参与一起设计,才能担保积木的可用性和稳定性,还要经由一系列可用性测试,才确定了我们当前所见到的一些功能。
这里我们经由上面两个方向的拆解,我们已经将积木的框架和功能点梳理清楚,接下来我们就很随意马虎理解前真个积木视图为什么这样设计了。

5.2.3 导航类功能视图

对应产品功能

对应产品功能

以上我们已经基本梳理出全体源码编辑器的紧张功能点,在后续的流程设计和交互设计当中,应该遵照我们最初定下的设计原则。

并且我们须要知道,编辑器的设计思维办法不是线性的,我们这里拆解出来的紧张功能是根据传授教化体系和产品发展阶段以及计策布局一步一步有操持的迭代到如此程度,很多这里面的功能在最初产品设计的过程中是不可能考虑的很清晰的,这时候就表示出来系统低耦合模块化的主要性了,好的系统也犹如积木,可以灵巧的拆解和扩展,关于详细的功能点流程拆解和交互设计拆解这里就不连续谈论下去了,有兴趣的朋友可以自己挑一些紧张功能研究一下面向小朋友的流程与交互设计细节。

产品后续发展方向的意见

当前虽然编程猫已经有了可不雅观的用户规模,可是市场的渗透率还是很低,因此用户规模的扩展仍旧是紧张目的。

在核心功能上,须要将重点放在用户群的深度和广度的扩展带来的新需求,比如用户年事阶层的扩展,须要考虑到更高年事用户的需求;随着传授教化知识体系的扩展,须要知足中,高等水平用户更自由化的开拓功能。

而对付已有用户的留存和生动,也须要投入相称的精力去完善用户运营干系的功能,比如编程猫已有的社区,少儿编程赛事,现在我们也可以看到编程猫推出了不幼年朋友KOI,持续加码社区运营。

编程猫自身的少儿编程工具矩阵经由4年多的迭代已经成为了它强有力的护城河,并且凭借这个护城河的存在已经逐渐成为了行业标杆。
编程猫至今已经在工具,社区,传授教化内容三方面都建立起了自己的上风,已经进入到了高速发展的市场扩展阶段,接下来便是比的抢占市场的速率与质量。

同时须要把稳到新进的竞争对手和巨子已经投入资源在工具上进行布局。
腾讯的扣丁,网易卡搭,极客战纪等,有些是基于Scratch的优化,有些是完备开拓出了自己特有的编程工具。
我们仿佛又嗅到了之前的视频行业,共享单车,外卖行业混战的硝烟味道。

当年风靡一时的优酷,土豆,乐视的先发上风在巨子的成本面前完备不算上风,在成本的车轮下任何竞争上风都显得十分微小,最多只能留给企业几年的发育空间,以是说编程猫当前已经上岸为时过早,后续3年将成为能否稳固行业地位并且推进上市的关键之年,且看编程猫如何破局。

全文总结

本文推演了编程猫kitten源码编辑器0到1的产品设计当中关键点的思考,涉及到了立项缘故原由、用户角色研究、用户需求网络、行业知识补充、竞品功能性调研、产品设计原则的确立、需求到产品功能点的转化、信息架构的确立、核心功能设计思路这几个0到1产品设计的主要关键点,末了揭橥了自己对后续产品发展方向的一些意见。

全文每个模块省略了较多的履行细节。
首先是由于篇幅缘故原由;其次是由于以上内容源于自我推理,并非真实情形,说太细随意马虎被打脸( ̄ε(# ̄);末了也有一个好处便是这样能让读者对全体过程有个框架性的理解。

笔者一贯认为任何一件事全局性的把握整体框架是很主要的,因此在文中也用了相称多的思维导图。
全文完,欢迎各位同学留言互换。

本文由 @白子 原创发布于大家都是产品经理。
未经容许,禁止转载。

题图来自unsplash,基于CC0协议