Pages:
Author

Topic: Please give us back the option to disable Sync on Power (Read 6368 times)

newbie
Activity: 1
Merit: 0
Sorry to dig up this thread but I just started up an older device and this app decided burn through 200mb. Nice one. It's not like that's 20% of my quota or anything.

Exactly what is so undesirable about including an option to turn off sync completely unless the Bitcoin app intent has onscreen focus?

This is clearly a sought-after feature for numerous reasons, including battery life. Just briefly outline the consequence of not having a frequently updated blockchain. I don't even mind if you refuse to provide support for people with sync turned off.

It's the only reason I do not have this app installed.

At least one altcoin fork has had this feature (plus a disconnect button!) from the beginning, and it works just fine. It's clear that there's no real reason why it can't exist other than developer arrogance.

I'm honestly undecided on my favorite part of the thread. Is it the developer autistically responding to the wording of a user's comment while completely missing the point, or the part where the app used 60% battery with background data disabled, or the simple fact that the developer literally cannot understand how a user might be willing to accept the tradeoff of no sync?
newbie
Activity: 9
Merit: 0
Exactly what is so undesirable about including an option to turn off sync completely unless the Bitcoin app intent has onscreen focus?

This is clearly a sought-after feature for numerous reasons, including battery life. Just briefly outline the consequence of not having a frequently updated blockchain. I don't even mind if you refuse to provide support for people with sync turned off.

It's the only reason I do not have this app installed.
hero member
Activity: 737
Merit: 500
Unfortunately, I can't find how to send a report.

Report Issue is a button on the In-App settings page.
member
Activity: 106
Merit: 10
Well, the report feature can report up to 7 days worth of logs. So if you know the exact date it might be worth to report nevertheless.

Thanks.  It happened on September 4, as per the timestamp on the screenshot photo.

Unfortunately, I can't find how to send a report.

