Which Type of Tasks will not work on low end version of Windows Phone
Yesterday I was curious when some of the popular Windows Phone Blogs and Developers were talking about absolutely no support for Tasks and Background Agents in Windows Phone. This was confusing for me as a day before, I had a word with Justin Angel from Nokia who said there is a limit of 10 Tasks. So I reached out to him again and he explained it again to me.
He said that it’s not that there will be no background task but there are only two types of tasks which will not work in low-end Windows Phone, namely PeriodicTask and ResourceIntensiveTask rest 4 kinds of other Background agents and scheduling are still supported i.e. background music, background file transfers, alarms and reminders. Refer for more details on memory Tip #4 etc here
Background Task Restrictions :
Now we all know Windows Phone OS has a lot of restrictions on Background task i.e. Resource Intensive, already for example a background task can only poll every 10 minutes max which we have seen in case of Battery Status App that’s why the Live tile wasn’t updating every now and then.
Thanks @miscc and @nikovrdoljak helping me understand this part.
Second thing you should know is the limitation of 10 Background Task which I understood is for only 256 MB Devices is actually for 512 Mb Devices too. This means any app on Windows Phone will never use Background Agent for any major purpose and in case of 256 Mb Devices it is just one feature less.
So for example if you have a Feed reader App which displays a list of Unread count on back of live tile, it will not work on low-end devices. Thus an app for High End device will have one feature less when developed for low-end devices.
This Results into :
Multiple version of the same app based on device memory. That’s bit of extra work from developer’s point of view but considering the fact that markets where these phones will be introduced i.e. China, Indonesia etc are not small either. So if you have a paid app, I suggest not to miss the revenue.
So the Next Questions comes to mind is :
How does OS pass the message of 10 tasks limit to the End Users ?
Lets say there are already 10 task running on a 512 MB device. I install another app which has a Background task which is going to be 11th. Now since you cannot have more than 10, How will the user get to know about it ? Till now I haven’t seen any message coming from the OS itself that I need to disable something to enable other task.
Update : @ngreader Says : OS jumps to background tasks page in settings when limit is reached with a user friendly msg.
This makes sense now. Thanks
How is the user experience still maintained ?
Now from Both App and OS perspective, there is no compromise done. You still can get the same experience, inbuilt features, social integration , The Apps which work on High end WP will still work as there is a memory limitation on High End Phone also. What you will miss is few features, specially Live Tile feature of WP and Apps which were utilizing it.
Next Stop, Apollo and it should get more memory :
So my guess is the next generation of Windows Phone should get more memory which should go up to 1GB if not less. This will not only allow development of High End Games but also let app make more use of memory to achieve more.
Though I am sure that Windows Phone SDK will keep the limitations on which is a good thing so apps just don’t go crazy to consume all memory they wanted and shut up all other apps and ruin your experience.
