图形化编程软件市场调研

通过调研了解市面上面向儿童的图形化编程软件信息和交互逻辑及它们的优缺点,根据新版本的逻辑设计出符合移动端和交互逻辑的软件界面,我的工作是配合软件工程师、工业设计师提升新版本的交互和用户体验。

产品调研

Scratch


Scratch是麻省理工媒体实验室终身幼稚园组开发的一套电脑程序开发平台,旨在让程序设计语言初学者不需先学习语言语法便能设计产品。开发者期望通过学习Scratch,启发和激励用户在愉快的环境下经由操作(如设计交互故事)去学习程序设计、数学和计算知识,同时获得创造性的思考,逻辑编程,和协同工作的体验。
Scratch 开发平台可安装在Mac OS X、Windows、Linux的平台上;自2.0之后,换用Actionscript编制,Scratch运行于浏览器。Scratch源码开放给非商业性质用途使用。
由于开源现在市面上特别是国内有很多图像化编程多多少少有Scratch的影子。

Blockly


Blockly是google开发的一套图形化编辑外壳程序。或者说这是一个图形化的框架,已经集成了图形块的拼接、拖动、删除等,图形化脚本操作环境开发的很完善。不过这个框架的底层,也就是生成代码部分需要第三方去自行定义。例如图形化界面转成javascript就可以开发网页,转成arduino代码就可以针对开源硬件进行图形化编程,等等。由于这个框架使用方便,功能完备,所以有一些图形化软件就是基于blockly简单修改实现的。
https://developers.google.com/blockly/

Ardublock


Ardublock是Arduino官方编程环境认可的第三方软件,基于Java开发,必须依附在Arduino软件下运行。区别于Arduino的文本式编程环境,Ardublock以搭建图形化积木的方式编程。这种方式会使编程的可视化和交互性加强,并且编程门槛降低,使没有编程经验的人也可以尝试给Arduino控制器编写程序。

Mind+(Mindplus)


Mind+是一款特别的图形化开发工具,这个软件采用C++和Qt开发,界面精致,相对其他拼接指令式的编程软件,确实有一些新意。此软件通过抽象出软件开发中的命令流和数据流,模拟成图形界面中的红蓝折线,通过导线的流动体现出程序流程和数据传递的过程,使得初学者都很容易看懂。和ardublock类似,软件也是提供图形界面的表现层和操作层,而底层的编译下载直接调用arduino环境的命令行接口。

乐高 EV3


EV3最大特点是无需使用计算机就可进行编程:EV3配备了一块“智能砖头”,用户可以使用它来对自己的机器人编辑各种指令。而在过去,使用者只能通过计算机来进行该操作。编程完成后,使用者还需要通过一根数据线将程序下载到机器人身上。但是现在,EV3完全不需要计算机。

Modkit Micro


modkit micro最初是在Kickstarter众筹的项目,modkit micro是一个用于微控制器的图形编程环境。微控制器允许程序员和工程师为日常用品和电子设备添加行为。我们创建了modkit micro,将微控制器编程的世界带给大众。通过一个简单而强大的可视化编程界面,modkit micro几乎可以帮助任何人使任何东西变得更智能。

Sparki


sparki 教你如何编码,电子部件如何工作,如何批判性思考和解决问题,STEM的所有元素(科学、技术、工程、数学)如何协同工作,以及机器人如何实际工作,以便你可以用机器人控制未来,而不是由它来控制。

总结

产品 总结
Scratch 起源于MIT媒体实验室,旨在推广教育儿童编程启蒙,软件开源,成本低,兼容平台广。国内外的图形化编程软件很多基于Scratch深度定制。
EV3 Programmer 独立的硬件和软件体系,在儿童图形化编程里做的最早而且体系最完善的一个,功能强大,交互和UI设计都很出色。再加上乐高积木可玩性很高。
Blockly 自Scratch后又一款开放程度很高的软件,虽然它的初始版本,对于儿童来说依然有难度,但是它的衍生版本很多做的都不错,比如Scratch Blocks、ozoblockly、blocklyprop等。
Ardublock 由上海新车间创客开发,ArduBlock软件是Arduino官方编程环境的第三方软件,现在必须依附于Arduino软件下运行,区别于Arduino文本式编程环境,ArduBlock是以图形化积木搭建的方式编程的,这样的方式会使编程的可视化与交互性加强,编程门槛降低。表现层个人觉得还可以做到更好。
Mind+ Mind+支持Arduino,目前一些功能还不是很完善,不过在设计和交互上比ardublok更胜一筹。
Modkit Micro 只支持Arduino及其周边硬件,软件分主控制和传感器、数据运算模块、代码三块。
Miniblop 基于Arduino的定制版,硬件还是软件都是比较粗糙。

市面上图形化编程软件分为3类

  • 1.自研软件。比如:乐高EV3
  • 2.arduino系。比如:Ardublock。
  • 3.scratch系。比如:Modkit Micro。

从产品角度看,乐高的EV3是最完善成熟的体系了,基于乐高积木为基础,产品的可玩性和创造新更高,软件的交互体验也是最好的,不过产品价格昂贵及相对复杂的组件也是不可忽略的因素。
面向中低端的产品,考虑到成本因素很多采用开源软件或者硬件定制化。

从产品定位看,能力风暴的和乐高ev3属于一类体系。拥有自主研发的软件和硬件,只不过它们的市场定位有差,能力风暴专注于很多是在学校和教育领域。
作为成熟产品的迭代,考虑到老用户的使用习惯,我们还是尽可能的继承原版元素。减少后期的培训和使用障碍。
对于新用户而言,我们希望他们更快更高效的完成其项目。

优化点

  1. 去除模块组件的二级页面
    原本需要二次点击的设置,我们可以把它放进第一层级
  2. 图形化模块组件
  3. 所见即所得

界面设计迭代

图标迭代

模块迭代

软件界面