Despite the Human Interface Guidelines’ recommendation that
launch screens act as visual placeholders for loading applications, a
large number of applications use the delay as an opportunity to perform a
bit of branding. In the cooperative interaction model, applications should
feel as though they aren’t opening and closing, but rather pausing and
unpausing. Users should feel that they are cycling through a suite of
highly responsive applications, rather than having their experience
interrupted by a full-screen logo, advertisement, or “About”
screen.
For example, Tweetie is an application that reveals the user interface
progressively, as described in the HIG. Figure 1 shows the opening sequence for
Tweetie.
Imagine a user who launches her email client and reads a message
with a link to a website. Upon clicking the link, Mail closes and Safari
launches with the site URL. The user decides to email the link to another
person, invoking the “Mail Link to this Page” command in Safari. Safari
quits and the Mail application launches with a new message pre-populated
with the link to the site.
The flow between the two applications is highly cooperative. Each
performs a specific role and works with the other to let the user
accomplish her goal of sharing an interesting link. The user sees that the
two applications are passing focus back and forth.
Now imagine the same flow if each application were to show a
splash screen with a logo or advertisement. The user
experience would suffer because the illusion of cooperation and seamless
flow between applications would be destroyed.
Figure 2 shows the launch and main
screens for the Streaks application. Though it is beautiful and informative,
the launch screen can interrupt the flow between applications if users
switch between Streaks and other applications many times in a single
session.
The Wurdle application takes a similar approach to the loading
screen. Figure 3 shows the launch sequence for
Wurdle.
Immersive games are somewhat of an exception, but even gamers rarely wish to
watch the same branded splash video each time they launch a game. The
focus should always be on users, and all possible efforts should be made
to improve their experience. Some applications abuse the sleep() function to purposely display the
launch screen longer than the application requires.
Some applications look very different at each launch. An application
that uses a tab bar may be programmed to store the number of the tab that
is displayed when the application is closed, allowing the application to
programmatically restart with the same tab focused. If each tab looks very
different, it may be difficult to design a launch screen that smoothly
follows the pattern Apple built into the launch sequence. Developers can
often reduce the graphics to a bare minimum for the launch screen, even
using a solid color or image as the background for all tabbed
views.
Some applications use the concept of themes to let users change the colors and layout of elements
on screen. For example, Twitterrific lets users choose from several very different
themes. There is no common color or background among views, and even the
system status bar differs among themes. In such extreme cases, a simple
splash screen that transitions to the custom color scheme using animation
could be an option. Misused
animations can be as disruptive as billboards, so any such transitions
should be subtle.
The goal of a launch screen is to create the illusion that an
application loads instantly. Billboards are counterproductive to that
goal. If the only satisfactory option is a distinct launch screen,
developers should pass on the opportunity to create a loud, branded
billboard and opt for something users won’t mind seeing multiple times per
day.