On other multitasking platforms like Symbian and Android, RAM permitting, podcatching applications can run in the background as much as they like, checking feeds and doing downloads according to your settings. On Windows Phone, things are much harder. Just like Apple with iOS, Microsoft's intention when designing Windows Phone was to protect 'normobs' from 'bad'/runaway applications.
Every Symbian or Android user knows that sinking feeling when you pick your phone out of your pocket and it's very warm - too warm, indicating that some application or game has not only been left running but is soaking up vast amounts of processor time - and thus battery power. With Windows Phone, the idea was to place stringent restrictions on what could still be achieved by an application once it was no longer in the 'foreground'. In fact, with 'fast app resume' there's enough of a pseudo-multitasking 'experience' for most users, but for applications which need to do much of their work unseen, like podcatchers, the Windows Phone environment provides significant challenges.
As we've seen. Most podcatchers on the platform (e.g. Podcatcher, Bringcast, to name but two) settle for a system of checking feeds and kicking off downloads of new episodes when the application is run (and thus in the foreground) - if a download is started and then the user presses the Start control to do something else, the downloads still get to finish, provide they don't take too long. The system works well enough, but does involve some manual effort and patience, in that you have to remember to pop back to the application in order to kick things off, plus you also then have to wait a number of minutes while all the downloads complete.
Podcast Lounge, consistently top rated in my round-ups, is different, in that, in addition to the behaviour above, there's also a properly-coded 'resource intensive background agent', effectively a separate application that runs when it can to check feeds and grab new episodes. The idea is that when you return to Podcast Lounge, there's a pop-up 'toast' saying "While you were away, we downloaded NN new episodes". And there they are, all waiting to be listened to, immediately. Podcatching nirvana.
Or at least that's the theory.
In practice, the constraints on resource intensive background agents are severe:
- they can run for only ten minutes at a time
- external power (i.e. charging) required
- even given the presence of external power, a battery charge of 90% is also required
- wi-fi is required
Now, Podcast Lounge's (current) settings panes give the impression that the 'auto-download of favourites' can be permitted 'using battery power', as shown in the screenshots below:
In fact, as the developer has acknowledged to us (and as an upcoming new version of the application will reflect), these settings only apply to the main application, in the foreground. Podcast Lounge's background agent is completely bound to the standard constraints listed above - they're hard wired into the Windows Phone operating system.
The symptoms I'd been seeing were that the background agent's downloading work was erratic in my use case and I'd suspected that it had become inoperative. In fact, it was working perfectly but had its hands tied by the OS.
The real kicker is the constraint that I emboldened above. You'd have though that being on a charger and on wi-fi was enough... but the battery also needs to be nearly full, i.e. you put the phone on charge and within range of Wi-fi but no resource intensive background agents can run until the battery has charged to at least 90% current capacity.
In practice, this meant that with my usual regimen of 'Flight' mode during the night (to stop unwanted interruptions) and charging for just a couple of hours every now and then during the day, my Windows Phone was almost never on Wi-fi AND on charge AND with battery almost full. Meaning that Podcast Lounge's background agent was only allowed to run very rarely by the OS.
Of course, armed with this knowledge, it's easy to be a little more regimented about where and when I charge my phone. One option would be to charge my phone and leave Flight mode off all night - this is the expected behviour for many, according to the developer. But, rather liking my night's peace and quiet, I simply put my phone on charge again in my Wi-fi-equipped office when I start work. Just for an hour or so, so that the background agent gets a chance to run properly.
And, lo and behold, the next time I tap on Podcast Lounge on my Start screen, I get a toast message about episodes having been downloaded automatically:
While the developer and I debated the severity of Microsoft's constraints (surely battery at over 50% would have been good enough?) for background agents, at least you know now. Armed with knowledge of the conditions needed, if you can build Wi-fi and charging for a decent length of time into your daily routine, then you should get 100% reliable podcatching with Podcast Lounge.
Which, for many people, may be just the nudge they need to take Windows Phone 8 seriously again as a primary smartphone platform. It seems that, contrary to what the Beatles sang, "Power is all you need"....
PS. While chatting with Podcast Lounge's developer, I did put forward a number of suggestions for future UI enhancements. One that I'd like to see in particular is to have the list of favourites optionally sorted in reverse chronological order (for latest episodes), so that the newest material was always at the top. If you have your own suggestions, see Igneous Software on the web for their contact details.