- Aug 16, 2010 at 1:43 AM
- Shawn Wildermuth
- 23 Comments
While I have been exceptionally fortunate to get a Windows Phone 7 device, I still am using my Motorola Droid as my primary phone. The primary reason is that I use Verizon and my WP7 phone uses a SIM chip (Verizon doesn't use SIM chips). I expect you're reading this post to gleam some information about the WP7 phone, but let's start with the Android.
As some of you may know, the 2.2 version of the Android operating system (a.k.a. Froyo) was released and finally made it's way to the Motorola Droid last week. Google had promised a big performance boost with Froyo (100-500% by some accounts) mostly based on the new JIT compiler. So my expectations were pretty high. I got Froyo installed and while I liked the new features and home page changes a lot, I didn't see much performance change. In fact, the new phone felt downright sluggish. Event swiping the home screen was slow. So what gives?
I decided to do a little digging. My installation of Froyo was over an existing 2.1 phone. So all the old apps I was using were all still installed after the update. So I pulled out my trusty OSMonitor app to see who was eating up all the cycles. OSMonitor (unlike the extremely popular Advanced Task Killer) shows all the processes on the machine. I finally found that the replacement SMS program I was using was performing like a dog. Uninstalling it and going back to the built-in SMS app fixed the performance problem and I am happy with how the phone behaves now. But there is an intrinsic problem here. I had to use some spelunking to find out what background processes were killing my performance. This is a big bucket of FAIL.
Phones aren't for geeks, they are for regular people like my mother and my sister. The fact that most Android users learn to use a task management app means there is something wrong. Arguably this was the biggest fault of Windows Mobile devices. It was too easy to kill the performance of the phone with a single bad-acting application., My mother and my sister won't do that. They'll just complain and put up with it and hate their phone. I think this is what Apple got right with the iPhone. The overall experience has been better because of the lack of true background processes.
So that brings us back to the Windows Phone 7. I've run into a lot of Windows Mobile developers who are angry. I empathize but most of those guys are Enterprise developers. I hope they read this because they aren't the audience for this phone. Sure, Microsoft will certainly help those guys do what they need to do eventually, but right now its about winning back the consumer-level phone. Give Microsoft a revision cycle to get back to you. I know its hard, but its the right thing.
I am ecstatic that Microsoft is protecting the sandbox in Windows Phone 7 so carefully. Sure it makes it harder on developers, but it doesn't make it impossible. Arguably even with the strict sandbox and tombstoning, writing apps for the new phone is going to be much easier than Objective-C, or maybe even for the Android. This is what I think is crucial. We (the developers) aren't the most important customers to the phone, the consumers are. We're all bright people, we can work around the restrictions to create better experiences for the phone users. Working around the limitations (using Notification messages, and the lifecycle of apps) means we have to work harder, but when consumers love this phone, they'll buy more apps...meaning we'll have fun making more apps.
Temper your cynicism and remember that this is the first revision of the phone. Sure, Apple is ahead but as we've seen with the XBox, no lead is insurmountable. With Microsoft's ability to update the OS without involving the carriers (unlike Android), additions to the OS to improve the experience for all phones (and developers) is an update away. The WP7 ecosystem is run by a similar team to the Silverlight ecosystem. Iterating quickly, frequent updates, and open source solutions to fill in the holes. Just wait for those first phones to hit the shelves, its going to be a fun ride...at least I hope so.
What do you think?
"remember that this is the first revision of the phone"
Will keep that in mind. Version numbers can be so confusing, some people may be misled to think that WP7 is the 7th generation of Windows CE-based phones.
I totally agree.
I think Microsoft's plan is a good one, but they just need to be a little bit more forthcoming with information about the update cycle. How often and what's coming when.
Look at Android, we knew about 3 before 2.2 was even out the door.
I still haven't gotten the update on my Droid. :-(
One thing about the two handsets that I've seen that I love is that the back, start and search buttons are actually buttons. The Droid's four static buttons are flush and act like a touch interface, which has caused all kinds of problems. I know what I'm doing and I still accidentally hit these buttons all the time. My wife finds the phone un-usable because of this, and my 5 yr old son & nephew couldn't play a game for more than 2 minutes without doing something wrong (they play games on the iPhone with no problem).
I both agree, and disagree. :)
I don't think either Apple or Google quite got this one right. Of the two, I think Apple got it more right, for the same reasons as you discussed here. However, I don't think you have to entirely lock things down, as Apple did and as it appears Microsoft will. There's more than one audience here, and there's no reason why you can't accomodate both. The typical user will get his apps from the app store, where the applications are locked down pretty tight, but allow the power users (and the corporate users) to install applications directly, and such applications could have slightly more control.
For me, I'm happy with the sandbox (though I'm not so happy with the app store only deployment). Very happy. However, I can acknowledge that this cuts some people out entirely, and these are people that were happy with WinMo in the past. That doesn't sound like a good business strategy to me.
Hey Now Shawn,
Your right 'writing apps for the new phone is going to be much easier'
Thx 4 the info,
You say phones aren't for geeks, but you did a geeky thing: you replaced your SMS app. Your mom and sister probably wouldn't have done that, so they probably wouldn't have your problem.
Geeky activities lead to geeky problems, goes with the territory. My wife's blackberry was always more stable than mine because I was always screwing with mine.
Sure, your mom and sister might have some OTHER app cause them problems when they upgrade, but chances are good that non-geeks won't hit that wall.
Also, I think that most people using task managers don't really NEED to use them...they just were told by somebody that they should run one. We have 10 android phones in my company and I'm the only person running a task manager. None of the other users have problems or complain. I think that if I introduced them to a task mgr, they'd do more damage than good.
Amen to that! Many people seem to forget the target market that Microsoft is going for- namely the consumer phone geeks that started getting into Blackberry and that accepted the iPhone as the best thing since sliced bread.
As someone heavily invested in Silverlight, I am thrilled with the architecture decisions that Microsoft has made as far as platforms for WP7, whereas things like SL for Windows Embedded is a huge disappointment (sorry, not touching C++ unless I'm forced to). There is a huge possibility for this to be the next big thing, and judging by how many people are already on the bandwagon I think we are on track to see a MS revolution in the phone market.
Sean, I know you and I have had this conversation before... in this case your argument is flawed.
You had to use a special process monitoring program to find the program because the problem was with the "replacement SMS program" you installed ... my mother and sister (and I suspect yours as well) would've never changed from the built-in SMS program.
Your complaint, in this case, is that you had to use a geek-level tool to find a problem caused by a geek-level change (changing the SMS program).
Your argument would be valid if the problem had been the result of "standard" end-user app but once one starts changing the apps tied to platform services, all bets are off.
On any platform ... desktop or device... if one starts replacing the platform service apps with non-standard ones there will always be the opportunity for problems.
No platform, Silverlight included, can prevent developers from writing bad programs.
Does this mean that WP7 will not be available on Verizon (i.e. Verizon will not support SIM cards and/or WP7 will not support CDMA networks)?
Microsoft has already acknowledged that there has to be a way for corporations to deploy apps to the phone and talked about a private AppStore for those situations, but probably not in V1.0.
Jim and Geewhipped,
I don't think the fact that it was an SMS app has anything to do with it. I have found Twitter apps and other traditional apps have been problematic too. In fact, I had to help my sister with exactly that problem. She was using a messaging app that was causing her battery to suck (it was polling in the background at an aggresive rate). So I think the argument is valid. Sure, not everyone will install anything but a Fart app, but lots of people will.
No, its not to say that WP7 won't work on Verizon...just that the demo phone they lent me doesn't. I know from leaks that Verizon is a launch carrier (as I expect AT&T too be) so that there will be phones of all varieties. No one carrier for a phone (ahem, Apple).
In the case you've described where the new OS version caused constant slowness can only happen on a Droid with service level apps.
On Droid, all apps by default consume no CPU when in the background ... basically the same model as Windows Phone.
For an app to cause pervasive sluggishness it has to be specifically coded to register itself and act as a service. I suspect that's why you've seen it with messaging apps on your sister's device.
The case here is one of choice. I love the Droid model of apps behaving non-intrusively by default but still allowing apps that need background resources to receive them.
Please don't get me wrong... I think WP7 has the best dev environment by far and I think that's gonna do a lot of good for the platform. And I certainly understand the importance of limiting features on v1 of a major platform shift ...
... all that said, saying that the lack of support for well controlled background applications is anything other than a developer-resource/time-to-market decision is just blowing smoke.
MSFT needed to get to market and they picked a feature-level they thought was adequate for v1 ... all developers face those decisions.
Having invested the last 10 years as a mobile device developer and being a MSFT Device-App Dev MVP for around 8 years now, I have a lot invested in see WP7 do well.
My fear is that they may just have shot a little too low on this release.
I see your points, and every software release is an exercise in comprimises. I just don't see the background being one of them (copy-paste is much more glaring in this way). Though with controlled OS upgrades, it should be easy to add these features IMHO.
BTW, its Shawn ; )
... I knew that =)
... recently finished up a gig that I'd been on for 2 years where I communicated with a "Sean" quite a bit via email ... I think it just became habit.
Regarding WP7 ... more than the general concept of background execution, it's the issue of not being able to build custom background monitoring components that concerns me. I'm not saying all apps need background capability but there's an important place for it.
Also, the state of the browser concerns me a bit. It's a ton better than WinMo's browser but I sure would've liked to see a lot more standards compliance.
Can't argue with the Browser issue, I am hoping that browser competition appears (FF, Chrome). On my Android I hate the built-in browser so I use a third party there too...
Coming from using WinMo since it first showed up on an Ipaq (Apple so stole the "i" from HP) I feel that WP7 is a giant evolutionary leap backwards. I've heard some great things about coding for it, and some people like how they don't have to think to operate the phone (much like the iphone.) That's great, but it is NOT a replacement for Windows Mobile, and that is where not only I, but a growing group of WinMo users feel like we've been shafted hardcore.
Now, from the Joe Blow consumers we'll hear "oh just jump to Android!" Which would be a great idea if they'd make some without capacitive screens, of if someone made an actual office suite for them. Instead, they're just Joe Blow consumer phones with a "geek" twist.
The only light I see at the end of the tunnel, is from the Intel/Nokia partnership and the Maemo/Meego platform. An x86 device with QT will allow us to have our powerful devices again, since it seems the rest of the market is giving us power users the shaft.
As Ive heard, Winmo is still going to be around in the industrial world as all those companies (Symbol, Intermec and others) are using winmo in their rugged devices. So winmo will live on there, but winmo has never been a good consumer phone os. MS is now trying to fix that, and this was the best they could do by starting to build something new instead of doing winmo6.5 all over again. Ive worked with winmo for soon over 10 years, and really not much has changed since then.
But back to the original post. winphone without a proper multitasking is not a good idea, the ios v4 change shows that even Apple changed their mind; and MS will do the same thing in the coming versions. And then you are left to the mercy of the developers that they dont screw up something in the background.
All though Im an android developer by heart, I now feel eager to work with winphone as it has been revamped for the 2000's. (no more win32 calls... i hope)
Matt Casto gave me idea for the ultimate smart phone tester -- a 5 year old.
For those of you (especially bachelors) who think this would result in a dumb-downed phone, don't worry-- I have two daughters ages 3.5 and 5.5 and they both have mastered and love to play with Daddy's iPhone. They both turn it on, swipe to unlock, swipe to the games page, launch apps and go through set-up choices no problem. The only problem they have is when options are solely text (so require reading ability, which they don't yet have), but if there is a graphical icon such as for sound on/off (instead of just text) they get it. They also have problems with touch screen-based buttons as they are harder and less responsive to press.
For comparison, Mom just got a new android phone, an HTC Incredible, and I loaded up some games on it (some of which are exactly the same as iPhone) but the 3.5 year old was at a loss with it and the 5.5 had enough difficulty switching apps to hand it back in exchange for nothing(!). The flush static buttons on driod phones are awful. So, while the droid phones have added 4 flat(but not click) buttons in addition to center one (2 each side) they are essentially useless.
So two points: 1) use 3.5 and 5.5 year old girls to test smart phone operating systems as they will instantaneously show problems and NOT dumb it down and 2) both Apple and Droid have screwed up majorly with the buttons with Apple being too simple (with just one physical and rest screen based) and droid's being too unsatisfying to be buttons. Here's my free advice (worth $billions) to Microsoft for Windows 7 phones: Have 4 physical/click buttons: 1 escape button in center bottom like iPhone, 2 click/lever buttons on each side for right/left in games and 1 press button on back for fire. If they dis this, the Microsoft Phones would immediately gain over the gamer world and be much more intuitive and rewarding to use. If you agree, please pass this suggestion of to Microsoft, Shawn.
I completely agree with Paul about buttons. Its fine to have only the 3 standard buttons on the front, but over half of apps could benefit from having generic other buttons on the side/back of the phone.
I have several apps on my Droid that use the volume and/or camera buttons to do things inside the app. For instance, NewsRob uses the volume buttons to navigate and the camera button to mark as read.
Will WP7 apps have access to the volume or camera buttons?
Having a bit of experience in .NET and some in WM development I can't help but feel a bit frustrated about the limitations. Now, don't get me wrong, I understand where some of those limitations are coming from. However, it seems that Microsoft is following into the iPhone's development path, step by step, retracing its every mistake, at least at a macro level. Copy/paste? You've got it. Single app execution? Right on (found this one out while trying to pop the contacts picker up in my app and realising that it was closing it. Then I was informed about it). Some of these limitations are right down infuriating to be honest, but as you said, at least we'll learn to live with them and at the end of the day, hey, at least it's not Objective-C :D
Oh, and the WP7 emulator is unbelievably sluggish. And to make you feel my pain, imagine that my primary workstation is a netbook.
Care to name the SMS app?