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

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

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

  • InteliJ IDEA 当前的市场情况与表现;
  • IntelliJ IDEA 成功的原因;
  • IntelliJ IDEA 在 IDE 设计器领域胜出的两个关键点;
  • IntelliJ IDEA 对现实工作的启示;
  • 充分利用 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 的特性已经非常熟悉了。 接下来,我们将分析其真正强大的原因。

在 IDE 设计器领域里,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“。

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

接下来例举两个人体工效学的经典例子:

1. 客服耳机

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

2. 一撕得的包装箱

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

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

  • 统一的UX风格设计;
  • 将复杂任务变成简单任务;
  • 将长任务分解成短任务;
  • 因为人类的有记忆力的限制,所以要适当提供提醒,提供关键的辅助给用户,让他们完全沉浸在核心工作中,不被打断。

(更多提示,可以看参加文献的第5篇文章。)

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

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

经过团队的讨论,我们认为 IDEA 的增长飞轮在于:优秀的设计理念,卓越的产品体验,InteliJ IDEA 开放的社区,免费与专业收费并行的商业模式。IDEA 不断更新迭代的路径就是用更好的产品体验,吸引到更多的用户,用户贡献了更多的利润,用来吸收更多的优秀人才,一起开发更好的产品。这给予我们现实工作的指导意义,产品要回归至以人为中心的设计理念:

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

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

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

1. 热替换利器:JRebel

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

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

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

参考文献

  1. https://www.javaworld.com/article/3114167/development-tools/choosing-your-java-ide.html
  2. https://www.youtube.com/watch?v=Eyy9ddRgMX8
  3. http://catalyticcolor.com/scientific-research-about-flow/
  4. https://en.wikipedia.org/wiki/Flow_(psychology)
  5. http://ergo.human.cornell.edu/ahtutorials/interface.html

本文作者:无相,阿里巴巴资深技术专家,多年担任汇金平台的架构师,是阿里tbbpm工作流引擎的作者。曾在阿里云负责过云产品 0 至 1 的商业化,最近几年在负责阿里的店铺&详情等系统的中台建设。目前,新零售业务平台正在招聘优质架构师,欢迎投简历到 wuxiang#alibaba-inc.com 邮箱。


本文作者:中间件小哥

原文链接

本文为云栖社区原创内容,未经允许不得转载。

阿里巴巴资深技术专家无相:我们能从 InteliJ IDEA 中学到什么?的更多相关文章

  1. 阿里巴巴资深技术专家雷卷:值得开发者关注的 Java 8 后时代的语言特性

    作者 | 阿里巴巴资深技术专家  雷卷,GitHub ID @linux-china 导读:在 Python.JavaScript 等一众编程语言崛起风靡之际,一代霸主 Java 风采虽不及当年,但仍 ...

  2. 阿里云资深技术专家黄省江:让天下没有难做的SaaS

    导语:本文中,阿里云资深技术专家黄省江(花名禅笑)将聚焦“SaaS加速器——让天下没有难做的SaaS”,对伙伴来说,SaaS加速器帮助他们做好SaaS,卖好SaaS:对企业来说,SaaS加速器帮助他们 ...

  3. 专访阿里云资深技术专家黄省江:中国SaaS公司的成功之路

    笔者采访中国SaaS厂商10多年,深感面对获客成本巨大.产品技术与功能成熟度不足.项目经营模式难以大规模复制.客户观念有待转变等诸多挑战,很多中国SaaS公司的经营状况都不容乐观. 7月26日,阿里云 ...

  4. Android无线开发的几种常用技术(阿里巴巴资深工程师原创分享)

    完整的开发一个android移动App需要经过从分解需求.架构设计到开发调试.测试.上线发布等多个阶段,在发布后还会有产品功能上的迭代演进,此外还会面对性能.安全.无线网络质量等多方面的问题. 移动A ...

  5. 从零开始入门 K8s| 阿里技术专家详解 K8s 核心概念

    作者| 阿里巴巴资深技术专家.CNCF 9个 TCO 之一 李响 一.什么是 Kubernetes Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台.Kubernetes 这个 ...

  6. 阿里巴巴持续投入,etcd 正式加入 CNCF

    摘要: 2018 年 12 月 11 日,在 KubeCon + CloudNativeCon 北美峰会上,etcd 项目正式加入 CNCF. 2018 年 12 月 11 日,在 KubeCon + ...

  7. 首次揭秘:阿里巴巴中间件在 Serverless 技术领域的探索

    Serverless 话题涉及范围极广,几乎包含了代码管理.测试.发布.运维和扩容等与应用生命周期关联的所有环节.AWS Lambda 是 Serverless 领域的标志性产品,但如果将其应用于核心 ...

  8. 云时代的分布式数据库:阿里分布式数据库服务DRDS

    发表于2015-07-15 21:47| 10943次阅读| 来源<程序员>杂志| 27 条评论| 作者王晶昱 <程序员>杂志数据库DRDS分布式沈询 摘要:伴随着系统性能.成 ...

  9. 阿里AI设计师一秒出图,小撒连连惊呼,真相是...

    近期,央视<机智过人>的舞台上来了位“三超设计师”——设计能力超强:出图能力超快:抗压能力超强,成功迷惑嘉宾和现场观众,更让撒贝宁出错三连. 节目一开场,这位“设计师”就为现场嘉宾:主持人 ...

随机推荐

  1. XSS“从1到0”

    时隔半年终于也应该更新了,之前说的每周更新也因为懒散这个借口变得遥遥无期.之所以叫这个标题,是在Freebuf上看到一篇文章,开头作者问到:“网上大多的文章标题都是XXX从0开始,可我们到底什么时候能 ...

  2. leetcode 843. Guess the Word

    我做过的第一个 interactive problem 给一个候选词列表,每次猜测可以猜里面的词,会返回猜中匹配的个数, 可以猜10次, 加上随机化策略之后几乎可以一定通过测试(尽管不是100%) c ...

  3. Java正则表达式实例详解

    创建正则表达式 你可以从比较简单的东西入手学习正则表达式.要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档. 字符 B 字符B \xh ...

  4. (大概是最全的解决方法)使用bandicam录制视频导入pr后音画不同步问题

    遇到这个问题大部分都是使用了VBR来录制视频导致的, 搜集了各种能够找到的方法,并没有每个尝试过 一 Handbrake转码 Audio out of sync AFTER importing 解决方 ...

  5. 配置android studio环境2

    安装android studio 2.1运行 exe 程序 安装截图 备注 :O(∩_∩)O~等了 ,但是还是失败, 完全安装啊,不影响,可以手动运行安装目录下的 如:D:\Program Files ...

  6. fastjson 对象和json互转

    list转json List<Openid> openids = od.getAll(session); String json = JSONObject.toJSONString(ope ...

  7. SpringBooot-基础<1>-构建项目

    SpringBooot-基础<1>-构建项目 使用Springboot创建web工程,我使用的工具:STS,JDK1.8 1. File -> New -> Maven Pro ...

  8. Vbulletin Used to Show Malicious Advertisements

    In the past, we have seen a massive amount of vBulletin websites compromised through theVBSeo Vulner ...

  9. Calendar to julian date format

    1.JULIAN DATE 定义 2.示例: 定义枚举: public enum JulianDateType    {        /// <summary>        /// J ...

  10. LUOGU P1081 开车旅行 (noip 2012)

    传送门 解题思路 这道题刚了一下午,主要就刚在set那里了.先写了一个暴力70分..之后优化预处理,看着大佬神犇们都用的什么双向链表之类的东西,本蒟蒻不会,又懒得手写平衡树,就拿了个set搞了搞,感觉 ...