Please don't run apps in the background on my WP7 phone!

When I was but a wee lad, I learned that when it came to my computer, I was often going to be waiting on something, whether it was the CPU, the IO or the memory. Now that I'm all grown up and spending a great deal of time on handheld mobile devices, I've discovered a whole new thing I'm waiting on: charging the battery.

In the bad old days of DOS, I spent a disturbing amount of time working on my autoexec.bat and config.sys files to optimize the loading of drivers and TSRs (DOS programs that run in the background for you whippersnappers). Now, instead of optimizing for memory usage on my PC,  I spend my time optimizing for power consumption on my phone, e.g. turning off 3G and Bluetooth when I don't need them, turning down the polling frequency on my SMTP mail accounts and spreading power adapters everywhere in my world where I sit for more than 5 minutes. The single most important feature on my phone is that's it's on and the way power is managed on my iPhone means that this is often not the case. Sometimes I pine for my Windows Mobile Dash for just that reason; it ran for days instead of hours.

And as bad as this power situation is, it would be even worse if my phone ran more than one app at a time. I don't worry about random apps from the AppStore using too much memory or crashing; I worry about them eating my battery and killing my iPhone in the middle of a route to somewhere I've never been. By not allowing background apps to run, Apple is trying to do the right thing but (although my battery life still sucks). I don’t have personal experience with Google phones, but since they do allow background apps to run, I have to imagine battery life is an even bigger problem.

So, when I see people lobbying for background apps on the new Windows Phone 7 Series, all I can say is, you don't want it. What you want is for work to go on in the background for you without the cost in power.

Oh, I want to listen to my MP3s or Pandora while I answer my email like everyone else, but I don't want every financial/IM/email/social/sports app I download sucking down my battery life because it feels itself to be more important than everything else on my phone. I want those apps to notify me when something I care about happens but I don't want the processing to discover such events to happen on my phone - I want the processing to happen in the cloud.

You may recall my piece about how important storage in the cloud is for moble devices. Let's let somebody else scale and manage the storage so we can leverage it. In the same way, we want to leverage CPU and power in the cloud, saving local resources for cool graphics, twitch games and streaming my "Pink" channel.

Of course, if we're going to push the processing to the cloud, I'm going to need an efficient and easy way to write my WP7 apps to be notified so I can do the actual processing that needs to happen on the phone. And that all needs to happen while I'm navigating and playing my bad girls party mix.

I'm saving my WP7 phone battery for important things after all.



Comment Feed 27 comments on this post

Shawn Wildermuth:


I disagree...but only somewhat. I'd be happy if it were exceptionally clear that it ran in the background and only a small number of apps (maybe one). It works on my Droid pretty well.

Wednesday, Mar 3, 2010, 5:57 PM


Kent Sharkey:


What about all that Facebook-slurping, calendar-updating, Twitter-downloading that seems to be one of the "big" features for the W7 phones? All of that will be dragging your battery (and monthly data quantities) away...

Wednesday, Mar 3, 2010, 6:43 PM


boyd:


I have both an iPhone and Nexus One. The Battery life on nexus last 2-5 hours longer than my iphone. I use my nexus rigorously from 5:30 AM until my drive home around 5PM where I charge my phone part way in the car. The solution isn't to limit the phone but to solve the battery and energy usage. The iPhone is severely limited without background apps.

Wednesday, Mar 3, 2010, 8:33 PM


Dan:


Interesting. So you would essentially have the application running "in the cloud" and pushing changes/updates to the phone? I could see this working. However, I agree that the development tools and process needs to be very straightforward. Right now, using Silverlight and WCF services with Azure can be very confusing and frustrating.

Wednesday, Mar 3, 2010, 8:52 PM


Jason Fransella:


I'd like the gps app I use while I'm jogging to continue running when a call comes in. I want to be able to step out of the app and use my phone's music playing capabilities with the built in UI instead of being surfaced through the gps app in a less than optimum manner. I love my iPhone but this lack of capability is definitely an anti-feature. I also understand that one of the reasons my iPhone seems so responsive in general is the lack of all these different processes wrestling for resources. Maybe there is a compromise somewhere in between.

Wednesday, Mar 3, 2010, 9:06 PM


AlSki:


I disagree too. The battery life on my WM6 phone was no worse than my iPhone. BUT I had the choice to run things in the background. Now I just get so messed around.
Last night I went for a run again, I've just started and the app that tracks this for me is showing some great trends, but last nights data is completely corrupted, because I took a call in the middle and switched to email find some info. My Run has a whole in the middle of it just becasue it didn't get recorded.
If you don't want multiple apps running, fine, kill them off. But please don't stop me having the choice!

