ONEDiary Empezar gratis
Detrás del desarrollo

Fotos, lugares y los permisos que decidimos no pedir

Añadir una foto y un lugar a una entrada debería requerir un toque. Para conseguirlo tuvimos que rechazar dos avisos de permisos que podríamos haber mostrado fácilmente.

3 de julio de 20263 min de lecturaSoosu Studio, Inc.

Imagen inspirada en ONEDiary con fotos seleccionadas, un pin de lugar y un selector respetuoso con la privacidad

Una entrada con una foto y un lugar se recuerda mucho mejor que el mismo texto sin ellos. También es, históricamente, la parte de una aplicación de diario que pide más acceso. Pasamos varios lanzamientos intentando conseguir lo primero sin lo segundo.

Fotos: el selector que no necesita permiso

ONEDiary usa el selector de fotos de Android en lugar de pedir acceso general a tu biblioteca multimedia. El selector se ejecuta fuera de la aplicación, eliges las imágenes concretas y la aplicación recibe solo esas. No hay un permiso de lectura para toda la galería, así que no aparece ningún diálogo que aceptar ni nada que revocar después.

El coste es que no podemos explorar tu biblioteca para sugerir fotos de hoy sin que abras primero el selector. Es una función real que decidimos abandonar. Una aplicación de diario con acceso permanente a todas las fotos del dispositivo tiene una forma problemática, haga lo que haga con ellas.

Lugares: leer la foto en vez del teléfono

La versión 1.4.9 añadió algo pequeño que cambió la sensación del editor: si una foto adjunta contiene datos GPS en sus metadatos EXIF, la entrada ofrece automáticamente esa ubicación.

Lo interesante es lo que sustituye. La forma obvia de completar una ubicación es pedir permiso de ubicación y leer la posición actual del dispositivo. Pero la foto ya sabe dónde se tomó, tú ya elegiste adjuntarla y la coordenada que quieres es dónde ocurrió el momento, no dónde estás sentado al escribir. Leer el archivo es más preciso y pide menos acceso.

También puedes buscar un lugar manualmente y eliminar o cambiar cualquier ubicación sugerida antes de guardar.

Migración a Places API (New)

La búsqueda de lugares detrás de ese campo pasó a la línea Places SDK 5.2.0 y a la nueva Places API en la versión 1.4.9. Junto con el cambio del SDK rediseñamos la superficie, porque el flujo anterior había acumulado problemas.

  • La búsqueda ocurre dentro de la hoja de ubicación en vez de abrir otra pantalla. Así desapareció una clase de cierres durante la autenticación y las transiciones.
  • Los lugares recientes se ordenan por distancia a tu posición actual, así que el cercano aparece antes que el más reciente.
  • Los lugares recientes muestran el nombre del sitio, como el edificio o el negocio, en vez de una dirección, porque es así como llamarías al lugar.
  • La hoja se eleva sobre el teclado cuando está abierta. Parece obvio, pero antes no ocurría.

En la versión 1.4.8 también dejamos de hacer que el mapa compitiera con el gesto de cerrar. Mover un mapa dentro de una hoja arrastrable vuelve ambiguo cada gesto, así que ahora el panel de ubicación se cierra con un botón explícito en lugar de adivinar qué querías hacer.

La regla general

Cuando una función necesita datos, normalmente hay tres formas de obtenerlos: pedir un permiso al sistema, pedir al usuario que entregue el elemento concreto o derivarlo de algo que ya tienes legítimamente. En ese orden disminuye nuestra comodidad y aumenta el respeto hacia quien usa la aplicación.

No siempre llegamos a la tercera opción. Pero es la primera que buscamos, y estas dos funciones acabaron allí.

Pruébalo en tu teléfono.

Disponible gratis en Google Play. Empieza a escribir sin cuenta en Android 10 o posterior.

Probar gratis en Google Play

Seguir leyendo