Apple aumenta su apuesta por la privacidad con iOS 13 y iPadOS

11 septiembre 2019

Apple aumenta su apuesta por la privacidad con iOS 13 y iPadOS

by Óscar García Pérez

Esta semana Apple ha presentado los nuevos iPhone 11 y con ellos llega la versión pública de iOS 13. Antes, durante la primera jornada del WWDC 2019, Apple anunció esta nueva versión de iOS junto con iPadOS y la puso a disposición de los desarrolladores.

Los de Cupertino son conscientes de la expectación que genera cada nuevo dispositivo y cada nueva versión de su sistema operativo móvil y quizá por eso la presentación de iOS 13, a pesar de realizarse dentro de un evento para desarrolladores, destacó los cambios más visibles que sufrirá el sistema y seguramente los más valorados por un usuario medio. Los usuarios ya conocen las novedades a nivel hardware el iPhone 11 y saben que con la llegada de iOS 13 a este y otros dispositivos, habrá un modo oscuro, cambios en aplicaciones significativas como cámara, fotos, maps… Y una apuesta por la privacidad reforzada, con Sign In with Apple como principal referencia. Otro de los platos fuertes del  WWDC 2019 fue el anuncio de iPadOS, desligando así el sistema operativo para tablets del sistema operativo para móviles.

En este artículo vamos a comentar cómo afectarán estas y otras novedades tanto a los usuarios como a los desarrolladores (entre los que me incluyo).

Sign In with Apple

Hace años que existe la posibilidad de iniciar sesión en diferentes servicios, plataformas y aplicaciones con las cuentas de otras tantas entidades. Usar una cuenta de Facebook para almacenar la partida de Candy Crush Saga es algo que millones de usuarios han hecho sin pararse a pensar en las consecuencias. La implementación de este tipo de login es positivo tanto para el usuario como para el desarrollador de la aplicación y el proveedor del servicio de login. El usuario se ahorra crear una cuenta específica para el juego de turno y tiene su partida respaldada. El desarrollador se ahorra validar el correo del usuario y puede obtener un puñado de datos extra que pueden ser útiles para sus métricas en general, para orientar su publicidad e incluso para enfocar sus próximos desarrollos. Y el proveedor del login, se asegura tener su SDK integrado y funcionando en un juego con millones de usuarios, recolectando información incluso de los jugadores que no usan su servicio.

El enfoque de Apple se aleja de este escenario. Los desarrolladores seguimos ahorrándonos la validación, sabiendo que los datos que llegarán a nuestra plataforma tras un registro o login son datos confirmados por Apple. Como usuarios seguimos evitando el crear una cuenta específica. Pero hasta aquí llegan las similitudes. Apple, como proveedor del servicio, asegura que no tiene ningún interés en la información ni del desarrollador ni del usuario y que en este caso actuará simplemente como intermediario. Frente al usuario Apple aleja su servicio de la competencia permitiendo enmascarar su dirección de correo: con cada registro se creará una cuenta que es la que recibimos como desarrolladores de la aplicación. Esta cuenta hace de puente, de forma que todos los mensajes que enviemos a esta dirección serán redirigidos a la cuenta del usuario. De esta forma, un mismo usuario podría tener cuentas en varias de nuestras aplicaciones y nunca lo sabríamos, desde el lado del desarrollo son cuentas diferentes, dificultando cruzar datos entre aplicaciones y definir un perfil individual.

Sign In with Apple estará disponible en iOS 13 de forma nativa y dispone de una versión JavaScript y una API REST para usarlo en web y Android. Esta función será obligatoria próximamente en todas las aplicaciones que integren algún servicio de login de terceros.

En estos enlaces se puede ver la sesión relativa a Sign In with Apple en la WWDC 2019 y la documentación oficial: https://developer.apple.com/videos/play/wwdc2019/706/ , 

https://developer.apple.com/sign-in-with-apple/

Core Location

La gestión de la localización del usuario sufrirá grandes cambios con la llegada de iOS 13. Ahora existen 2 usos de localización que el usuario podía aceptar o denegar: localización mientras la aplicación está en uso y localización permanente. Una vez solicitado el permiso al usuario y aceptado o denegado, el desarrollador no puede volver a solicitar permiso y tiene que ser el usuario el que acceda a los ajustes del dispositivo para cambiar el permiso si así lo desea. Todo esto cambiará en iOS 13 con un rediseño completo del funcionamiento de Core Location, el framework que nos permite a los desarrolladores obtener la ubicación y trabajar con ella.

El primer cambio que vamos a ver tanto los usuarios como los desarrolladores es una nueva opción. Cuando una app solicite permiso para obtener localización mientras está en uso, veremos una respuesta nueva. Además de aceptar o denegar, en iOS 13 podremos “aceptar una sola vez”, lo que dará acceso a la localización durante esa sesión. Una vez cerremos la app, el permiso se revoca, permitiendo que vuelva a solicitarse el permiso las veces que queramos. Por tanto, el usuario gana la ventaja de conceder el permiso solo de forma temporal y ver si la funcionalidad que pide acceso a su ubicación merece la pena y los desarrolladores tenemos un escenario más favorable para obtener al menos una vez la localización.

