阿里P8无相告诉你:我们能从IDEA中学到什么?

本文来源于阿里巴巴资深技术专家无相在内网的分享,阿里巴巴中间件受权发布。

来源公众号:阿里巴巴中间件(ID:Aliware_2018)

最近因为工作的关系,要将 Eclipse 的插件升级为 IDEA 插件。升级过程中,对 IDEA 插件做了些学习和研究,希望通过本文,对“为什么收费的 InteliJ IDEA 会比免费的 Eclipse有着更好的用户口碑“这一现象,提供些个人的思考。

阅读本文,您将了解到心流与人体工效的重要性,并使自己变得更强大,文章将从以下几点展开:

  • InteliJ IDEA 当前的市场情况与表现;
  • IntelliJ IDEA 成功的原因;
  • IntelliJ IDEA 在 IDE 设计器领域胜出的两个关键点;
  • IntelliJ IDEA 对现实工作的启示;

InteliJ IDEA 的市场情况与表现


2012年开始,IntelliJ IDEA 便迅速崛起,到了2016年,就占领了开发者市场的 46% 分额。直至2018的最新结果:IntelliJ IDEA 的市场份额增长到了 55.4%,显然赢得了18年 Java 领域的 IDE 王者之战,甚至还有重构大师 Martin Fowler 在其著名的blog上,对 IntelliJ IDEA 赞誉有加。而且根据 IDEA 的产品满意度调查,其满意度竟高达 98%。

IntelliJ IDEA 为何能成功?


很多国外学者也研究了 IDEA,它的成功之处归结起来有以下两点:

1. 产品功能上的成功:

  • 代码的智能提示:IDEA 自主开发语言解释器,做了深度的静态分析,让编程更加智能与高效,这是一项杀手级的特色功能;
  • 没有保存按钮:每一个你想使用的功能,都有快捷键;
  • 性能非常好,用户的体验极其流畅;
  • IDEA 不仅对核心插件进行维护, 还提供了优秀的工具集,给予用户一致的UX范式体验;

2. 营销策略上的成功:

  • 以产品为核心和根本,以 "更好用" 的设计理念和原则打败了很多竞争者;
  • IDEA 没有销售团队,但是霸气的营销口号体现了其内容营销的核心逻辑:”Try it. Test it. If you feel its better, use it“ ,没有多余的营销,真正做到了用产品说话;

相信大部分程序员,对 IDEA 的特性已经非常熟悉了。接下来,我们将分析其真正强大的原因。

IntelliJ IDEA 为何能胜出?


IDEA 的风靡与崛起,在于它遵从了两个关键的设计哲学:

1. 不断打心流

Every aspect of IntelliJ IDEA is designed with ergonomics in mind. IntelliJ IDEA is built around the idea that every minute a developer spends in the flow is a good minute, and things that break developers out of flow are bad things. Every design and implementation decision considers the possibility of interrupting developer’s flow and seeks to eliminate or minimize it.(这句话美得我不想翻译。)

“Creative Flow” or just “Flow” is a state of mind where you feel evenly attuned, and focused on the task at hand.

创造心流是一种思考状态,是你感觉平和或专注于手头任务的时刻,通俗的理解就是当你沉浸于一件事时,有一种忘记时间与空间的感觉,心流会让你处于最佳的意识状态。McKinsey 在2010年的研究表明,当你处于心流状态,你的工作效率比非心流状态下的工作效率提高 500%。

通过这种设计理念的学习,不禁畅想:如果越来越多的产品,如果能像 IntelliJ IDEA 的产品体验一样,让人处于心流,高效完成任务,整体的生产效率将会成倍提升。

2. 人体工效学

IntelliJ IDEA 宣称用人体工效学来设计IDEA, 即 “The capable and ergonomic IDE for JVM”。

我们简要地科普一下人体工效学:这是一门专注研究人体舒适,通过产品设计减少疲劳、不舒适的科学。在家居设计和人体工程学上,都会重点考虑这种设计理念,让人们在使用时感受到更舒适、更高效率与更少的压力。

接下来例举两个人体工效学的经典例子:
  • 客服耳机

如果没有佩戴式耳机的出现,客服同学估计会疯掉。

  • 一撕得的包装箱

一撕得的包装纸质量、胶水质量、人体工效学的拉链式设计,这三种要素在纸箱界都是业界第一。

3. 人体工效学对软件设计的提示:

  • 统一的UX风格设计;

  • 将复杂任务变成简单任务;

  • 将长任务分解成短任务;

  • 因为人类的有记忆力的限制,所以要适当提供提醒,提供关键的辅助给用户,让他们完全沉浸在核心工作中,不被打断。

(更多提示,可以参看文末参考文献中的第5篇)

如果想感受一下人体工效学的设计,体验 IDEA 的快捷键与无保存按钮,立刻就能明白。

对我们现实工作有哪些启示?


经过团队的讨论,我们认为 IDEA 的增长飞轮在于:优秀的设计理念,卓越的产品体验,InteliJ IDEA 开放的社区,免费与专业收费并行的商业模式。

IDEA 不断更新迭代的路径就是用更好的产品体验,吸引到更多的用户,用户贡献了更多的利润,用来吸收更多的优秀人才,一起开发更好的产品。这给予我们现实工作的指导意义就是:产品要回归至以人为中心的设计理念:

  • 心流的提示:罗列出用户的任务,让用户尽可能处于心流状态,消灭导致任务低效的因素;
  • 人体工效学提示:我们在设计产品时,要充分考虑用户使用产品的场景,这是一个一体化的设计,就像星环产品设计。写代码只是软件研发的一环,需求创意提出、需求研发上线、业务商业分析这些整体环节都要考虑,让用户舒适地完成任务;
  • 智能提示:采用人工智能来提升任务的完成效率。IntelliJ IDEA的智能代码提示,是一个经典的案例;

最后:我个人会将心流与人体工效学的设计思想,融入至技术产品设计过程中,期待我们团队的实践篇。

小编推荐两款创造心流的 IDE 插件:

1. 热替换利器:JRebel

一款热部署插件,帮助开发者在项目处于运行状态下任意修改 Java 文件并动态反馈到运行的项目中。

https://plugins.jetbrains.com/plugin/4441-jrebel-for-intellij

2. 开发测试必备部署神器:Cloud Toolkit

帮助开发者更高效地开发、测试、诊断并部署应用,利用此插件,能够方便地将本地应用一键部署到任意机器(了解更多:体验链接)。

参考文献:

Choosing your Java IDE:

https://www.javaworld.com/article/3114167/development-tools/choosing-your-java-ide.html

How To Achieve Creative Flow for Designers and Entrepreneurs

https://www.youtube.com/watch?v=Eyy9ddRgMX8

Research about Flow State

http://catalyticcolor.com/scientific-research-about-flow/

Flow State on Wikipedia

https://en.wikipedia.org/wiki/Flow_(psychology)

Ergonomic Guidelines for User-interface Design

http://ergo.human.cornell.edu/ahtutorials/interface.html

本文作者:

无相,阿里巴巴资深技术专家,多年担任汇金平台的架构师,是阿里tbbpm工作流引擎的作者。曾在阿里云负责过云产品 0 至 1 的商业化,最近几年在负责阿里的店铺&详情等系统的中台建设。

目前,新零售业务平台正在招聘优质架构师,,欢迎投简历到 wuxiang#alibaba-inc.com 邮箱。

2