Codex Institute patrocina esta nota. Codex Institute ofrece cursos presenciales para desarrolladores de todos los niveles en Quito, con un catálogo que se va ampliando de manera contínua. El cuerpo de profesores de Codex Institute cuenta con especialistas en Ruby on Rails, Python, ERPs, desarrollo para iOS y Android, y desarrollo Full Stack. Dispone de cursos para, entre otras cosas, aprender las bases de la programación y del desarrollo web, desarrollo para Android y desarrollo Front-End con React.

Ponte en la siguiente situación: mi equipo y yo hemos madurado ya la idea de la aplicación móvil durante algún tiempo y nos pican las manos por poner en código todo lo que se ha conversado y empezar cuanto antes a crear funcionalidad en Android Studio. En la primera reunión de trabajo, el líder del proyecto ha escuchado los comentarios de ir al desarrollo inmediatamente con el ceño fruncido hasta que finalmente dice con firmeza, «no se hace una línea de código sin antes tener un prototipo aprobado». Acto seguido, reparte a todos papel y lápiz sin poner demasiada atención en las miradas absortas.

Me pregunto a mi mismo ¿hemos vuelto a la época de las cavernas? ¿Por qué no nos das un pedazo de carbón y nos encierras en una cueva? repite mi voz interior de muy mala gana.

Todos tenemos ahora la tarea de «dibujar» la interfaz de la aplicación, y es lo que empezamos a hacer al fin. Sin haber pasado una sola hora en la clase de diseño gráfico, nos hemos puesto a garabatear ventanas, botones y barras, cuando para nuestro gusto deberíamos empezar a armar el modelo funcional en nuestro IDE.

Al cabo de 1 hora tenemos los primeros wireframes obtenidos en una aplicación de prototipado a partir de nuestros considerablemente desastrosos bocetos (sketchs) iniciales.

Solo hemos trabajado en 3 pantallas y a decir verdad me he dado cuenta de que al menos 2 funcionalidades que no necesito, pero que había pensado en desarrollarlas para la primera demo, han desaparecido de mis dibujos. Cuando converso con los otros miembros del equipo, obtengo opiniones parecidas.

En la siguiente reunión, tampoco vamos al código. Esta vez empezamos a crear una maqueta aún de manera gráfica tratando de colorear ciertas zonas para destacar funcionalidad y creando objetos cada vez más realistas en cada pantalla. Los colores destacados de ciertos botones e iconos nos permiten imaginar mejor la experiencia del usuario aun en este estado, sin que los gráficos por sí mismos tengan ninguna funcionalidad.

Interesante aspecto desde el punto de un desarrollador que pensaba tener una gran parte de la aplicación ya concebida en la cabeza y bueno lo programático, que está bullendo ahí desde que aprendimos a sacarle partido al SDK de Android.

En la tercera sesión de desarrollo es cuando empezamos a crear un prototipo funcional. Todos tenemos ya mayor disposición para modificar interacciones y aspectos de diseño por los que antes hubiéramos sido renuentes a modificarlos, simplemente porque creíamos que «así debían estar».

Si bien el método de prototipado no era ajeno a nuestro equipo de desarrollo, unos más que otros pensamos que esto iba a ser tarea del responsable de front-end, que tendría listo el prototipo en la primera sesión y con ello cada cual podría iniciar la construcción del código que le correspondía en el patrón de diseño de software que los arquitectos habíamos definido.

La importancia de tomarse tiempo para diseñar un prototipo

Lo que se ha descrito como solo 3 sesiones en realidad tomó mucho más tiempo. Y es algo curioso que, por contradictorio que parezca, tomar ese tiempo en el diseño del prototipo nos ahorró largas horas de desarrollo que no servirían finalmente para nuestra aplicación. Así es como lo fuimos experimentando cada uno desde nuestra propia perspectiva.

Ir a las pruebas de usuario del prototipo nos convenció aún más de haber tomado el camino correcto, porque solo entonces los verdaderos dueños del desarrollo, los usuarios, nos fueron guiando por lo que en realidad quieren ver y cómo sería mejor la funcionalidad.

