Full Transcript

Planificación de una aplicación El desarrollo de nuevas tecnologías y la evolución constante de los dispositivos móviles permiten a los usuarios mantenerse conectados permanentemente a Internet. Las organizaciones no están ajenas a esta situación y, cada vez más, están obligadas a redefinir parte de s...

Planificación de una aplicación El desarrollo de nuevas tecnologías y la evolución constante de los dispositivos móviles permiten a los usuarios mantenerse conectados permanentemente a Internet. Las organizaciones no están ajenas a esta situación y, cada vez más, están obligadas a redefinir parte de sus estrategias de funcionamiento. En la actualidad, necesitan herramientas que permitan aprovechar esta situación con el objetivo de lograr agilizar cada vez más la comunicación con sus clientes. Esto implica trabajar sobre los distintos componentes del sistema de información para poder establecer este vínculo casi constante con los usuarios. Emprender el desarrollo de nuevas aplicaciones para dispositivos móviles implica realizar un proceso que consiste en determinar cuál es la mejor solución que se puede implementar en función de los objetivos planteados. Para ello, se debe trabajar en base a un enfoque metodológico que permita determinar con claridad los objetivos, requerimientos a satisfacer, el alcance del proyecto, definir la tecnología adecuada para su implementación y su plan de ejecución. En esta lectura, se describen, en forma general, los pasos que se deben ejecutar para llevar a cabo la creación de una aplicación para dispositivos móviles. Para desarrollar los conceptos, continuaremos analizando el Caso: SEGUX, compañía de seguros. Plani cación de una aplicación Referencias Revisión del módulo Lección 1 de 3 Planificación de una aplicación A la hora de emprender el desarrollo de una aplicación, antes de comenzar, se debe realizar una planificación exhaustiva que detalle, cuidadosamente, los pasos a seguir. Para crear una aplicación móvil es fundamental establecer objetivos a cumplir, cuáles son las funcionalidades esperadas y a qué público está dirigida para poder tener una mayor probabilidad de éxito. En función de esta información se puede decidir qué tipo de aplicación se necesita desarrollar. Fases básicas en el desarrollo de aplicaciones móviles Consideraciones sobre la plataforma de ejecución La primera definición en el proceso de desarrollo de una aplicación móvil es determinar qué tipo de plataforma se utilizará como base para la ejecución de la aplicación. Para el caso de app móviles nativas estamos obligados a optar por una plataforma o sistema operativo específico. Por el contrario, si lo que desarrollamos es una aplicación web móvil se puede lograr portabilidad, ya que la aplicación es accedida mediante navegador web. 1: Sistemas operativos móviles Fuente: [Imagen sin título sobre sistemas operativos para móviles]. (s. f.). Recuperada de https://sites.google.com/site/osmovil300/sistemasoperativos-para-moviles Definición de versiones – Es importante no solo seleccionar un sistema operativo como base para la ejecución de la aplicación, sino también la versión para la cual es desarrollada la app. Esto se debe a que los SO presentan diferentes versiones en producción, dada la evolución sostenida de estos. Aplicaciones móviles multiplataforma – Este tipo de aplicaciones brinda la oportunidad de ejecutar la app en múltiples sistemas operativos manteniendo la base de código. Se logra compilando las aplicaciones por separado para cada sistema operativo. Aplicaciones móviles nativas o híbridas – Las aplicaciones nativas se crean en un lenguaje que requiere compilación sobre una plataforma específica. Aquí se destaca que los elementos de la interfaz de usuario se construyen a partir de los componentes o controles nativos. Las aplicaciones móviles híbridas se desarrollan utilizando HTML / CSS / JavaScript y están envueltas en una aplicación de Shell que se ejecuta en una vista web y consiste en un navegador integrado en los sistemas operativos móviles (Virgo, 2016).  Referencia caso de estudio Teniendo en cuenta que la organización desea realizar una aplicación que permita agilizar los canales de comunicaciones y realización de trámites con sus clientes, debe considerar la posibilidad de desarrollar una app con características multiplataforma. Es decir, por lo menos, optar por una aplicación que funcione en dos de los SO más difundidos como son Android o iOS. Para ello, debe considerar una importante definición en cuanto qué tipo de aplicación desarrollar (nativa, web o híbrida). Selección plataforma de desarrollo La plataforma de desarrollo de aplicaciones móviles no es un tema menor ya que define los pasos durante el proceso de desarrollo y pruebas de la aplicación. El entorno permite definir para que SO compilar y los dispositivos que puede admitir. Veamos algunas consideraciones para su elección: Lenguajes de programación que soporta – Por ejemplo, Java, C #, Objective-c y HTML / CSS / JavaScript. Un desarrollo híbrido presenta similitudes entre las plataformas de desarrollo, pero cuando se trata de elegir entre aplicaciones nativas se requiere evaluar qué lenguaje compilado funciona mejor para la aplicación. Entorno de desarrollo integrado (IDE) – Elegir un IDE avanzado para el desarrollo permite el uso de funciones útiles como depuración remota o emulación del dispositivo. Planificación del diseño de aplicaciones móviles A la hora de pensar el diseño de la aplicación a desarrollar se deben definir los siguientes conceptos: Considerar en cierta forma el universo de dispositivos móviles, debe entenderse que en un determinado tiempo conviven distintos tipos de hardware y plataformas. Los diseñadores deben trabajar con el concepto de evitar los diseños muy complejos que demandan demasiado recurso al hardware de los dispositivos móviles ya que pueden perjudicar la experiencia del usuario. Utilizar elementos estandarizados como menús de hamburguesas y paquetes de íconos como los ofrecidos por Font Awesome. Elegir qué metodología de desarrollo de software usar Un aspecto importante es determinar la metodología de desarrollo a utilizar para crear aplicaciones. Podemos optar por diferentes metodologías, por ejemplo, cascada tradicional. Pero es muy importante tener en cuenta que los dispositivos móviles, como teléfonos inteligentes y los sistemas operativos evolucionan constantemente, lo que lleva a considerar gestionar los proyectos utilizando alguna metodología ágil para el desarrollo de aplicaciones móviles. Utilizar una metodología ágil de gestión de proyectos permite llevar a cabo el desarrollo en un marco de trabajo que favorece a la adaptabilidad constante del producto creado. 2: Esquema de metodología de desarrollo en cascada Fuente: elaboración propia.  Referencia caso de estudio La aplicación a desarrollar por parte de la compañía debe ser pensada como una aplicación que se mantendrá en constante evolución. Por ello, es importante seleccionar una metodología de desarrollo de software que permita acompañar este proceso evolutivo. La app, seguramente, evolucionará en base a nuevas definiciones, funcionalidades y requisitos de la organización y los clientes, lo que implica que debemos optar por una metodología de gestión ágil para acompañar este proceso adaptativo. Planificación de estrategia de prueba Las aplicaciones desarrolladas deben ser sometidas a pruebas de control de calidad exhaustivas ya que se ejecutarán en gran cantidad de dispositivos distintos con versiones del sistema operativo diferentes. Es importante definir una estrategia de prueba para realizar las correspondientes evaluaciones. Dentro de las pruebas que se pueden realizar se destacan las siguientes: Pruebas unitarias de aplicaciones móviles: es necesario realizar evaluaciones mediante el uso de marcos de prueba de unidades con el objetivo de asegurar la calidad de la aplicación antes de su implementación. Aplicaciones móviles de prueba en la nube: las aplicaciones deben ser evaluadas teniendo en cuenta que pueden ser ejecutadas en múltiples equipos, los cuales tienen diferentes sistemas operativos, distintas relaciones de aspectos y resoluciones del dispositivo como así también distintas versiones del mismo sistema operativo. Existen recursos de pruebas en la nube para realizar distintas evaluaciones de trabajo que se combinan con soluciones de prueba automatizadas. Pruebas automatizadas para aplicaciones móviles: se pueden realizar tres tipos de pruebas. 1. Grabación y reproducción: este método consiste en grabar los toques y reproducirlos. Esto genera casos de prueba automatizados que pueden ser repetidos a medida que evoluciona la aplicación móvil. Este método debe ser complementado con otro tipo de pruebas, por ejemplo, manuales o script de prueba. 2. Scripts de prueba escritos a mano: este procedimiento de prueba se basa en la utilización de un desarrollador de automatización de control de calidad competente para escribir estos scripts de pruebas. 3. Prueba de humo automatizada: Permite proporcionar una prueba rápida de para rutinas básicas como la navegación. Este tipo de prueba debe utilizarse en combinación con otros métodos de prueba. Las pruebas pueden ser realizadas en el IDE utilizado para desarrollo ya que tiene sus herramientas. Desde tecnologías de pruebas unitarias hasta sistemas más complejos, como Monkeyrunner de Android. También existen herramientas para hacer pruebas de aceptación contra la UI. Programación de actualizaciones El proceso de actualización de una aplicación a su última versión debe ser considerado como parte del proceso general de desarrollo del sistema. La primera opción es actualizar las aplicaciones en la tienda de aplicaciones desde donde los usuarios recibirán las notificaciones de la existencia de una versión más nueva lista para ser descargada. Los mecanismos difieren para el caso de aplicaciones que no estén en las tiendas oficiales. 3: Tiendas de distribución de aplicaciones móviles Fuente: González, s. f., https://www.albertogonzalezseo.com/aso-posicionamiento-de-aplicaciones-moviles/ Para poder realizar la distribución de la aplicación o ejecutarla en un terminal para hacer pruebas, se exige firmar la aplicación con un certificado digital que permita identificar el origen. Si la distribución se realiza mediante mercado de aplicaciones (market places), es acreditar el derecho de publicación, además de aceptar la responsabilidad sobre la app. Cada plataforma presenta un modelo de distribución basado en sistemas de descarga, bien mediante sistemas OTA (over the air) o por mercados de aplicaciones.  Referencia caso de estudio Un aspecto no menor es la definición de la manera en que la organización desarrollará la distribución y actualización de la aplicación. Se puede considerar por practicidad, sobre todo teniendo en cuenta la masividad y popularidad de los sistemas operativos de los dispositivos, trabajar mediante las tiendas de distribución de Android y iOS. Sobre todo en etapas iniciales para aprovechar el conocimiento del entorno por parte de los usuarios y la automatización de los procesos de actualización. Analítica de aplicaciones móviles Una de las claves principales del éxito de una app es analizar y verificar los resultados de la implementación. Se puede ver quiénes son los usuarios y si se obtuvo el uso esperado. Es importante a través de este análisis detectar las necesidades de los usuarios para poder ofrecer actualizaciones que contemplen estas definiciones. El objetivo es conseguir fidelizarlos. Arquitectura de la Información de una web app La arquitectura de la información se encarga del estudio y análisis de la estructura de elementos y datos que una web o aplicación presentan al usuario. Esto está estrictamente relacionado a la usabilidad de interfaces, ya que una nace de la otra. Debemos destacar el contenido de una web o una app porque sin una correcta definición de este no es posible comunicar nada al usuario. La arquitectura de la información es una parte del proceso de diseño UX que ayuda a definir el proyecto con base sólida. ¿Qué es la arquitectura de la información? “La arquitectura de la información es el arte de organizar la información de la forma más clara y lógica posible para que el usuario pueda encontrar fácilmente lo que está buscando” (Busquets, s. f., https://www.uifrommars.com/arquitectura-de-la-informacion/). Además, nos permite “añadir fácilmente nuevas funcionalidades y escalar el producto” (Busquets, s. f., https://www.uifrommars.com/arquitectura-de-lainformacion/). Crear arquitectura de las app (Busquets, s. f.) Para lograr una buena arquitectura hay que enfocarse “esencialmente en organizar, estructurar y etiquetar correctamente todos los elementos” (Busquets, s. f., https://www.uifrommars.com/arquitectura-de-la-informacion/), siempre teniendo en cuenta el objetivo principal que es “ayudar al usuario a encontrar la información y completar tareas” (Busquets, s. f., https://www.uifrommars.com/arquitectura-de-la-informacion/). Los pasos básicos para la definición de una arquitectura de la información adecuada son los siguientes: 1 Identificar todo aquello que se quiere incluir en el proyecto, siempre partiendo del contenido y las funcionalidades que se desean ofrecer. Este trabajo depende de la investigación y el conocimiento obtenido de los usuarios y clientes. 2 Establecer las relaciones entre los ítems identificados, para decidir cuáles y cómo se deben agrupar dentro de las distintas secciones o menús y dentro de cada página. 3 Reflejar en un mapa las relaciones y agrupaciones establecidas entre los contenidos (Busquets, s. f.). El objetivo principal es encontrar la estructura adecuada que ayude al usuario a asimilar el contenido de la aplicación. Esta definición se realiza durante todo el desarrollo y cuando necesitemos redefinir los patrones establecidos. Debemos tener en cuenta para el desarrollo de una aplicación: El objetivo debe ser claro. Los elementos deben estar bien dirigidos al objetivo. No romper los estándares establecidos. Brindar una herramienta de búsqueda de información. Tener en cuenta usabilidad y accesibilidad. Establecer un equilibrio entre necesidades de los usuarios y de la empresa. Especificar la lógica detrás de la búsqueda de datos internos. Permitir establecer la escalabilidad del servicio para hacerlo óptimo (Miró, 2016). Es muy importante mantener los estándares establecidos; cuando se desarrolla una aplicación es necesario respetar aquellas cosas a las que el usuario está acostumbrado para no generar rechazo a la aplicación. Innovar o producir cambios muy grandes obliga a los usuarios a pasar por un proceso de aceptación, el cual puede producir un efecto de rechazo en ellos. Para poder realizar implementaciones adecuadas es fundamental realizar tests de usabilidad y un estudio detallado de la arquitectura. Para definir la arquitectura de la aplicación es imprescindible conocer su naturaleza. Esto es, las aplicaciones pueden trabajar con datos locales sin necesitar conexión o pueden necesitar conexión para proveerse desde un servidor. Un ejemplo que afecta la usabilidad y la arquitectura de una aplicación es la incorporación de un mensaje por pantalla a modo de retroalimentación para informar al usuario que su petición se está procesando. En el caso de que los datos sean locales, las consultas se ejecutan prácticamente en forma instantánea, mientras que si hay dependencia de una conexión externa, se necesita construir un diálogo para que el usuario sepa que hay un proceso corriendo. En una aplicación móvil, la arquitectura de la información debe definir con claridad qué elementos habrá disponibles y bajo qué opciones de menú. El objetivo de toda definición de arquitectura es la de crear un sitio simple y claro para el usuario y que reduzca al máximo el aprendizaje para comenzar su uso. Primero, es necesario definir las jerarquías de cada elemento y, luego, cuál es su ubicación. No todos los sitios son iguales, pero se basan en una serie de pautas ya comprobadas y establecidas que se deben tener en cuenta a la hora de la definición de la arquitectura. También cobra vital importancia si el sitio a desarrollar es solicitado por un usuario en particular o si el sitio abarca a un determinado mercado. Pautas a tener en cuenta son las que a continuación se describen: Proporcionar al usuario mensajes de error descriptivos. Ayudar al usuario dentro de la aplicación; es decir, si está por cerrar algo sin enviar el contenido de la página actual, proporcionar una alerta. Crear una arquitectura de información jerárquica simple y bien etiquetada. Utilizar desarrollos web que utilicen los lenguajes nativos del browser. Usabilidad La usabilidad de una aplicación depende de la facilidad con que un usuario puede aprender su funcionamiento y obtener los resultados deseados de una manera simple. En definitiva se refiere a la capacidad de un software de ser comprendido, aprendido, usado y ser atractivo para el usuario en determinadas condiciones de uso (“Usabilidad”, 2021). 4: Usabilidad. Facilidad con que un usuario puede aprender su funcionamiento y obtener los resultados deseados Fuente: [Imagen sin título sobre usabilidad]. (s. f.). Recuperada de https://www.workana.com/i/glosario/usabilidad-web/ Para que una aplicación móvil presente características de usabilidad alta se pueden aplicar las siguientes recomendaciones: Los diseños siempre deben ser realizados teniendo en cuenta que la pantalla de un móvil es mucho más pequeña que una de una PC de escritorio y que, por lo tanto, la aplicación deberá adaptarse a esta. Los diseños de una sola columna son los que más se utilizan en los teléfonos inteligentes. Tratar de que el usuario tenga menor posibilidad de escribir dentro de la aplicación. Accesibilidad La accesibilidad hace referencia a la simplicidad con que un usuario puede utilizar una aplicación independientemente del contexto en que esto se genere. 5: Accesibilidad. Simplicidad con que un usuario puede utilizar una aplicación Fuente: [Imagen sin título sobre accesibilidad]. (s. f.). Recuperada de https://capacitacion.inap.gob.ar/actividad/accesibilidad-webintroduccion-y-pautas/ Para que una aplicación tenga características de accesibilidad adecuadas es necesario seguir las siguientes pautas: El desarrollo móvil debe basarse no solo en reducir el tamaño de la aplicación por el tipo de pantalla de los móviles, sino también debe tenerse en cuenta que el usuario se encuentre a gusto cuando accede a la aplicación. Utilizar grillas en los diseños para lograr espacios adecuados. Tener en cuenta que no todos los móviles son táctiles. Hacer aplicaciones simples donde el número de pasos para alcanzar el resultado sea acotado. Desarrollar en tamaños de texto acorde al tamaño de la aplicación. No utilizar en exceso contenidos multimedia y, en caso de utilizarlos, tener en cuenta que puedan ser accesibles desde la mayor parte de los dispositivos. Reducir el ingreso de información desde el teclado mediante textos cortos. Utilizar traductores o entradas de texto mediante micrófono. Navegabilidad Navegabilidad se refiere a qué tan simple resulta para un usuario desplazarse y ubicarse entre las distintas páginas y elementos de un sitio web. 6. Navegabilidad. Que tan simple resulta el desplazamiento por un sitio Fuente: “¿Qué es navegabilidad web?”, s. f., https://i.workana.com/glosario/que-es-navegabilidad-web/ Para que un usuario tenga buena navegabilidad, …para que exista navegabilidad el internauta debe tener herramientas suficientes para determinar: En qué parte del sitio se encuentra. De qué parte o partes del sitio viene. Cómo llegar a la información a la que quiere ir. Mientras más contenido y diferentes categorías haya en un sitio web, más y más importante se vuelven las estrategias de navegabilidad para que el usuario no se “pierda” ni se desespere tratando de acceder a la información. Cuando no hay buena navegabilidad, los usuarios tienden a buscar lo que necesitan en otro sitio, lo cual aumenta la tasa de rebote, disminuye las posibilidades de conversión y, en general, contraviene los objetivos SEO. Básicamente, la navegabilidad web depende de cómo esté organizado, categorizado y dividido el contenido de un sitio; a esto se le llama arquitectura de la información. Debe de ser sencillo e intuitivo localizar toda la información y los recursos disponibles, así como identificar las rutas y los atajos de navegación. Normalmente, los sitios web resuelven la necesidad de navegación del usuario mediante el uso de menús, íconos y mapas. (“¿Qué es navegabilidad web?”, s. f., https://i.workana.com/glosario/que-esnavegabilidad-web/). ¿Cómo se consigue una buena navegabilidad en un sitio web? Para conseguir una buena navegabilidad, es necesario considerar algunos aspectos: Menú de navegación debe ser fija su ubicación. Siempre visible y en el mismo lugar. Implementar señales de navegación que permitan al usuario identificar en qué parte del sitio se encuentra. Organizar URL por categorías y niveles jerárquicos. Crear mapa del sitio que muestre páginas y organización. Categorizar y jerarquizar las secciones adecuadamente. Crear atajos para que las rutas más utilizadas sean más accesibles y visibles (“¿Qué es navegabilidad web?”, s. f.).  Referencia caso de estudio Debemos asegurar, en el proceso de construcción de la aplicación, que se consideren aspectos fundamentales desarrollados con la experiencia de usuario, ya que es base para el éxito de uso de la aplicación. Tiene que hacerse una correcta definición de la arquitectura de la información y trabajar sobre el sitio para lograr una buena accesibilidad, usabilidad y navegabilidad. También, es importante tener en cuenta que el dejar de lado algunos de estos conceptos puede ocasionar el fracaso de la aplicación y, como consecuencia, pérdidas de oportunidad y costos considerables. C O NT I NU A R Lección 2 de 3 Referencias Busquets, C. (s. f.). Arquitectura de la información: qué es y cómo hacerlo. Recuperado de https://www.uifrommars.com/arquitectura-de-la-informacion/ González, A. (s. f.). ¿Qué es ASO? – App Store Optimization. Recuperado de https://www.albertogonzalezseo.com/aso-posicionamiento-de-aplicaciones-moviles/ [Imagen sin título sobre accesibilidad]. (s. f.). https://capacitacion.inap.gob.ar/actividad/accesibilidad-web-introduccion-y-pautas/ Recuperada [Imagen sin título de sobre desarrollo en cascada]. (2021). https://es.wikipedia.org/wiki/Desarrollo_en_cascada [Imagen sin título sobre sistemas operativos para móviles]. (s. f.). Recuperada de https://sites.google.com/site/osmovil300/sistemas-operativos-para-moviles [Imagen sin título sobre usabilidad]. (s. f.). Recuperada de https://www.workana.com/i/glosario/usabilidad-web/ Miró, A. (2016). Cómo funciona la arquitectura de la información en apps. Recuperado de https://www.deustoformacion.com/blog/apps-moviles/funciona-arquitectura-informacion-apps ¿Qué es navegabilidad web? (s. f.). WORKANA. Recuperado de https://i.workana.com/glosario/que-esnavegabilidad-web/ Virgo, J. (2016). Cómo planificar su aplicación móvil - Información técnica sobre el desarrollo de aplicaciones móviles. Recuperado de https://aptude.com/es/blog/entrada/C%C3%B3mo-planificar-la-informaci%C3%B3n- t%C3%A9cnica-de-su-aplicaci%C3%B3n-m%C3%B3vil-sobre-el-desarrollo-de-aplicaciones-m%C3%B3viles/ C O NT I NU A R Lección 3 de 3 Revisión del módulo Hasta acá aprendimos Aplicaciones móviles – Las aplicaciones móviles son aquellas aplicaciones diseñadas y creadas para ejecutarse en dispositivos móviles como pueden ser los smartphones o tablets. Cada dispositivo cuenta con un sistema operativo particular, dentro de los más conocidos están Android y iOS. Aplicación web móviles – Una Aplicación Web Móvil se desarrolla bajo el concepto que sus contenidos y presentación deben funcionar desde un navegador WEB. Para su desarrollo se trabajan conceptos UX - UI y se presta especial atención en cuidar es la privacidad. Aplicaciones nativas, web o híbridas – Existen distintos tipos de aplicaciones móviles, nativas, web o híbridas. Con cada una de ellas podemos brindar soluciones standalone, online o smart client. Decidir qué tipo de solución implementar dependerá del objetivo, necesidad y destinatarios. Planificación de una aplicación – La construcción de aplicaciones móviles se debe realizar en base a un enfoque metodológico que permita determinar con claridad los objetivos, requerimientos, alcance del proyecto y definir la tecnología adecuada para su implementación.

Use Quizgecko on...
Browser
Browser