martes, 3 de mayo de 2016

APLICACIONES.

1.¿QUE SON LAS APLICACIONES MÓVILES?


Las aplicaciones —también llamadas apps— están presentes en los teléfonos desde hace tiempo; de hecho, 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 muchas veces no táctiles, y son los que ahora llamamosfeature 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 concepto, podemos decir que las aplicaciones son para los móviles lo que los programas son para los ordenadores de escritorio.


2.DIFERENCIA ENTRE APLICACIONES WEB 

Y MÓVILES.

Aunque ambos se utilizan en el mismo medio (smartphones y tablets), aplicaciones móviles (apps) y sitios web móviles (también llamados aplicaciones Web) son muy diferentes. Una aplicación móvil es un programa que se descarga e instala en el dispositivo móvil de un usuario, mientras que un sitio web para móviles no es más que una página web adaptada a los formatos de tabletas y teléfonos inteligentes.


3.PROCESO DE DISEÑO Y DESARROLLO DE UNA 

APLICACIÓN.


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.

A) 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 responde a una investigación preliminar y a la posterior comprobación de la viabilidad del concepto.
  • Ideación
  • Investigación
  • Formalización de la idea

  • B) 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 «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.
  • Definición de usuarios
  • Definición funcional
  • C) 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.
  • Wireframes
  • Prototipos
  • Test con usuarios
  • Diseño visual
  • D) 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 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.
  • Programación del código
  • Corrección de bugs
  • E) 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.

  • 4.TIPO 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.
  • A) 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.

  • B) APLICACIONES WEB:

    La base de programación de las aplicaciones web —también llamadaswebapps— 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.

  • C) 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.

  • 5.CATEGORIA DE APLICACIONES.
  • Una forma de agrupar las aplicaciones es de acuerdo al tipo de contenido que ofrecen al usuario. La categoría a la que se pertenezca condicionará, a nivel de diseño, con qué nivel de detalle contará la interfaz y también influirá en las posibilidades de monetización de la aplicación.
    Puede parecer injusto etiquetar las apps, porque difícilmente suelen pertenecer a una sola categoría. Incluso, muchas veces pueden estar en más de una por igual, pero siendo algo rigurosos, las hemos dividido de la siguiente forma:
  • A) ENTRETENIMIENTO:

    Este es el lugar donde viven las apps de juegos y aquellas que de una forma u otra, proponen diversión para el usuario. Gráficos, animaciones y efectos de sonido intentan mantener la atención constante e ininterrumpida en lo que está sucediendo en la pantalla.

  • B) SOCIALES:

    Las aplicaciones sociales son aquellas que se orientan principalmente a la comunicación entre personas, construcción de redes de contactos e interacción entre usuarios. Es por todos conocido el caso de Facebook, pero aquí también se encuentran otras como Path, Twitter e Instagram.

  • C) UTILITARIAS Y PRODUCTIVIDAD:

    Más asociadas con el sector empresarial, las aplicaciones utilitarias proporcionan herramientas para solucionar problemas bastante específicos y se basan en la ejecución de tareas concretas, cortas y rápidas. En este caso se privilegia la eficiencia sobre todo lo demás.
    En este apartado comúnmente encontramos las listas de tareas (Clear5 y Flow6) o aquellas apps orientadas a equipos de trabajo (Basecamp7 y Evernote8), donde los usuarios dan más valor a aquellas herramientas que permitan simplificar sus tareas diarias.

  • D) EDUCATIVAS E INFORMATIVAS:

    Las aplicaciones educativas y de información se usan como transmisores de conocimiento y noticias. En estas apps se privilegia el acceso al contenido, por este motivo, la legibilidad, facilidad de navegación y herramientas de búsqueda son fundamentales.

  • E) CREACIÓN:

    Estas aplicaciones ponen el foco en la creatividad del usuario y en ofrecerle herramientas para potenciarla. Por ejemplo, aquellas que permiten editar videos, retocar fotografías, producir sonidos o escribir.


  • 6.APLICACIONES GRATIS( apps gratis).
  • Sin dudas el mayor beneficio que se puede obtener de una aplicación gratuita es el alcance o la cantidad de usuarios potenciales a los que puede llegar, ya que no hay ninguna barrera de entrada para que un usuario descargue la aplicación y empiece a probarla.
    Este primer paso es fundamental para el conocimiento de la aplicación: quien la descargue no tiene nada que perder. Esto disminuye en cierta forma las expectativas sobre el producto —nadie espera que algo gratis sea necesariamente genial— y puede servir para ciertos casos en los que el producto aún tiene camino de desarrollo por delante hasta su maduración. En este caso, su colocación gratuita en el mercado, permite usar ciertos indicadores del comportamiento de los usuarios —cómo usan la app o qué tan frecuentemente, por ejemplo— para mejorar futuras versiones.
    Un inconveniente a tener en cuenta con las aplicaciones gratuitas es que, debido a la gran competencia, es más difícil obtener visibilidad en losrankings de mejores aplicaciones de las diferentes tiendas. Además, requieren una cantidad total de descargas mayor que la necesaria en las aplicaciones de pago para llegar a los primeros puestos.
    Una aplicación gratuita también puede servir como ventana para promocionar una versión de pago de ella misma u otras aplicaciones del mismo desarrollador.
    7.APLICACIONES DE PAGO ( apps pago).
  • Las aplicaciones de pago tienen las cosas más difíciles a la hora de ser exitosas porque requieren un gran número de descargas para ser rentables; además, poner un precio a la descarga suele ser una barrera difícil de sortear para el usuario que no se quiere arriesgar a pagar por algo que aun no conoce. Salvo casos puntuales, como Cut the rope, muchas de ellas no consiguen tener un alcance masivo.

  • 8.FREMIUM (Combinación de las dos).

     El modelo freemium es una combinación de los dos anteriores. Su nombre viene de mezclar las palabras inglesas free y premium, y consiste en descargar la aplicación de forma gratuita, permitiendo al usuario un uso básico y limitado, con la posibilidad de recibir funciones más avanzadas, que se liberan previo pago.

    En cierta forma, puede decirse que este modelo tiene lo mejor de ambos mundos: la app puede llegar a un número mayor de personas al ser gratuita, pero también permite ofrecer servicios avanzados a los usuarios que realmente la encuentran útil o quieren sacarle el máximo provecho.
    La dificultad reside en determinar qué partes de la aplicación ofrecer de forma gratuita y por cuáles es conveniente hacer pagar al usuario. Por ejemplo, brindar demasiadas funciones gratuitas hará que poca gente quiera adquirir las pagas, pues la versión gratuita les resultará suficiente. Por otro lado, si la mayoría de funciones son de pago, los usuarios pueden encontrar la aplicación poco práctica y dejarán de usarla.
  • 9. MONETIZACION.
  • Los modelos de monetización son diferentes caminos para obtener dinero a través de las aplicaciones. No deben verse de forma individual y separada, ya que suelen depender de si la app es gratis, paga o freemium, y también de la categoría de la aplicación.
  • A) COMPRAS DENTRO DE LA APP:

    Algunas apps permiten pagar pequeñas cantidades de dinero por la compra de ítems separados que mejoran las prestaciones básicas; por ejemplo, algunas aplicaciones de fotografía venden filtros de fotos avanzados. Es también el caso de las apps que ofrecen contenidos premium o suscripciones. Esta forma de monetización está más asociada a la distribución freemium.

  • B) PAGAR POR LA VERSIÓN COMPLETA:

    En este caso, las aplicaciones se desarrollan en dos versiones: una gratuita con funciones básicas, que permite al usuario probarla con algunas limitaciones o publicidad y una de pago, que ofrece más posibilidades para quien esté convencido de la compra luego de haber probado la versión gratuita.
    Este modelo está usándose cada vez menos por los inconvenientes que presenta tener dos aplicaciones separadas. Por un lado, los usuarios que quieren la versión premium tienen que descargar una nueva aplicación, con la dificultad que esto ocasiona, pues a nivel de desarrollo no siempre es fácil trasladar la configuración que ha definido el usuario de una versión a la otra.
    Además, las valoraciones de los usuarios y la posición dentro de los rankingsde las tiendas de aplicaciones son independientes para cada una de las versiones.

  • C) PUBLICIDAD:

    La publicidad puede usarse en aplicaciones gratuitas como herramienta para obtener rédito económico. Suele presentarse en forma de pequeños avisos que pueden ser pulsados por el usuario para acceder a otras webs o descargar otras aplicaciones. En este modelo la ganancia depende de la cantidad de gente que entre a los anuncios.
    Como principales inconvenientes se pueden nombrar la intrusión a la privacidad del usuario y que la visualización de avisos afecta la experiencia general.
    Cada sistema operativo tiene su propio sistema de publicidad y en cada uno de ellos las condiciones serán diferentes. Google ofrece un programa de publicidad para las aplicaciones en Android llamado Google AdMob; por su parte, para iOS se encuentra iAd y para Windows Phone, Microsoft Advertising.

  • 10.PARA QUE PLATAFORMA DESARROLLAR.
