Revision as of 13:15, 21 November 2012 by Saubrecht (Talk | contribs)

Date: 20 NOV 2012. Work in progress, subject to change.


UI and UEX Areas of Interest

NetBeans IDE keeps evolving. Although it's UI has been stable for a long time, adjustments and improvements are of course possible and in many respects desirable. Also, UI flaws get recognized that need correction.

To keep the IDE in good shape we introduced an updated UI Review process (NetBeans 7.3+). See UIReviews for details.

Here we summarize some of the wider areas of concern. If adding/modifying, please keep descriptions short (details to be filed as Bugzilla issues), state what is the current state, and briefly what is the intention of the UI change to be considered. Include links to relevant Bugzilla issues if such exist (file them if needed).

Start Page

Current state: Works, but for a long time remains undeveloped.

Intention: Consider update of both content and look.

New Project and New File Dialogs

Current state: New Project and New File dialogs suffer by project/file type ordering and categorization flaws. Frequency of use is not respected. Many types end up in Others category, generally in many cases it is not clear quickly enough where to search for a particular type. Project type categorizing is partly but not completely mixed up with technical details (we have Maven category but no Ant category). No filtering is possible.

Intention: Provide more flexibility and streamline project/file type selection procedure.


Current state: Menu structure has been quite stable, yet it gets disrupted from time to time by modules that do not respect conventions. Apart from that, some contextual flaws can be found, like partial logical duplicities (Source->Inspect and Refactor->Inspect and Transform can arguably be unified ?), displaying project specific items at times when they logically should not be available (Tools->Ant Variables is available at all times, even for Maven projects), etc. Parts of the structure could certainly be improved by reorganization (see the contents of Window->Output, Navigating, Debugging, Profiling, Versioning, Other, etc. Note misplacements and omissions, like the missing Hierarchy item in Window->Navigating etc.) There is also problem with startup - when the menu is clicked too soon in the startup sequence its dropdown does show but it is unusable until the menu initialization is finished (that could take a few seconds). Perhaps we should introduce some better menu initialization process.

Intention: overall check of all menus and possibly improvements in all respects mentioned above.

Dockable Window Lifecycle, Sub-Tab Lifecycle

Current state: Various dockable windows get opened under the main editor window as result of user action (Find in Project, Find Usages, Variables when debugging, etc.). In some cases repeated action invocation reuses the already opened window, in others it opens a new sub-tab. In some cases this can be affected (at places that may not be easily discoverable, see the Open in New Tab checkbox in the bottom of Find Usages dialog). There is no way to 'pin' a tab, i.e., to make its contents read-only on demand.

Intention: A generally applicable UI should be found to enable more intuitive and powerful management of dockable windows and re-use of their contents.

See: UEXTabReuse

Dockable Windows UI

Current state: Various dockable windows get opened under the main editor window as result of user action (Find in Project, Find Usages, Variables when debugging, etc.). Many of them display similar type of output or at least the actions provided in their UI are equivalent. Yet their UI is often quite different. Compare especially the vertical toolbars in them. One example of this discrepancy is the handling of Refresh. In some cases there is one Refresh button in the top and a disabled Cancel underneath, which gets enables when refresh is going on. Elsewhere the button Cancel replaces Refresh. Etc.

Intention: Unify UI wherever unification makes sense (where the same or equivalent actions are to be presented in the UI).

Lengthy Operations Notification / Notification Center

Current state: Lengthy operations are currently tracked using a progressbar in bottom right of the IDE. Multiple progressbars can get stacked for multiple running operations. What is missing according to some users is extended ways of notifying that something has finished etc. Using sounds, or pop-ups, or bubbles, or other ways of notification have been demanded.

Intention: consider creating a 'Notification Center' as a unified and powerful tool for managing IDE messages of any kind, including notifications related to lengthy operations.

Keyboard Shortcuts and Mnemonics

Current state: duplicities and other keyboard shortcut assignment flaws can be seen in current IDE. Non-default shortcut configurations are outdated/nonfunctional.

Intention: overall clean-up and update should be made.

See: [1], UISteering-Mnemonics.

Inspect Members and Hierarchy

Current state: Inspecting Members and Hierarchies of class inheritance, but also call hierarchies etc. have been improved in 7.3 but still provide lots of space for improvement. UI is different in Java and C++, etc.

Intention: Improve UI of hierarchy views that come from various implementation sources (hierarchies).

See: UEXInspectMembersAndHierarchies

Vertical Space

Current state: NetBeans IDE provides many ways of maximizing vertical space, that is becoming more and more precious due to the current trend of wide-screen LCDs. Yet more can be done.

Intention: Consider optimizations, both static (current LaF) and functional (actions) that would help either temporarily or permanently increase the amount of vertical space available to editor.


Current state: the latest style of NB imagery as seen, e.g., in main toolbar and in the most common windows, can be considered successful. There is nevertheless the problem of lacking unity. Not always the latest icons are used to good effect, older versions are often mixed up to depict the same or equivalent actions.

Intention: unify the icon style across the IDE and ensure the correct icon is always used for each action.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo