Bug 7022 - [Workbench] Splash screen with progress bar
Summary: [Workbench] Splash screen with progress bar
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: All All
: P4 normal (vote)
Target Milestone: 3.2 M1   Edit
Assignee: Boris Bokowski CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted, investigate
: 56167 59026 96068 (view as bug list)
Depends on: 102866
Blocks:
  Show dependency tree
 
Reported: 2001-12-18 03:50 EST by Claude Knaus CLA
Modified: 2006-04-13 21:59 EDT (History)
13 users (show)

See Also:


Attachments
progress bar bug in RC2 (57.85 KB, image/jpeg)
2005-06-11 05:28 EDT, Andrey Loskutov CLA
no flags Details
patch to org.eclipse.ui.workbench (14.57 KB, patch)
2005-08-03 16:43 EDT, Boris Bokowski CLA
no flags Details | Diff
patch to org.eclipse.sdk (1.01 KB, patch)
2005-08-03 16:48 EDT, Boris Bokowski CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Claude Knaus CLA 2001-12-18 03:50:53 EST
Many people observe the problem with hanging splash screens. Also, loading
Eclipse can take a lot of time depending on the workspace. It would be good
have a progress bar to indicate whether it's really hanging or still booting.
Of course, some status info should be displayed as well (like which plugin
is being loaded, etc.).

Please have a look at the Gimp splash screen to see what I mean.
Comment 1 Johan Walles CLA 2001-12-18 04:01:07 EST
Side note: If the GIMP didn't come installed with your OS, get it at www.gimp.org.
Comment 2 DJ Houghton CLA 2002-01-28 13:25:22 EST
Re-assigning to McQ as this is part of the eclipse.exe.
Comment 3 Mike Wilson CLA 2002-01-28 14:59:57 EST
We will not be adding a progress bar to the splash screen. That is far beyond 
the scope of the eclipse.exe program (for example, it would require *portable* 
inter-process communication between the C code in eclipse.exe and the Java 
code in Eclipse). 

All of the "lot of time" which you are seeing is being spent within the Java 
code. The best solution to this particular problem would be to build an SWT 
based "loading progress" dialog early in the core startup, with appropriate 
progress messages displayed. Unfortunately, given the "heavy weight" process 
used to get SWT loaded (i.e. it's a plugin so it needs the plugin loading 
support to be already active -- compare with javax.swing.* which is included 
in rt.jar!), there's no easy way for the core to build this dialog.

I believe the best answer to this problem is just to ensure that it doesn't 
take a long time to start up. This would require a more asynchronous mechanism 
for getting the platform going. So that, for example, the first workbench 
window could appear while some plugins are still being loaded.

Moving back to Core for potential future progress dialog support...
Comment 4 Kevin Haaland CLA 2002-05-01 09:59:11 EDT
This is a good idea that we will not be able to get to for 2.0. If there is 
interest in the community to provide this feature send a message to the 
developer's mailing list. 
Comment 5 Randy Giffen CLA 2002-08-08 17:18:58 EDT
Reopen for investigation
Comment 6 Douglas Pollock CLA 2005-05-21 15:52:54 EDT
*** Bug 96068 has been marked as a duplicate of this bug. ***
Comment 7 Tom Hofmann CLA 2005-05-23 04:30:08 EDT
N20050522

Currently, the splash screen is only shown for a short time, and is then
replaced with the progress monitor.