Thursday, Mar 4, 2010, 2:19 AM


Ray:


Android is actually pretty good at coping with multitasking. I get two days of light use or 1.5 of heavy off a full battery, no problem. The smoothness and responsiveness are generally excellent. Only GPS is a heavy eater if left on indiscriminately, and I have a front-screen widget for turning it off when not needed.

I see no reason why Win mobile 7 shouldn't be able to do the same thing. Nor do I really understand why the Iphone's battery life is so poor by comparison - it's not as though it's doing more.

Thursday, Mar 4, 2010, 2:46 AM


Eduardo:


Total nonsense and playing defensive.

You describe *your world*. I'm almost all day in the office, and the phone is in the dock, consuming no battery, but the dumb iPhone force me to quit LastFM to reply a SMS. Just dumb in 2010.

Thursday, Mar 4, 2010, 3:18 AM


James:


Did I miss an announcement? What is 'my "Pink" channel'?
I agree that better battery tech should be the goal. While it may take a while, in the meantime an OS that allows a user to properly specify what may and what may not run in the background would work for me. E.g. I want Spotify to run in the background while checking email - but most other apps should disappear. However, I should be able to decide - not the manufacturer. Out of the box - iPhone like behaviour would be fine, as long as it can be fine tuned.

Thursday, Mar 4, 2010, 5:56 AM


Chris:


Seems like a real easy solution to this problem is to allow you to have more than one battery (which iPhone doesn't). I have two for my blackberry so when I'm running low I can swap one out.

Thursday, Mar 4, 2010, 6:52 AM


Jeff Johnson:


It seems like most commenters here clearly have no idea what you are talking about when you say processing can be off-loaded to the cloud. Perhaps more explanation is needed. This might be one of the hurdles in getting traditional "old-school" developers on board with a new paradigm.

Thursday, Mar 4, 2010, 7:20 AM


Vance Hallman:


I also disagree. Hopefully we will find out more at MIX 2010 next week. Seems to me that maybe Microsoft could offer various flavors of WF7, maybe a basic one without multitasking and then an advanced version that allows multitasking. Of course Microsoft would have to have a higher certification standard for the OEM hardware vendors.

Put out two versions. Let the market decide. As technology improves you will see the cost and power consumption variables drop to where the market shifts to the high end.

Just don't tie down the power users from the beginning. You will lose them to other OS'es.

Thursday, Mar 4, 2010, 8:34 AM


Thomas:


Jeff Johnson says 'most commenters here clearly have no idea what you are talking about when you say processing can be off-loaded to the cloud.' Well, Jeff, I DO have some idea - first, having someplace in the cloud where your apps can be run securely, having to pay for that, requiring lots of communication back and forth over secure 3G, 4G and WiFi networks, and having to pay for _that_, and having to put up with delays and bottlenecks in all of the above. Not exactly conducive to being able to just grab your phone and having it WORK. I agree with the dissent-ers - having an efficient multi-tasking OS and hardware design that reflects real-world use are both needed.

Thursday, Mar 4, 2010, 8:52 AM


Jesse Liberty:


Chris,

The cloud is clearly the right long term solution to a lot of mobile issues, but it is (fatally?) unable to guarantee its availability.

The most important characteristic of my phone is that I *always* have it with me; if a vital part of it is only available when I have signal... I think I'm worse off than if it is only available when my battery is charged.

As an aside, my short-term wish is for a phone with easily swappable rechargeable batteries that can be rejuvenated in sets, and not necessarily in the phone.

While we're at it, can I please have every USB wire fit every USB device. Is that really so bloody difficult?

Thursday, Mar 4, 2010, 10:42 AM


Jim Wilson:


I'd say the Google boyz got it right on Android ... by default, apps are suspended when in the background.

Those apps that need to run in the background specifically request that they be allowed to do so.

Thursday, Mar 4, 2010, 11:13 AM


Wayne:


One word, Android.
The iPhone is not your competion, Android is. I just wrote this response while running other tasks on my Droid. No, I am not having any power or battery issues.

Thursday, Mar 4, 2010, 1:32 PM


Jeff Key:


I have a Droid and AlSki's story is proof enough that I want background processes on my phone: I use Google's My Tracks to record my runs via GPS while listening to podcasts via Google Listen, review incoming GMail and occasionally take the (important!) call on top of that.

I've never owned or wanted a Windows Mobile phone, but was really excited about 7 Series and had just assumed that it would perform true multitasking. This is unfortunate news.

From my naive point of view, there seems to be two camps: Those that use their phones like phones(!), where battery utilization is paramount, and others that use them like computers and know that they have to watch their battery use. Microsoft would do well to consider having two "modes" for their 7 Series phones: One in which only certain applications are allowed to run in the background (it sounds like this is how the iPhone works) and another where it's open season and you can run whatever the heck you want because you're a geek and can fiddle w/the phones' config.sys and the like.

By the time Series 7 phones are released later this year, Verizon will have convinced even more folks that multitasking is a requirement -- not a nice-to-have. People happy with iPhone-style tasking will probably stick with iPhones. Why would they switch? People that need multitasking will stick with Android.

The Zune HD is a great product that was introduced way too late in the game. I hope MSFT doesn't make the same mistake w/the Series 7 phone, for a very selfish reason: I don't want to have to carry around two devices anymore! (Another option: Put Zune software on Android...which I expect right around the time Ballmer defects to Google.)

Friday, Mar 5, 2010, 8:34 AM


Chris Sells:


Fabulous feedback folks. The "track my run" application is a new one for me and I can see why stopping it to take a phone call would upset you. Besides that one and music, are there other apps that folks want to run in the background that can't be offloaded to the cloud?

Friday, Mar 5, 2010, 8:47 AM


Xian:


Personally i can't see this as an issue if it's optional. That way those who want to run one app are fine, and those who want a few can do so, and the speed is their own responsibility.
After all, the OS will run background processes regardless.

Chris, the main problems i have with no multitasking is speed and persistence. Say i suddenly get a call on my iPhone and get kicked out of an app/game. After the call i have to wait for the app to reload (which isn't necessarily quick) and hope to god it managed to save it's state.
I may have lost work or certainly progress in a game, and it's frustrating.

It the phone was quick enough to reload the app/game within a second, without losing state then i wouldn't care so much.

But as for some example scenarios, what if i was using TomTom to navigate and got a call? I get kicked out of the app and it takes a while to reload, refind a GPS signal, etc.
Or what if i was playing a game but needed to check an email, or quickly look up directions to a place?
What if i was using a banking app and needed to look up some notes with a different app, on the cloud?

Just like with early PC's the restraints are hardware, and given the popularity of smart phones, it's going to improve quickly. What's the point of limiting the OS?

Friday, Mar 5, 2010, 8:30 PM


Sean Cross:


Talk about throwing the baby out with the bathwater. If you don't want apps running in the background, don't run them!

I had an iPhone for a year. I had to jailbreak it to get multitasking and in the end I went back to windows mobile.

If wp7 doesn't support multitasking, I am going to android.

Friday, Mar 5, 2010, 11:44 PM


Brent Stewart:


Any app that is time critical, needs positional information, or relies on any local environment parameter does not fit well into the "run from the cloud" scheme.

Most of the apps that we are familiar with seem to work fine with no background support because they were designed and built knowing that they could not run in the background. I think that there is a whole genre of applications that have not been developed because of this limitation.

Having options is good for all of us.

Monday, Mar 8, 2010, 6:34 AM


Jim Wilson:


One of the most common scenarios I see where background execution is required is GPS tracking.

Being able to keep a process running in the background that gathers and reports GPS location opens up a load of possible application scenarios.

Oh and there's also the whole 3rd-party music scene. It seems completely reasonable to want to listen to music from Pandora while also browsing the web ... something that doesn't work in iPhone.

Wednesday, Mar 10, 2010, 4:02 PM


Andy:


Who uses <a href="http://www.microsoft.com">WP7</a>?

Thursday, Nov 11, 2010, 3:15 PM


ugg bailey button triplet:


 thank you for your sharing

Monday, Nov 15, 2010, 11:03 PM


uggs outlet:


Nice post ! thank you for your sharing

Tuesday, Nov 16, 2010, 4:43 PM


cheap uggs:


i am glad to read it ,thank you

Thursday, Nov 18, 2010, 10:31 PM


ugg bailey button triplet:


One of the most common scenarios I see where background execution is required is GPS tracking.

Being able to keep a process running in the background that gathers and reports GPS location opens up a load of possible application scenarios.

Oh and there's also the whole 3rd-party music scene. It seems completely reasonable to want to listen to music from Pandora while also browsing the web ... something that doesn't work in iPhone.

Friday, Nov 19, 2010, 9:46 PM





comment on this post

HTML tags will be escaped.

Powered By ASP.NET

Hosted by SecureWebs

Mensa

IEEE