Aunque no parezca, las aplicaciones llevan tiempo entre nosotros. Ya antes de comenzar a diseñarlas, deseamos que las conozcas: ¿Cuáles son sus tipos y características? ¿Qué diferencias hay entre ellas y con una web móvil?
Las aplicaciones —también llamadas apps— están presentes en los teléfonos desde hace tiempo; en verdad, ya estaban incluidas en los sistemas operativos de Nokia o Blackberry años atrás. Los móviles de esa época, contaban con pantallas reducidas y en muchas ocasiones no táctiles, y son los que ahora llamamos
feature phones, en contraposición a los
smartphones, más actuales.
En esencia, una aplicación no deja de ser un software. Para entender un poco mejor el término, podemos decir que las aplicaciones son para los móviles lo que los programas son para los ordenadores de escritorio.
FIGURA 1.1.En la AppStore hay cientos de miles de apps libres.
Actualmente hallamos aplicaciones de todo tipo, forma y color, pero en los primeros teléfonos, estaban enfocadas en mejorar la productividad personal: se trataba de alarmas, calendarios, calculadoras y clientes del servicio de correo.
Hubo un cambio grande con el ingreso de iPhone al mercado, ya que con él se produjeron nuevos modelos de negocio que hicieron de las aplicaciones algo rentable, tanto para desarrolladores como para los mercados de aplicaciones, como Aplicación Store, Google Play y Windows Phone Store.
Al mismo tiempo, también mejoraron las herramientas de las que disponían diseñadores y programadores para desarrollar aplicaciones, facilitando la labor de producir una aplicación y lanzarla al mercado, aun por cuenta propia.
Las aplicaciones comparten la pantalla del teléfono con las webs móviles, mas mientras las primeras deben ser descargadas y también instaladas ya antes de emplear, a una web puede accederse simplemente utilizando Internet y un navegador; sin embargo, no todas y cada una pueden verse adecuadamente desde una pantalla generalmente más pequeña que la de un ordenador de escritorio.
Las que se adaptan singularmente a un dispositivo móvil se llaman «web responsivas» y son ejemplo del diseño líquido, ya que se puede pensar en ellas como un contenido que toma la manera del contenedor, mostrando la información según sea preciso. Así, columnas enteras, bloques de texto y gráficos de una web, pueden acomodarse en el espacio de una manera diferente —o incluso desaparecer— de acuerdo a si se entra desde un teléfono, una tableta o bien un ordenador.
FIGURA 1.2.El diseño «responsivo» se amolda dependiendo del dispositivo donde es visualizado.
Quienes cuentan ya con una «web responsiva» pueden proponerse la necesidad de diseñar una aplicación, mas la contestación a si esto es o no preciso, depende de comprender tanto los objetivos de negocio, como las características que diferencian las aplicaciones de las webs.
Por ejemplo, las aplicaciones pueden verse incluso cuando se está sin conexión a Internet, además, pueden acceder a ciertas características de hardware del teléfono —como los sensores—, capacidades que en la actualidad están fuera del alcance de las webs. Por lo precedente, puede decirse que una aplicación ofrece una mejor experiencia de uso, evitando tiempos de espera excesivos y consiguiendo una navegación más fluida entre los contenidos.
No hay siempre y en toda circunstancia que seleccionar entre una u otra. Webs y aplicaciones no son contendientes, más bien, pueden complementarse entre ellas; por poner un ejemplo, una web puede ser útil como canal de información para motivar la descarga de la aplicación.
Es posible que cuando llegue la hora de diseñar una aplicación ya exista una web como antecedente. En esos casos, la app debe tomar las funciones y contenidos que se han pensando para la página web y adaptarlos a fin de que tengan sentido, conforme al tamaño de pantalla y a la forma de interacción de un móvil.
En otros casos, el diseño comienza desde cero, cuando todavía no hay ni web ni aplicación, y hay que decidirse por cuál de ellas iniciar. Aquí es donde adquiere más trascendencia el concepto de
mobile first, que implica plantear el proceso de diseño teniendo presente el móvil primeramente.
La ventaja de esta manera de trabajar es que el meditar en el móvil como punto de partida, obliga a concentrarse en lo esencial de un producto y a hacer foco solo en lo que tiene sentido para este dispositivo.
Una vez que la aplicación está diseñada, puede preguntarse cuál es la mejor forma de llevar lo hecho para el teléfono a una pantalla de PC o a otros dispositivos, propagando y escalando el contenido y repensando la diagramación. Todos los dispositivos tienen usos diferentes, y en el momento de adaptar el diseño, hay que tomar en consideración las características particulares de cada uno de ellos de ellos.
Mobile firstes una propuesta de trabajo que ha surgido recientemente; una tendencia emergente que aún está por afianzarse. En nuestros días, es solo una manera de afrontar el proceso de diseño y como tal, puede evaluarse la comodidad que se tiene trabajando así antes de iniciar
.
El proceso de diseño y desarrollo de una aplicación, abarca desde la concepción de la idea hasta el análisis posterior a su publicación en las tiendas. Durante las distintas etapas, diseñadores y desarrolladores trabajan —la mayor una parte del tiempo— de manera simultánea y coordinada.
Hemos resumido las fases de este proceso solo desde la perspectiva del diseño y desarrollo, esto es, sin tener en cuenta los roles de coordinación, la participación del cliente del servicio, ni los accionistas de la empresa.
Cada una de las etapas —excepto la de desarrollo— se explica más ampliamente en los capítulos siguientes, detallando procesos y metodologías para ir avanzando entre ellas.
FIGURA 1.3.El proceso de diseño engloba diferentes etapas donde diseñador y desarrollador trabajan simultáneamente, con más o bien menos carga de trabajo dependiendo del momento.
El resultado de esta etapa es una idea de aplicación, posicionamiento de mi pagina web tiene en cuenta las necesidades y problemas de los usuarios. La idea responde a una investigación preliminar y a la posterior comprobación de la viabilidad del término.
En este paso del proceso se describe con detalle a los usuarios para quienes se diseñará la aplicación, empleando metodologías como «Personas» y «Viaje del usuario». También aquí se sientan las bases de la funcionalidad, lo cual determinará el alcance del proyecto y la complejidad de diseño y programación de la app.
En la etapa de diseño se llevan a un plano tangible los conceptos y definiciones precedentes, primero en forma de
wireframes, que dejan crear los primeros prototipos para ser probados con usuarios, y posteriormente, en un diseño visual acabado que será provisto al desarrollador, en forma de ficheros separados y pantallas modelo, para la programación del código.
El programador se hace cargo de dar la vida a los diseños y crear la estructura sobre la cual se apoyará el funcionamiento de la aplicación. En el momento en que existe la versión inicial, dedica gran parte del tiempo a corregir errores funcionales para asegurar el correcto desempeño de la app y la prepara para su aprobación en las tiendas.
La aplicación es finalmente puesta a disposición de los usuarios en las tiendas. Después de este paso trascendental se efectúa un seguimiento a través de analíticas, estadísticas y comentarios de usuarios, para valorar el comportamiento y desempeño de la app, corregir errores, efectuar mejoras y actualizarla en futuras versiones.
A nivel de programación, existen múltiples formas de desarrollar una aplicación. Cada una de ellas tiene diferentes características y restricciones, singularmente desde el punto de vista técnico.
Aunque a primera vista esto no parezca incumbencia del diseñador, la realidad es que el género de aplicación que se escoja, condicionará el diseño visual y la interacción.
Las aplicaciones nativas son aquellas que han sido desarrolladas con el software que ofrece cada sistema operativo a los programadores, llamado genéricamente
Software Development Kito SDK. Así, Android, iOS y Windows Phone tienen uno diferente y las aplicaciones nativas se diseñan y programan específicamente para cada plataforma, en el lenguaje usado por el SDK.
Este género de aplicaciones se descarga y también instala desde las tiendas de aplicaciones —con ciertas excepciones en el caso de Android, que veremos en el capítulo «Lanzando la app»— sacando buen partido de las diferentes herramientas de promoción y marketing de cada una de ellas.
Las aplicaciones nativas se actualizan frecuentemente y en esos casos, el usuario debe volver a descargarlas para obtener la última versión, que a veces corrige errores o añade mejoras.
Una característica por norma general menospreciada de las apps nativas, es que pueden hacer uso de las notificaciones del sistema operativo para enseñar avisos esenciales al usuario, incluso cuando no se esté utilizando la aplicación, como los mensajes de Whatsapp, por ejemplo.
FIGURA 1.4.Las aplicaciones nativas dejan aprovechar el sistema de notificaciones.
Además, no requieren Internet para funcionar, con lo que ofrecen una experiencia de empleo más fluida y están verdaderamente integradas al teléfono, lo que les permite usar todas las características de hardware del terminal, como la cámara y los sensores (GPS, acelerómetro, giróscopo, entre otros).
A nivel de diseño, esta clase de aplicaciones tiene una interfaz basada en las guías de cada sistema operativo, consiguiendo mayor congruencia y consistencia con el resto de aplicaciones y con el propio SO. Esto favorece la usabilidad y favorece de manera directa al usuario que halla interfaces familiares.
La base de programación de las aplicaciones web —también llamadas
webapps—es el HTML, conjuntamente con JavaScript y CSS, herramientas ya conocidas para los programadores web.
En este caso no se emplea un SDK, lo cual deja programar de forma independiente al sistema operativo en el que se usará la aplicación. Por eso, estas aplicaciones pueden ser fácilmente utilizadas en diferentes plataformas sin mayores inconvenientes y sin precisar desarrollar un código diferente para cada caso en particular.
Las aplicaciones web no precisan instalarse, puesto que se visualizan usando el navegador del teléfono como un sitio web normal. Por esta misma razón, no se distribuyen en una tienda de aplicaciones, sino se comercializan y promocionan de forma independiente.
Al tratarse de aplicaciones que funcionan sobre la web, no es preciso que el usuario reciba actualizaciones, en tanto que siempre estará viendo la última versión. Pero, en contraste a las aplicaciones nativas, requieren de una conexión a Internet para marchar apropiadamente.
FIGURA 1.5.Facebook cuenta tanto con una webapp como con una app nativa.
Adicionalmente, tienen ciertas restricciones e inconvenientes en factores importantes como gestión de memoria y no dejan aprovechar al máximo la potencia de los diferentes componentes de hardware del teléfono.
Las aplicaciones web suelen tener una interfaz más genérica y también independiente de la apariencia del sistema operativo, con lo que la experiencia de identificación del usuario con los elementos de navegación y también interacción, suele ser menor que en el caso de las nativas.
Este género de aplicaciones es una suerte de combinación entre las 2 precedentes. La forma de desarrollarlas es parecida a la de una aplicación web —usando HTML, CSS y JavaScript—, y en el momento en que la aplicación está terminada, se compila o empaqueta de forma tal, que el resultado final es tal y como si se tratase de una aplicación nativa.
Esto deja casi con un mismo código obtener diferentes aplicaciones, por poner un ejemplo, para Android y iOS, y repartirlas en cada una de sus tiendas.
A diferencia de las aplicaciones web, estas permiten acceder, usando librerías, a las capacidades del teléfono, tal como lo haría una aplicación nativa.
FIGURA 1.6.Netflix tiene una aplicación híbrida que se ve prácticamente igual en iOS y en Android.
Las aplicaciones híbridas, también tienen un diseño visual que no se identifica en buena medida con el del sistema operativo. No obstante, hay formas de emplear controles y botones nativos de cada plataforma para apegarse más a la estética propia de cada una.
Existen ciertas herramientas para desarrollar esta clase de aplicaciones. Apache Cordova
es una de las más populares, mas hay otras, como Icenium
, que tienen la misma finalidad.
Dadas las características de cada una de las aplicaciones, decidirse por una u otra estará determinado por unos pocos factores fundamentales y por la manera en que afectan por último la experiencia de uso. Cuando la disponibilidad de la app sin Internet, la posibilidad de usar notificaciones y el acceso a los recursos de hardware del teléfono sean importantes, una aplicación nativa será la opción más indicada.
Si ninguna de estas cosas es realmente importante para la aplicación, quizás sea más fácil diseñar una aplicación web, si es que ya se dispone del conocimiento para ello, heredado del desarrollo de sitios. En este caso, el costo de desarrollo es más bajo y la manera de trabajar un poco más ágil.
Independientemente de esto, las aplicaciones nativas son las que ofrecen una mejor experiencia de uso y sobre todo, rendimiento. Ciertas apps como Facebook o bien LinkedIn, que antes eran híbridas, han pasado a ser nativas por esta razón. De manera adicional, responden más a las guías de diseño de cada sistema operativo.
Por lo precedente, nos enfocaremos en las aplicaciones nativas. De aquí de ahora en adelante, y por el resto de los capítulos que quedan por venir, vamos a estudiarlas, conocerlas y a ver qué las hace diferentes.
Para obtener más información sobre los costos de desarrollo de aplicaciones, puede comunicarse con nosotros de manera directa en la sección de
Fuente: