Author(s): Richard Gregor   | Started on: 02/11/02 | Last Updated: Wednesday , March 11, 2002

 

User Interface Specification:
Install Support

Author:  Richard Gregor

Document History

Current $revision : 1.16 $
History available in CVS
     

Table of Contents

Introduction User View
  • Upgrade
  • System-Wide UI Impact
    Detailed Spec
  • Association Panel
  • Installation Summary Panel
  • Installation Progress Panel
  • Installer Finish Panel
  • Uninstaller Welcome Panel
  • Uninstaller Location Panel
  • Uninstaller Finish Panel
  • Menu
  • Usability Measurement                                                     Required Graphics Desired Changes to NetBeans Notes

    Introduction

    So far, NetBeans provides installers only for Windows platform. It's the right time to support multiplatform installers and meet users expectation.

    Also it is believed that installer is the right place to solve problems with upgrading of different versions of NetBeans.

            

    Overview of Functionality

    New install support will be multiplatform. There will be installers for:
       
           
    • AIX
    •      
    • OS/400
    •      
    • HP-UX
    •      
    • Linux
    •      
    • OS/2
    •      
    • Solaris
    •      
    • Win32
    •      
    • CIM
    •    
    Except classical installers there will be possibility to use install applet. Import settings support will be moved from first application startup to the install support.  
       

    Context

    Installers will be provided by NetBeans. They will be located on netbeans.org page. Install sources will be part of cvs install module. Installers will be automatically generated for each Q-build/Beta/RC/release.

    In release 3.4 ther will be only one type of install - typical. It will install IDE with default set of modules.

    References

    User View

    Installation Support User View was created to provide detailed user view on installation support. You can read it on Installation Support User View .

    Description of the Users

    The installer should be designed for the ease of use of the following groups of users:
    • People who have an older version of NB, but want to upgrade to a  newer  release
    • People new to NetBeans but who have experience with another Java IDE
    • People new to NetBeans but who have experience with java on  the  command line
    • People new to Java
    In spite of that we know that the our most active testers are members of the q-build program that we have to make the installer attractive for them in order to verify its functionality on wide range of system configurations.

    Install

    Scenario 1 (shows Upgrade-Install Panel)

    1. user: downloads and runs the installer
    2. installer: shows installer window with Welcome Panel
    3. user: clicks next
    4. installer: detects previous version of product
    5. installer: shows Upgrade-Install Panel
    6. user: chooses Install option
    7. installer: shows Install Panel
    8. user: chooses not import settings from one of previous versions on list
    9. installer: shows Install Directory Panel
    10. user: clicks next (uses default install directory)
    11. installer: shows User Directory Panel
    12. user: agrees default value
    13. installer: shows Proxy Panel with default values parsed from  system environment (does it make sense to have it?)
    14. user: clicks next
    15. installer: shows Association Panel
    16. user: set to associate .java and .nbm files with the IDE
    17. installer: shows the Summary Panel
    18. user: clicks next to install product
    19. installer: shows Installation Progress Panel and installs the product
    20. installer: shows Installer Finish Panel
    21. users: finishes the installation     

    Scenario 1.1 (with settings import)

    1. user: chooses import settings and selects version in list
    2. installer: shows Install Directory Panel
    3. user: clicks next (uses default install directory)
    4. installer: shows User Directory Panel
    5. user: agrees default value
    6. installer: shows the Summary Panel
    7. user: clicks next to install product
    8. installer: shows Installation Progress Panel and installs the product
    9. installer: shows Installer Finish Panel
    10. users: finishes the installation

    Scenario 2 (without Upgrade-Install Panel)

    1. installer: cannot detect previous version of product
    2. installer: shows Install Directory Panel
    3. user: clicks next (uses default install directory)
    4. installer: shows User Directory Panel
    5. user: agrees default value
    6. installer: shows Proxy Panel with default values parsed from system environment
    7. user: clicks next
    8. installer: shows User Directory Panel with default value
    9. user: agrees value - clicks next
    10. installer: shows Association Panel
    11. user: set to associate .java and .nbm files with the IDE
    12. installer: shows the Summary Panel
    13. user: clicks next to install product
    14. installer: shows Installation Progress Panel and installs the product
    15. installer: shows Installer Finish Panel
    16. users: finishes the installation


    Upgrade

    Scenario 

    1. user: downloads and runs the installer
    2. installer: shows installer window with Welcome Panel
    3. user: clicks next
    4. installer: detects previous version of product
    5. installer: shows Upgrade-Install Panel
    6. user: chooses Upgrade option
    7. installer: shows Upgrade Panel
    8. user: chooses previous version from list
    9. installer: shows the Summary Panel
    10. user: clicks next to install product
    11. installer: shows Installation Progress Panel and installs the product
    12. installer: shows Installer Finish Panel
    13. users: finishes the installation               

    Possible upgrade situations(or what will detection mechanism add to the list)

    The detection mechanism will fill the list in Upgrade Panel and Install Panel only with versions which have compatible modules. It compares modules versions and allows upgrade or import settings only if no installer's module is older than the ones used in user directory of certain version.

    Possible upgrade situations (except another) are:

    1. The user used a q-build version and he has downloaded new one - by default the installer should reuse the userdir of the most recent previous q-build version. In Upgrade Panel will be list of all installed q-builds. But the user will have option to do install and import settings.

    2. The user used previous release (3.2) and he downloaded first q-build - by default the userdir should be copied to the new one so the old one will still be usable with previous release. Detection mechanism detect's previous version but
    disables upgrade option and allows user only install new version and allows to import settings from  previous release.

    3. The user used previous release, he also have few q-builds and he downloaded new release - by default the release should reuse the userdir from the previous release, ignoring the q-build changes at all. Detection mechanism will put only previous release (s) into list.

    Delegation proposal (Yarda Tulach)

    It is possible to replace the copy of settings by "delegation". That means when user installs a qa-build it automatically uses settings from the previous release, but keeps all modifications in separate private place. Compared to copying this has big advantage for users switching between q-build version and release version - changes made in release version are "propagated" to the q-build version. Should not this be used rather than copying?
                      

    System-Wide UI Impact

    Install support is separated part and doesn't have impact on global system UI, such as menus and toolbars. There could be discussion if will use default InstallShield look or if we use another one, for example if use NetBeans logo in left wizard area.

    Detailed Spec

    Install support will be done in InstallShield     Multiplatform   environment. For installer is typical that it is wizard   like  window, with   collection of wizard panels.

    State Diagram

    This diagram shows basic installer panels flow.

    diagram.jpg

    Welcome Panel

    At first the installer shows welcome panel with basic information about product.



    The components of this panel are as follow:
    1. Welcome message.

    Upgrade - Install Panel

    Allows the user to choose wheter install or upgrade previous version of product.

    yuck

    The components of this panel are as follow:
    1. Upgrade and Install radio buttons
    Visibility Condition: Installer detected at least one installed previous version of product.

    Upgrade Panel

    Allows the user to choose previous version and to keep previous  settings.

    yuck

    The components of this panel are as follow:
    1. Combo Box with list of compatible installed versions
    2. Check Box for keeping settings
    Visibility Condition: User chose upgrade in previous panel

    Install Panel

    Allows the user to import previous settings.

    The components of this panel are as follow:
    1. Check Box for settings import
    2. Combo Box with list of compatible installed version
    Visibility Condition: User chose install in Upgrade - Install panel

    Install Directory Panel

    Allows the user to choose install directory.

     
    The components of this panel are as follow:
    1. Directory name text field for install destination, default value is set.
    2. Browse button - brings up a file chooser that lets the user specify another install directory
    Visibility Condition: Installer didn't detect any previous version of product or user chose install option in Upgrade-Install Panel.

    User Directory Panel

    Lets the user to set user directory server.

    user dir

    The components of this panel are as follow:
    1. Directory name text field for user directory destination, default value is set.
    2. Browse button - brings up a file chooser that lets the user specify another user directory.
    Visibility Condition: Detection failed or user chose install option in Upgrade Install Panel.

    Proxy Panel

    Lets the user to set proxy server.
    The components of this panel are as follow:
    1. Use Proxy Server checkbox
    2. Server Name text field
    3. Server Port text field
    Visibility Condition:   User didn't check keep settings option in Upgrade-Install Panel or installer didn't detect any previous version.

    Error Dialogs

    InstallShield API provide support for error dialogs. Those dialogs are different beside standard swing dialogs. They look as follow:

    Illegal characters in Port number

    error1

    Server empty

    error2

    Port empty

    error3

    Association Panel

    Lets the user to set IDE associations.

    The components of this panel are as follow:
    1. Association Description
    2. CheckFields - associate .java files and associate .nbm files
      Visibility Condition:  User didn't check keep settings option  in Upgrade-Install Panel or installer didn't detect any previous version.                                                                                                       

    Installation Summary Panel

    Shows summary to the user.

    The components of this panel are as follow:
    1. Summary information like: Install Directory,  User Directory, Total Size, Associations (may be imported settings, preinstalled modules)  .

    Installation Progress Panel

    Shows install progress to the user.

    The components of this panel are as follow:

    1. Progress Bar - ltes the user know the status of installation, with status indicator
    2. Cancel buton - allows the user to cancel installation process

    Installer Finish Panel

    Says the user to be happy - installation has finished!
       
                     



    Uninstaller Welcome Panel

    yuck

    Uninstaller Location Panel



    Uninstaller Finish Panel



    Menu

    The menu structure created by installer looks as follow:
                                                    
    menu.jpg

    Usability Measurement

              

    Usability Goals

      Totally newcomer should install NetBeans IDE on his computer.     

    Usability Testing

      We prepare computers only with jdk installed. Then choose group of the NetBeans newcomers and ask them to download and install product. If average of successful installation will be cca 90 %, we passed the test.

    Required Graphics

    If we decide to change left pane design, we will need new graphics for this purpose.                                 

    Icons

                                                                
                  
    Graphic
     
                  
    Description
     
                  
    Status
     
    Logo New NetBeans Logo not yet requested
              

              

    Desired Changes to NetBeans

    Part of NetBeans which provide import settings at first IDE startup should be removed. New separated import settings support should be implemented.
    Proxy settings will be in installer. Installer will write these settings into simple configaration file. During first startup should IDE grab and use these settings.
    For assocations there probably should be possibility to run IDE with source file as first argument like : runide foo.jar.                                                                                                                                                                                                                                         

    Notes

    Alternative Proposals

    In next releases the install support could provide two types of install:
    • Typical - with default set of installed modules
    • Custom  - user can choose which modules will be installed. This type could be connected to autoupdate. Installer connects to server,shows list of available modules(suites) to install. Downolades and installs desired modules.
    There is possibility to use WebStart technology for installation - needs to be investigated.

    Open Issues

    • Import settings from previous version - in multiplaform installation?                                                              
    • Proxy Setting  -  up to now serialized.                                                                                                                                                                                                                                                     

       
         

    Project Features

    About this Project

    ui was started in November 2009, is owned by Jiří Kovalský, and has 45 members.
    By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
     
     
    Close
    loading
    Please Confirm
    Close