|
Overall 3.0 Plan
|
The 3.0 plan below is a proto plan and input from the
community is very welcome.
Last revised: Monday June 23, 2003.
|
 |
Overall Platform UI themes
- Improve the User Experience:
- Evolve the Eclipse user experience
- Improve UI scalability
- Improve initial user experience
- Aid ongoing learning
- Improve UI affordances (visual cues)
- Improve UI Responsiveness
- Rich Client Platform
|
 |
Evolve the Eclipse user experience
- New look / graphic design.
- Better integration with platform look and feel on non-Windows platforms.
- Lighter-weight dialogs and wizards.
- Floating toolbars and views.
- Transparency in floating toolbars and views.
- Invoking commands via mouse gestures.
|
 |
Improve UI scalability
- Investigate scalability problems in Eclipse and Eclipse-based products.
- Support scaling down the UI for specific user roles.
- Minimize the number of similar views and actions.
|
 |
Improve initial user experience
- Improved welcome page, tailored to user's role(s).
- Enable progressive exposure to features.
|
 |
Aid ongoing learning
- Apply welcome page, Tips & Tricks, and Help more effectively.
- Improve affordances (visual cues) indicating when help is available.
|
 |
Improve UI affordances
- Indicate when help is available, with action to access it.
- Indicate when editor is maximized, with action to toggle maximized state.
|
 |
Improve file encoding support
- Encodings contributed via extension point.
- Same encodings used in preferences and text editor.
|
 |
Improve keyboard support in secondary windows
- Key bindings currently work only in the main Eclipse window.
- They should also apply in secondary windows like dialogs, wizards, and floating views.
|
 |
Improve editor management
- The current mechanism for switching between editors using tabs does not scale to having many open editors.
- Implement an alternative mechanism for switching between editors that is scalable and stable, yet efficient.
- Perform user testing and iterate to improve the UI for editor switching.
- Allow the same file to be opened simultaneously in different editors.
|
 |
Allow editors to open files outside workspace
- Allow files outside the workspace to be opened in Eclipse.
- Allow this to be triggered by opening a file in the OS shell.
|
 |
Display HTML in a widget
- Allow the embedded HTML widget provided by SWT to be used in Workbench
editors and views.
- Provide a preference page for configuring the HTML widget (proxies, etc.)
- Adapt the Welcome page to use the HTML widget.
|
 |
Improve workspace synchronization with file system
- Ensure that the Workbench updates properly when automatically
synchronizing the workspace with the file system, without interrupting
the user.
- Provide any preferences needed for configuring automatic synchronization.
|
 |
Content-type-based editor lookup
- Support a notion of content type for files and resources, and use this to drive decisions like which editor to use.
- Consolidate the several existing file-type registries in Eclipse.
- Allow different actions on a file for different content types.
|
 |
Improve support for opening workspaces
- Use a user-specific default workspace location more suitable for shared multi-user Eclipse installs.
- Facilitate switching between workspaces.
|
 |
Provide a general purpose navigator
- provide a more flexible, general purpose, extensible navigator infrastructure
- not specifically tied to Workspace
- allow content providers and related actions to be plugged in
- subsume the current Navigator, Package Explorer and various Navigator-like views in WSAD
|
 |
Improve UI Responsiveness
- Support concurrent activities such as background builds and searches.
- Establish quantitative UI responsiveness targets, verified by benchmarks.
|
 |
Enable Eclipse to be used as a rich client platform
- Rearchitect the Platform UI into "Workbench Proper" and "IDE Tooling" layers:
- The "Workbench Proper" layer defines all the general-purpose mechanisms in the current Workbench,
but no concrete actions, views, preference pages, or other contributions built-in,
and no dependencies on org.eclipse.core.resources.
- The "IDE Tooling" layer defines the concrete contributions that make up the current
IDE Tooling aspect of the Platform UI, but contributed using only APIs from the Workbench Proper layer.
- The two layers will be implemented in separate plug-ins and will have separate install-time features.
- Applications can build directly on the Workbench Proper layer, and can ship without the IDE Tooling layer
if they don't use it.
|
 |
Provide user settings
- Allow preferences and other settings to be associated with the user rather than the workspace.
The same user preferences will apply across all workspaces opened by the user.
- Investigate shared/team preferences.
|
 |
Support adding and removing plug-ins dynamically
- Update the Workbench appropriately when contributions are added and removed
due to plug-ins being dynamically added and removed.
- Ensure that the Workbench drops all references to plug-ins being removed.
|
 |
Allow plug-in deactivation
- Ensure that the Workbench drops all references to plug-ins being deactivated.
|
 |
Support product branding
- Allow products to customize the look and feel of Eclipse to convey a
particular product or corporate brand.
- Allow plug-ins to be developed independently of a particular brand,
enabling them to be used and integrated across different products.
|
 |
Accessibility (support for people with disabilities)
- Evaluate overall Eclipse SDK accessibility on GTK 2.2.
- Continue to interact with the community to determine the needs of people with disabilities.
- Fix problems as needed to make Eclipse accessible and to comply with Section 508 legislation.
|
 |
Improve action contributions
- Simplify the action contribution and command APIs and extension points.
|
 |
Improve UI guidelines
- Bring guidelines up to R2.1 level.
- Continue to evolve them concurrently for R3.0.
|
 |
Support logical resources
- Allow the Workbench to present and manipulate items in terms of logical resources.
- These may be represented by multiple underlying files (e.g. an Enterprise Bean)
or by a portion of a file (e.g. a resource in an archive).
|