[Java] IntelliJ IDEA success tips

6 minute read

This blog post introduces the Java integrated development environment of IntelliJ IDEA and discusses the secrets of its success.

*This blog is a translation from the English version. You can check the original from here. Some machine translations are used. If you have any translation errors, we would appreciate it if you could point them out. *

This article was originally published on Alibaba’s Intranet by Alibaba’s senior technical expert, Wu Xiang. Currently, it is released with the permission of Alibaba Middleware.

I recently upgraded my Java IDE from Eclipse to IDEA. In the process of upgrading, I researched IntelliJ IDEA and did some research on it. Now that I know why IntelliJ IDEA (commercial) has a better rating than Eclipse (free), I would like to share my personal impressions.

After reading this article, Creative Flow and ergonomics can make you stronger so you know how important they are. This article focuses on the following:

  • IntelliJ IDEA market share and performance
  • IntelliJ IDEA success tips
  • Two factors that distinguish IntelliJ IDEA from other IDE designers
  • Apply IntelliJ IDEA inspiration to your work
  • Make full use of IntelliJ IDEA to strengthen yourself

IntelliJ IDEA market share and achievements

Since 2012, IntelliJ IDEA has grown exponentially. In 2016, it won a 46% market share in the developer market. According to a 2018 survey, IntelliJ IDEA’s market share rose to 55.4%, winning the title of the Java IDE world. Well-known author, software consultant, and speaker Martin Fowler appreciates IntelliJ IDEA on his blog. In addition, IntelliJ IDEA has achieved 98% customer satisfaction, which is a very high figure.

image.png

IntelliJ IDEA success tips

Its success is attributed to two factors, the characteristics of successful products and marketing strategies, according to global researchers.

Successful product features

  • Intelligent code completion: IDEA is integrated with a proprietary interpreter language that enables deep static analysis. This is a killer feature that makes coding more intelligent and efficient.
  • No save button: IDEA provides comprehensive shortcut keys for each function you want to use.
  • Outstanding Performance: Extremely smooth user experience.
  • IDEA not only maintains the core plugins, but also provides a great toolkit to provide a consistently good user experience.

Successful marketing strategies

  • IDEA beat many competitors by focusing on the product and adhering to “better” design philosophy and principles.
  • IDEA has a dedicated marketing team, but its simple yet powerful slogan perfectly fulfills its core marketing logic. Give it a try, and if it feels better, try it.

I think most people are already familiar with the features of IDEA. So I won’t go into them in detail here. Now let’s find out the real reason why IDEA was successful.

How does #IntelliJ IDEA make a difference in the IDE design world? In my understanding, the underlying reason why IntelliJ IDEA has become so popular and emerging is that it follows two important design philosophies.

1. Do not release developers from the flow

All aspects of IntelliJ IDEA are ergonomically designed. IntelliJ IDEA is built on the idea that every minute a developer spends in a flow is a good time, and what drives a developer to leave the flow is a bad time. All design and implementation decisions aim to eliminate or minimize any potential disruption to the developer flow.

Personally, I feel that this quote is very beautiful.

“Creative flow”, or simply “flow”, is a state of mind in which you feel that you are evenly synchronized and focused on the task at hand.

When in a state of flow, you feel completely absorbed in your activity and you forget time and space. The flow state is the optimal state of consciousness. According to McKinsey’s 10-year study, productivity is increased by 500% when in the flow state.

After learning this design philosophy, we can’t help but imagine how great our product would be if we were able to pull users in and keep them flowing. Users can efficiently perform tasks, and production efficiency can be greatly improved.

2. Ergonomics

IntelliJ IDEA claims to use ergonomics in the design of IDEA, a “competent and ergonomic IDE for the JVM”.

Ergonomics is the study of how to improve human comfort and reduce fatigue and discomfort through product design. This concept has become very important in home design and human engineering to increase comfort, increase efficiency and reduce pressure.

Here are two typical examples of ergonomics.

Headset for customer service

image.png

Without a customer service headset, customer service representatives will have more trouble.

Zipper carton box

image.png

The quality and ergonomic zipper design of Yiside zipper carton box is the best in the industry.

Ergonomic inspiration in software design

  • Provides a consistent user experience.
  • Break down complex tasks into simpler tasks.
  • Break a long sequence into separate steps.
  • Due to the limitations of human memory, products must be properly reminded to provide users with valuable assistance so that they are completely immersed in their work and unobstructed. See the fifth article in the Resources list for more information.

If you want to experience ergonomic design, you can understand the meaning of ergonomics by looking at IDEA’s design without shortcut keys and save buttons.

Inspiration for our work

image.png

Our team believes in IDEA’s growth engine: great design concept, exceptional user experience, open community, community and commercial parallel business models. It is available as a community version of the Apache 2 license and as a proprietary commercial version. IDEA’s evolutionary wheel is to increase the number of users who have a better product experience, and to use the profits contributed by users to attract people to develop better products. What we have learned from IDEA is that products must be subject to human-centered design.

  • Flow state: It is necessary to list user tasks and keep them in a flow state to eliminate factors that reduce user efficiency.
  • Ergonomics: When designing a product, the scenarios in which it will be used must be carefully considered. This is an integrated design similar to the Sterling architecture. Coding is just one part of software development. All other factors such as requirements and ideas submission, requirements analysis, R&D, product disclosure, commercialization analysis must be taken into account comprehensively. The ultimate goal is to allow users to comfortably complete their tasks with their products.
  • Intelligent Code Completion: Utilize artificial intelligence to improve work efficiency for users. IntelliJ IDEA’s intelligent code completion feature is a classic example to follow.

Conclusion

I would like to integrate the design concepts of Flowstate and ergonomics into the design of technical products, and I look forward to announcing the results soon.

Here I would like to introduce two FlowState IDE plugins.

1. Hot Code Replacement Tool: JRebel

A hot deployment plugin that helps developers modify Java files in a running project and dynamically propagate changes to the running project. [Click for more details] ](https://plugins.jetbrains.com/plugin/4441-jrebel-and-xrebel-for-intellij/)

2. Essential development/test tools: cloud toolkit

Allows developers to develop, test, diagnose, and deploy applications more efficiently. This plugin allows you to easily deploy local applications to any machine. For more information on the Cloud Toolkit, see https://www.alibabacloud.com/help/doc-detail/98551.htm Please refer to.

References

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

About the author

Wu Xiang, Senior Technical Expert at Alibaba Cloud Wu Xiang is a long-time architect of the Alibaba Cloud Settlement Platform and the founder of the tbbpm workflow engine. Wu Xiang was responsible for commercializing cloud products from scratch. In recent years, I am in charge of developing middleware for Alibaba systems such as stores and details.

Alibaba Cloud is a No. 1 cloud infrastructure operator in the Asia Pacific region (2019 Gartner) with two data centers in Japan and more than 60 availability zones in the world. Click here for more information about Alibaba Cloud. Alibaba Cloud Japan Official Page