对于Hack Day,人们会有不同的想法。我们聚集到了一起做一些有意思的东西,然后我们将看到不同听人做的东西,也将向不同的人展示我们做的作品。
我想再说一下这个话题的原因是——我们又到了三个月一次的Happy Day,今天是第一天。因为我们是乙方,因此我们的Hack Day是由甲方出钱让我们Happy 三天。在这三天里,我们可以用我们喜欢的技术做一些挑战,如用客户所拥有的大量数据做一些数据挖掘。并且由于组织结构本身是扁平的——产品经理和设计团队在一起工作,我们可以做出更有创意义的东西来。
而作为一个技术人员,在三天里玩一些Fancy的技术也是很有意思的。
创新是一个很有意思的话题,人们都在不断地鼓励创新。到底什么才算得上是创新?
作为一个企业想要有创新的目的莫过于:想活得更久。在多数的情况下,限制企业创新的主因便是企业本身的组织结构问题。如果一个在市场方面占有领先地方的公司做了很多创新,必然会更受尊重。Google在这方面做得不错,然而也饱受批评——毕竟,公司都是以营利为目的。如果一个产品本身达不到预期的营利要求,那么它必然会被关闭。
以Gene Meieran的观点来说,创新有不同的几种类型:
突破性创新一般很难出现在现有的业务上,多半会出现在初创企业上。如第一次看到AirBnb,就让觉得他们也是脑洞大开。
对于我们来说,创新主要就是渐进式创新和再运用式创新。
记得我们的上上次Hack Day的主题是慈善,我们想做一个O2O捐赠(ps: 当然这个项目是开源的,代码放在GitHub上:https://github.com/icharity)。对于我来说,这是一次彻底的自由技术选型。
我们平时的主要语言是Java、Ruby、JavaScript,我们还使用了个古董级别的搜索引擎。尽管应用现有的系统架构可以完成我们的功能——搜索引擎保存、搜索数据,用Java语言来实现业务代码。但是在这样一个“伟大的节日”,我们还是自由地去创新。
于是,我使用了Django作为主要框架,ElasticSearch作为数据持久化,使用Node-Wechat来处理用户输入。接着在这三天里,就Happy的去写代码了。Blabla,然后就可以欢快地和人们去ShowCase了。
而这便是一个很好的再运用式创新,而这也是一个很通俗的例子。现在我已经想到了一个更简单的例子了:以前当我们不懂得设计模式的时候,我们写的代码可能看上去可以重构,但是又找不到一个好的点。而有了设计模式之后,我们便可以在我们学到的新思维用到旧有的代码里。
对于上面的例子来说也是相似的,我们已经有了旧有的技术模式,只是现在我们有了新的业务。新的业务可以匹配到我们旧有的技术框架里,旧的技术框架可以得到复用。
这一次我们要做的Hack便是对两年前的一个Idea进行改进。
之前,我们(我当时是实时生,只是在打酱油~~)用WebRTC、Arduino、Android手机、四轮小车作了一个小机器人。我们搭建了一个WebRTC的Server,手机与四轴小车做了一个漫游者,然后你可以在网页上看到小车看到的东西,并且你还可以在通过WebSocket在网页上操作他。
而我们的新Idea,便是用Oculus替换掉浏览器——我们可以用Oculus来观看远程的画面,当然还应该可以移动。尽管改变看上去很少,但是还是充满了技术挑战——详情见下回分解。
而这也是多数产品的一种路线,而这是这种路线让一个又一个的程序员加班。因为Idea本身不一定可靠,没有人能保证他们的想法一定可行。但是如果程序员不是那个出Idea的人,那么就只能任人宰割了。渐进式创新是很保守的技术创新,在现有的产品的基础上加以改进——算是加法创新。
每次当我们想到一个Idea的时候,我们总会冠以一个千万级的头衔。但是这个世界是一个并不缺少Idea的世界,一个Idea被想到没有执行下去是有一定原因的。
围观我的Github Idea墙, 也许,你会遇到心仪的项目