用户需求 & 用户体验,当然首先要满足用户需求,真正的从本质上分析,如果一上来就谈用户体验的话,有点本末倒置的感觉,好的用户体验,是建立在真正的解决用户问题的基础上。
说说CoIDE组件平台,我们大家都认为组件平台Bug多,反应慢,上传体验差,等等才造成无人上传,其实不是这样的,我们还没有真正的捕获到用户真正的需要。
那么首先谈谈 组件平台给用户的价值,用户需要什么?
为什么需要组件?
组件的几个特点:
- 可复用,可以用到后续的几个项目上
- 要达到商用的质量
- 要能够方面的用起来 - 比如,要API文档,有示例
对不同的角色,不同的价值,当然,CooCox考虑的最多还是开发者,这个基数最大。
- 开发者
- 有现成 高质量的代码可直接应用到项目中,何乐而不为
- 半导体
- 丰富自家MCU的软件生态,增加MCU的竞争力
- 中间件开发商
- 他们本身就靠销售组件,去赚取利润
- 开发板/工控
- 组件化,便于客户二次开发
- 组件化,也减少了自己工作量
- ARM
- 丰富ARM阵营的软件生态
为什么要创建组件?
- 开发者:
- 复用,方便后续项目中使用
- 半导体
- 可以基于某个官方开发板,开发一些组件和例子,但是他有他的规则,他按照他的规则来
- 如果很容易移植,可能半导体会考虑按照CooCox规则来,或者CooCox的影响力已经太强大
- 中间件开发商
- 他们更多的考虑以什么规范,形式分发
- 开发板/工控
- 同开发者
CooCox的规则
CooCox组件平台的核心,不是有多少多少组件,也不是有一个多么稳定,多么体验好的互联网平台,而是有一个 大家都认同,对大家都有好处的 组件规范/标准。
开发者希望能够有好用的组件用到项目中,至于从何处取得,怎么取得,甚少关心的。
比如CooCox在有一个标准后,可以在Github上创建开源项目,创建一个FTP等等,相信大家也是可以接受的,这并影响他去索取组件。
怎么让大家都采纳CooCox的规则?
我认为应该是:“利益最大化,无后顾之忧”
利益最大化,对不同的角色,就是最大化的共赢。
- 开发者
- 能够很方便的复用
- 组件是开发者的心血,应该永久存储,保密
- 文件的形式,自己可以随心所欲的备份,分发
- 不受开发工具的限制,可以用到MDK,也可以用到IAR,甚至GCC
- 安全,保密,比如后台偷偷的上传
- 友好的协议,比如使用这边标准,没有必要开源我的项目
- 半导体
- 仅仅可以用在自家的芯片上
- 有几种开源协议可供选择
- 很方便的分发
- 开发板
- 保护知识产权,避免竞争者不劳而获
- 采用特别的开放源码协议
- 以二进制发布
- 易分发
- 保护知识产权,避免竞争者不劳而获
- 外设半导体
- 可以用在不同的开发工具上
- 可以用在不同的MCU体系上
- 很方便的二次分发
- 中间件开发商
- 很方便秀出中间件的好处,价值
- 通过文档等方式,降低中间件的使用成本(复杂度)
- 提供平台供其推广
ARM是我们的榜样
CMSIS-PACK标准,我很欣赏。
CMSIS-PACK标准,相当于为 组件分发 制定了一个标准,ARM把各个角色的利益最大化:
- 对半导体,可以根据这个标准,添加自己芯片的工具支持,包括但不仅仅限于MDK,甚至可以分发
- 对开发板,开发板可以在使用工具时使用,另外,也增加了一个比较优的推广平台
- 对开发工具,根据这个标准,可以把生态环境其他资源纳入自己的阵营,比如开发板
- 对开发者,最多的方便使用各种组件,二来方便自己组件的存档
CooCox的标准?
CMSIS-PACK 很好的解决了分发的问题,其实,CooCox组件平台也是为了解决分发问题,CMSIS-PACK集整个ARM阵营的力量,CooCox还是主要靠自己,另外在发动一些志愿者,但是志愿者却少的可怜。ARM站在了一个比CooCox更高的位置。
CMSIS-PACK, 我到建议直接使用,当然,CMSIS-PACK也是有缺点的,比如版本迭代,适用环境等等。
那么组件内部的核心,怎么提高这个组件质量,测试标准,文档标准, 图形化配置?可能CMSIS-PACK还没全部涉及到。
太考虑自己的利益,站的可能就会不够高,且封闭,容易被推倒。
我们考虑是不是在CMSIS-PACK优化的基础上, 完善下?