Startup Splash Screen for apps

Registered by Florian Boucault

Discuss the app launching experience.
How to make apps seemingly start faster and the system feel more responsive?
How does it tie in the state saving APIs and the application lifecycle?

Blueprint information

Status:
Not started
Approver:
Pat McGowan
Priority:
Undefined
Drafter:
Florian Boucault
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
Accepted for utopic
Implementation:
Unknown
Milestone target:
milestone icon ubuntu-14.06

Whiteboard

The app can ship screenshots for:
- Startup screen (with images defined e.g. in the .desktop file)
- Lifecycle screenshots (already taken care of today by the OS, the only thing that we don't do is to cache the screenshots)

How to tackle different form factors:
- Recommend SVG for the splash screen
  - Or a couple of bitmaps that can support multiple form factors/aspect rations, where the OS defines how the splash screen will be displayed (e.g. always white background, so that app developers can ship bitmaps with white borders where the transition between bitmap and background will be invisible, and always centred and as big as possible but no bigger than the naturalSize of the image)
- For lifecycle screenshots in principle the form factor is taken care of, unless you change form factor

Shell-side implementation tracked in:
https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity-ui-appsplash

(?)

Work Items

Work items for ubuntu-14.05:
[saviq] Follow up with the Design team to define guidelines on splash screen behaviour (including expected sizes of images, specific background color on which image is displayed, etc., to be covered here https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity-ui-appsplash): TODO

Work items:
[kalikiana] integrate support for splash screen in QtCreator: TODO
[kalikiana] Talk to the upstart and click teams to decide where to load the splash screen from (manifest or desktop file): DONE
[kalikiana] Document the behaviour of the splash screen: TODO
[dpm] Talk to the design team to provide splash screen assets for existing core apps: TODO

Dependency tree

* Blueprints in grey have been implemented.