IntelliJ IDEA and yFiles diagrams

I have a long history with IntelliJ IDEA and in overall I love it. Sure there are tons of minor (and also more than minor) issues but it’s just like with a marriage – you have to find a partner who’s flaws you can tolerate. IntelliJ IDEA is such a partner for me.

But there is a thing I really don’t understand at all – for years I hoped JetBrains reconsiders, but it seems to be a lost cause. I believe their diagramming is just plain terrible. And the reason is not how the diagrams look like – even though while some UMLs are nice most dependency diagrams generated from any bigger POM file are virtually unusable.

The worst part of the whole experience is mouse control over the diagram:

  • Mouse wheel scrolls vertically, but terribly slow. Zoom would be much better. Use Ctrl+wheel. But even if you unzoom as much as possible, you often don’t see anything because the canvas is much bigger and the diagram gets lost somewhere. Tip: Try to find it in the middle using scrollbars for orientation.
  • If you ever tried to drag the viewport (aka hand tool or something) you find out that all the intuitive ways don’t work. Even worse, they stand in your way. Use Ctrl+left mouse, BTW.
  • If you try middle mouse on its own you’ll experience the most weird thing – after you drag with middle mouse, nothing happens. But the moment you move the mouse cursor a magnifier appears on the spot where you ended dragging. No clicking makes it go away. Tip: Just press Alt, seriously. Don’t ask. With Alt you can actually move the magnifier around.

If you’ve ever seen dependency diagram in Eclipse you probably can’t understand the layout of IDEA’s diagrams – or anything else around them for that matter. In the aforementioned dependency diagrams you either see a cobweb of lines with pixel-sized boxes, or hardly more than couple of boxes you can actually read at the same time. I tried various layouts and I don’t like either really – and it’s not my visual taste, it’s how unhelpful their layout typically is.

There are some things to like, I guess. I like how you can navigate them with quick search (typing). But that’s about it. Why the visualization and layout engine is how it is and why the controls are so counter-intuitive is beyond me.

Of course, if you’re more regular user of these diagrams you’ll probably get familiar with the controls. Not sure about the layout though. I don’t know how much these flaws are related to the used commercial yFiles and how much is IDEA’s integration.

Conclusions? Don’t forget that Alt to get rid of that magnifier. 🙂 I personally believe the diagrams could have been much better and easier to navigate, perhaps even without a commercial engine. That would also enable the community around the free IntelliJ Platform to build something on top of them.


2 thoughts on “IntelliJ IDEA and yFiles diagrams

  1. Hi!
    yFiles developer here! We are the ones who produce the library that is used and “blaimed” here. I just wanted to state that all of this can be customized with our library and the gestures you are seeing here are *not* the default gestures, but they have been adjusted by our friends at JetBrains. The component doesn’t get a lot of love, I fear, but if you submit a bug report or feature request they are open to this most of the time and often they are happy to make improvements if you approach them with constructive feedback.
    Again: The behaviors you are seeing are not the default. While people debate a lot whether the mouse wheel should be zoom or scroll, both can be done with our library (and if you try our desktop editor you can switch between those settings with your desired setting actually being the default). Also I would argue that in our demos by default we use a better default – in fact the kind of behavior that you are more likely to see, if I understand you correctly.
    Regarding the automatic layout: the version that they are using may be very old and the layouts have improved since then, but layouts are *very* hard. It can be difficult at times to find a configuration that plays well with the kind of diagrams that you want to display. I am positive that we can do better in general (play with our demos here and see for yourself: ), but it’s not easy to get it right for all kinds of diagrams and I don’t think they have invested enough time here to find the right configuration.

    1. Hi yGuy, thanks for the clarifications. I tried not to blame yFiles more than IDEA and I’m sorry if it seemed so. I actually regularly report bugs and improvments… I’ve just checked upon this one and there is with title “magnify circle showed up in diagram, no way to remove it” (not created by me, but I thoroughly commented it). I forgot about it already – as my comment is from Sep 2012! 🙂 Literally any user I know and tried any IDEA diagram got caught in the trap of this gesture.
      I realize that layouts are hard – I’d not dare to do them myself. 🙂 Again, IDEA uses these, it always displays “Powered by yFiles”, so you got mentioned. That’s what I see as a user. But I’m glad you added information from yFiles perspective. Best regards.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s