NetBeans Installation UI Spec
This document is a specification of NetBeans IDE installation user interface. It defines behavior of all components involved in NetBeans installation: NetBeans web page; installer; welcome screen and plugin center.
Table of contents:
Use Cases and Scenarios
Download NetBeans IDE
The user is on the front page of www.netbeans.org where she wants to download NetBeans IDE.
Scenario:
- On the NetBeans front page (www.netbeans.org), the user clicks the "Download NetBeans IDE" button, which brings up the download page.
- On the download page the user makes her installer choice by clicking the download button of Standard, Full or Custom installer. Before clicking the download button the user can optionally:
- change OS and language by using the OS and Language combo boxes
- modify selected features in the custom installer column
- After clicking the download button the download starts and NetBeans.org shows a start page showing the installation instructions, check sums and release notes.
Visualization:
| 1. Front page |
2. Download page |
3. Start page - TBD |
 |
|
|
Install NetBeans IDE
The user has downloaded NetBeans IDE Installer (Standard, Full or Custom) and wants to install the NetBeans IDE.
Scenario:
- The user double-clicks the installer icon which immediately shows a progress bar and brings up the installer.
- On the installer welcome page the user confirms selected installation components by clicking the Next button. If the user decides to modify installation components:
- (optional) the user clicks the Customize button which brings up a dialog where the user modifies selected components and closes the dialog.
- On the agreement page the user agrees to the license agreements by clicking the Next button.
- (only in JDK bundle) On the JDK installation page, the user specifies the JDK installation folder.
- On the NetBeans installation page, the user specifies the installation folder and selects JDK to run NetBeans on.
- (optional) On the Glassfish installation page, the user specifies the installation folder and JDK to run GlassFish on. And the user can also change Glassfish options like admin username, password, etc.
- The user confirms the summary page and initiates the installation by pressing the Install button.
- After finishing the installer, the NetBeans IDE icon shows up on desktop; the NetBeans IDE menu item is integrated into the Start menu and NetBeans IDE and optionally Glassfish items show up in the Add/Remove Program window.
Visualization:
| 1a. |
1b. Progress |
1c. Progress |
2a. Welcome |
2b. Customization |
 |
 |
 |
 |
 |
| |
3. License |
4. JDK (in bundle only) |
5. NetBeans |
6. GlassFish (optional) |
| |
 |
 |
 |
 |
| |
7. Summary |
8a. Progress |
8b. Finish |
|
| |
|
|
 |
|
Add features to NetBeans IDE
The user has installed NetBeans IDE and after some time she wants to add more functionality she needs into the IDE.
Scenario:
- During the very first startup the user can notice in the welcome screen advertised option to add more features using the Plugin Center. The optional installation components (plugins) are listed right in the welcome screen. The user clicks the link of a plugin she wants to install and the installation wizard shows up.
- The user can also use the Tools | Plugins menu item to bring up the Plugin Center.
- In the plugin center, the user selects plugins to add to the IDE. Note that the list of plugins contains also optional installation components that weren't downloaded or installed during the IDE installation (including Glassfish required for SOA).
- In the welcome screen of the wizard the user clicks the Next button.
Visualization:
| 1a. |
1b. Welcome Screen |
2. Plugin installer... |
 |
 |
|
Scenario 2 (alternative):
- The user runs the NetBeans IDE Installer again to install components not yet installed during the IDE installation.
- ...
Visualization:
| 1a. |
1b. Progress |
2. Notice |
3. Welcome |
4. Customization |
 |
 |
 |
 |
 |
| |
5. Welcome |
... |
|
|
| |
 |
|
|
|
Scenario 3 (alternative):
- The user visits the Plugin Portal at www.netbeans.org and downloads plugins she needs (the plugins might include optional installation components not installed during the IDE installation - Mobility, SOA, UML, Glassfish).
- ...
Remove features from NetBeans IDE
The user has installed features she doesn't need and now she wants to remove them.
Scenario:
- The user uses the Tools | Plugin Center menu item to bring up the Plugin Center.
- In the plugin center, the user selects plugins to remove from the IDE. Note that the list of plugins contains also optional installation components (Mobility, SOA, UML, Glassfish).
- ...
Uninstall NetBeans IDE
The user wants to remove NetBeans IDE from her PC.
Scenario:
- The user goes to the Add/Remove Programs window and clicks the Remove button next to the NetBeans IDE item which shows up a confirmation dialog to remove the IDE.
- In the confirmation dialog, the user clicks the Remove button and a progress bar starts showing the removal progress.
- (optional) To remove the runtime components (Glassfish), the user clicks on the Remove button next to their item in Add/Remove Programs.
Visualization:
| 1. Add/Remove |
2a. Confirm |
2b. Progress |
2c. Finish |
 |
 |
 |
 |
Specification
Web: Front Page
Web: Product Page
TBD
Web: Download Page
Figure: Download page

