Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,784,939 Members 49,907 Now Online
XDA Developers Android and Mobile Development Forum

[APP][2.2+] Backitude - General info and discussion

Tip us?
 
backitude
Old
(Last edited by backitude; 13th September 2013 at 01:02 PM.) Reason: Add link to Google Play Store
#1  
Senior Member - OP
Thanks Meter 170
Posts: 221
Join Date: Mar 2012
Arrow [APP][2.2+] Backitude - General info and discussion

Greetings fellow developers and/or Android enthusiasts,

I wanted to take a moment to start a thread on for the Android application (2.2+) Backitude: Configurable Background Location Tracking. I would like a place to discuss the app publicly, discuss troubleshooting solutions, bugs, or motivate ideas and improvements.

Check out the Full version, ad-free available for free in the Android Market/Google Play store:
Download here: Backitude: Configurable Background Location Tracking

EDIT: Google Latitude shutdown their API on Aug 9, 2013 which completely changes the makeup of the application. Its sole purpose was to send locations to Google in order to maintain an accurate and timely history with Latitude. Now, it will be more geared towards keeping its own history and integrating with a number of systems or personal custom servers.

Backitude provides a bundle of extended features and functionality for updating Google Latitude locations from your Android device. If you are a Google Latitude user or once had interest in the concept of Google Latitude, then Backitude is an essential addon. Background gps location updating at your own specified time interval is now within your realm. Backitude expands your updating options, accuracy, and even allows you and your friends to force updates on eachother when needed, all seamlessly behind the scenes.

I created this app about a couple years ago to address two issues: I wanted to fix the short-comings of Google Latitude and make it a plausible application for users to enjoy and utilize effectively and efficiently. Also, I wanted to provide Google Play Store with such functionality free of charge. At the time, no such free application existed.

Google Latitude is somewhat inadequate on its own, but this is of no fault of the Google developers. They designed the application with battery efficiency as a number 1 priority. The conserve battery, Latitude on its own does not update locations in the background using GPS for accurate reporting. Instead it relies on Wi-Fi and cell tower triangulation to determine your location. Since many users refrain from enabling Wi-Fi when not stationary in their own network, or since Wi-Fi cannot be obtained while travelling, the resulting location updates are large, inaccurate "blue circles" on the map. Cycling through your Latitude friends, I mostly would see large, city-wide, inaccurate location readings- like I said, therefore truly defeating the purpose of Latitude. Latitude also fails to give the user any configurable options to location reporting. What good is a location history if majority of the values are city level and inaccurate? Backitude, to the rescue.

Backitude was designed to address all of this and put the power back into the hands of the user. You have complete control what, when, and how to update. Power can be a dangerous thing however. Google chose not to give the user a chance to configure their settings and risk draining batteries and having Android or Google products labelled as "battery drainers." Backitude is for the intelligent user, to know how to manage their battery, know their priorities, and know the effect of such functions. GPS polling is a very battery-intensive maneuver!

The final issue and gap Backitude inspired to bridge is updating a friend's location. It is great to have control over your location updates and allowing your friends to see exactly where you are, but what if they haven't updated recently or exactly when you needed to know their location? Backitude has an answer for that. "Fire an Update on a Friend" is the newest feature which utilizes SMS messaging to receive requests from other Backitude users. If your friend is also using Backitude and has this option enabled, you can send a request to their device which will in turn trigger an update at that very moment.

Additionally, there are many, many more features that all serve to give the user complete control of Latitude updates and battery consumption (in the context of Latitude updating). Thank you for checking it out, and I look forward to supplying any troubleshooting information right here for all to find, and hear ideas and feedback from those other enthusiasts out there.
The Following 34 Users Say Thank You to backitude For This Useful Post: [ Click to Expand ]
 
backitude
Old
#2  
Senior Member - OP
Thanks Meter 170
Posts: 221
Join Date: Mar 2012
Post Troubleshooting Topics

Location Updating using Backitude: the application utilizes oAuth2 authentication which is very easy and very convenient for the user. The user is able to grant permission for Backitude to integrate with their Google Latitude account at a click of a button without even having to enter their credentials.

The issue is, some users on some devices have experienced trouble obtaining this permission. It is important that users do one of the following before using Backitude, however, for some users it is required that they do both:

1) Use the Maps application to "activate Latitude for this device" by signing into Latitude. (Additionally, it is suggested that the user change their Latitude location reporting to "set your location". By manually updating your location and selecting an arbitrary position, you will prevent Latitude from wasting unnecessary battery life on updating your location, but still allow your friends to see your location. Backitude can do all your updates for you instead.)

2) From a PC or computer, visit Google Latitude and sign in from your browser. (And not from a tablet or smartphone browser) I do not know why this is required, but for some, to fully opt into the Google Latitude agreement and conditions, this is required.

After doing so, 99% of users are able to update using Backitude. An extreme minority, still have to perform some additional steps. This would include resetting your Google 3rd party authorizing sites, by revoking access from all, and then trying the process over from start. Signing into Maps. Activating Latitude. Installing Backitude..etc Any issues, I am always available via forum or email. Thanks!!
The Following 2 Users Say Thank You to backitude For This Useful Post: [ Click to Expand ]
 
EP2008
Old
#3  
Senior Member
Thanks Meter 292
Posts: 1,858
Join Date: Jan 2008
Location: Toronto, Ontario, Canada
I just started using this app a few days ago after realizing how often Google Maps is polling for location information just to update latitude... Hundreds of times a day, even when I'm not moving!

So far, I'm liking what this app has to offer
------------------------------------------------------
Samsung Galaxy Note 2 w/ KK 4.4.2 (stock rom)
Apple iPad 4th gen w/ iOS 7
HP Touchpad w/ WebOS and CM9 (Ice Cream Sandwich)
MSI 110W Windows 8 tablet
 
backitude
Old
#4  
Senior Member - OP
Thanks Meter 170
Posts: 221
Join Date: Mar 2012
Post Troubleshooting Topics: Location Updating using Backitude

If all else fails to get you updating, the following detailed description may help get you going as a last resort. Again, I'm not sure why oAuth2 can be so difficult for a small handful, and so convenient for so many others.

Start fresh by trying the following steps to reset your Google Latitude permissions

* From your android device, launch the Maps > Latitude application and Sign out. On the latest version, this is accomplished by going to Latitude > Menu > Location settings > Location reporting > Latitude location sharing > Sign out of Latitude
* Next, go into Android > Settings > Applications > Manage Applications > Maps and click the "Clear data" button.
* Similarly, uninstall the Backitude application by completing the following: Android > Settings > Applications > Manage Applications > Backitude and click the "Uninstall" button.


Now, follow these steps from a PC browser to remove access (so that we can then add them back)

* Visit google.com
* Sign into Google using the account you are trying to configure for Backitude
* Go to Google Account settings, or click "Account". (I will post a link directly there when I have the ability too)
* Scrolling down, you see the option to "Visit the previous version of the Account settings screen" which takes you to My Account.
* Under Security, select the link for "Authorizing applications & sites" (accounts.google.com/b/0/IssuedAuthSubTokens)
* Revoke access to any applicable "Android Login Service" entry including those such as "Full Account Access" and "Google Latitude"


Everything is now successfully reset, so perform the following steps in order.

* Sign into Latitude from a PC browser. (It is very important to sign in from a PC browser and not your android device at first). This is required by some devices for authentication purposes, to "opt" your Google account user into Latitude.
* Enable Google Latitude on your device using the Latitude app. If multiple accounts exist on your device, you may have to select the appropriate account by going to Maps > Menu > Settings > Switch Account. Then, or otherwise, sign-in to Latitude from your android device.
* Finally, you can try to re-install Backitude and successfully update your location to Google Latitude.

And that always seems to get the last 0.01% of users updating successfully who couldn't before. Annoying, yes!

Other similar 3rd party Latitude apps appear to be using a variant of oAuth1 authentication, which requires entering your password. I have contemplated implementing the same, to avoid this issue but perhaps future versions of Maps and Android will better activate permissions on those devices.
The Following User Says Thank You to backitude For This Useful Post: [ Click to Expand ]
 
backitude
Old
#5  
Senior Member - OP
Thanks Meter 170
Posts: 221
Join Date: Mar 2012
Post Backitude: My settings

How do I configure Backitude to run? Personally, with battery efficiency in mind while leaving the highest priority features enabled.

Enable Service: on (this is essentially the on/off switch)

Advanced Settings

Set Priority: Wi-Fi, with GPS/Tower Triangulation backup (One of the most overlooked but favorite options. This setting will abort GPS polling if a Wi-Fi network is present and the Wi-Fi location is accurate. So, in a real-life situation, my phone is indoors at work or at home with Wi-Fi enabled. GPS is enabled but not going to be able to get a fix indoors. Instead of polling for the entire extent of the Polling Timeout, Backitude will abort polling, and update using the Wi-Fi location value, which is all it ever would've gotten anyways. Beyond that, if I am outdoors and away from a Wi-Fi network with the same setup, the GPS will still poll and run its course as normal.)


Settings

Time Interval Option: 30 minutes (if my friends need a more recent update, they can ping me and have backitude fire off an automatic update seamlessly in the background)
Location Polling Timeout: 15 seconds (The longer GPS is allowed to run, the more potential battery gets burned if you can't acquire an easy fix)
Latitude Re-Sync Rate: off (this feature is only needed to prevent Latitude from overwriting your Backitude location update. However, I put my Latitude location reporting to manual so Latitude is no longer detecting my location. Battery saver too!)
Min. Change in Distance: off (I'm not a Location History keeper, so eliminating repeat updates is not a concern for me)
Location Steals: On (This is one of my favorite features. If you're using an app such as Maps, Navigator, or even the Internet, which polls your GPS, Backitude will steal this location and use it to update your location. The battery-intense function is already on-going thru another app, you might as well steal the location value and update your Latitude at very little expense.)
Accurate Update Only: On (You have to think about location "circles" for this option. Circles coming from inaccurate location readings. If your previous location value was more accurate then the current location reading, and the previous location is within the location perimeter of the newest location, it will repeat the more accurate location.
Real-time Enabled: Off (This is for individuals wanting to update at a faster rate when charging their device or docked. Personally, I just change my update interval when I want to update faster)
Real-time Interval: n/a (Users tend to want to poll location and update at a faster rate when their device is docked and battery is no longer a concern)
Real-time Timeout: n/a (When real-time updating, there is a separate timeout value for GPS polling versus the normal timeout. Users may have a different preference if their device is docked so there is a separation configuration for that)

Push Enabled: On (Allow friends to force an update to Latitude on my device by simply texting "Force Backitude update". I can get away polling at a slower rate and save battery because all my friends and fellow Backitude users know they can force an update on me when needed)
Display Message: off
Display Push Notif: off

Status Bar Icon: never
Display Update Message: off
Display Update Failed Notification: off
 
backitude
Old
#6  
Senior Member - OP
Thanks Meter 170
Posts: 221
Join Date: Mar 2012
Quote:
Originally Posted by EP2008 View Post
I just started using this app a few days ago after realizing how often Google Maps is polling for location information just to update latitude... Hundreds of times a day, even when I'm not moving!

So far, I'm liking what this app has to offer
Thanks. I'm currently working on fixing a couple known issues, and hoping to get a new release out this week. Nothing earth shattering though. I noticed you were running ICS... have you noticed any issues? I have not tested ICS compatibility yet, so I was always curious. Using a Bionic myself, I'm still hoping to get an update later this year and try it out myself. Thanks!
 
EP2008
Old
#7  
Senior Member
Thanks Meter 292
Posts: 1,858
Join Date: Jan 2008
Location: Toronto, Ontario, Canada
Quote:
Originally Posted by backitude View Post
Thanks. I'm currently working on fixing a couple known issues, and hoping to get a new release out this week. Nothing earth shattering though. I noticed you were running ICS... have you noticed any issues? I have not tested ICS compatibility yet, so I was always curious. Using a Bionic myself, I'm still hoping to get an update later this year and try it out myself. Thanks!
No issues that I've seen.

I did have a bit of frustration when testing it as I had it set not to update unless my location changed more than 100m, so when I fired a manual update, I assumed that would force an update regardless of the location setting. It wasn't until after I turned that setting off did the manual update refresh with a new location timestamp.

Not a huge issue, but for some time I didn't think that the app was working because the timestamp on the history log never changed after manual updates.

Sent from my Galaxy Nexus using Tapatalk 2
------------------------------------------------------
Samsung Galaxy Note 2 w/ KK 4.4.2 (stock rom)
Apple iPad 4th gen w/ iOS 7
HP Touchpad w/ WebOS and CM9 (Ice Cream Sandwich)
MSI 110W Windows 8 tablet
 
backitude
Old
#8  
Senior Member - OP
Thanks Meter 170
Posts: 221
Join Date: Mar 2012
Quote:
Originally Posted by EP2008 View Post
I assumed that would force an update regardless of the location setting.
I never thought of that. That is probably a fair assumption. I may have to consider re-working that logic, so that like you said- if "Fire Update" is launched, you do not consider skipping the update because of minimum distance rules. Thanks!
 
EP2008
Old
#9  
Senior Member
Thanks Meter 292
Posts: 1,858
Join Date: Jan 2008
Location: Toronto, Ontario, Canada
Quote:
Originally Posted by backitude View Post
I never thought of that. That is probably a fair assumption. I may have to consider re-working that logic, so that like you said- if "Fire Update" is launched, you do not consider skipping the update because of minimum distance rules. Thanks!
The reason I made the assumption was because I use an app called FolderSync, which helps manage cloud file storage services. With it, you can setup rules to sync your files, like what time a backup should be made, if you are plugged into a charger and if you are on wifi, etc. The app has an option for the user to initiate a manual sync, which basically ignores all scheduling rules over the users desire to sync right now. That's why I thought it might be the same for Backitude.
------------------------------------------------------
Samsung Galaxy Note 2 w/ KK 4.4.2 (stock rom)
Apple iPad 4th gen w/ iOS 7
HP Touchpad w/ WebOS and CM9 (Ice Cream Sandwich)
MSI 110W Windows 8 tablet
 
backitude
Old
#10  
Senior Member - OP
Thanks Meter 170
Posts: 221
Join Date: Mar 2012
Quote:
Originally Posted by EP2008 View Post
...The app has an option for the user to initiate a manual sync, which basically ignores all scheduling rules over the users desire to sync right now. That's why I thought it might be the same for Backitude.
I like the idea. I am going to change that for the next release. The settings for Backitude are pretty intimidating, even for novice Latitude users. I want to make it as user-friendly and straight forward as possible. Thanks for the help!

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes