¿Qué es una aplicación móvil?

Una aplicación móvil, apli o app (en inglés) es una aplicación informática diseñada para ser ejecutada en teléfonos inteligentes, tabletas y otros dispositivos móviles. Por lo general se encuentran disponibles a través de plataformas de distribución, operadas por las compañías propietarias de los sistemas operativos móviles como Android, iOS, BlackBerry OS,Windows Phone, entre otros. Existen aplicaciones móviles gratuitas u otras de pago, donde en promedio el 20-30% del costo de la aplicación se destina al distribuidor y el resto es para el desarrollador.
Ejemplo:
App móvil QNoTPRed
Aplicación móvil con juego de preguntas:
A continuación se muestran los datos de una aplicación móvil desarrollada por Altiria.
Nombre: QNoTPRed – Que no te pesquen en la red
Tiendas:
Coste: Gratuita
Tecnología: Híbrida, realizada con Corona SDK
Características: Diseño gráfico a medida
Objetivo: Informar a los menores a través de un juego de los peligros que pueden encontrar en Internet.
Descripción: Juego de preguntas de formato parecido a concursos televisivos. El usuario contesta preguntas eligiendo la respuesta entre varias opciones disponibles. Acumula puntos y en función de ellos se le califica frente a su conocimiento de los riesgos de Internet.
QNoTPRed – Que no te pesquen en la red
Aplicación móvil de turismo
Aplicación móvil de reserva de hoteles
Aplicación móvil para ferias y congresos
Aplicación móvil para control de acceso con códigos QR
- Android: distribución privada bajo petición.
- La aplicación permite leer un código QR a través de la cámara de un smartphone Android, ya seaimpreso en un papel o mostrado en la pantalla de un móvil. El código QR leído se coteja con la base de datos preinstalada para validarlo y en caso afirmativo se muestran los datos asociados al contacto (datos personales, fotos, etc.)
- Si el código QR no es correcto se muestra un aviso. También se avisa si el código ya ha sido utilizado anteriormente. Se permite registrar entradas y salidas del recinto, compatibilidad con eventos multisesión.
- No se requiere conexión de datos durante el evento, ya que la validación del código QR es sobre la base de datos local.
- La aplicación permite gestionar tantos eventos como se desee con la misma base de datos y también permite la carga remota de bases de datos de contactos o asistentes al evento.
- Se muestran estadísticas de cada evento y se puede exportar el registro de acceso de la aplicación a través de correo electrónico.
- Se puede configurar el comportamiento de las entradas repetidas y de las salidas.
- Android: Petjades Culturals Puigcerdà
- Aplicación multilingüe: español, catalán, inglés, francés.
- Secciones: puntos de interés, mapa, teléfonos de contacto, configuración y ayuda.
- En cada punto de interés se ofrece información multimedia: texto, imagen y, en algunos casos, video. También se puede acceder a una brújula que permite conocer en qué dirección se halla el punto de interés y a qué distancia.
- Se guarda memoria de los puntos de interés ya visitados y si el usuario se acerca a un punto de interés, se activa una alarma y se abre automáticamente la página correspondiente a dicho punto.
- En el mapa se muestran los puntos de interés geolocalizados.
- iTunes: SBC Madrid
- Android: Indicators-Indicadores
- Interactivas: aplicaciones que ofrecen un servicio de ida y vuelta con los clientes, como por ejemplo: un calculador de asados, una guía de recetas con los ingredientes que disponemos en el momento, un buscador de ofertas sobre lugares cercanos a donde uno se encuentro.
- Tienda online: aplicación móvil que permite acceder al catálogo de productos, consultar las opiniones de otros clientes, realizar la compra, y gestionar el envío al domicilio.
- Guía de locales: aplicación móvil que contiene todos los puntos de venta de la empresa y muestra como llegar a los mismos; informa sobre ofertas exclusivas según la localización del cliente, ofrece las novedades y fomenta la interacción con Facebook y Twitter.
- Realidad aumentada: aplicación móvil que permite a través de la realidad aumentada ofrecer una imagen de cómo resultará el uso de un producto: cómo te va a quedar una prenda en el caso de una tienda de ropa on-line o un mueble en un living en el caso de las mueblerías.
- Juego vinculado a la marca: aplicación móvil que consiste en un juego gratuito cuyo argumento o personajes están vinculados con una empresa, aumentando su recordación de marca.
Aplicación móvil para control de acceso a eventos con códigos QR:
a continuación se muestran los datos de unaaplicación móvil desarrollada para controlar el acceso a recintos a través de códigos QR. No dudes en consultarnos si deseas obtener un presupuesto para tuaplicación móvil de códigos QR.
a continuación se muestran los datos de unaaplicación móvil desarrollada para controlar el acceso a recintos a través de códigos QR. No dudes en consultarnos si deseas obtener un presupuesto para tuaplicación móvil de códigos QR.
Nombre: Acceso evento QR
Tiendas:
Tecnología: Nativa
Características: Lector de códigos QR, gestión de base de datos local, exportación de datos
Objetivo: Gestionar el acceso a un recinto o evento utilizando códigos QR.
Descripción:
El primer ámbito donde han venido surgiendo soluciones empresariales muy interesantes es en las aplicaciones verticales. Algunos ejemplos concretos son: automatización de fuerza de ventas, levantamiento de información en campo, administración de servicios de mantenimiento, administración de almacén, y cobranza. Un segundo ámbito, más reciente, es el relacionado con proporcionar información ejecutiva a mandos medios capaces de tomar decisiones sobre la operación del negocio en instantes. Ajustes a una línea de producción, modificaciones a una frecuencia de salidas de viaje, o balanceo de cargas entre equipos de trabajo en tiempo real.
Conectividad
Una solución móvil en una empresa jamás es una solución aislada. Normalmente es una extensión de los sistemas empresariales existentes, como ERPs o CRMs. Por lo tanto, es fundamental entender las opciones de conectividad disponibles en el mercado y el impacto que tienen en nuestra posible aplicación.
Precisamente para una aplicación ocasionalmente conectada, se vuelve crucial contar con una buena estrategia de sincronización de datos. Lo más recomendable es aprovechar la infraestructura de sincronización existente en motores de base de datos ya maduros. Entre las mejores opciones encontramos a Microsoft SQL Server Mobile, Oracle Lite y SQL Anywhere Studio. A mi juicio, la experiencia más completa e integrada para desarrollar aplicaciones móviles con sincronización de datos es ofrecida por la combinación de Microsoft SQL Server Mobile, SQL Server 2005 y Visual Studio 2005.
Por definición, es muy probable que nuestros usuarios se encuentren dispersos geográficamente y que sea complicado darles soporte. Actividades como la actualización de nuestra aplicación, o otorgar apoyo para resolver un problema, pueden resultar complicadas y costosas, elevando innecesariamente el costo total de propiedad de la solución.
Uno de los errores más comunes cuando un programador que viene del mundo de las computadoras personales aborda un proyecto para dispositivos móviles, es subestimar las diferencias en la interfaz de usuario. Los dispositivos móviles están restringidos en el área de la pantalla y en las formas en que aceptan entradas de sus usuarios. Esto implica que debemos pensar siempre en una interfaz lo más sencilla posible y parecida a la de las demás aplicaciones que existen en la PDA o en el SmartPhone.
Las plataformas más comunes para desarrollo de aplicaciones móviles son J2ME (Java 2 Micro Edition), y el .NET Compact Framework para Windows Mobile. Personalmente, para el desarrollo de aplicaciones corporativas, he elegido especializarme en este último, ya que considero que ofrece varias ventajas sobre las alternativas disponibles:
• Capacidad de rehusar el conocimiento de desarrollo existente en lenguajes .NET para el escritorio.
• Excelente desempeño y velocidad de desarrollo.
• Facilidad para interactuar con aplicaciones corporativas gracias a una infraestructura muy completa para manejo de XML y desarrollo de clientes SOAP.
• Integración simple con SQL Server CE.
• Posibilidad de desarrollar en Visual Studio .NET
En primer lugar, podemos clasificar las aplicaciones móviles en línea y fuera de línea. Una aplicación fuera de línea es aquella que se sincroniza mediante una conexión física ocasional, ya sea cuando el personal móvil regresa a la empresa o a través de un modem. Por otro lado, una aplicación en línea puede ser de gran ancho de banda (Wi-Fi) o bien de bajo ancho de banda (GPRS).
Para una aplicación de gran ancho de banda podemos elegir el utilizar una interfaz web optimizada para el formato pequeño del dispositivo móvil, si es que el navegador nos ofrece la flexibilidad de diseño que necesitamos.
En los demás patrones, lo más recomendable es una arquitectura ocasionalmente conectada donde planeamos la aplicación para que funcione con o sin conectividad, aunque algunos de nuestros servicios estén restringidos en el segundo caso. De esta manera no dejaremos a nuestros usuarios abandonados cuando no tengan una conexión a la mano.

Estas herramientas se encargan de resolver los aspectos más importantes para sincronizar datos en una solución móvil y nos ahorrarán mucho trabajo. Comprimen la información para ambientes de bajo ancho de banda, particionan nuestra base de datos maestra para cada usuario móvil, y se encargan de replicar los cambios entre el servidor y los dispositivos móviles. Adicionalmente, nos permiten monitorear el estatus de la sincronización y resolver problemas. Finalmente, nos ofrecen una forma de programar basada en SQL en el dispositivo móvil.
Una opción muy interesante para los servicios en línea (por ejemplo, para checar un nivel de inventario a través de GPRS) son los servicios web basados en SOAP (Simple Object Access Protocol) mediante los cuales es muy sencillo realizar una transacción simple contra nuestros sistemas empresariales.
Soporte
Por esta razón, es indispensable contar desde un inicio con una estrategia de soporte basada en herramientas que nos permitan administrar fácilmente nuestros dispositivos de forma remota. Debemos ser capaces de actualizar nuestra aplicación de forma remota, de obtener información de fallas de forma automática y de atender remotamente a nuestros usuarios y a sus dispositivos.
Interfaz de Usuario
Debemos limitar la información presentada a aquella que sea indispensable. También minimizar el número de entradas que deba hacer el usuario, aprovechando los métodos de entrada que nos ofrezca el dispositivo. Nuestra aplicación debe estar preparada para que el dispositivo se apague o encienda en cualquier momento sin pérdida de información.
Plataforma
Java 2 Micro Edition también es atractivo, dado el número de teléfonos celulares que lo soportan. Sin embargo, siento que está más orientado a aplicaciones de entretenimiento que a aplicaciones para empresas.
Herramientas de Desarrollo
Las opciones de IDE dependen de la elección de plataforma: CodeWarrior es una herramienta muy popular para aplicaciones en PalmOS, NetBeans parece ser la opción default en el caso de J2ME, y para el .NET Compact Framework, la mejor opción la ofrece Visual Studio.
Tipos de aplicaciones según su desarrollo
A nivel de programación, existen varias formas de desarrollar una aplicación. Cada una de ellas tiene diferentes características y limitaciones, especialmente desde el punto de vista técnico.
Aunque a primera vista esto no parezca incumbencia del diseñador, la realidad es que el tipo de aplicación que se elija, condicionará el diseño visual y la interacción.
Aplicaciones nativas
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 Kit o 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 utilizado por el SDK.
Este tipo de apps se descarga e 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 generalmente menospreciada de las apps nativas, es que pueden hacer uso de las notificaciones del sistema operativo para mostrar avisos importantes al usuario, aun cuando no se esté usando la aplicación, como los mensajes de Whatsapp, por ejemplo.
Las aplicaciones nativas permiten aprovechar el sistema de notificaciones.
Además, no requieren Internet para funcionar, por lo que ofrecen una experiencia de uso más fluida y están realmente integradas al teléfono, lo cual les permite utilizar 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, logrando mayor coherencia y consistencia con el resto de aplicaciones y con el propio SO. Esto favorece la usabilidad y beneficia directamente al usuario que encuentra interfaces familiares.
Aplicaciones web
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 permite programar de forma independiente al sistema operativo en el cual se usará la aplicación. Por eso, estas aplicaciones pueden ser fácilmente utilizadas en diferentes plataformas sin mayores inconvenientes y sin necesidad de desarrollar un código diferente para cada caso particular.
Las aplicaciones web no necesitan instalarse, ya 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 que se comercializan y promocionan de forma independiente.
Al tratarse de aplicaciones que funcionan sobre la web, no es necesario que el usuario reciba actualizaciones, ya que siempre va a estar viendo la última versión. Pero, a diferencia de las apps nativas, requieren de una conexión a Internet para funcionar correctamente.
Facebook cuenta tanto con una webapp como con una app nativa.
Adicionalmente, tienen algunas restricciones e inconvenientes en factores importantes como gestión de memoria y no permiten 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 e independiente de la apariencia del sistema operativo, por lo que la experiencia de identificación del usuario con los elementos de navegación e interacción, suele ser menor que en el caso de las nativas.
Aplicaciones híbridas
Este tipo de aplicaciones es una especie de combinación entre las dos anteriores. La forma de desarrollarlas es parecida a la de una aplicación web —usando HTML, CSS y JavaScript—, y una vez que la aplicación está terminada, se compila o empaqueta de forma tal, que el resultado final es como si se tratara de una aplicación nativa.
Esto permite casi con un mismo código obtener diferentes aplicaciones, por ejemplo, para Android y iOS, y distribuirlas 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 app nativa.
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 gran medida con el del sistema operativo. Sin embargo, hay formas de usar controles y botones nativos de cada plataforma para apegarse más a la estética propia de cada una.
Existen algunas herramientas para desarrollar este tipo de aplicaciones. Apache Cordova es una de las más populares, pero hay otras, como Icenium, que tienen la misma finalidad.
El proceso de diseño y contenido de una Aplicacion Móvil
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 diferentes etapas, diseñadores y desarrolladores trabajan la mayor 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, es decir, sin tener en cuenta los roles de coordinación, la participación del cliente, ni los accionistas de la empresa.
Cada una de las etapas excepto la de desarrollo se explica más extensamente en los capítulos siguientes, detallando procesos y metodologías para ir avanzando entre ellas.
1. Conceptualización El resultado de esta etapa es una idea de aplicación, que tiene en cuenta las necesidades y problemas de los usuarios. La idea respondea una investigación preliminar y a la posterior comprobación de la· Formalización de la ideaviabilidad del concepto.· Ideación· Investigación
2. Definición En este paso del proceso se describe con detalle a los usuarios para quienes se diseñará la aplicación, usando metodologías como de la funcionalidad, lo cual determinará el alcance del proyecto y la «Personas» y «Viaje del usuario». También aquí se sientan las basescomplejidad de diseño y programación de la app.· Definición funcional· Definición de usuarios
3. Diseño En la etapa de diseño se llevan a un plano tangible los conceptos y definiciones anteriores, primero en forma de wireframes, que permiten 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 archivos
separados y pantallas modelo, para la programación del código.
· Test con usuarios
· Wireframes
· Prototipos
· Diseño visual
4. Desarrollo El programador se encarga de dar vida a los diseños y
crear la estructura sobre la cual se apoyará el funcionamiento
de la aplicación. Una vez que existe la versión inicial, dedica
asegurar el correcto desempeño de la app y la prepara para
gran parte del tiempo a corregir errores funcionales para
su aprobación en las tiendas.
· Programación del código
· Corrección de bugs
5. Publicación
La aplicación es finalmente puesta a disposición
de los usuarios en las tiendas. Luego de este paso
trascendental se realiza un seguimiento a través de
analíticas, estadísticas y comentarios de usuarios,
para evaluar el comportamiento y desempeño de la
app, corregir errores, realizar mejoras y actualizarla
en futuras versiones.
· Lanzamiento
· Seguimiento
· Actualización
ay muchas plataformas que ofrecen este servicio, haciendo que la calidad final de la app no deje nada que desear, incluso porque la base de estas será siempre la misma: códigos.
ResponderBorrarOtro punto fuerte de las plataformas para la creación de aplicaciones es que muchas de ellas ofrecen herramientas y recursos específicos, según su finalidad y las principales necesidades de la app.
O sea, si tu empresa necesita desarrollo a la medida
una aplicación para la tienda virtual, tendrá el apoyo de funciones desarrolladas específicamente para la creación de apps de comercio electrónico.