Archivo del sitio

(Geo)localización continua en iOS5

La geolocalización (aunque el término correcto en castellano sería georreferenciación) no es más que ubicar algo en un sistema de coordenadas, aunque el término se usa cuando estamos ubicando físicamente un dispositivo tecnológico. Cualquier smartphone dispone de este tipo de servicios que son útiles cuando se quiere acceder a Google Maps para ver dónde nos encontramos, o buscar una tienda cercana…

Por serendipia, mientras curioseaba entre las opciones de un iOS5, he acabado en un menú de las opciones de localización (Localización > Servicios del sistema). Entre las opciones aparece “Icono en la barra de estado”, que permite mostrar un icono (un triangulito) en la parte superior derecha al lado del porcentaje de batería, como desactivado. Y, como no puedo quedarme quieto, lo he activado.

Opciones localización iOS5

Opciones de Localización > Servicios del sistema con sus valores por omisión en iOS5.

Automáticamente ha aparecido el icono, como si alguna aplicación estuviera usando el servicio de localización en ese momento. Era un poco desconcertante: ninguna de las aplicaciones abiertas debía estar usándolo. Pero, además, sólo debería aparecer si la aplicación en primer plano lo usa, aunque puede que eso hubiera cambiado.

Empecé a cerrar las aplicaciones abiertas, y el icono seguía indicando que algo estaba usando la localización, hasta que no quedó nada abierto: la localización seguía activa. Abrí las opciones de localización para aplicaciones y ninguna aplicación tenía el icono violeta indicando un uso en el momento, pero el icono general seguía insistentemente al lado del de la batería.

Finalmente, descubrí el causante: al retornar a la pantalla en la que había desencadenado esta situación, descubrí que el servicio de zona horaria tenía el icono violeta, indicativo de que estaba utilizando la localización. Tras inhibir el acceso a la localización el icono general desaparece instantáneamente comportándose como en la versión anterior.

Parece que este comportamiento se debe al ajuste automático de fecha y hora (posiblemente, algún tipo de NTP) y, de hecho, si se desactiva dicho ajuste, pasando al modo manual, también desaparece el icono de localización activa. Una posible explicación es que iOS5 está determinando la ubicación del dispositivo para conocer la zona horaria en la que se encuentra y ajustar adecuadamente el reloj. Esta detección automática podría ser de interés en algún caso, pero no para la mayoría que no suelen cambiar de franja horaria prácticamente nunca.

Por si fuera poco, parece que la localización de la zona horaria podría ser la causante de la reducción en la autonomía de la batería de los dispositivos iOS5. Salvo en los casos que se viaje mucho cambiando de zona horaria, puede ser una buena idea desactivarlo ya que no se pierde funcionalidad y puede que se prolongue la duración de la batería.

Sincronización del reloj en Windows

De un tiempo a esta parte, el reloj de mi ordenador se desincroniza de forma acusada. He estado buscando soluciones y prácticamente todas pasaban por instalar algún software cliente que actualizase el reloj y ninguno me proporciona la confianza suficiente.

Llegué a plantearme escribir un servicio que hiciera esa sincronización de forma totalmente configurable. Para ello partí del código NTP client in C# publicado en Code Project, lo refactoricé y empecé a planear mi servicio (si al final me decido a acabarlo y dejarlo operativo, lo publicaré).

Sin embargo, existe un servicio que ya realiza esa misión: w32tm. El problema es que su configuración por defecto en Windows XP lo sincroniza una vez a la semana (demasiado tiempo a mi juicio). Después de mucho indagar, descubrí que el servicio se configura con ciertas entradas del registro de Windows.

El parámetro de configuración que buscaba lo descubrí en TuneXP. Consiste en modificar un valor del registro de windows:

Modificar el valor SpecialPollInterval con el número de segundos entre actualizaciones en la rama HKLM/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpClient.

Seguidamente, se reinicia el servicio Horario de Windows y el sistema actualizará la hora con el nuevo intervalo. Es una buena idea realizar una sincronización automática tras el reinicio para que empiece a contar los plazos desde ese momento.

El valor por defecto (604800) se corresponde a 7 días. En la página recomiendan valores de 2 días (172800) ó 1 (86400). En mi caso, lo he configurado para 8 horas (28800) o, lo que es lo mismo, 3 veces al día como las medicinas.

Modificar el registro de Windows siempre es peligroso. Es aconsejable hacer una copia de seguridad de las modificaciones (exportando la rama a un fichero .reg) para poder restaurarlo en caso de error. No me hago responsable de los problemas ocasionados por el uso de esta información.

Seguir

Get every new post delivered to your Inbox.

Únete a otros 199 seguidores