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

Show loading indicator while application is mounting #50938

Closed
joshdover opened this issue Nov 18, 2019 · 4 comments · Fixed by #64556
Closed

Show loading indicator while application is mounting #50938

joshdover opened this issue Nov 18, 2019 · 4 comments · Fixed by #64556
Assignees
Labels
Feature:New Platform Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@joshdover
Copy link
Contributor

The ApplicationService in the Kibana Platform should show some indication that an application is loading while it's mount function is running. This is not a blocker for 8.0 but would improve the UX quite a bit since an application's mount function may take some time to resolve as it fetches any async import bundles.

The loading indicator should start showing when as soon as we start unmounting the previous application and should stop showing after the next application's mount function resolves. We can probably reuse the existing loading bar indicator that shows at the top of the page.

This should not require any API changes to the ApplicationService.

@joshdover joshdover added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Feature:New Platform labels Nov 18, 2019
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-platform (Team:Platform)

@mshustov
Copy link
Contributor

It would be good to render a spinner only if loading takes more than a threshold (say ~250ms) to avoid flickering.

@pgayvallet
Copy link
Contributor

pgayvallet commented Nov 20, 2019

mount: (context: AppMountContext, params: AppMountParameters) => AppUnmount | Promise<AppUnmount>

Is the mount function synchronous though? I would guess async bundle loading are... async, and therefor actually executed after the mount returns? Or should we consider that the returning promise resolving is the end of the loading stage?

@timroes
Copy link
Contributor

timroes commented Apr 24, 2020

Could you give some update on this issue please? Since now more and more application switch over to Kibana Platform this is becoming a real bad UX, since you basically are just clicking something and don't see any progress when having a slow(er) internet connection. I think we def should add a smart loading spinner soon, meaning a spinner that will have a short delay like 100-200ms before showing so for really fast switches you won't see it, and if it starts showing I would recommend keeping it showing for at least ~400-500ms (or fading it out there), even if we would load faster, since from my experience, that hiding it immediately once showing will create a really not nice flickering in situations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:New Platform Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants