Blog

Blog

PHODAL

软件抄袭与创新的思考

周末不想写太多的代码,一是因为手部神经性压迫导致疼痛(职业病啊),二是因为我觉得有必要再扩大一下知识范围。在找小说未果的情况下,先是买了本微创新,然后收获挺多的,又买了两本(基于亚马逊推荐。。加上我的成功率,我想只要找到一本就可以找到另外的三本):

  • 《微创新:5种微小改变创造伟大产品》
  • 《第三种创新:设计驱动式创新如何缔造新的竞争法则》
  • 《模仿的技术:企业如何从"山寨"到创新》

看完了三本书,收获还是蛮大的。就想着写篇心得,兼作软文。

一个快速实现的想法

三周之前,我对策划了几天的基于HTML的PPT、博客、演示框架开始了编写之路。到了今天,已然有了243次提交,这意味着每天可能有12次左右的代码提交(ps:感谢党和组织,感谢长年不加班的公司让我有机会去写代码)。

如果你用过impress.jsreveal.js,那么我想你是知道网页版的Slider是长什么样的。如果不知道的话,快来看看EchoesWorks Demo吧。

  • impress.js有着酷炫的动画效果,但是不支持Markdown。
  • Reveal.js支持Markdown,但是一点儿也不炫。

于是,在很久以前我有一个想法是,基于两者做一个这样的框架,但是觉得这样子显得没有创意。这也是为什么到了,现在EchoesWorks还没有华丽动画效果的原因之一(ps:另外一个原因是我对CSS3的动画效果还没有深入的研究,如果你研究过快来加入我们吧)。显然,这激发不了激情。

直到有一天,我在想为什么我的博客还是静态的, 应该要有点弹幕,应该要有点动作。便让我联想到了视频,拿视频当博客有点儿戏,又浪费时间。一个Slider和视频的差距,我想只有字幕音频了。接着,来了一场头脑风暴,开始编码之后,就有了之前很水的一篇文章: 《EchoesWorks —— 打造下一代技术Blog/Presentation 框架》

So,来看看我是如何快速再造一个Slider的:

  1. 首先,我找到了一个叫bespoke.js的框架,它是一个DIY Presentation Micro-Framework,有了这个框架也有就有了基本的轮廓。
  2. 接着,我需要处理用户输入来控制Slider,便参照来了impress.js的代码。
  3. 由于,需要基本的计时工作,就参考了timeline.js的基本原型设计来完成。
  4. 需求告诉我,还需要一个进度条,接着就找到了nanobar
  5. 在微博上发的时候,发现对移动设备支持不友好,就参考了Swipe来完成左右滑动的功能。

结局便是,我抄了一堆软件来再造一个Slider,虽然还没有造完。等等,我做了什么?

  • 写了一堆胶水代码。用于连接各个模块间的功能。
  • 写了比产品代码还多的测试代码。用于保证大多数情况下的代码修改都不会破坏系统的功能。
  • 对其中某部分写得不好的代码,做了重构。

看上去,不像是抄袭,什么是抄袭?什么不是抄袭?

创新

基于那几本书,我对于创新的分类大致有:

  • 体制内创新
  • 体制外创新

上面的分类无异于把这个世界上的处理器分类为:

  • ARM
  • 非ARM

Unix与GNU/Linux

不存在一个好的方法可以成功的把世物分类,不同行业的人的来同创新方法,只告诉我们一件事,这个事件上是没有绝路的。如果这个路行不通,一定还有别的路,只是你没学到罢了。只是就如一些作者所说,创新是可以学习的,但是不是很有的创新都是可以学习的。

如果人看过《技术的本质》的话,那么我想你对书中的一些理论一定很熟悉。如,新的技术是基于现有技术发展起来的。又如,《适应性创新》一开始举到的造一台多士炉要花一辈子的例子是一样的,如果我们要从头造一个系统要花一辈子。

再回到现实,Linux是一个内核,BASH是一个Shell工具,glibc是C运行库,GCC是编译器,还有Binutils、Coreutils、Diffutils、Gawk等等都是一堆库,或者称之为技术,如果没有胶水般的程序将之整合成一个系统的话,那么这些模块有些可能就消亡了。然而,是Unix告知了GNU/Linux系统的开发者们,你们要用怎样的胶水来粘合这些模块。故而,在过去到现在的很长一段时间里,GNU/Linux都逃不了Unix的阴影。

不幸的是,今天已然是GNU/Linux的天下,未来人们就会各种诉说GNU/Linux是如何创新。

同我当时在课上学习设计模式一样,只有先模仿和基于别人的模式,之后才有可能有更大的突破。同理GNU/Linux已经达到这样的阶段。不要和我说苹果是如何创新,没有模仿,只是它们做了胶水做得更好,或者说现在,他们设计了更好的胶水。

说说创新

过去,每天我们都闪现着不同的灵光。有时,我们经常和自己说不可能,说多了有时候就不再想了。或许受当前的条件约束,和所谓的梦想一样。想想,所谓的创新要么就是在现有的产品进行微创新,要么就是某种形式的"无中生有"。人们通过不知道他们知道什么,或许又如《乌合之众》说到的那样,群众只接受简单观念、群众不知道他们需要的是什么,你也难于动摇一群群众。

于是,当我们创造出一种新的产品的时候,我们很难确定这是不是市场所能接受的。而有时候调研,又没有办法办法来帮我们合理地解决创新产品的问题。也从某种情况上说明,像苹果、微软这种后来者,更容易获取市场占有率的原理。因为先来者,已经将更多的理念赋予大众。那么,后来者只需要研究用户体验、用户需求,便可以创造出更好的产品,前提是要有足够的速度。而,速度从侧面反映了一家企业的意识形态。

很多时候一家大公司只所以被新创企业打得无还手之力的原因,除了速度,也还在于错误的决策。而错误的决策在当时可能是最有效的,但是如果没有足够快的意识到这样的创新,便同诺基亚一样,需要当明年重新复苏。而有这样的机会的公司是少之又少。

总得有那么一些人,需要看看他们新产生的竞争对手。笑他们,还不如去学习他们。

创新,其实是Keep Study

其它

启示

作为一个技术人员,除了保持速度和学习。还要尽快地做到所谓的,作为一个中国人看到这三个汉字从中国传到了日本,再从日本传到了美国,又从美国传到了中国。难道就不应该有一点点觉悟么,从模仿开始,到自由自在地创造。

模仿和创新只在一刹那之间,想想你做这个东西是为了什么。除去你模仿的功能看看你还能添加什么?不要从一开始模仿,而要从一开始在模仿的基础上创新。腾讯、小米关于模仿的败笔骂名就是在于此,先模仿而后创新。不过,他们有能力、实力可以很好地做到了上面的三个字,即从模仿 -> 赚钱 -> 创新。

但是,如果是一家小公司,那么只有死~~。

关于标题

本来标题应该是写在EchoesWorks三周之后,后来似乎有了更好的突破点。

也想不到一个好的标题来描述主题,这里的抄袭说的不算是真正意义上的抄袭,算是某种意义上的Copy,又或者是某种意义上的再造车轮。

EchoesWorks

快来加入我们吧,项目首页: https://github.com/phodal/echoesworks

(ps: 觉得写得好的,点个star,点个分享)

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《全栈应用开发:精益实践》

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签