> Latify – a feature-rich Google Latitude client
Latify – a feature-rich Google Latitude client
|Google Latitude is a free service from Google that allows you to share your current location with a selected number of your Google contacts. It also allows you to record your past location changes, and provides you with a dashboard view of your recently visited places. Google Latitude can be used from either a desktop application, or from your mobile phone. Google Latitude is well integrated in most Android phones. Through an extension on the Google Maps application, integration with Latitude is seamless. However, there are a couple of features that are missing in Google Latitude on Android phones, and that’s where Latify tries to fill in the gap.
Latify is an Android client for Google Latitude. With Latify, you can continuously update your current position when on the move or stationary. Even when you’re not online, Latify can sync up your location movements with Google Latitude once back online. Latify can be configured to update your location based on GPS positioning, even when running in the background. It also allows you to view and manipulate your history location stored at the Google Latitude servers. Latify uses OAuth for secure authorization and does not capture your password when logging into Google. All you need is a Google account, and a Latitude setup and you’re ready to go.
Included below are some of the Latify features
- Record and sync your location changes in real-time to Google Latitude.
- No need to have Latify running in the front.
- Visualize & replay your location history on a map
- Remove incorrect / redundant history entries
- Re-publish your last known location at user-defined intervals when no GPS signal is available
- Configure Latify to send an update of your last known location every minute, half hour , hour ,
- Store your location updates on your phone without sending them to Latitude in realtime.
- Push your location updates in one shot to Latitude (ex: when a WIFI connection is available)
Security and privacy
|Latify uses the OAuth protocol that allows you to authorize Latify to access your Google Latitude information.
By using OAuth, you can be assured that your username / password doesn’t fall into the wrong hands.
The Latify security mechanism based on OAuth will redirect you to Google where you can authenticate (making sure that the password verification is purely done by Google and nobody else), and then authorize Latitude to access your Google Latitude account.
Controlled background GPS updates
|Ideally, you always want to have the most accurate location changes to be made available, while at the same time consuming the least amount of power in order to prevent your cell phone battery from getting drained.However, as GPS is the only provider capable of delivering the most accurate location changes when on the move, it’s obvious we cannot have the best of both worlds. By controlling the interval that triggers the GPS to perform a lookup, you can increase your battery-life.
|Most, if not all mobile applications won’t perform GPS based location updates in the background, in an attempt to protect the user from draining his or her battery. However, this doesn’t take away the fact that controlled background updates via GPS can be a welcome feature when used properly.Latify allows you to initiate a GPS poller in the background in order to capture your location changes. You’re free to specify whatever polling interval you feel appropriate for your particular needs. You’re also free to enable / disable the GPS on your phone as you see fit.
When both the GPS poller, and the GPS itself is activated on the phone, Latify doesn’t need to be running (foreground or background) in order to receive location updates. You shouldn’t be aware of the fact that its running. A notification will be shown in the notification bar to inform you that GPS polling is active and when the last location update was received. During all that time, all your location changes will be synced to Google Latitude.
Basic testing showed that a 30 second interval on the GPS poller, running for 1h30min, reduced the battery less than 20%. During that time, it received and synced over 100 location updates to Google Latitude.
With Latity, you can visualize your location history on a Map.
|Each location change recorded by Latify (including movements that haven’t been synced to Google Latitude yet) can be displayed on a map as individual marker.
Latify allows you to specify a time interval, and will then go out and retrieve all location changes within that time interval.
Once displayed, each marker will contain a timestamp, and the map features radio-like controls (first – previous – stop – play – next – last), allowing you to navigate in your history and visualize it on the map.
The history map also allows you to remove past location changes. Markers with low accuracy for example (due to poor GPS signal) might not reflect all that well a location in the past, so the user can remove the marker, and it will automatically get removed from your Google Latitude history as well.
The history can also be replayed, giving the user a birds eye view of his movements on the map. The history map is available using sattelite view and standard map view.
Republish / Refresh your location when stationary
|In order to keep your latitude history up-to-date at all times, we also need to take into account those moments where we are stationary and / or without a GPS signal. Android supports this out of the box ussing the Google Maps application. When enabled, Google Maps (through its Latitude integration) can update your location in the background, even when the Maps application isn’t running. However, this mechanism relies on cell tower (cell ID) and wireless (WiFi) location detection, which can only approximate your location to within several meters to several kilometers.In practice, cell tower and wireless rarely gives you an accurate location. In my particular case, if was often off by more than a mile, making it almost pointless if you want to make your location known to your friends, or if you want to look back at your location history. (was I really there that day ?).
|I’ve found that in a lot of cases (especially when stationary), it makes a lot more sense to republish your last known accurate location (detected via GPS at a previous point in time). Latify allows you to re-publish this last known accurate location at a user defined interval. Imagine you were driving to a restaurant. Your GPS is enabled on the phone, and Latify was updating your location using a 30 second interval. Your trip to the restaurant is accurately recorded by Latitude and uploaded to Google Latitude. Once inside the restaurant, you turn off the GPS and let Latify re-publish your last known location (detected via the GPS). This is usually a much better option, as it allows both you and your friends to get a recent view of an accurate location. (As opposed to viewing a recent but inaccurate location). During your stay in the restaurant, your presence there will be properly recorded and uploaded to Google Latitude.
The obvious reason for doing this is t being that even when no GPS signal is available (ex: at work/home inside a building), you want Latitude to know you’ve spent time at that location, and you want to accurately pinpoint that location. If you’re stationary in a building, cell tower and/or wireless location detection will potentially publish a lot of inaccurate location changes, giving the impression that you’ve visited a lot of places expect for that one building where you were actually present.
You can configure Latify to send an update of your last known location every minute, half hour , hour , ….
This method also allows Google Latitude to properly interpret your home and work address.for example, as location updates can be sent to Google while you’re sleeping, allowing Google Latitude to know you’ve actually spend a certain amount of time there.
Delayed Latitude Sync
|Not all users have the privilege of always being online, and even for those that are always online, mobile data connections aren’t nearly as stable as your cable connection at home.
Depending on the data connection, an incoming call may cut off the connection to the internet, or certain spots with very limited coverage, make it virtually impossible to send something over the wire in a timely fashion.
In these situations, when Latify isn’t able to reach the Google servers, it will store your location updates on your phone, allowing you to send them to Latitude at a later point in time.
Latify users can also disable real-time syncing alltogether, and use the delayed syncing to push your location updates in one shot to Latitude, as opposed to sending real-time updates each time a location change occurs.
So, when using delayed sync, you can have Latify track your movements but configure it not to update latitude in real-time. You sync these locally stored location changes to Google Latitude at a later point in time (whenever you see fit, for example when a more stable, and possibly free WIFI connection becomes available). That way, you’re allowing for these location changes to become available in your Google Latitude dashboard.
Google Latitude is a great platform for Google users to share their location with one another. It provides a solid platform to capture not only your current location, but also capture your history. Via a public API, applications can leverage a part of the core Latitude functionality. Latify adds some interesting features on top of the platform, such as offline syncing, automatically republishing your location at regular intervals and visualize your location history on a map. It’s available on the Android Market (works only with the Android Browser).