As has been mentioned in plenty of blogs before, Windows Phone 7 will not support a the traditional experience of multitasking applications. With the exception of certain bare Windows CE devices, multitasking in PDAs and Phones has never really been like the desktop experience and that's okay. I don't expect it to act the same. Basically, the normal multitasking paradigm on these devices is that the app is sent to the background and another app comes to the foreground. It works really well in Windows Phone Classic (aka Windows Mobile) and Android. The Apple iPhone takes a different approach. Each app must save its state and exit when it is 'sent to the background' except the approved built-in Apple apps. Windows Phone 7 copies this approach, because apparently emulating Apple is the way to win a market (this has worked wonders for Zune, apparently).
To be fair, the WP7 approach is a bit more flexible. First, apps aren't necessarily closed when put in the background, but they are paused. Second, apps can request permission from Microsoft to be allowed to continue to operate in the background if they need to. That actually could be a decent model, as not all apps need to continue to run in the background, but this all hinges on Microsoft allowing you to run in the background if you need to. That's not a good place to be when you are trying to get investors to believe in your new cutting edge piece of software for this new device. By a single Microsoft employee's whim alone, your entire app could be neutered. Great.
I multitask like a crazy fool on my wonderful HTC Touch Pro 2. I usually have about five or six things open. I also write a lot of software. This may come as a shock to some, but in your standard Windows app, if you receive no input, your app does nothing – literally nothing! This is because Windows apps are message-based. Your app will block while waiting for a message (0% CPU). Okay? It won't do anything. Nothing! If you are in the background, you receive no input. So unless you have a timer or another unblocked thread, your app is effectively paused. Plus, even if it has a timer or thread, unless you are using it to refresh a UI element, it's probably doing something you think is important. Finally, if your phone goes to sleep on Windows Mobile, unless you specifically execute a set of functions to keep the device's idle timer awake, your app, along with the entire device, will sleep, timers and all. So the "battery life" excuse is just that: an excuse! So what's the point of pausing? The only "good" purpose is to offer some sort of control over misbehaving applications. That's a fine gesture. But, as a power user, how about giving me the control to whitelist apps that I want to be in the background? Oh, I can't because Charlie Kindel knows what's best for us. (Queue the halos and angelic chorus.)
So anyway, I've been reading the WP7 apologist posts on various Microsoft forums. There are a hell of a lot of people who are okay with WP7 not offering a true multitasking experience. That's fine. Not everybody computes the same. Some people run all their desktop apps in full screen, can't stand a second monitor, and hide their task bar. It feels like trying to compute with two broken wrists to me, but hey, I won't begrudge them. They had their own choice to use their computer that way. What is pissing me off are the number of people who claim This Way Is The One True Way and those of us that want to multitask, really don't need it and won't miss it! Oh hell to the no! I will definitely miss it. You want to know how? Because I'm not completely stupid and I know my computing habits.
As if being forced to have the ugly blue-box "metro" theme be the only home screen available on WP7 wasn't torture enough!
So, to Mr. Kindel and Kindel brown-nosers: If you don't want to multitask on your phone, that's fine. I mean, really, more power to you! But can I, and other power users like me, please have this option that would require almost no effort on MS's part to implement? After all, CE has multitasking built-in. It takes more effort to stop it from multitasking than to keep it in. I'm okay with a supposed shorter battery life (snicker). I just want my control back. Windows CE is a really cool embedded operating system. Let's not neuter it with silly Apple-like rules, okay?
I was searching the Google for information on Windows Phone 7 regarding database support. There will be no database support. Interestingly, I found discussion with somebody venting about this (and the other, many, lacking features of Windows Phone 7) and saw an interesting reply from a Microsoft employee. Quoted in full (sic and all that apply)…
I'm part of the team that supports all Mobile and Phone technologies. Our team still remains obligated to continue supporting 6.5 and the corresponding Enterprise Business market.
Clearly the target market for Windows Phone 7 is the consumer and its entire architecture has been designed from scratch by the best architects at Microsoft, who left other divisions within the company and converged to brainstorm the specific needs of the consumer, as contrasted with businesses (although there definitely is overlap).
Note that Marketplace for Windows 7 is set up in a way that any app posted there can be downloaded by anybody; it isnt intended for the needs of the Business who wish to deploy an app on the phone that only they are privileged to access.
The needs of the Enterprise Business customers will not go away and their needs must be, and will be, addressed differently.
For the moment, the limelight is on the Windows Phone 7 Series, but you will see Enterprise progress and Microsoft's continued support for phones used in business.
Mark Chamberlain Sr. Escalation Engineer | Microsoft Developer Support | Windows Phone 7
First, regarding the "best architects" wank wank stuff. You could have fooled me! Metro UI was interesting for about a day. Now it's just ugly to me. But I'll give it another shake once it's out of beta. It's not fair to bash on it too hard while it's still in beta. On the other hand, Mobile Shell 3 and SenseUI are still interesting and I've used both for a while now!
So, according to Mr. Chamberlain, the enterprise customers needs must and will be address differently? Differently? As in, not using the draconian Windows Phone 7 model? Do I dare hope for life of Windows Phone 6.5 beyond 6.5.3? Do I dare hope for Windows Phone 6.5 to be renamed Windows Phone Enterprise Edition with a new wicked CE7 kernel and updated Compact Framework 4.0 (with Silverlight)? Do I dare hope for Visual Studio 2010 (and beyond) support?
Do I dare hope for life on the mobile operating system that could easily be modernized and that I've enjoyed using and programming for over the last ten years?
A side note: T-Mobile can't keep the HD2 in stock! All that on an "outdated" OS. I could have told you that putting a decent CPU in a HTC SenseUI (aka TouchFlo 3D) powered device would do that. But nobody listens to me… :-)