If communicating with the executable is too expensive, why don't we do the
following:
- show the normal splash-screen first
- when the required plug-ins are loaded: show an SWT-based splash-screen with a
progress bar overlaying the original splash. The second splash should look as
closely as possible like the original splash.
Comment 8 Tom Hofmann CLA 2005-05-23 04:31:03 EDT
raising severity to 'normal' as I think shipping 3.1 with the current solution
does not look good.
Comment 9 Michael Van Meekeren CLA 2005-05-31 13:14:35 EDT
marking this bug as 3.2 with regards to improving on what is in 3.1
Comment 10 Eugene Kuleshov CLA 2005-05-31 16:40:03 EDT
(In reply to comment #7)
> N20050522
> 
> Currently, the splash screen is only shown for a short time, and is then
> replaced with the progress monitor.
> 
> If communicating with the executable is too expensive, why don't we do the
> following:
> - show the normal splash-screen first
> - when the required plug-ins are loaded: show an SWT-based splash-screen with a
> progress bar overlaying the original splash. The second splash should look as
> closely as possible like the original splash.

I'd like to vote for this approach.
Comment 11 Boris Bokowski CLA 2005-05-31 17:35:47 EDT
We did not do this for 3.1 (showing the progress dialog on top of the splash 
screen) because it seemed to brittle to try and open the progress dialog at the 
exact location of the splash screen. For one, the splash screen is shown at 
different locations on different platforms. Furthermore, it is not clear if you 
can guess the location correctly in multi-monitor setups. All in all too much 
risk so close to the 3.1 release.
Comment 12 Eugene Kuleshov CLA 2005-05-31 18:13:06 EDT
By the way, why there is a native splash anyway?
Comment 13 Tom Hofmann CLA 2005-06-01 04:08:37 EDT
Just wanted to note that the progress bar in 3.1-RC1 is much better than the one
I saw when posting comment 7. While the suggested approach would still be cool
(I know the PR has not been closed yet), I cannot say any more that the current
solution 'does not look good'. 
Comment 14 Roland Tepp CLA 2005-06-07 10:17:39 EDT
There is another approach that I believe is far cleaner than the current
3.1M7RC1 version has. 

What if launching application would get a handle of the splashscreen as a Shell
or Composite widget (or just a well-defined section of the splashscreen) and
could draw upon it as it saw fit.

This would easily solve the issue of detecting proper monitor and position of
the splashscreen plus allow applications define themselves what dthey would
prefer to show on this splashscreen. 

As an example - a login or workspace picking dialog could be drawn straight on
the splash screen or splashscreen shell could be used as a parent shell for
those dialogs, which would easily solve the issue with those dialogs getting
hidden behind splashscreen in some situations.

Of course application implementation should be careful to take into account few
extreme situations - like no splashscreen (the reference to splash is null?) or
different splash dimensions than expected, but none of these should be
unsolvable issues imho.

What do You think?
Comment 15 Ed Burnette CLA 2005-06-07 10:42:07 EDT
I don't know but RC1 with the progress dialog "feels" much slower starting up
than previous versions without the dialog. I haven't gone back to previous
versions and timed it so it may be my imagination but it definitely seems slower
to get to the point where the workbench window opens.
Comment 16 Eugene Kuleshov CLA 2005-06-07 10:56:54 EDT
(In reply to comment #15)
> I don't know but RC1 with the progress dialog "feels" much slower starting up
> than previous versions without the dialog. I haven't gone back to previous
> versions and timed it so it may be my imagination but it definitely seems slower
> to get to the point where the workbench window opens.

I also noticed a "gray box" effect for this progress dialog on Windows. And it
is really annoying that you can't move it around the screen.
Comment 17 Andrey Loskutov CLA 2005-06-11 05:28:27 EDT
Created attachment 22858 [details]
progress bar bug in RC2

I have also noticed that the new progress bar will be "broken" in RC2, if one
click on the splash screen (see attachment). The RC1 version was better.
Comment 18 Boris Bokowski CLA 2005-08-03 16:43:03 EDT
Created attachment 25637 [details]
patch to org.eclipse.ui.workbench
Comment 19 Boris Bokowski CLA 2005-08-03 16:48:47 EDT
Created attachment 25638 [details]
patch to org.eclipse.sdk
Comment 20 Sonia Dimitrov CLA 2005-08-03 16:56:57 EDT
Patch from comment #19 applied and changes released for next N and I builds.
Comment 21 Tod Creasey CLA 2005-08-03 16:57:20 EDT
Workbench patch released to HEAD
Comment 22 Boris Bokowski CLA 2005-08-03 17:02:23 EDT
Removed dependency on bug 102856.
Comment 23 Boris Bokowski CLA 2005-08-03 17:22:47 EDT
Tested on Linux GTK. The font color needs to be changed.
Comment 24 Boris Bokowski CLA 2005-08-03 18:34:08 EDT
Opened bug 105981 for the foreground color issue.
Comment 25 Boris Bokowski CLA 2005-08-03 23:51:17 EDT
Marking as fixed. Please open new bugzillas for any problems with the new
progress bar, or if you have specific requirements for Eclipse-based products
that cannot be met using the current support.

There are three new properties that can be set in the products extension point
to configure size/position/color of the progress bar and the messages being
displayed. The three new properties are described in IProductConstants.java
(org.eclipse.ui.workbench).
Comment 26 Sonia Dimitrov CLA 2005-08-04 13:47:50 EDT
Applied patch from comment#19 (with color modification) to 
org.eclipse.platform/plugin.xml.
Comment 27 Boris Bokowski CLA 2005-08-09 11:42:55 EDT
Verified on Windows XP.
Comment 28 Boris Bokowski CLA 2005-08-09 15:11:41 EDT
Verified on Linux and Mac too. Marking as verified.
Comment 29 Boris Bokowski CLA 2006-04-13 21:51:57 EDT
*** Bug 56167 has been marked as a duplicate of this bug. ***
Comment 30 Gunnar Wagenknecht CLA 2006-04-13 21:59:39 EDT
*** Bug 59026 has been marked as a duplicate of this bug. ***