The exact wording of the note below the table (use the platform sentense if it's available):
"You can add or remove packs later using the IDE's Plugin Manager (Tools | Plugins)."
"The JDK is not included, but is required to install and run the NetBeans IDE. You can <link>download the JDK here</link>.
"You can also download the NetBeans IDE as part of the <link>Java EE 5 Tools Bundle</link>.
"NetBeans source code and binary builds without bundled runtimes are also available in <link>zip file format</link>.
"See also <link>instructions on how to build the IDE from sources</link>."
"NetBeans Platform is part of NetBeans IDE. If you need it separately, you can <link>download the platform here</link>."
For Mac OS X, use the following wording for the JDK note (no link to JDK download is present):
"JDK 5.0 is required for installing and running the IDE."
For the Mobility note, use the following wording:
"Mobility Web Services Connection wizard is only included in the All download, not in the Mobility download".
Figure: Download page with Solaris platform selected

Notes about unavailable packs when specific platform is selected:
- for Solaris - "Note: Mobility is only available for Windows and Linux."
- for Mac OS X - "Note: Mobility is only available for Windows and Linux. UML for Mac OS X is only available from the IDE's Plugin Manager (Tools | Plugins)."
- for OS Independent Zip: "Note: GlassFish and Apache Tomcat are only available in platform specific installers."
Figure: Popup with description on the download page

Description for Packs and Runtimes
Base IDE - "Core components of an integrated development environment"
Java SE - "Essential tools for programming in Java, including an editor, debugger, profiler, refactoring support, and award winning drag-and-drop GUI design tool (formerly known as Project Matisse)"
Web & Java EE - "Tools for creating Java web and enterprise applications compatible with the J2EE 1.3, J2EE 1.4, and Java EE 5 specifications. Includes support for servlets, JSPs, tag libraries, Struts, Java Persistence API, Enterprise Java Beans, JAX-WS, and Java Server Faces. Provides visual drag-and-drop application development environment."
Mobility (on the download page) - "Comprehensive tool set for creating Java Micro Edition applications for cell phones and portable devices. Includes visual designer, web services connection wizard, and tools for handling device fragmentation problems. The web services connection wizard is only included in the All download."
Mobility (in the installer) - "Comprehensive tool set for creating Java Micro Edition applications for cell phones and portable devices. Includes visual designer, web services connection wizard, and tools for handling device fragmentation problems."
UML - "Unified Modeling Language tools that support drawing design diagrams, generating code, and automatic creation of design diagrams from existing code."
SOA - "Tools for creating composite applications as part of a Service Oriented Architecture. Provides comprehensive BPEL support. Includes graphical editor, debugger, and refactoring support."
Ruby - "Complete tool set for creating Ruby and Ruby on Rails applications. Includes JRuby interpreter, Ruby on Rails framework, powerful editor, debugger, gem manager, and interactive Ruby shell. Supports easily creating, modifying, and running Ruby on Rails applications."
C/C++ - "Tools for developing C and C++ applications. Includes project templates, support for existing projects, advanced editor, debug support, and makefile wizard for configuration management."
GlassFish - "Free, open source, production-quality application server that is also the reference implementation for Java EE 5 specification."
Tomcat - "Free, open source web server that is the reference implementation for Java servlet and JSP specifications."
Web: Start Page
Installer: Icon
Installer: Startup Progress

Errors and warnings
JRE isn't present or it cannot be found by the installer launcher and JDK isn't bundled:

There's not enough free disk space to extract the installation data:

The NetBeans IDE installer is already running.

Installer: Welcome Progress
Installer: Welcome
The size of the welcome panel and each other panel when using the default platform fonts is the following:
- Win XP: 600x450
- Win Classic: 590x440
- Linux: 625x470
- Solaris: 700x530
- Mac OSX: 640x480
Figure: Welcome panel for the big IDE
Figure: Welcome panel for the Java EE IDE
Figure: Welcome panel for the Java SE IDE

The Mobility, Ruby and C/C++ IDEs would use the same panel with the following wording:
- Mobility: "The installer will install the NetBeans IDE with the Mobility pack."
- Ruby: "The installer will install the NetBeans IDE with the Ruby pack."
- C/C++: "The installer will install the NetBeans IDE with the C/C++ pack."
Figure: Welcome panel for the NetBeans IDE + JDK Bundle
Figure: Welcome panel for the NetBeans IDE + JDK Bundle with warning message
Wording for warnings:
- "JDK 6 Update 4 is already installed. Click Next if you want to proceed with NetBeans IDE installation."
- "NetBeans IDE 6.0 is already installed. Click Next if you want to proceed with JDK installation."
- "NetBeans IDE 6.0 and JDK 6 Update 4 are already installed. Click Cancel to exit the installation."
Installer: Customize
The size of the Customize dialog when using the default platform fonts is the following:
- Win XP: 560x420
- Win Classic: 560x420
- Linux: 660x500 (if it's possible to decrease the height of items in the features list, then it can be smaller)
- Solaris: 620x460
- Mac OSX: 550x410
Figure: Customize dialog on Win XP
Errors and warnings
- You did not select any feature to install. Select at least one feature for installation.
- Insufficient disk space for extracting the installation data. Additional 6 MB is required in C:\Program Files.
Installer: License
Installer: JDK Install

Installer: NetBeans Install
Errors and warnings
- The installation folder cannot be empty.
- The specified installation folder is invalid.
- The installation folder cannot contain the exclamation mark (!).
- The installation folder must be specified in absolute path form.
- The specified installation location is not a folder.
- The specified installation folder in not readable.
- The specified installation folder is read-only.
- The specified installation folder in not empty.
- The specified JDK folder does not exist.
- The specified JDK folder does not contain a JDK.
- The specified JDK folder contains a JRE, but a full JDK is required.
- The specified JDK folder contains a JDK version "{1}", while the minimum is JDK "{2}".
- The specified JDK folder contains a JDK version "{1}", while the maximum is JDK "{2}".
- The specified JDK folder contains a JDK from the unsupported vendor. The supported vendors are "<list vendors>".
- The installer could not find a compatible JDK installation. The minimum required version is {0}. Specify the JDK folder manually.
Installer: GlassFish Install (Optional)
Errors and warnings
- Username cannot be empty.
- Username "{0}" is invalid. Username should be an alphanumeric string.
- Password cannot be empty.
- Password should be at least 8 characters long.
- Password cannot start or end with whitespace characters.
- The specified passwords do not match.
- HTTP/HTTPS/Admin port cannot be empty.
- HTTP/HTTPS/Admin port "{0}" is invalid. HTTP port should be an integer from 1 to 65535.
- HTTP/HTTPS/Admin port "{0}" is already occupied on this machine. Specify another port.
- HTTP port value equals the HTTPS port value. They should be different.
- Port {0} is already in use by {1}. Specify another value.
Installer: Summary

Installer: Install Progress
Installer: Finish

NetBeans IDE Icon

Welcome Screen

Reinstaller: Notice

Reinstaller: Welcome

Windows: Start Menu

Remove: Add/Remove Panel
Remove: Confirmation
Remove: Progress
Remove: Finish