I know that it's still early on in the implementation of the new module/contents concept and I think it's quite a powerful notion.
However the more complex the idea gets the harder it gets to design a intuitive, clear GUI. So I'd like to comment mainly on the "Contents" tree view in the project properties, while there still is time for changes:
- I don't think a pure tree view matches the concept very well: "Source Folders", "Test Source Folders" and "Exclude Folders" are different concepts alltogether, while the top level tree hierarchy (contents itself) and the bottommost level (folders) are homogenous lists.
Only the latter should be incorporated in a tree/list.
It's even worse because the folders have "folder icons" (though they are in fact leafs in this view) and the other levels also have folder icons. So it's hard to locate and differentiate visually.
- Besides the layout needs too much vertical space and uses horizontal space ineeficiently: I can never see all my source folders simultaneously, because I have seven contents configured. Most have only a single source folder. I should be able to see my ten different source folder on a single page?!
The implementation has some other bugs and shortcomings:
- When I reopen the dialog all node are always extended (state is not remembered).
- I can select a tree line "Exclude Folders" and click the button "Add Test Folder...", so tree selection is somewhat strange, only the selected content matters. Besides the buttons are so far away from the content if the dialog is wide - which is has to be to display the other property pages properly (English is great sometimes - say that ten times in a row: Property Pages Properly :-).
So the second button from the top at the outer right adds a source folder to the content that is the parent of the parent of the currently selected content! Weird, and not at all inuitive (even though in principle quite logical).
- The content 'names' are hard to locate: Beings both vertically and hoizontally (due to different length of pathes) dispersed. The content names are however the most important information to grasp on first sight.
- Neither the contents in the tree view nor the list in the main panel's project view can be ordered. So my main content is always buried randomly in other services, utility and library contents and is quite hard to locate. Even though order does not matter technically it helps the user a lot.
All in all the GUI is technically quite straightforward and on a cognitive level easy to use, but it is also confusing and I can always only operate it on second (or third) sight, making the least intuitive part to use of Aurora currently.
I do not have the best solution to propose, but some implementation along this line would be a great enhancement:
- Make the tree a TreeTable (http://java.sun.com/products/jfc/tsc/articles/treetable1/index.html)
- Columns should be the "content name", "content path", "Source Folders", "Test Source Folder" and "Exclude Folders"
- Add the "(+)" (like in JDK configuration dialog) sign to the corresponding header to be able to create a new entry for the corresponding column
This would make the GUI much more cleaner, by having all content names, all source, test and exclude folders respectively vertically aligned, so giving a much better overview (i.e. reducing the cognitive load to make it more intuitive).
It would also associate the manipulation more closely with the display: At the exact column header that says "Source Folders" I could click on the "(+)" icon.
It's still not perfect though, because usually a table row shows a couple of properties from a single logical instance, while here we would logically have three different lists rather than a table.
I think this has been my longest posting by far - hope it has some significance.