Puliendo detalles… (1)
Hay cosas que de tan sencillas que son, no somos conscientes de la cantidad de cosas que aportan a nuestro proyecto. Y otras que son completamente necesarias y no están atendidas como se merecen. Hoy les presentamos...

Ficha técnica

Objetivo: Puliendo detalles 1
Código: 201111150655
Nivel: bajo
Default.png
Durante el proceso de carga de una aplicación, antes de mostrar la ventana ( [self.window makeKeyAndVisible]; ), hay un pequeño (o no tan pequeño) intervalo de tiempo en el que la pantalla permanece en negro. Tras ese intervalo de tiempo, se carga la ventana correspondiente y se muestra la interfaz de nuestra aplicación.

Pues bien, si resulta que nuestra aplicación presenta al inicio una vista con unas características predefinidas, podemos utilizar ese intervalo de tiempo para mostrar una imagen PNG. Si elegimos esa imagen correctamente, podremos hacer percibir al usuario que nuestra aplicación ya está cargada y terminar de cargarla en el tiempo que tarda en reaccionar a esa situación.

Lo único que tenemos que hacer es incorporar un archivo con la imagen que queremos mostrar a nuestro proyecto. Esta imagen debe ser un archivo PNG del tamaño de la pantalla.

Recordemos que esa imagen es estática, es decir, que carece de animación. Es por ello que no podemos utilizarla para mostrar un porcentaje de carga o similar (deberíamos implementar una vista inicial que hiciera esto, no lo haríamos con Default.png). Recordemos también que el tiempo que permanecerá en pantalla es indeterminado y que dependerá de la potencia del dispositivo con el que estemos trabajando.

Un ejemplo de una mala idea. Tras testera la App en el simulador o en el dispositivo de pruebas, vemos que permanece en pantalla durante un segundo. En ese caso, pensamos que es una buena opción para dar a conocer nuestras aplicaciones mediante un splash screen. Lo más probable es que esa imagen no permanezca en la ventana ni un segundo en sistemas más potentes o en sistemas con menos carga. Así que el uso de esa imagen no aportará nada al desarrollador… y, para colmo, fastidiará al usuario que NO verá el tiempo suficiente esa imagen y se quedará pensando en qué ponía o dejaba de poner.

Además, hemos de tener en cuenta que esta imagen se ve únicamente durante la carga de la App, durante su primera carga. Con esto me refiero a que si al App estuviera en segundo plano y la devolviéramos a primer plano NO la mostrará.

Otro error común es utilizar la imagen para mostrar la interfaz original de la App cuando la App parte de unos valores configurables. Es decir, imaginemos que en la primera vista que muestra la App aparece un control de volumen y que el sistema recuerda cual era el valor que tenía la última vez que lo modificamos. El desarrollador desconoce el esta o inicial de ese control para cada inicio de aplicación. Así que no parece buena idea utilizar esa imagen para mostrar el estado original.

Creo que ya lo habéis pillado, así que dejamos ya esto del Default.png
FAQ
¿Y si quiero tener un archivo en HD para el Default.png?
No es que quieras… ¡deberías! El archivo será Default@2x.png

¿Puede llamarse de otra forma?
Default.png es el nombre por defecto. Si usas ese nombre simplemente tienes que incluir la imagen en tu proyecto. En algunas versiones de XCode aparecen opciones para establecer cual es la imagen que realizará este papel.