5 cosas a aplicar en tus Apps para mejorar la experiencia de usuario

experiencia-usuario-apps

Trabajando con varios dispositivos

Ya no tenemos un iPhone y un iPad, tenemos varios dispositivos, y con la llegada del iPhone 6 y el iPhone 6 plus quizá hasta demasiados, con varios tamaños de pantalla, incluso con varias resoluciones.

También disponemos de dispositivos con cámara, sin cámara, con cámara frontal y trasera, etc.

Mejorando la experiencia de usuario

Si quieres que tu App «vista fina» debes tener en cuenta estas cosas, ¿que pasaría si creas una App que te permite usar la cámara delantera y la App la está usando alguien con un iPod Touch sin cámara frontal?

O imagina que tu App tiene funcionalidad de teléfono y el usuario está usando tu aplicación desde su iPad.

Debes detectar este tipo de cosas y otras más para que el usuario tenga una experiencia de usuario inigualable usando tu App.

5 cosas a aplicar en tus Apps para mejorar la experiencia de usuario

A modo de ejemplo, pues hay muchas otras cosas que debemos tener en cuenta para crear Apps increíbles:

  • Comprobar la presencia de cámara en el dispositivo
  • Comprobar si el dispositivo tiene cámara frontal
  • Detectar una pantalla retina
  • Detectar si el dispositivo puede realizar llamadas

Comprobar la presencia de cámara

La clase UIMagePickerController tiene métodos de clase para detectar la disponibilidad de cámara, veamos como hacerlo:

-(BOOL)camaraDisponible {

 return [UIImagePickerControllerisSourceTypeAvailable:

               UIImagePickerControllerSourceTypeCamera];

    }

Comprobar cámara frontal

Cualquier dispositivo con cámara frontal debe ejecutar una versión posterior de iOS4 o superior a esta, por lo que será esta la comprobación que hagamos mediante la siguiente macro:

-(BOOL)camaraFrontalDisponible {

#ifdef __IPHONE_4_0

 return [UIImagePickerControllerisCameraDeviceAvailable:

                UIImagePickerControllerCameraDeviceFront];

#else

    returnNO;

#endif

}

 Detectar la pantalla retina

Esto es importante, ya que, ¿porque cargar fotos con máxima resolución si el dispositivo no tiene pantalla retina? Podemos ver si el dispositivo tiene este tipo de pantalla para ahorra transferencia de datos o mejorar el rendimiento de nuestra aplicación.

Con el siguiente código miraremos si la pantalla puede reproducir gráficos en alta resolución:

-(BOOL)retinaDisplay {

int scale = 1.0;

UIScreen *screen = [UIScreen mainScreen];

if ([screen respondsToSelector:@selector(scale)])

scale = screen.scale;

if (scale == 2.0f) return YES;

        elsereturnNO;

    }

 Detectar si puede realizar llamadas

Comprobaremos si el dispositivo puede realizar llamadas si puede abrir las URL de tipo tel; usaremos el siguiente código:

-(BOOL)puedeLlamar {

   return [[UIApplicationsharedApplication]

           canOpenURL:[NSURL URLWithString:@"tel://"]];

           }

Y tú, ¿ya has implementado estas sencillas funcionalidades en tus aplicaciones?

Aprende estas cosas y muchas otras en mi Curso Online para crear Apps para iPhone e iPad, y si tienes problemas en tu aprendizaje o necesitas algo, aquí estoy para ayudarte.

About The Author
iOS Developer & Instructor at CFE Apps. Enseño a crear aplicaciones iOS a todo el que quiera aprender.

4 Comments

  • Javis 06/05/2016 @ 16:54

    Estoy utilizando una base de datos en SQL Server 2012 la conecte a un Web Service en Visual Studio 2012 lo programe en C# ahora ese JSON lo quiero consumir en Swift se puede??

    Nota. Es una tabla de usuarios nadamas con su nombre y apellido.

    • Sergio Becerril 11/05/2016 @ 10:38

      Hola Javis,

      Claro que se puede, para trabajar con JSON puedes hacerlo con la clase nativa de Apple: NSJSONSerialization.

      Gracias por visitar el Blog 😉

      Un saludo.
      Sergio Becerril

  • Ricardo Ramírez Díaz 20/02/2018 @ 06:05

    Hace algunas vesiones de iOS tuve problemas para abrir archivos word, excel y pdf, ya que aparecia una pantalla gris mostrando unicamente el nombre del archivo, esto antes funcionaban bien, depues salio esa ventana gris y ahora en la ultima actualización se corrigió y nuevamente Despliega la vista previa del archivo, un poco chueco y diferente de como es en realidad, pero al guardarlo y abrirlo en la app correspondiente, el archivo esta bien. Para hcerlo encontre dos formas: QLPreviewControllerDataSource y UIDocumentInteractionControllerDelegte, en ambos casos abre la vista previa y puedo ver el archivo (como ya comente, un poco chueco) y además despliega una barrita de menú en la que esta el botón de opciones (cuadro con una flecha), al presionarlo si muestra el menú y las aplicaciones en las que se puede abrir el archivo, pero al seleccionar la app, no hace nada, no manda error, no hace nada. ¿Como puedo hacer para que al seleccionar la appa la que pertenece ese archivo (en mi caso uso cuatro tipos: word, excel, power point y pdf), pase a la aplicación y me abra el archivo seleccionado.

    De antemano gracias por cualquier comentario que me ayude a entender que me hace falta.

    • Sergio Becerril 20/02/2018 @ 17:14

      Hola Ricardo,

      ese objeto funciona por delegación, revisa que estén implementados todos los protocolos y los métodos correspondientes para hacer funcionar el mecanismo de hacer algo cuando se seleccione uno de los ítems del menú compartir.

      Siento no poder ayudarte más, pero no ofrezco servicio de consultoría o resolución de problemas de proyectos personales desde los comentarios del Blog.

      Gracias.

      Un abrazo.
      Sergio Becerril

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.