viernes, 13 de marzo de 2015

2- Diseño y creación de Apps.

En este capítulo, el autor nos da a conocer una serie de conceptos previos que conviene tener muy en cuenta antes de ponerse a diseñar una nueva app. Conocer estos conceptos antes de ponerse manos a la obra, nos puede suponer un buen ahorro de inversión, ya sea económico, en tiempo o en formación. Los conceptos de los que estamos hablando son los siguientes:

  1. Cómo descubrir los problemas y necesidades del mercado.
  2. Planificación del desarrollo de apps.
  3. Necesidades especificas para el desarrollo de dispositivos móviles.

 Los tres puntos anteriores se irán desglosando en las siguientes lineas.

2.1. Descubrir las necesidades y problema del mercado.
Este es el apartado que al principio puede parecer un poco tedioso pero conviene identificarlo como de suma importancia.
Un buen estudio previo de mercado nos garantiza buena parte del éxito de nuestra idea, nos indicará si conviene seguir adelante o no, o puede también que de la investigación de mercado surja otras nuevas ideas o carencias en el mercado. Por eso es de vital importancia realizar esta tarea con mucho rigor.

Identificar el problema a resolver con una app.
En este apartado, para empezar nos hemos de hacer preguntas tales como:

  • ¿Porqué alguien se va a descargar mi aplicación?
  • ¿Porqué alguien pagaría por mi aplicación?
Existen fundamentalmente tres tipos de apps.
  • Las que sustituyen a elementos que ya utilizábamos de escritorio.
  • Las que sustituyen elementos de la vida cotidiana.
  • Y las innovadoras. Las que desarrollan nuevas funcionalidades.
Conviene tener muy presente la siguiente regla:

UNA BUENA APP SATISFACE UNA NECESIDAD


En nuestro smartphone existen principalmente dos tipos de aplicación:

  • Las que esta bien tener porque ha sido recomendada o se ha oído hablar de ella.
  • Las que necesitas tener. Son las aplicaciones que hicieron que te hicieras con tu smartphone. Por ejemplo: WhatsApp, facebook, ...
Identificar el nicho de mercado.

A la hora de crear una app, conviene establecerse como objetivo un nicho de mercado y si es restringido mejor, nos será de ayuda. Ya que serán usuarios mas accesibles y descubriremos vías mas efectivas para poder llegar hasta ellos. Darles a conocer la app, que la descarguen y la utilicen.

Se ha de intentar pensar en cómo los usuarios utilizaran nuestra app.

Crear una app que llegue a todo el mundo es realmente difícil. Pero, con encontrar una app para un tipo de usuario insatisfecho ya es un logro importante. Una buena manera de empezar para identificar alguna necesidad o nicho de mercado, es seguir los cuatro pasos siguiente:

  1. Analizar las apps que tienes instaladas en el teléfono e intentar identificar qué te gusta, qué tienen, qué te gustaría que tuvieran o qué no te gusta que tienen. De aquí surgirá la primera lista de necesidades.
  2. Empieza por ti mismo. Por ejemplo, si tienes algún hobby, ¿la creación de la app te ayudaría a llevarlo a cabo?
  3. Recurrir a tus allegados. Familia, amigos, compañeros,..
  4. Recurrir a Internet o pedir ideas en tu blog. Pero te arriesgas a una denuncia por robar ideas.
Análisis de la competencia.
Es importante también, conocer muy bien como está el sector en el que tiene cabida tu futura aplicación. Es decir, antes conviene hacer un estudio en su correspondiente área, qué coste tienen, el uso, los comentarios de sus usuarios, qué hacen, cómo funcionan,..

Para ello una de las maneras más rápidas y fácil de analizar a la competencia es acceder a las tiendas de aplicaciones móviles.

Busca las aplicaciones mas populares, descargarlas, juega con ellas intentado encontrar sus puntos fuertes y debilidades. Lee sus críticas, aunque no es 100% fiable debido que suelen poner mas comentarios los usuarios descontentos.

Descubrir qué tipo de apps tiene tus allegados, también es una buena manera de analizar la competencia.

Y por último, si has tenido una gran idea, es posible que alguien también la haya tenido,  con lo cual debes actuar rápido pero vigilando mucho los detalles. No vaya a ser que la idea haya sido muy buena pero por culpa de los detalles fracasase.

