Platform Architecture, Multitasking, and User Experience

There's a bit of confusion circulating around what form background processing or "multitasking" exists in on Phone 7 Series. A distinction needs to be made about multitasking at the OS level, background processing from the point of view of a standard marketplace-installed application, and multitasking as presented to the end user. To fully understand the situation, we need to talk about the software architecture. Let's dive into the details.

In the new-age of smartphone operating systems, WP7S' software architecture is completely unfamiliar. This is the managed, sandboxed architecture common to both iPhone OS and Android thus far. Gone are the close to metal compiled executables known to Windows Mobile developers. This time, virtually every experience runs atop either Silverlight or XML frameworks, or as HTML/JavaScript in the browser (though web-applications are still largely a cop-out).


WP7S' Software Architecture

First off, WP7S itself is a fully fledged multitasking operating system. Applications are called "sessions," and inside each session are other processes, called "pages." WP7S uses a state-based model to allow pages to be restored to the state they were at previously. When you leave a particular page or session, WP7S generally leaves the process running, until the dominant page with focus requests resources that require the old page to be terminated. At this point, the state of the prior page is saved temporarily. This process is called "dehydrating" the application. When you return, the page is "rehydrated" with the state data from before, allowing you to return:


The infamous slide illustrating state-saving, and suspended process killing

But the other side of the story is that a select number of first-party applications are allowed to be persistent, and truly run in the background. These are specific use scenarios that have been highlighted which Microsoft believes make sense. Those include loading a website in the background, playing music from the first party Zune music player, and allowing the phone to continue in the background. Other third-party applications, however, can be killed after suspension.

So the WP7S platform itself supports simultaneous process multitasking, but not for marketplace-installed third party applications. It's as simple as Charlie Kindel put it, "in this release, you cannot write code that will run in the background." So although multitasking is there, it isn't something that will be made accessable to third party developers. If you don't believe me, check out this demo screenshot from Istvan Cseri's awesome WP7S architecture deep dive presentation:


Two sessions, three pages, all running. Multitasking is there, you just can't use it. Yet.

It's even more compelling to see it in real time:

I asked Istvan after his demonstration flat-out whether there was any way that third party devs could enable multitasking for their programs. Be that setting a flag for persistent background execution, obtaining certification through additional marketplace vetting, or a lightweight executable. Pandora has become the perfect example of the kind of multitasking users pine for; streaming radio running in the background, with the same persistence as the first-party music player. I asked whether this use scenario would be possible on the WP7S platform scheduled for release holiday 2010. The answer was as clear as it was disappointing: no.

So you're probably wondering, why can't third party developers write applications that run persistently in the background? For now, it's because Microsoft isn't sure how to allow it without the potential for battery-draining to happen. Power users like AnandTech readers are able to make the distinction between a dead battery caused by the platform being poorly written, and poor battery life caused by running an application in the background. But ultimately, Microsoft is worried that your average end user won't see the distinction, instead faulting the entire platform as having poor battery life and power management.

Charlie Kindel, Microsoft's leading Windows Phone 7 Series evangelist, shared an anecdote several times about how a leading competitor's phone allowed for implicit multitasking (leaving applications running unless explicitly closed) which led to a poor end user experience, and dead battery for his daughter.

If you've ever used a Windows Mobile phone, you're probably completely familiar with that scenario. And it goes beyond just battery life; there's also the question of how best to allocate resources when other things are using CPU cycles and memory in the background. That kind of gradually-degrading performance is another Windows Mobile-ism Microsoft is dead serious about not letting happen. There's also the fact that existing SoCs are barely powerful enough to make running a single application feel quick. It won't be until we get multicore Cortex A9 or Intel Moorestown class hardware before we have the horsepower to multitask without a tangible performance impact.

I pitched an idea to Andre that he seemed receptive to while we talked about the reaction tech community had to the no third party multitasking announcement. As it stands now, multitasking isn't being included almost entirely as a design decision; Microsoft wants to get it right the first time so that the end user, out-of-box experience isn't like the one Charlie Kindel's daughter had. Its concern is that the lowest common denominator of users will attribute the rapid decrease in battery life to a platform or hardware problem, not just the sad reality of how quickly constant radio traffic and access to the audio stack can drain the battery.

What I argued is that users need to be empowered to make the decision between unitasking and multitasking themselves. They need a clear and obvious visualization about what the current power demands on the hardware are, and a prediction of how long the device will last based on that current use scenario. The analogous comparison is so obvious, I'm surprised nobody has made it yet: the laptop. For years now, users have been given direct control over whether they want to sacrifice battery life for performance, or performance for battery life. The obvious next step is to both extend this profile-based decision making to the mobile phone, and the problem will solve itself. I argue that if notebook users can do it and fully comprehend it, mobile phone users can as well.

Users already are forced to shape their expectations for both call quality and data throughput based on cellular signal visualizations (a far more nebulous metric than an unambiguous power report from the hardware). I argued that this same visualization and feedback should be passed onto the user for battery life and power draw so they can shape expectations and make decisions about what's best for them. Andre said he'd pass my thoughts on. It could be that this generation of ARM hardware doesn't have the metal taped-out to report power use in realtime, but in time, its offerings (and offerings from intel) must. Even then, it isn't as simple as enabling power reporting on the SoC, carriers think they know what's best for the user and are eager to value-add with their own performance and battery targets. It will be an uphill battle to wrangle control out of their hands, and into users'.

Index Three Kinds of Notifications
Comments Locked

55 Comments

View All Comments

  • nerdtalker - Sunday, March 21, 2010 - link

    Noted and fixed! Thanks!

    Cheers,
    -Brian
  • StormyParis - Sunday, March 21, 2010 - link

    It seems so close to the whole iPhone thing, that if I were MS I'd be embarassed... a lot of pride swallowing must have been going on.

    My issue is, I can't find a good reason to want these phones. Even Office integration doesn't cut it, because the hardware is so gimped that I'd never, ever, want to do any office work with it. The rest is just regular smartphone stuff. As with Apple, I lose a whole lot of freedom of features (forced to use IE ? IE ??? back to web 0.8, guys). And my personnal guess would be that for the same loss, I get less in exchange, in terms of ease of use and features.

    Hopefully Google and Nokia will manage to keep their ecosystems open, because those "censored apps, censored hardware, no extensions nor upgrades" e-dystopias have me worried and slightly despondent.
  • NJoy - Sunday, March 21, 2010 - link

    avid user of WM for last 5 years, now I'm so disappointed, it's even depressing. They just have killed everything what I liked about WinMo. Sad
  • CSMR - Sunday, March 21, 2010 - link

    Extremely disappointing to be given a locked down system from Microsoft, missing essential capability that's been around for over a decade.

    Instead of continually expanding features and technology, and providing a better user interface, we have a locked down system with a long list of basic missing features. Windows Mobile has been downgraded from an operating system to firmware with this release.

    Even the user interface, supposedly "stylish" is almost everywhere an inefficient use of space to present information. It's fine to pander to customers who want that... but now there's no way to customize it to something better.

    Other features removed: No microSD cards, incredible! No file system access! Anyone who understands what a file is should avoid this system.

    I can see the benefits for the computer-illiterate, but for us and for business users why not make an open "Windows Mobile 7 Business" version without the limitations?
  • wolrah - Sunday, March 21, 2010 - link

    The carriers need the shiny new phones to attract customers, not the other way around. The consumer cares more about the thing they're carrying rather than the network it's on (see iPhone and AT&T). With that in mind, the experience of a mobile phone OS should be about the user, not the carrier.

    The ability for carriers to screw with phones is almost universally a bad thing. The CDMA carriers' love of BREW on dumbphones, Verizon's obsession with crippling devices, AT&T's lockdown of the Backflip and the previous heavy limits on "bandwidth intense" iPhone apps, etc. I don't think I need to go on to show that the carriers should never be allowed to influence phones in the slightest. I can not come up with a single example where carrier modifications were a benefit for the end user even on dumbphones, much less on smartphones.


    The bit about appeasing carriers worried about becoming "dumb pipes" is the problem in a nutshell. They are dumb pipes, that's the point. They provide the spectrum and backhaul lines that connect my phone to the PSTN and Internet. Saying that telecom carriers don't want to be dumb pipes is like saying that Ford doesn't want to be a car company. It just doesn't make sense, since that's exactly what they are.
  • trochevs - Sunday, March 21, 2010 - link

    I agree with you. Unfortunately we have two serious obstacles here. First is the brainwashed US consumer who thinks he/she is getting better deal by getting locked phone from US carrier for free or discounted price from artificially inflated price of unlocked phone.
    The US consumer are scripted so well and never stop to think for a minute. Just notice poor sales figures in USA for unlocked phones from Nokia, Sony and Google are.
    Second is the monopolistic behavior of US carriers. For many years they did not allowed unlocked phones on their networks. Only when real threat of regulation become evident they start allowing it. But they pile your phone bill with extra fees that makes you think twice. Not only that, but they keep charge you exact same monthly service fee even when everyone knows that this fee includes the price of the phone.
  • anactoraaron - Sunday, March 21, 2010 - link

    not to mention the monopolistic reality of government agencies allowing these carriers to buy out all of the smaller, local companies. There is this trend of broken economics going on here and we, the "end users," are the ones paying for it (literally). Once where I live here there were 4 smaller companies my "unlocked" phone would work on.... now "unlocked" phones are almost all just ATT and T Mobile.
  • trochevs - Sunday, March 21, 2010 - link

    Well. Thanks Brian for great article and thanks AnandTech for great coverage of Windows Phone 7 so far.
    From what I see WP7 is targeted directly against Apple iPhone not Google's Android. Apple is attacking HTC to hurt Android, but looks like Steve jobs did not learn his lesson. The real hit will come from Microsoft again. MS is taking advantage that all mobile operators are not happy with Apple keeping iPhone away from them. It will be slow switch for many iPhone users, but MS has the financial power to keep the WP7 alive for a while.
    Google's Android has own problem now. Google compromised their relationship with open source community in order to meet the US mobile operators and handset manufactures demands, but now Android is facing the real possibility that US carriers are going to use Android as bargaining power to get better deal from MS. Just like Asus and other OEM did with early versions of netbooks and using have-baked Linux distributions. So Google needs to decide between Open Source community or discontinue Android in the long run and accept that US carriers will hold the key and can lock out Google if they want to.
    So the key would be. How well Mr. Jobs and Mr. Schmidt have learn the lessons form recent and not so recent past. It will be fun watching. And the key player could turn to be Intel with their MeeGo.
  • FITCamaro - Sunday, March 21, 2010 - link

    They're definitely going to have to allow applications like Pandora to run in the background or no one will buy the phone. I use Pandora on my Droid. If it killed Pandora any time I wanted to check my email, send a text message, or browse the web, I'd be be pissed.
  • DigitalFreak - Sunday, March 21, 2010 - link

    Unfortunately, it looks like they're going down the iPhone route and locking everything down. App store, no SD cards, etc. Really not surprising I guess when you look at how they handled the Xbox 360.

Log in

Don't have an account? Sign up now