In the phone's "Application manager", on the main "App info" screen that was in my earlier screenshot, the button that was previously labeled "Report" is now labeled "Uninstall"!  I tried to go to "Battery" but Bitcoin doesn't show up in the list (it is being very well-behaved now, because I'm on a fast Wi-Fi connection so it can complete its periodic sync quickly).  So, I can't send a report from the Battery screen, which I should have done from that screenshot!

I was able to send another kind of report by going to the "Active apps" tab of "Application manager", selecting Bitcoin, then the service "BlockchainServiceImpl" had a "Report" button.  I did this.  Don't know if it will help, though.

Is there a way to force Android to always enable the "Report" button, for apps of interest?

Josh
hero member
Activity: 483
Merit: 501
Well, the report feature can report up to 7 days worth of logs. So if you know the exact date it might be worth to report nevertheless.
member
Activity: 106
Merit: 10
Would you like to send me your logs so I can look up exactly what consumed your battery? Use Options > Settings > Report issue. Please refer to this post in the description.

A few days ago, I found it taking a mere 64% of my battery!

Here's screenshots:



Unfortunately, didn't know about the "Report Issue" feature at the time this happened.

I've rebooted the phone several times since then, though, and it didn't happen again!

Josh
hero member
Activity: 483
Merit: 501
Quote from: Mike Hearn link=topic=260719.msg2997603#msg2997603 603#msg2997603 date=1377334279
OK, I can see that 5 of 300 is getting into the zone where one might care, although it's still a small amount. Android does let you restrict data on mobile only, at least the version I have does. On the app specific data usage screen there is a check box at the bottom which says "restrict background usage on mobile networks". Perhaps it's a jellybean feature though? Not sure.

I turned off mobile data today for the app and it used 53% of my battery.

Would you like to send me your logs so I can look up exactly what consumed your battery? Use Options > Settings > Report issue. Please refer to this post in the description.
sr. member
Activity: 437
Merit: 415
1ninja
Quote from: Mike Hearn link=topic=260719.msg2997603#msg2997603 603#msg2997603 date=1377334279
OK, I can see that 5 of 300 is getting into the zone where one might care, although it's still a small amount. Android does let you restrict data on mobile only, at least the version I have does. On the app specific data usage screen there is a check box at the bottom which says "restrict background usage on mobile networks". Perhaps it's a jellybean feature though? Not sure.

I turned off mobile data today for the app and it used 53% of my battery.
legendary
Activity: 1526
Merit: 1129
OK, I can see that 5 of 300 is getting into the zone where one might care, although it's still a small amount. Android does let you restrict data on mobile only, at least the version I have does. On the app specific data usage screen there is a check box at the bottom which says "restrict background usage on mobile networks". Perhaps it's a jellybean feature though? Not sure.
legendary
Activity: 3878
Merit: 1193
Any data at all is painful when roaming, that's why Android disables data access by default.

Ok, for this use case, restricting background data would do it. It doesn't eliminate wifi usage, but that isn't as important. I just have to remember to disable background data for bitcoin when I go roaming.

At the moment I'm showing about 4.5mb of data used so far in August, so that doesn't sound totally off the mark. It could probably be optimised further, it's just never been a focus. What kind of data plan do you have? I guess most people have between 500-1000mb per month these days, on contract, so about 5mb would be 0.5%-1% of total transfer usage. Again, it could be improved, but there are bigger problems with the app right now.

A basic AT&T data plan is 300 MB.
legendary
Activity: 1526
Merit: 1129
Any data at all is painful when roaming, that's why Android disables data access by default.

At the moment I'm showing about 4.5mb of data used so far in August, so that doesn't sound totally off the mark. It could probably be optimised further, it's just never been a focus. What kind of data plan do you have? I guess most people have between 500-1000mb per month these days, on contract, so about 5mb would be 0.5%-1% of total transfer usage. Again, it could be improved, but there are bigger problems with the app right now.
legendary
Activity: 3878
Merit: 1193
I've never tried because I think it's worth to invest 1 MB of my 200 MB monthly mobile quota in being synched with the chain as much as possible. But since you're so convinced about the usecase - why don't you try?

I wish it was that light on data. At this moment, Android is showing Bitcoin has downloaded 5.65MB out of the 66MB so far this billing cycle. That's a little heavy for a limited data plan. It's really painful when I go roaming internationally.
legendary
Activity: 1526
Merit: 1129
5% battery usage is too high indeed, but that doesn't seem to be normal. Is this after you've tried things to restrict background data usage? There might be CPU looping bugs that can occur in such a mode that could be fixed.

However you have to understand that Android phones are doing things in the background all the time. Just run adb logcat and watch for a while. They sync mail, calendar, check for app updates, they tear down and re-establish push connections, they search for wifi hotspots, they optimise applications, they check for OS updates and so on. None of these apps or services have a "don't run in background" option in their UI, rather, they're just expected to make maximally efficient use of the device resources.

Now some apps are pretty bad at that and use a lot of resources for no real reason, that's certainly true, and if you're seeing 5% battery usage then I'd say that needs to be fixed. But if it was 1% or less then I'd think there's no real issue here.

Why not just introduce a setting? Because it's bad software design. If you add a setting every time someone complains about something on a forum you end up with a million obscure settings. Bitcoin Wallet already has too many settings - heck, why is there a toggle for the connectivity indicator and the disclaimer? The connectivity indicator should probably be a part of the main app screen (or not there at all - it's obsolete now there's the network monitor), and there's probably no use case for reactivating the disclaimer after you read it.

The vast majority of Android apps keep themselves fresh and up to date in the background. That's just how the platform works. If you're upset about that, you're upset about how modern platforms function. Requesting settings in every app you use to try and fight that trend isn't the way to go. Power user versions of Android itself are the right place to add that feature - so perhaps Cyanogen allows you to manually manage app lifecycles.

hero member
Activity: 483
Merit: 501
4) The app shouldn't be doing things behind the user's back anyway

If computers wouldn't do things behind users backs, we would not have any use for them.

An app has got an UI. Anything that happens beyond it is happening "behind the users backs".

So yes, we have a fundamental disagreement here.
member
Activity: 106
Merit: 10
You guys ARE NOT READING WHAT IS WRITTEN.

Andreas has already told you how to disable this. Maybe you can't see the option because you have to scroll down on the data usage screen to get it. At the bottom of the app specific data usage screen is a tick box that says "Restrict background data usage". Tick it and your issue will go away.

You guys are NOT UNDERSTANDING the fundamental problem.

Checking the "Restrict background data" box:

1) It will only turn off cellular data, and will not affect Wi-Fi data.

2) The problem isn't data, it's that the app keeps waking up, taking battery life.

3) Due to unfixed bugs in the app, if it can't reach its peers, it gets unhappy, and spins in a loop, taking 100% CPU.  This will further drain battery life.

4) The app shouldn't be doing things behind the user's back anyway, but this is a philosophical design issue, one that we absolutely and fundamentally disagree on.  You believe that apps should be free to wake up whenever they want, hook whatever events they want, make whatever connections they want, consume finite resources (battery) as much as they want, and at whatever times they want.  We don't.  Thus, this makes it impossible to further reason or compromise about this issue.

Josh
legendary
Activity: 1526
Merit: 1129
You guys ARE NOT READING WHAT IS WRITTEN.

Andreas has already told you how to disable this. Maybe you can't see the option because you have to scroll down on the data usage screen to get it. At the bottom of the app specific data usage screen is a tick box that says "Restrict background data usage". Tick it and your issue will go away.

member
Activity: 106
Merit: 10
I just released version 3.16 which does not trigger a sync operation by plugging your device to power any more.

Note this does not mean it won't sync in background. If you want to restrict that, go to the Android "Data usage" prefs and enable "Restrict background data" (either globally, or just for the app). But its really not needed - both traffic and battery usage is negliable since version 3.

Ouch, I just noticed something new: the synchronization now starts happening on its own, on a timer, even when the device is running on battery!

WHY are you doing this?  What is your motivation?

Bitcoin Wallet is such a good app, why do you add these malware-like things in the background?  Why do you hook reboots?  Why do you restart the network synchronizations on a timer?  Can't I just run the app when it's open, and leave it at that?  Please behave like a well-behaved app, and do not consume resources in the background.  Simply shut down.  Do nothing.  When the user leaves the app, close the connections, and allow your process to exit.

I looked at Battery usage and Bitcoin Wallet has taken a full 5% of my battery.  That might not sound like a lot, but I'm trying to save as much as I can.

This latest update is worse, instead of better, because now instead of acting only at reboot and only when the charger is first connected, it now acts on its own in the background, without any way for the user to stop this from happening.

Damn it, it just popped up again, and I thought I had just killed it!  What's the timer frequency?  It seems to be firing every few minutes or so.

Reluctantly, I just sent a payment to zero out my wallet, and I am now DELETING this fine app.  It makes me sad, because this app is truly great.. when it's up and running in the foreground!

I don't understand why making network connections in the background, on a timer, and at startup are not concerns of yours.  It seems that many people would be leery of an app that consumes their network and battery even when the app is closed, and not wanted.  At the minimum this should be a configurable option.
member
Activity: 106
Merit: 10
I just released version 3.16 which does not trigger a sync operation by plugging your device to power any more.

Note this does not mean it won't sync in background. If you want to restrict that, go to the Android "Data usage" prefs and enable "Restrict background data" (either globally, or just for the app). But its really not needed - both traffic and battery usage is negliable since version 3.

Nice!

Thanks for not hooking the "charger connected" event any more.

I also see you added a direct link in the app's settings menu to the Android "Data usage" panel.  Touché.

It still syncs at reboot, though.

Ultimately, checkboxes would be the best approach:

[ ] Sync when charger connected
[ ] Sync when rebooted
[ ] Sync automatically in background every [ ] minutes

I really don't like the idea of carrying around a device which makes unwanted connections behind my back every so often.  Does anybody else feel bothered by this?  Sometimes, I think I'm alone.  Am I the only one who doesn't want apps making all sorts of connections everywhere in the background?

Josh
hero member
Activity: 483
Merit: 501
I just released version 3.16 which does not trigger a sync operation by plugging your device to power any more.

Note this does not mean it won't sync in background. If you want to restrict that, go to the Android "Data usage" prefs and enable "Restrict background data" (either globally, or just for the app). But its really not needed - both traffic and battery usage is negliable since version 3.
legendary
Activity: 1526
Merit: 1129
The background syncing IS useful - it ensures that next time you open the app, it can catch up very fast (in a few seconds). Otherwise if you didn't open it for a month there'd be a short delay until it could see payments to you. Also, it only spends a moment or two syncing and then shuts down. It's not running the whole time you're charging, nowhere near.

So this leaves your fear that the app will make the people where you work mad at you. Although I hate to say it, this is not a very common problem to have. Maybe the fix is to just see if they notice, and if they do, explain that you have a P2P app on your phone? If for some reason they have a big problem with that, they can just block port 8333 and it's done.

Alternatively, you can put riker.plan99.net into your trusted peer setting, and then it'll only make a single connection, so the "p2p-ness" of it won't be so obvious.
Pages:
Jump to: