Sácale mayor partido a tus apps en Windows Phone

A la hora de desarrollar apps hay errores comunes que cometemos y que son sencillos de evitar, cosas que no tenemos en cuenta y que nos pueden ayudar a que nuestra app sea mejor, que llegue a más usuarios, y que estos estén más contentos con ella.

En este artículo he recopilado una serie de consejos basados en las preguntas y problemas más frecuentes que en DPE recibimos de los desarrolladores que están creando o publicando sus apps para Windows Phone.

Conoce la plataforma

Haz que tu app luzca

  • Cuida el diseño.

    • Muchos desarrolladores somos eso, desarrolladores, y no somos diseñadores. Y se nota. Incluye siempre que sea posible un diseñador en tu equipo.
    • Empápate de nuestra filosofía de diseño donde prima el contenido y lo auténticamente digital, y evita el skeumorfismo y los ornamentos innecesarios. Fíjate cómo son las apps que vienen por defecto con el sistema operativo, por ejemplo.
    • Existen herramientas que te pueden ayudar en lo más básico como es combinar colores adecuadamente (a mí personalmente me gusta mucho Color Scheme Designer) y crear los iconos que necesites para tus Live Tiles, botones y barras de herramientas (una de las mejores es Syncfusion Metro Studio 2; yo con esta no necesito más).
    • Conoce bien los controles que puedes usar por defecto, como el LongListSelector para crear listas agrupadas, o alguno de los controles más característicos de Windows Phone, como son el Panorama y el Pivot. Este conocimiento incluye las guías de diseño de los controles, como la guía de diseño del control Panorama o la guía de diseño del control Pivot.
    • Si los controles básicos no te son suficientes, quieres que tu app luzca más, pero quieres ahorrarte horas y horas de desarrollo de tus propios controles personalizados, te recomiendo que le eches un vistazo a controles de terceros ya hechos, como los geniales RadControls para Windows Phone de Telerik. Yo personalmente no hago una sola app sin ellos.
    • Ten en cuenta las diferentes resoluciones de los dispositivos: Multi-resolution apps for Windows Phone 8.
  • Cuida la presentación.

    • Permite configurar el aspecto de la app, partes de su funcionalidad como puedan ser la desactivación del GPS, las cuentas de usuario, la sincronización de datos, el sonido, los controles... 
    • Añade un pequeño tutorial para guiar al usuario por las funcionalidades principales de la app.
    • Añade una buena sección de Acerca De que incluya el número de versión de la app, tu página web, Twitter o Facebook, tu política de privacidad, los créditos de los creadores...
    • Incluye información de cambios añadidos en las diferentes versiones.
    • Dale opción al usuario de expresarse en algún sitio que no tenga porque ser en los ratings de la app, especialmente si no está contento. Puede ser una dirección de correo electrónico para recibir soporte técnico, una dirección de Twitter, foros...
    • Si por alguna razón la app falla y se cierra inesperadamente, genera un informe del error y pide al usuario amablemente que te lo envíe para ayudarte a corregirlo.
  • Amplía la funcionalidad.

    • Windows Phone 8 vino cargado de novedades. Conoce las nuevas funcionalidades que trajo consigo para poder sacar partido de ellas de maneras que a lo mejor ni te imaginas todavía al no conocerlas. Muchas de ellas te permiten integrar tu app con el sistema operativo como nunca antes, de manera que puedas llegar a tu app desde diferentes sitios y acceder a su información de diferentes maneras, y ayudar así a que tu app se convierta en indispensable para el usuario.
    • Ten un buen Live Tile en tu app, que de verdad esté vivo y pueda mostrar información al usuario sin que éste tenga que abrir la app. Incluye la posibilidad de crear Live Tiles secundarios para poder acceder directamente a partes de la app desde la pantalla de inicio.
    • Haz que la app pueda cambiar la pantalla de bloqueo del teléfono, para que el usuario pueda elegir que tu app modifique su fondo de su pantalla o muestre ahí sus notificaciones.
    • Haz que tu app pueda ser lanzada con comandos de voz, o se le puedan dictar textos o sea capaz de leérselos al usuario, soportando toda la parte de Speech .
    • Si tu app permite capturar fotos, haz que sea una lente de la cámara, para que se pueda llegar a ella directamente desde el interfaz de la cámara al ir a tomar fotos.
    • Extiende la búsqueda del teléfono con tu app.
    • Usa NFC para compartir información de tu app con otros usuarios de manera muy sencilla.
    • Aprovéchate de los mapas que vienen integrados con el teléfono.
    • Realiza tareas comunes con servicios que Windows Phone pone a tu disposición con sus Launchers y Choosers. Podrás enviar correos, usar mapas, pedir al usuario que puntúe tu app, compartir contenido con las redes sociales integradas con el teléfono (Twitter, Facebook, LinkedIn), etc., etc.
    • También puedes lanzar apps del sistema con ciertas URIs, para por ejemplo ayudar al usuario a llegar a partes de la configuración del teléfono desde tu app.
    • No reinventes la rueda. Hay muchos SDKs y Toolkits que pueden ayudarte en temas tan variados como la manipulación de imágenes: Nokia Imaging SDK, el soporte multi-idioma: Multilingual App Toolkit, la traducción a otros idiomas: Microsoft Translator, etc.
    • Ten una caché de datos local en tu app. Todo son ventajas: mayor velocidad de arranque, la app puede funcionar aunque no haya conexión a Internet, ahorras consumo del plan de datos del usuario, etc. Puedes hacerlo por ejemplo en ficheros dentro de tu Isolated Storage, o en una base de datos local relacional como puede ser la base de datos local que viene por defecto con Windows Phone, o un SQLite.
    • Guarda información de la app en la nube, para poder compartirla entre versiones de la app para otras plataformas, o para que si el usuario cambia de teléfono no pierda nada. Puedes implementar tu backend en la nube muy fácil y rápido con Windows Azure Mobile Services (y que funcione para iOS, Android, HTML5, Windows 8,..., además de para Windows Phone), o realizar un sencillo backup en SkyDrive.
  • Mejora el rendimiento.

  • Pruébala.

    • Realiza tests unitarios.
    • Prueba cómo responde tu app a cambios en la configuración del teléfono: diferentes resoluciones, tema claro vs. tema oscuro, orientación de la pantalla, idioma, región...
    • Verifica que tu app pasa las diferentes pruebas del Windows Phone Store Test Kit, sobre todo antes de intentar publicar tu app. Puedes detectar a tiempo problemas como el haberte dejado el icono por defecto de la app que pone Visual Studio al crearla, y que hacen que no pases la certificación.
    • Estos y otros consejos puedes encontrarlos en Testing apps for Windows Phone.
    • Y recuerda que puedes publicar tu app como una Beta Privada, para que usuarios reales puedan probar tu app antes de publicarla de forma pública. Además, hay buenas noticias: las Betas ya no expiran.  

Amplía el alcance de tu app y monetízala

  •  Hazla para todos los dispositivos posibles.

    • Como comenté anteriormente, ten en cuenta las diferentes resoluciones de pantalla.
    • Cuidado con el uso de memoria de la app. Los dispositivos de gama baja son generalmente los más vendidos y son los que menos memoria disponible tienen.
    • En lugar de forzar a que tu app tenga unos requerimientos hardware para funcionar, comprueba si el dispositivo soporta la funcionalidad y deshabilítala si no lo hace. Por ejemplo, si pusiésemos el requisito ID_REQ_MAGNETOMETER la app no podría instalarse en dispositivos sin brújula, pero es preferible dejar que se instale en cualquier dispositivo y determinar con la función Compass.IsSupported si éste tiene brújula o no para poder usar esa funcionalidad en nuestra app.
  • Hazla global.

    • Tienes 191 mercados en los que publicar tu app, y puedes hacerlo en 50 idiomas diferentes. ¡Millones de usuarios potenciales!
  • Hazla multiplataforma.

    • El desarrollo de apps para Windows 8 es muy similar al de Windows Phone: misma experiencia de usuario, mismas herramientas, mismos lenguajes... Patrones como el MVVM te ayudarán a reutilizar la mayor parte del código. Aquí tienes más info: Windows Phone 8 and Windows 8 app development.
    • Gracias a herramientas como Xamarin podrás reutilizar tu código C# con versiones de tu app para iOS y Android.
    • Si haces juegos, software como Unity o MonoGame te permitirá utilizar C# para realizar versiones de tus apps para varias plataformas.
  • Viraliza tu app.

    • Permite compartir la app o partes relevantes de ella en las redes sociales. Recuerda que es muy sencillo utilizar las redes sociales integradas en Windows Phone y que no es necesario que te implementes la publicación en Twitter, Facebook o LinkedIn. Puedes recordarle al usuario que comparta, e incluso darle incentivos por hacerlo.
    • Invita al usuario a que puntúe tu app. Es típico que al abrir la app varias veces o usarla durante un tiempo se le recuerde al usuario que si le está gustando puntúe la app. Controles como Rate My App o ReviewNotifier pueden ayudarte a implementar esta funcionalidad. Ahora, es muy importante que siempre que le des la opción al usuario de puntuar tu app, le ofrezcas una alternativa para quejas, sugerencias o reporte de errores. La idea sería: si tienes algún problema, envíame un correo electrónico, pero si te está gustando, puntúame con 5 estrellas.
    • Usa gamificación para enganchar al usuario, que pueda competir de alguna manera con sus amigos, etc.
  • Conoce los modelos de monetización.

    • Puedes publicar una app de manera gratuita, gratuita con anuncios, gratuita con compras in-app, o de pago . O puedes hacer combinaciones y hacer una de pago con compras in-app, o tener dos versiones de tu app, una gratuita pero reducida (versión Lite) y una de pago completa... Hasta aquí como en cualquier otra plataforma móvil.
    • Pero cuidado, si haces tu app de pago, recuerda que en Windows Phone existe la posibilidad de probar una app antes de comprarla. Para ello la app tiene que implementar el modo de prueba o Trial, y no es necesario que hagas dos versiones distintas de tu app. Puedes seguir haciéndolo si quieres pero, como digo, no es necesario. Y si lo haces de todas maneras, al margen de que exista una versión Lite de tu app, que la de pago siempre soporte el modo Trial. Nunca me cansaré de repetirlo: si haces una app de pago, ¡soporta el modo Trial! Los usuarios de Windows Phone somos muy reacios a comprar algo que no podemos probar antes. Además, implementarlo es realmente sencillo: la app puede detectar si ha sido comprada o no con LicenseInformation.IsTrial y así mostrar un contenido u otro, y a la hora de publicarla dices que soportas Trial. Fácil, ¿no?
    • Si utilizas anuncios en tu app, puedes elegir entre diversos proveedores como Microsoft Advertising pubCenter, Adduplex, Google AdMob, etc. Ahora, hay controles como AdRotator que te permite utilizar varios proveedores a la vez.
    • Diseña y desarrolla tu app pensando en poder llegar a utilizar más de un modelo de monetización. Por ejemplo, si haces un juego de pago y luego con el tiempo quieres cambiarlo a gratis con publicidad, ¿has dejado sitio para la publicidad de manera que el añadirla no arruine la experiencia de juego?
  • Publica con información relevante.

    • Lo primero que un usuario ve de tu app es la información que hay en la Tienda antes de descargársela. Cuida mucho lo que pones ahí.
    • Mucho cuidado con el nombre de la app. Mucha gente se deja el nombre por defecto que te genera Visual Studio cuando creas el proyecto de la app; cámbialo. Si soportas varios idiomas, puedes localizar el nombre para los diferentes mercados.
    • Elige un buen icono, pon una buena descripción que venda la app, y buenas capturas de pantalla con las mejores partes de la app.
    • Elige la categoría y los metadatos adecuados para que al usuario le sea más fácil encontrar tu app donde tiene que encontrarla.
  • Estudia la información del uso que se hace de tu app.

    • Quizás haya cientos de miles de usuarios que se hayan descargado tu app pero, ¿cuántos la usan realmente? ¿Cómo interactúan con ella? ¿Qué tipo de audiencia son? ¿Cuáles son las funcionalidades que más utilizan? ¿Dónde te interesa más invertir a la hora de mejorar tu app? Herramientas como Flurry Analytics pueden ayudarte a averiguarlo.
  • Actualiza frecuentemente.

    • Escucha el feedback de los usuarios. Hazles sentir importantes. Invítales a participar en la Beta de tu app, o añádeles en algún apartado de agradecimientos.
  •  Promociona la app.

    • Ofrece descuentos puntuales (así tu app saldrá en apps y webs especializadas en gangas).
    • Utiliza las redes sociales.
    • Haz promoción entre tus propias apps o intercambiando promoción con apps de terceros (con p.ej. Adduplex).
    • Consigue reviews en páginas especializadas.
    • En cualquier caso, cuenta con Microsoft para que te echemos una mano.

 

Si quieres ampliar información sobre estos temas, puedes ver mi webcast Exprime tus apps de Windows Phone al máximo. También puedes descargarte la presentación que utilicé en dicho webcast. 

Un saludo,

 

Alejandro Campos Magencio (@alejacma)

Microsoft Technical Evangelist

 

PD: Mantente informado de todas las novedades de Microsoft para los desarrolladores españoles a través del Twitter de MSDN, el Facebook de MSDN, el Blog de MSDN y la Newsletter MSDN Flash.