Para acabar el punto 2.1. dejo un enlace muy interesante que habla de las aplicaciones y sus tipos, el proceso de desarrollo, aplicaciones nativas vs web vs híbridas...

¿Qué son las aplicaciones?

2.2. Introducción al desarrollo y roles en el equipo.
El desarrollo para dispositivos de aplicaciones móviles constituyen un terreno donde hay mucho por descubrir. Existen pocas reglas y las que existen permanecen muy poco tiempo.

Existen muchas posibilidades de descubrir nuevos caminos pero también de fracasar. Para tener éxito con un app, debe ser innovadora lo que también dificulta su desarrollo. Sin embargo podemos aprovecharnos de la experiencia adquirida en el desarrollo de software tradicional donde los roles suelen casi siempre los mismos:

Fig.2.1. Roles que intervienen en el desarrollo de una apliación.

  • Productor. Se encarga de impulsar el proyecto y de mitigar los riesgos.
  • Diseñador. Refinar concepto de la aplicación, realizar el diseño funcional y probar los prototipos que se vayan realizando.
  • Programador. Personas con experiencia en la programación del mismo estilo. Garantizaran los tiempos de la planificación.
  • Diseñador gráfico. Desarrollar interfaces gráficas, botones, imágenes… el diseño ha de ser consistente y uniforme.
  • Audio. El manejo del audio puede ser un factor clave. Aunque en algunas apps no haga falta.
  • Calidad. Pruebas de nuestros productos. Garantizar no fallos.
  • Localización. Para una buena difusión internacional. Traducción a otras lenguas.
  • Marketing. Para un buen posicionamiento y la mayor difusión posible.

2.3. Proceso de desarrollo.
Para desarrollar una aplicación móvil se puede llevar a cabo de distintas maneras pero lo mas habitual es utilizar un proceso de desarrollo ágil. Las fases que tendría que seguir todo proceso de desarrollo de aplicaciones son las siguientes:

Fig.2.2. Diagrama de fases del desarrollo de una aplicación.

  • Concepto. Elaboración de un documento que contenga las características principales de la aplicación. Compuesto de 1-3 páginas con imágenes, maquetas y lista de características. Si se ha realizado estudio de mercado se adjuntará al final del documento.
  • Pre-producción. Empiezan los trabajos de construcción de la aplicación. Mantener integridad y homogeneidad conceptual. Elaboración de suficientes diagramas, maquetas y tablas para programadores. Servirá para realizar una planificación clara de principio a fin del desarrollo de la app.
  • Producción. Construyen la app y la hacen funcionar perfectamente. Conviene marcar hitos claros.
  • Testeo. Comprobación de que no se producen fallos. Aspecto gráfico, tiempos de ejecución,…
  • Lanzamiento. Si los fallos son menores los podemos incluir en la descripción de la app. Si los fallos son mayores entonces serán conveniente eliminar características para que nuestra app funcione correctamente. Lo que sí que no puede pasar es que una vez lanzada la app, ésta se caiga.
  • Soporte. Mantenimiento y actualizaciones. Mejoras de gráficos, localización,… Transmite a los usuarios calidad.


2.4. Planificando.
Para realizar una buena planificación de nuestra aplicación puede ser útil la regla llamada de los tercios, que consiste en dividir el tiempo de desarrollo en tres partes.
  • Planificacion y diseño
  • Interface gráfica y código de nuestra aplicación.
  • Testeo de la apliacació desarrollada.

Existe una ecuación para el cálculo del tiempo de la planificación para el desarrollo de la app:


Variación de la fórmula que viene del desarrollo de los videojuegos que suelen ser proyectos que se retrasan en el tiempo:


TE → Tiempo estimado.
TM → Tiempo mejor.
TP → Tiempo peor.
TMP → Tiempo más probable.

A la hora de realizar tu planificación conviene tener en cuenta posibles riesgos que pueden retrasarar el desarrollo de tu aplicación.


2.5. Necesidades específicas para el desarrollo en dispositivos móviles.
A la hora de desarrollar una aplicación, hay que tener en cuenta que las características de las aplicaciones no son las mismas que las de por ejemplo un PC o las consolas de vídeo juegos.

Hay que tener en cuenta la menor duración de la batería y la capacidad de procedimiento de la CPU de los dispositivos móviles, así como la capacidad de evolucionar, como su escalabilidad y/o características de pago. Estas necesidades comentadas de modo general, las podemos dividir en cuatro grupos.