Como conocedor del lenguaje de programación que dominas, te sientes muy cómodo con haber librado batallas que han conseguido aplicaciones móviles con funcionalidades impresionantes en otros momentos. Pero tu perspectiva siempre es distinta a la del usuario, y ya ha pasado que los cambios posteriores a las versiones alfa que se hicieron sin pasar por este proceso tomaron más tiempo del que el equipo consideró en ese entonces.

El solo hecho de cambiarte a la silla de enfrente hace que la aplicación deje de ser tan amigable. Los usuarios te dicen cómo volverla atractiva para ellos pues serán los futuros utilicen las funciones que tu equipo desarrolle para una variedad de dispositivos. En tanto se pueda identificar lo que hagas en el código con lo que los usuarios consideran necesario, tu aplicación tendrá mayor o menor acogida en tu mercado objetivo.

Todos los aspectos que fuimos perfeccionando en la creación del prototipo nos hicieron caminar con pasos agigantados en aspectos como diseño, organización, usabilidad, flujo de secuencias, y otros detalles más, que nos permitieron luego sentirnos seguros haciendo programación orientada a objetos cuando ya teníamos resueltos los criterios de experiencia de usuario (UX) y secuenciación.

Aplicaciones útiles para el prototipado

A continuación, veamos una lista de aplicaciones que puedes utilizar para hacer tu prototipo antes de que escribas siquiera una línea de código. Hay muchas aplicaciones que te pueden ayudar con esto ,así que solo mencionaré las que a mi juicio resultan relevantes.

Sin título

Balsamiq

Una de las opciones comerciales más utilizadas del mercado. Te permite maquetar rápidamente los diferentes estados de tu aplicación pensada para cualquier tamaño de dispositivos gracias a los múltiples elementos de layout que tiene precreados y que tu puedes arrastrar y soltar. Balsamiq es muy versátil al momento de hacer cambios y te permite mostrar los resultados en varios formatos.

Flinto

Es una herramienta con dos versiones, para sistema operativo Mac y para Web. Flinto te permite crear muy buenos prototipos de tus aplicaciones. Lo destacable de esta aplicación es que es muy fácil de usar y puedes añadir a tus prototipos animaciones, gestos y scroll para textos o imágenes. Además, también puedes conectar todas las pantallas de tu aplicación.

InVision

InVision es un programa que ofrece una opción gratuita para prototipar apps. Es parecido a Flinto, pues también parte de la idea de que el usuario diseñe previamente unas pantallas con otro programa para hacer prototipos, luego suba esos prototipos a la plataforma y empiece a añadirle animación, transiciones e interactividad de manera que las pantallas queden entrelazadas entre sí.

Proto.io

Es la herramienta que permite hacer prototipos que incluyen interactividad, transiciones animadas y secuencias. Con Proto.io podemos definir ciertas funcionalidades de manera que nuestra app se parezca un montón a la app final programada.

El conocimiento de cómo programar aplicaciones para Android es el fuerte de tu know-how, lo que te permite cristalizar las aplicaciones de tan solo líneas inconexas a ver realmente cómo el usuario echa mano de tu desarrollo para realizar tareas realmente funcionales desde su propio dispositivo. Si a este conocimiento le añades las ventajas de un buen prototipo y las suficientes pruebas A/B con tus usuarios, las posibilidades de éxito de tu aplicación crecerán de manera exponencial.

Encuentra aquí el Curso de Desarrollo en Android de Codex Institute y empieza a conseguir el KnowHow que te permitirá ser parte de un nuevo equipo de desarrollo o, pensando en grande, formar el tuyo propio. Recuerda que Codex Institute ofrece también cursos de desarrollo Front-End y para aprender las bases de la programación y del desarrollo web. En el curso de desarrollo en Android puedes aprender la manera en que tu conocimiento de Java u otro lenguaje Orientado a Objetos puede ser utilizado en Android Studio para ir creando tu aplicación etapa por etapa, con la guía de un experto en el tema que ha creado ya un sinnúmero de aplicaciones.