El segundo cambio tiene que ver con la localización permanente. Antes era habitual encontrarse aplicaciones que usaban este permiso para tener algo parecido a un servicio vivo en segundo plano incluso si mataban su aplicación. Apple ya introdujo cambios a nivel visual para que el usuario sea consciente de que una app está usando su ubicación, incluso si no está visible, pero ahora la cosa cambia bastante. Cuando un desarrollador pide permiso permanente, el usuario verá una petición de permiso mientras la app está en uso. Lo que ocurre internamente, si el usuario acepta, es que se concede un permiso temporal de localización permanente. Durante este permiso temporal, la app no recibirá localizaciones en segundo plano, pero sí recibirá eventos activados por localización y en ese momento se pedirá el permiso definitivo de localización permanente. El flujo es complejo y por eso seguramente se entienda mejor con un ejemplo:

Tenemos una aplicación llamada “Tareas Localizadas”, su objetivo es tener una lista de cosas que hacer y que nos avise cuando tengamos cerca un sitio para hacerlas. Por ejemplo, voy a tener en mi lista comprar medicamentos, así que la app va a notificarme cuando esté cerca de una farmacia.

Hasta iOS 12 esta app podría tener permiso de localización permanente y estaría recibiendo ubicaciones decenas de veces al día, permitiendo monitorizar al usuario sin que pasemos por una farmacia. Cada localización se compara con un listado de farmacias y si no coincide, se desecha.

 

En iOS 13 tendremos que crear un evento vinculado a la localización de las farmacias, ya que esta app no recibirá ninguna localización mientras esté cerrada. Cuando pasemos cerca de una farmacia se dispara el evento en la app. La idea de Apple es que ese instante, en el que el usuario ve para qué sirve la localización permanente, es el momento idóneo para pedir el permiso definitivo. Y hasta ese momento, las ubicaciones son invisibles para el desarrollador, porque en teoría son ubicaciones inútiles y por tanto despreciables.

Sin duda este cambio hará que muchas aplicaciones hagan un uso mucho más lógico y meditado de la ubicación del usuario. Todas las aplicaciones que se compilen para iOS 13 tendrán que contemplar estos nuevos escenarios a partir de otoño.

En el siguiente enlace se puede ver la sesión relativa a estos cambios en la WWDC 2019: https://developer.apple.com/videos/play/wwdc2019/705/

iPadOS

Para terminar tenemos el anuncio de iPadOS, una versión vitaminada de iOS 13 específica para tablets. Si lo pensamos, tiene mucho sentido. Tenemos watchOS para los relojes, tvOS para Apple TV, macOS para ordenadores. A pesar de que las líneas que separan estos sistemas se van haciendo cada vez más finas, también es cierto que son dispositivos con diferentes usos y necesidades.

La llegada de iPadOS incluye algunos cambios sutiles como la posibilidad de mostrar widgets en la pantalla de inicio o mostrar webs en modo escritorio en Safari. Pero los cambios más importantes desde mi punto de vista vienen de la mano de la pantalla partida y la multi-tarea.

A pesar de que la pantalla partida está disponible desde hace años, es ahora cuando Apple ha anunciado que, a partir de marzo, todas las aplicaciones para iPad tendrán que soportar esta funcionalidad. Por tanto, todas las aplicaciones tendrán que estar preparadas para escalar a diferentes tamaños. Habrá que esperar a ver la aceptación que tiene esta imposición por parte de Apple. Es probable que muchos desarrolladores consideren que su aplicación no tiene sentido en un tamaño reducido o que el esfuerzo para dar una experiencia correcta sea enorme. Esto podría acabar en aplicaciones retiradas de la tienda o publicadas solo en versión iPhone.

Otro punto curioso es la posibilidad de tener 2 instancias de la misma aplicación vivas en el dispositivo usando la pantalla partida. Esto, que para el usuario puede ser algo tan simple como tener 2 pestañas de una navegador web visibles al mismo tiempo, puede ser un dolor para los desarrolladores. Existen aplicaciones que no permiten tener más de una sesión activa al mismo tiempo, de forma que cada instancia de la aplicación puede invalidar la sesión de la otra instancia. También pueden generarse datos extraños en las herramientas de analíticas, mostrando 2 sesiones de un mismo usuario mezcladas. Incluso la gestión de las interacciones con una notificación puede complicarse si tenemos 2 instancias de la misma aplicación abiertas.

En el siguiente enlace se puede ver una de las sesiones más interesantes sobre desarrollo de aplicaciones multiventana para iPad: https://developer.apple.com/videos/play/wwdc2019/212/

Conclusión

Cada año usuarios y desarrolladores nos enfrentamos a estos escenarios. Los sistemas operativos están en constante evolución y, más concretamente, los sistemas operativos para dispositivos móviles han adoptado este ciclo anual que provoca en ocasiones cierto estrés. 

Muchos usuarios quieren acceder a las novedades cuanto antes y están deseando que llegue la actualización a sus teléfonos, sin ser del todo conscientes de lo que puede cambiar con la nueva versión. Por otro lado, también son muchos los usuarios reacios al cambio y que sufren adaptándose, sobre todo cuando estos cambios chocan con sus costumbres y tienen que cambiar sus hábitos.

Los desarrolladores también pueden mostrar cierto rechazo a estos cambios, sobre todo cuando tienen que rehacer un desarrollo al que han dedicado tiempo y esfuerzo. Pero esta evolución de los sistemas es la que permite la llegada de nuevos servicios, nuevas aplicaciones. Hoy por hoy ningún desarrollador debe criticar estos cambios sino asumirlos como una oportunidad de hacer algo nuevo, diferente y mejor.

 

Volver a la listaSiguiente artículo
arrow

Titulo

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.