Plataforma y dispositivos.
Si nos referimos a las plataformas hemos de decidir si preferimos desarrollar en una única plataforma o de lo contrario hacerlo para distintas de ellas. En el primer caso podremos centrar todos nuestros esfuerzos en un único objetivo pero con la desventaja que nos dirigimos a una cantidad de público limitada.
Si decidimos desarrollar para distintas plataformas, requerirá de un mayor esfuerzo para adaptarnos a las particularidades de cada una de ellas. Además habrá que tener en cuenta si queremos un aspecto homogéneo de cada una de las plataformas o adaptarnos a las particularidades de cada una de ellas.
En el primer caso deberemos desarrollar nuestras propias librerías y en el segundo podremos utilizar las que vienen con el propio sistema operativo.

Y cuando nos referimos a los dispositivos, es para tener en cuenta si queremos desarrollar para smartphones, tablets o ambos.

Sensores.
Para cuando nos encontramos desarrollando nuestra aplicación tener en cuenta los sensores de los cuales disponen los dispositivos para poder sacar provecho.

  • Acelerómetro.
  • Barómetro.
  • Termómetro.
  • Luz...

Limitación de hardware.
Hemos de tener en cuenta que la capacidad del hardware no es la misma que la de un PC. La rapidez de procesar datos.
Desarrollar una aplicación que requiera mucha memoria puede provocar que no funcione bien en modelos de móviles que no son de gama alta o ralentizar otras tareas del mismo.
El hecho de que la aplicación requiera de memoria para almacenar datos también puede ser un motivo de peso para que los usuarios desestimen el uso de la aplicación. A pesar de algunos modelos disponen de tarjeta de memoria.


Condicionantes.
Motivos que harán que los usuarios puedan desestimar el uso de tu aplicación:

  • Duración de la batería.
  • Conectividad. Comportamiento de la apliación cuando no estamos conectados a la red.
  • Velocidad de red. Aplicaciones que necesitan comunicarse en tiempo real.
  • Posicionamiento. Aplicaciones que requieren GPS y en la sombra pueden generar problemas.


2.6. Necesidades generales del desarrollo para dispositivos móviles y distribución.

A la hora de planificar el desarrollo de la aplicación podemos hacerlo o bien en el dispositivo directamente o bien sobre un emulador.

En el primer caso disponemos del entorno exacto donde trabajará nuestra aplicación, que puede resultar mucho mas caro si estamos desarrollando aplicaciones para distintos dispositivos. En el
segundo lugar el desarrollo es mas versátil, pero con ejecuciones mas lentas, ausencia de sensores y en determinadas pruebas será necesario hacerlo sobre dispositivos físicos.

A medida que el uso de tu app se vaya generalizando irán surgiendo errores en la aplicacion que se deberán ir corrigiendo y dotarla de cada vez mayor funcionalidad. Esto conseguirá fidelizar usuarios y atraer de nuevos. Se ha de asegurar que la experiencia del usuario sea satisfactoria.

El crecimiento de usuarios en nuestra aplicación pondrá a prueba la escabilidad y la infraestructura que la rodea. No es lo mismo soportar mil usuarios que varios millones de ellos. El crecimiento puede provocar que se extienda a otros países y habrá que dotar a nuestra app de mayor numero de idiomas.

Debemos tener en cuenta desde el principio donde pretendemos publicar nuestra aplicación. Ya que las distintas tiendas imponen sus propios requisitos mas o menos exigentes. Si se tiene en cuenta desde un principio pues garantizará el superar los distintos filtros sin muchos problemas.

Existen tres maneras de distribuir la apliación.
  • Gratuita.
  • No gratuita. El usuario paga por la app. Pero al pagar, el usuario estará exigiendo unos mínimos de calidad.
  • In-app Billing. La distribución es gratuita y existen en la aplicación unos extras o "zona premium" que el usuario será quien decida acceder a ellos mediante previo pago.

Por último, hay que tener en cuenta maneras efectivas y eficientes de llegar a nuestro público objetivo. Si el coste de marketing es superior a la de los beneficios esperados entonces tenemos que buscar distintas maneras de distribuir la app.



1- Historia y actualidad de la telefonía móvil.                       3- Plataformas de desarrollo - Android



Fuente: Gonzalo Méndez Pozo 
             Facultad de Informática, Universidad Complutense de Madrid.
             Universidad Complutense de Madrid

No hay comentarios:

Publicar un comentario