During Eclipse Plugin Developement training, I always end JFace Wizards session with these guidelines:
- Wizards should be aimed for minimal user interaction
- Wizard pages can be filled with meaningful defaults
- When a Wizard is shown it should not contain any errors. They should appear only after a user interaction
- Present Errors/Warnings in the tab order of the fields
- When a task is split into steps, a wizard page can model a step and shouldn't be doing more things
- Don't create pages that needs scrolling. In general if a wizard's height is greater than its width, probably it needs a review
- Total number of Wizard pages should be ~ 5
The options in the first page falls into three categories:
- Resource: Project name, location & working sets
- Compiler: Source folders
- Runtime: JRE & Execution env.
Ideally the first page should just give the resource related options and the others can be pushed to second page/elsewhere. Since the second page allows the user to configure the JRE, source & binary folder, I guess we are not loosing any functionality if we get rid of those options. If the first page is cleaned up to have only resource related options, this is how it would look like:

in contrast to the current:
