hello. Desarrollando una app para iOS. (II)

Se que en mi anterior publicación dije que hablaría de código. Mentí. Bueno no, simplemente he cambiado de opinión. Lo que voy a contaros hoy es cómo empecé a convertir una idea en algo "real".

Cuando se me ocurrió empezar a crear hello. no tenía nada de nada.  Ahora parece que hablo de hello. es como si todo hubiera fluido cual película maravillosa, como un anuncio de iTunes y del iPod de hace 10 años... No sabía si quiera cómo quería que fuera.

En serio. Ni siquiera sabía cómo se llamaría. El nombre dará para otra historia más adelante.

Para crear una app, una vez que tienes la idea, todo es una explosión de nuevas ideas. "Quiero que haga esto, y lo otro" "y se verá así y asá". Será todo multicolor y explosivo, cautivador... Es todo un brainstorming que hace que el tiempo pase y tú solo tengas esto:



Durante los primeros días escribía todo lo que se me ocurría en un papel. Esto tenía 2 grandes impedimentos: No siempre tenia un papel a mano, no siempre encontraba el papel que había usado en ese momento de lucidez.

Hubo que centrarse.

Sabía lo que quería que hiciera mi app. Dar precios en base a datos extraídos del mundo real. Parece que lo que necesitaba era algo obvio. Una base de datos. 

Parecía bastante fácil. Sólo tenía que crear tablas en las que se recogieran todos los modelos de iMac, Mac Mini, Macbook, MacBook Pro y MacBook Air desde 2006 hasta hoy. Con todas sus ampliaciones posibles de CPU, RAM, discos duros mecánicos, SSD, Fusion Drive, sus ampliaciones de gráficas, sus...¡¡¡basdkeuroelas!!!!

Conseguir los últimos modelos era fácil. Bastaba con ir a la web de apple e ir configurando modelos y anotando datos y precios pero, ¿de dónde sacaría toda la información de todos los modelos restantes?

Pues revisando todas las reviews y cientos de páginas web hablando de los respectivos ordenadores. Y algún secreto más que me llevaré conmigo ;).

Finalmente, tras 2 meses de trabajo recabando datos terminé mi primera base de datos.

Lo siento, por seguridad no os puedo enseñar el contenido de la base de datos

Parece que todo lo peor había pasado pero no. La base de datos era demasiado bruta como para ser usada. Para poder filtrar correctamente las variables y poder determinar las variaciones de precio fue necesario un análisis básico con excel y posteriormente con R, del que aprovecho y os digo que tenéis un tutorial para instalarlo en Mac aquí.

El análisis estadístico me permitió crear un modelo matemático para definir la variación de precios de todos los modelos. Este es el corazón de hello. y nunca se sabrá exactamente como es.

Es importante señalar que todavía ni había pensado cómo mierdas iba a programar todo esto así que como un caballo con sus orejeras, seguía pensando en la app: sus características y su interfaz de usuario.

¡INTERFAZ DE USUARIO!

Mi base de datos podría ser buenísima, si la app no está bien diseñada esto no iba a ningún lado. Por otro lado la mayor mierda puede ser maravillosa si el envoltorio es bonito.

Jobs dijo algo como "El diseño no es solo lo que se ve o lo que se siente. Diseño es cómo funciona". No se me ocurre ninguna forma mejor de explicarlo.

La forma en la que el usuario interactúa con las diferentes funciones de la app es lo que hace que una app tenga éxito o no. Puedes tener la mejor idea del mundo, si tu público no entiende qué hacer en tu app estás perdido. Por otro lado, la más tonta idea puede ser un éxito si su diseño es atractivo.

A día de hoy, con un diseño prácticamente cerrado hay varias cosas que tengo claras:

- Los menús deben ser lo más sencillos posible.
- Nada de colores caleidoscopicos
- Nada de fondos cutres.

Es posible que muchos estéis pensando que no es tan complicado. Sí que lo es, y lo más probable es que desechéis 4-5 diseños antes de llegar al definitivo. 

No me avergüenzo. El primer diseño era solo una idea (afortunadamente) y era algo así:


No hizo falta demasiado para darnos cuenta de que este no era el camino. El diseño tenía que ser limpio, basado en iconos más que en texto, y si había texto debía ser grande pero en poca cantidad.

Los fondos de pantalla estaban prohibidos y reconozco que fue necesario ver otras apps importantes para recibir un poco de inspiración.

Fue necesaria una semana hasta obtener la base del diseño final. Resulta que era tan simple como el blanco y negro.


Ahora había que pensar cómo se mostrarían todas las opciones. Como veis arriba la idea original era un menú lateral desplegable en el que se mostraban las tres partes principales de la app.

Efectivamente esto ya no es así. Pero fue muy difícil llegar a esta conclusión.

Como curiosidad, os puedo adelantar que yo solo con la única ayuda de Xcode fui capaz de hacer funcionar un menú desplegable primitivo sin ningún fondo de pantalla. Era horroroso pero fue mi primera creación con Xcode.

No os quiero contar mucho sobre la programación porque me dedicaré a ella en otro post. Algunos lo sabéis, tuve que pedir ayuda y actualmente el la programación de la app está delegada a uno de mis mejores amigos.

Es posible que los que habéis visto capturas de la app os estéis preguntando cómo fue el paso de un diseño con barra lateral a un diseño de Tab bar inferior. Bueno, la respuesta esta en uno de los bocetos originales:





No espero que entendáis nada de este boceto. Solo quiero  destacar que en la segunda vista empezando por la derecha se ve un pequeño menú en el que se tocan los mac de forma directa. Esa fue la clave. La app debía entrar directamente en ese menú y el resto de opciones debían estar visibles en todo momento. Como habréis deducido la única opción era usar una barra de navegación inferior (al estilo de Spotify).

A pesar de que los pequeños detalles podrían variar, hoy estoy orgulloso de decir que hello. se verá así:



En el siguiente post os contaré el origen ( y el sentido) del nombre y del icono.

J.Growl

Biólogo de profesión, jugón y tecnófilo sin remedio. No hablo de temas serios si no hay buena cerveza de por medio.

No hay comentarios:

Publicar un comentario

ANTES DE COMENTAR LEE:

Por favor se educado y respetuoso. Si tienes problemas o dudas específicas utiliza el formulario de contacto. Gracias por colaborar!