Project structure tree is too cluttered

I feel very unhappy about the new structure of the project structure tree. I know there were user requests leading to the current state, but I think you carried it too far.

While the separation into project and global resources is theoretically correct, it just adds one level more to the tree, i.e. it hides information and it adds some mouse clicks. And what for? To prevent users from mixing up 'project libraries' with 'global libraries'?

The only thing which could be misleading is the 'JDK' part, where users mistakenly could think that it's the place to configure the project JDK. But that's one information to learn once in a lifetime, against thousands of wasted mouse clicks over and over again.

Please take a look at the attached screenshot to see how I would like to have the structure changed. (I don't remember, but possibly this is exactly how it was before this unfortunate change...)



Attachment(s):
current.png
proposed.png
13 comments

All in all I'm not happy with using the tree for non-tree-structured-data.
IMHO the separation in Irida into different controls altogether was cleaner.

However JetBrains has decided to minimize the number of controls in the UI to make the interface appear less complex. II think that's wrong because project setup is inherently complex and now users must mentally map the separate constructs (projects, modules, dependencies, project/module/global libraries, source/test source/excluded folders, ...) to an interface that mixes things up.
Oops, I'm straying from the point.

In fact I like the tree better as it is now than your proposal: E.g. having module nodes directly under the project node might be obvious if you already know that Idea projects are composed of modules, but esp. for new users it will be confusing (are those subprojects, or libraries or what?).

0

I completely disagree with you. While I agree that a tree is not the best solution for everything, it is at least consistent with other parts of the UI. And the idea of combining all those more or less related settings into one single control isn't too bad either.

So for the second part: I really don't see any possibility of confusion. The module nodes under the project node are not appearing magically, they are added by selecting 'Add Module'. And if you click on it you get a bold title 'Module xyz' on the right side. So it should be quite obvious that it's indeed a module.

0

I feel very unhappy about the new structure of the project structure tree.

Me too :(.

Ahmed.

0

While the separation into project and global resources is theoretically correct, it just adds one level more to the tree, i.e. it hides information and it adds some mouse clicks. And what for? To prevent users from mixing up 'project libraries' with 'global libraries'?

As one of the people who suggested the new structure, I'll defend it. The important part of the new structure is that it teaches the difference between IDEA's project structure and it's global resource structure. As someone who has had to explain the difference quite a few times for new users, adding one top-level node in exchange for making that crucial distinction clear is a trade well worth making. The old version absolutely was confusing, even to experienced users.

On the subject of mouse clicks, I understand that the plan is to make going to the project structure panel at all less necessary. In the last two EAPs, can add module and library dependencies without going to the panel, via quickfix intentions. (That feature rules, BTW. Thanks Anna!) Going further down that path (seting roots or creating libraries via the project panel, module aware move refactoring, enhanced project setup wizard, etc.) will mean that the Project Structure panel more of a point of last resort, rather than a place to go for constant tweakings. At that point, extreme encyclopediac clarity will be even more import for that panel, and the cost in extra mouse-clicks even less important.

--Dave Griffith

0

So for the second part: I really don't see any possibility of confusion. The module nodes under the project node are not appearing magically, they are added by selecting 'Add Module'.

Or, if you are a new user, via the project setup wizard. In which case you are left with no idea what a module is, and no way of learning about them by exploring the application. Indeed, a new user did explore the panel you suggested, you would end up with any number of odd ideas ("JDKs and global libraries are part of the project", "Project libraries are just like modules") that it would take explicit training to clear up. From a usability point of view, this is incredibly important. People learn applications almost exclusively via exploration, rather than training or documentation. Explorations that confuse or frighten are the quickest way to get prospective users to hate your product.

There is no question that the new tree is more "cluttered" for expert users. As an expert user, I consider this a worthwhile tradeoff if it means I don't have to spend my time teaching new users "Project Structure 101". (Also, adding clarity and sanity to the project configuration process is an excellent way to differentiate IDEA from Eclipse's project hell.)

--Dave Griffith

Message was edited by:
Dave Griffith

0

I believe that the main source of confusion is that both project settings as well as global resources are packed into one single panel. And you can add as many levels to the tree as you want, but this confusion won't go away. It's simply counter-intuitive to be forced to open a project settings panel in order to modify an application-wide JDK entry.

As someone who doesn't have to explain anything to new users but who has to have it's work done as quick as possible, adding some extra complexity just for the sake of theoretical pureness is a bad thing. And frankly speaking, I'm quite tired of the never-ending "let's punish all experienced users to save a newbie two minutes of thinking."

Of course this whole thing should be as self-explaining as possible, but you won't convince me that this is achieved by adding even more clutter. Maybe something as in the attached screenshot would satisfy both of us?



Attachment(s):
splitted.png
0

Hello Martin,

I am afraid that I do not understand what will be on the right ;) How to
share selection between two trees?

Thanks.

-


Anna Kozlova
JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

I believe that the main source of confusion is that both project
settings as well as global resources are packed into one single panel.
And you can add as many levels to the tree as you want, but this
confusion won't go away. It's simply counter-intuitive to be forced to
open a project settings panel in order to modify an application-wide
JDK entry.

As someone who doesn't have to explain anything to new users but who
has to have it's work done as quick as possible, adding some extra
complexity just for the sake of theoretical pureness is a bad thing.
And frankly speaking, I'm quite tired of the never-ending "let's
punish all experienced users to save a newbie two minutes of
thinking."

Of course this whole thing should be as self-explaining as possible,
but you won't convince me that this is achieved by adding even more
clutter. Maybe something as in the attached screenshot would satisfy
both of us?



0

Nice indeed, but not sufficient:
You have nowhere to click to show the project settings.

How about having the tree expanded by default?
It would save you your precious mouse clicks, so that the additional tree node won't bother you.

For really big projects with eleventy-nine modules, you could simply collapse all using the toolbar button.

0

It was your idea to merge everything into one panel, so it's your job to find a way out of it... :)

0

Of course you're right, I didn't think about that. And Anna is right too, there's no easy way to make clear to the user which one of the trees is currently selected.

But expanding everything doesn't seem a good solution to me either. It's more the visual clutter than the extra mouse clicks which is irritating me. Well, I was really happy with the simplified tree structure.

0

"Martin Fuhrer" <mf@fuhrer.com> wrote in message
news:18120783.1158331364204.JavaMail.itn@is.intellij.net...

Of course you're right, I didn't think about that. And

Anna is right too, there's no easy way to make clear to the
user which one of the trees is currently selected.

With an outline around a particular tree, of course. Or how
it is done in a particular L&F. Trees should be able to be
selected with a regular Tab key (on Windows), and selected
control should be clearly identifiable. Keyboard must be
fully supported.

0

My first thought was also that it's simple: show on the right side the panel of the tree which is having focus. But as soon as you do anything on the right side the tree won't have focus anymore...

0

Please sign in to leave a comment.