Loading...

iPhone Digital Bits: Splash screen or not ? That is the question

November 5, 2008

Window

Splash screen or not ? That is the question



Within the iPhone SDK, Apple made a number of nice design decisions to enforce a positive user interaction with the device.

They also provided mechanisms to ensure the device response to interaction feels as fast a possible. One of them is the "now infamous" Default.png file.

Default.png file



This file, if present within the iPhone application, is displayed automatically when the application launches. Apple suggests that the content of this file reflects a static view of the first screen of your application. The goal is to trick the user into thinking the application launched very rapidly.

However some application launch time are quite long, so instead of tricking the user in a positive way, they now think the application is stuck since the display is not being updated.

There is some discussion on the web about the usage of this static image.

Splash Screen with progress bar


Another mechanism that I favor, woudl be to use a progress bar on the initialization progress on the application. With some clever code, if the application launches rapidly, depending on its internal state, then the progress bar could be hidden. Otherwise the bar is shown and the user now has visual indication of the process.

Dynamic Default.png file


Another very interesting option, would be to modify the content of the Default.png file whenever the application receives the notification: applicationWillTerminate:. The file would reflect the last state that the application was in and would provide for better feedback. However since that file is within the application bundle, modifying it's content will break the application code signing operation and the application would never launched again.

Rejected

Conclusion


In the end, I think the best way is to use a combination of progress bar and status information. A progress bar with text showing what the application is loading is only interesting the first few times. This is what Adobe does in it's creative suite. But after a while this become noise.

Instead on showing repetitive information, the startup screen would be of much better use if a summary of the last execution session would be shown. The progress bar shows the loading sequence and summary information would be displayed underneath.

This would provide visual loading feedback but also meaningful information about the last usage of the application which would make for a more user-friendly startup screen.

Enjoy the bits - Martin






0 comments: