thasmin / Podax

Podcast client for Android
Other
165 stars 34 forks source link

Not sure when it updates subscriptions and downloads new episodes #110

Closed LegoChicken closed 12 years ago

LegoChicken commented 12 years ago

Not sure when it updates subscriptions and downloads new episodes. At the moment I run it every day and press refresh subscriptions and Queue Download. Do I need to do this? Is it automatic? Could you add some control of this or at a minimum an indication/explanation. Would be nice if a background update could be scheduled on reguar basis (e.g. once a day, every 2 days, etc) ideally with a defined time of day. Ideally would reschedule automatically to later if there is no connection (or hooked into the connection status change so it can detect when the WiFi/mobile data as appropriate is available).

dbs commented 12 years ago

You shouldn't need to manually check the feeds. Right now it looks like the updates are hard-coded to occur on a (roughly) hourly basis in com.axelby.podax.BootReceiver's setupAlarms() method:

alarmManager.setInexactRepeating(AlarmManager.RTC, System.currentTimeMillis(), AlarmManager.INTERVAL_HOUR, pendingRefreshIntent

In the short term I agree that it would be nice to add a preference to control this a bit more, although I would stick to the intervals defined for the inexact repeating events so that wakeups can be minimized:

Of these, I would suggest that anything below an hour is too often for automatic checks - people who are that obsessive might as well manually refresh - and given the number of feeds that must be checked for people who really love their podcasts, those shorter intervals could eat up a lot of juice.

Therefore, I would recommend the half-day interval as a more sane default, and expose hourly & daily as alternatives in a new preference menu. We might also want to show (somewhere) the last time subscriptions were updated, and when the next update is expected to run, with a direct link to the preference for changing that.

In the long run, rather than having the devices do all the work of pinging RSS feeds, it would probably make more sense & be more efficient to check the feeds centrally and just push update notifications out to devices via cloud to device messaging... we (well, axelby.com in the default case) has data about which feeds devices are subscribed to and could do the feed reading & generate C2DM for the devices that have opted in to sharing their subscription data. Although there is a lot to be said for the autonomous approach, if you're a bit paranoid like me :)

thasmin commented 12 years ago

Thanks, dbs. That's accurate. I've actually started on a website to do pushing, subscribing via the web, and other things but I haven't gotten very far.

LegoChicken commented 12 years ago

I would agree half-day interval is sane default. Personally I would do daily or every other day. 15 minutes is a bit excessive. How will this work when it is set to WiFi only and most of the time the phone won't be connected to WiFi? I run juicedefender, so most of the time the phone doesn't have connectivity but instead wakes every 15 minutes to sync email, etc. Even without JuiceDefender most of the time (and this probably applies to most people) the mobile won't be connected to WiFi. Personally, I would prefer not to have a centralised system, but I can see it would be more efficient. It does create a single point of failure.

crosser commented 12 years ago

FWIW, I'd prefer autonomy. The less dependencies the better.

thasmin commented 12 years ago

If server-based checking is implemented, it won't be required. I really don't like adding options and would prefer to have a system like checking every hour if on Wi-fi and once per day regardless.

Either way, the notification for updating and downloading is back in 5.0.

LegoChicken commented 12 years ago

I'm happy with the current system. I now know when it updates. I suggest putting an explanation of the schedule somewhere in the program; may be in the "About" text.