Antes de decidir si diseñar para una o varias plataformas, se debe tener en cuenta todo aquello que afectará el desarrollo, desde los recursos y la complejidad, hasta el tipo de usuario al que se quiere orientar.
Actualmente los sistemas operativos con mayor penetración en el mercado son Android y iOS, en ese orden. Entre ellos se reparten la mayor parte del pastel, mientras el tercer puesto está un poco más disputado, con una participación activa de Windows Phone para ganarse ese lugar.

A) MAYOR ALCANCE O EXCLUSIVIDAD:

Diseñar para un sistema operativo popular como Android supone conseguir un alcance y una cantidad de usuarios potenciales mayor. Sin embargo, las diferentes resoluciones de pantalla y versiones del sistema operativo disponibles hacen más compleja la experiencia de diseñar para Android, pagando así —en cierta medida— el precio de estar disponible para más personas.

B) PERSONALIDAD DE LOS USUARIOS:

Cada sistema operativo tiene usuarios con características —geográficas, demográficas, psicográficas y conductuales— que los diferencian. Aunque a primera vista parezca algo sin importancia, conocer el tipo de usuario da algunas pistas acerca de quién usará la aplicación y, sobre todo, qué espera de ella.
En general, puede decirse que los usuarios de iOS dan mayor valor a la experiencia de usuario, se interesan por los detalles y tienen un perfil socioeconómico más alto que los consumidores de otras plataformas. Por esta misma razón, están más habituados a pagar por las aplicaciones16. Alguien que usa iOS es amante de la consistencia, de ver cada cosa en su lugar y prefiere no encontrarse con demasiadas sorpresas. Esto se debe en gran parte a que Apple es un sistema más cerrado y restrictivo a la hora de aprobar las aplicaciones, estableciendo reglas de diseño que aseguran cierta calidad y regularidad en sus apps.
11.RECURSOS.
Antes de empezar, a la hora de decidir para cuál plataforma se va a desarrollar, es importante saber con qué se necesitará contar para llegar al ansiado día de publicación de la app, sobre todo para irse preparando y calcular la inversión necesaria. Y esto se refiere tanto a personas y conocimientos, como a equipos.
Si un diseñador lleva adelante el proyecto y necesita buscar a un desarrollador que complemente la sociedad, a veces no sabe exactamente a quién buscar y qué perfil debe tener este compañero. Hay que tener en cuenta que las diferentes plataformas requieren conocimientos de programación diferentes.

A) ANDROID:

Las aplicaciones de Android se programan en Java haciendo uso de librerías propias de Android, por lo que, a nivel de programación, un desarrollador con conocimientos sólidos de Java estándar no debería tener demasiados problemas para empezar a ser parte de la vida del mundo androide.
Para programar aplicaciones para este sistema operativo es indistinto tener un Mac o un PC —con Windows o con Linux—. Se puede descargar el software Android Studio y todo el material necesario para desarrollar una app desde la web de desarrolladores de Android.
En el momento del desarrollo, Android Studio permite usar los simuladores de diferentes dispositivos, o conseguir una prueba de funcionamiento más real conectando el terminal al ordenador.

B) IOS:

Un programador que quiera empezar a hacer magia desarrollando para iPhone e iPad debe tener una base de programación orientada a objetos, algo que le permitirá luego una transición más transparente a Objective-C, el lenguaje de programación que se usa en este casos.
A nivel de hardware y software para desarrollar aplicaciones para iOS, se necesita un ordenador Mac con el Kit de Desarrollo de Software —SDK— que en este caso es Xcode, el software oficial de Apple para desarrollo para iPhone e iPad, de descarga gratuita.
El código se puede probar directamente en el simulador —una representación del teléfono que permite ver cómo se comporta el código— dentro del ordenador, algo que sirve para la mayoría de los casos pero tiene ciertas limitaciones y no es completamente fidedigno, pues suele comportarse más rápido de lo que realmente lo hace en el teléfono.
Idealmente, para hacer una prueba más real de desarrollo, hay que probar el código en un iPhone conectado al Mac. Para esto es necesario pagar una licencia de desarrollador20, algo que, de todas formas, hará falta más adelante para publicar la aplicación en la tienda. Este costo asciende a 99 dólares anuales.

C) WINDOWS PHONE:

Un programador que haya estado trabajando en C# va tener un buen comienzo, ya que este es el lenguaje de programación que, junto con las librerías propias de Windows Phone, hacen una aplicación posible.
Quien no sea muy fanático de Windows no va a tener otra opción que usar, por lo menos, Windows 7 en su ordenador para desarrollar. El consuelo es que puede instalarse tanto en un PC como en la máquina virtual de un Mac. Y hablando de software, también hace falta tener Microsoft Visual Studio. La versión gratuita es suficiente para desarrollar apps, pero está claro que pagando una versión completa se tiene acceso a muchas más comodidades.
El simulador de Windows Phone es relativamente bueno, porque la app se puede probar directamente desde el ordenador. Para tener una simulación más real, es posible conectar el teléfono al ordenador con Windows, si se tiene una licencia de desarrollo que cuesta 99 dólares anuales.