Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splash Screen #1416

Closed
wladimirleite opened this issue Oct 29, 2022 · 4 comments
Closed

Splash Screen #1416

wladimirleite opened this issue Oct 29, 2022 · 4 comments
Assignees

Comments

@wladimirleite
Copy link
Member

wladimirleite commented Oct 29, 2022

Another minor suggestion...
When an IPED case is opened from a slow location (network, pen drive, slow HDD), it may take some time until the main window becomes visible.
This can be misleading, as the user is unsure if the case is opening or not.
Since we start using IPED 4 here, this became a bit more noticeble. I guess that there are more things to be loaded and, as discussed in #1410, using a JRE from a slow location makes this delay more noticeable.
While #1410 (and other actions we are taking in our environment) should decrease this delay, it still may take a few seconds until the main window is visible.
My suggestion is to show a splash screen, as many applications do.
I made some tests here and even when the case is opened from a very slow location, it is possible to quickly present a splash screen, so the user knows that the case is actually opening.
A progress bar could give a rough idea about the progress.
I am thinking about implementing something as independent as possible (regarding the actual case loading), so it doesn't bring any burden to future implementations.

@lfcnassif, any thoughts?

@lfcnassif
Copy link
Member

lfcnassif commented Oct 29, 2022

This would be very good! Maybe a project logo (nonexistent today) would be nice...

One option is configuring the splash screen into Launch4j options (it is possible), already used to create the IPED-SearchApp.exe, that would make the splash to be shown before any JRE loading, that could take some time. But would work just if the exe is used.

@wladimirleite
Copy link
Member Author

One option is configuring the splash screen into Launch4j options (it is possible), already used to create the IPED-SearchApp.exe, that would make the splash to be shown before any JRE loading, that could take some time. But would work just if the exe is used.

I tested 3 options here:

  1. Launch4j
  2. Java code, displaying a dialog as soon as possible (in the main method)
  3. Java splash (option introduced in Java 6, to show an BMP, GIF or PNG)

The problem with Launch4j is that it has to be a static image and there is not much control when to close it.
In Java code, we have full control, may display some information (like the version, or some case-specific data) and close whenever we want. The problem is that it takes a while to be visible, as some classes needed to be loaded before anything can be shown.
The third option (Java splash) seems to be the best option, as it is displayed very quickly (a bit slower than Lauch4j's, but still very fast), and allow full control (draw progress, additional information, decide when to close) later. Initially it displays only a provided image, that later can be accessed.

I will implement the third option and when I have a working solution you can take a look and see if it is worthy keeping it.

@lfcnassif
Copy link
Member

I didn't know about third option, great!

@wladimirleite wladimirleite self-assigned this Nov 3, 2022
@lfcnassif
Copy link
Member

Closed by #1420.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants