The Emperor Has No Close


I’ve done blog entries on compaction threads, memory consumption, difficulties in doing upgrades, voice command not working over bluetooth, and 240×240 screens.  Now I’m going to do one on why the little “X” button on PocketPCs doesn’t close apps.  Am I insane?  Do I like having you people kick me around?  Well, maybe “yes” on the former, but definitely “no” on the latter.  That said, someone needs to explain why we do the things we do, and that someone might as well be me.


So why is it that there’s no easy way to actually close apps on Windows Mobile devices?  Sharpen your pitchforks, collect your torches, sit back, and I’ll tell you.



The monster you want is in the castle down the road…

This won’t reduce the angry name calling, but I’ll say it anyway.  I don’t fully agree with our stance on this.  You’ll notice that I’ve written a lot of little ISV apps for Windows Mobile and its predecessors, and every single one of them has had an “exit” option in one of its menus.  There was a time when we were so hardcore on this “thou shall not exit” stance that we refused to give our stamp of approval to any ISV app that had an exit option.  Even then, I defiantly made my apps close.   Fortunately, we’ve backed off on that stance and now allow people to write apps that close, even though we still don’t make our own official apps do it.  If you’re writing an ISV app and it makes sense to give users the ability to close it, I’m all for you doing so.


Unfortunately, if this hasn’t convinced you to put your pitchforks away, then I’m toast, because I agree with the rest of our stance on this….



How’d we get here?

In the beginning there were Microsoft Handheld PCs and Palm Pilots.  The Handheld PC interface looked a lot like the Desktop PC interface.  It had a desktop where you could drag around icons.  There was a taskbar across the bottom that showed which apps were running.  The apps had separate “iconify” and “close” buttons.  Etc.  On the other hand, the Palm Pilot’s interface wasn’t anything at all like the desktop’s.  And Palm kicked the Handheld PC’s tail up and down the court.
 
When you pour blood, sweat, and tears into product but only sell a few thousand units, you have to take a long hard look at your assumptions.  The most consistent feedback we heard was that the desktop interface wasn’t appropriate for a small handheld device.  So we reconsidered many of the design decisions that drove that desktop-like Handheld PC UI.  Maybe people didn’t want a “desktop” on a device they carried around.  Maybe a “today” screen that quickly showed what you needed to do that day made more sense.  Maybe spending screen real estate on a taskbar didn’t make sense when your screen was a quarter the size of the device you took the idea from.  And, maybe, just maybe, having users close apps wasn’t appropriate on an embedded device with a slow processor and even slower memory.


None of the other embedded and mobile devices of the time made you close your apps.  Palms didn’t do it, cell phones didn’t do it, VCRs didn’t do it, car navigation systems didn’t do it, and game consoles didn’t do it.  There are a couple of good things that you get from doing things this way.  For instance, the system feels faster when you don’t close apps because it takes longer to launch an app than it does to bring an already running one to the foreground.  But what became our philosophical reason for not closing apps was the belief that users shouldn’t need to manage their memory. 



If an app closes in the woods and no one hears it…

The base philosophy, that users shouldn’t need to manage their memory, is pretty hard to argue against.  Come on, tell me that users should be required to manage their own memory.  I dare you.  You can tell me that you can do a better job.  You can tell me that we don’t do a good enough job.  You can tell me that in some cases we do a fine job, but in the cases when we don’t, the world comes to a screeching halt, time goes backwards, and history is rewritten to be somehow more dark and foreboding than it already is.  But you can’t tell me that users should be required to manage their own memory.  That’s like saying that car owners should be required to change their own oil.  I don’t think so.


So, on realizing that users shouldn’t have to manage their memory, we set about doing it for them.  We made our shell watch how much memory was being used and close apps when more was needed.  We made many of our apps remember their state when they were closed so that they could reload it again when they were opened (so users couldn’t really tell that they had ever been shut down).  We taught ISVs how to do the same thing.  And we removed the close box from all of our apps.


By 2000 we had iterated on this a few times and released a product (PocketPC 2000) that started winning both reviews and marketshare.  But there has been resistance to having us manage the memory since we first removed the close buttons.  One of the first ISV apps written was a manager that let users close their apps.  And, variations on that theme are still popular today. 



X marks the spot

One thing we did has been pretty contentious.  Along the way, we got feedback that users didn’t mind letting us manage the memory for them, but they really wanted a way to say, “I’m done with this.  Make it go away.”  So we put a “go away” button in the upper right corner of PocketPCs.  This button just sends the application to the background.  It doesn’t close it.  If the system needs more memory while the app is in the background, it’ll close the app.  But, if the system doesn’t need more memory, the app will stay in RAM and be ready to come back quickly the next time the user needs it. 


Now, in a move that some people consider brilliant and others consider unforgivably stupid, we made the “go away” look like an “X”.  Brilliant because anyone who has ever used Desktop Windows will know that an “X” button in the upper right corner of the window will make the window go away.  Unforgivably stupid because every one of those same people will assume an “X” button in the upper right corner of the window will make the app close.  Whether you think the move is brilliant or stupid is pretty heavily tied to how much you believe that users shouldn’t have to manage their own memory.



And now we’re here

Some people say that we don’t do a good enough job managing memory.  We must agree to some degree because we’ve adjusted or modified the memory management code on just about every release since we added it.  I believe the adjustments have been improvements, and I expect that we’ll keep improving it.


I’ve heard some people say that we’ll never do an acceptable job with our memory management and that we should give up and make the X box close apps.  First, I’ll say that doing so would break all the apps that expect the current behavior.  But, more importantly, there are literally millions of Windows Mobile users who never close apps manually and successfully get their jobs done.  While we’re definitely not doing a perfect job with memory management, we have way too many happy users to claim that our memory management is universally unacceptable.


There’s a reasonably sized (but still tiny minority) group of users who feel that they can do better than the memory manager and want an easier way to take control.  Because there are so many apps that let you close things, some of which are very well integrated, I’m reasonably comfortable saying, “Use one of those apps.”  I know that someone is going to say, “I paid $500 for this device.  I shouldn’t have to pay another $10 just to close my apps,” but we do let you close apps with the Memory control panel.  If you think there should be an easier way to do it, all I can do is point you to the “I’m Just a Feature” entry to explain why a minority view feature is less likely to get implemented than one that most users want. 


Finally, if you’re about to say, “This third party app uses too many resources and I need to be able to stop it,” my answer will be, “If that app really needs to use those resources, then it should have its own close option.” 



Donning hazard suit

So, that’s why the “X” button doesn’t close apps.  You can start calling me names now.


Mike Calligaro


Comments (194)

  1. Mike Dimmick says:

    You have to remember that Palm OS actually _does_ close applications when the user switches to a different application. Indeed, there is no way to have multiple applications running, something that actually annoys a lot of programmers.

    If all the user’s applications were actually coded to play nicely – to stop all extraneous activities when moved into the background, and to free up memory for things that could be easily recalculated, to use small amounts of memory so as not to unnecessarily steal memory from other applications, and to actually respond to the WM_HIBERNATE message by freeing even more memory – then things would be fine. But they’re not, so users see their PDAs slow right down as the OS struggles to free up memory. Developers have become used to allocating more space to get denormalized or precalculated data structures, but in fact the CPU is much faster than RAM and it would often be better to simply burn CPU cycles than hog memory. The use of precalculation really dates back to a time when CPU core clocks were slow enough versus RAM cycle time that the lookup was quicker than calculation, but it’s just not true any more (I believe the SDRAM clock in most PXA270 devices is something like 1/5th or 1/6th the core speed).

    Me? My applications run almost exclusively on handhelds (yes, even Pocket PCs) which are dedicated to my application. As such I can take all of the device’s memory, and not worry about my application being moved to the background – we’re normally running in full-screen mode with the shell suppressed anyway. To this extent Windows Mobile can be an utter pain because of all the popups and notifications that the OS does, but we’re stuck using this inappropriate platform – the rugged handheld device OEMs simply don’t offer Windows CE on the full range of their equipment, and the customers often foresee a requirement for some part of the PDA functionality (which usually never materialises).

  2. Scott says:

    I must say, I’m very happy with the way that the app doesn’t close completely by using the X.  Admittedly, I would like a menu option to close the app, but I digress.  I like when I hit the X, it goes to the background.  The Start menu with the MRU app list then becomes kind of a task manager so I can swap back and forth between apps.  Admittedly, it isn’t alt-tab, but it gets the job done.

    Overall, nicely done with it, and I agree with keeping it the way it is.

  3. Perry says:

    You’re a brave man, Mike!  🙂

    Actually, I guess I fall into the camp of users for whom the X button works fine as-is most of the time.  For those times when it doesn’t I’ve got a freeware app to force close applications, so I really have no complaints on that front.

    Now don’t get me started on the Inbox and Mobile IE…

  4. Nice explanation… thanks.  I’ve always been a little confused why the X was chosen… I’ve always thought it should have been a minimize button.

  5. DavidfGray says:

    Well i’m just a user, and i’m amazed that any of this stuff works at all, but i want to thank you for explaining something that no one else that i’ve ever seen or heard has ever bothered to explain. I’m for choices. I get your drift and i can see reasons on both sides. Now i’ll know more what it takes for someone to design something that "plays nice" with the other children.

    I’m a car guy and the same stuff goes on there. Some have really annoying aural pop-ups when you don’t put your seat belt on fast enough, or you leave your keys in the ignition, or your lights or on, or if you just open your door. All these things are meant to help us, but ya know, somedays and sometimes you just want to decide if you want your hand held every step of the way. So when it comes to my HandHeld, I want choices there too. Thank god there are some really smart makers of add on programs out there.

    Thanx again for explaining this all/

  6. Not Buying It says:

    "We made many of our apps remember their state when they were closed so that they could reload it again when they were opened (so users couldn’t really tell that they had ever been shut down)."

    Which ones? Mail? No. IE? No. Contacts? No. Windows Media Player? No. Are there any?

    If this were true, I might be able to buy into the solution. But as it is, sometimes you press x and come back, you are where you left off because the app didn’t get shut down. Sometimes, your state is lost because the app was shut down. You have no way of knowing what will happen when you leave and return to an app.

    Then there are the implementation details. Let’s say you are listening to a file in WMP. You want to delete it. So you select "stop," press x, then go to the file explorer. You can’t delete the file because WMP still has it open. This is a direct result of x not closing the app. Sure, you can play tricks if you know what’s going on, like open a different file in WMP, then delete the first file. But this is just as bad, or worse, than being required to manage your own memory.

    Users have moaned about this for a long time. Give the people what they want.

  7. ldrn says:

    Well — it’s an explanation, at least. The first third party program I install after a hard reset changes this behavior, but I don’t really mind that the default is to minimize. Your target audience isn’t me, can’t be me, and Microsoft has sunk a lot of money into the market I want only to find it practically doesn’t exist.

    I wanted the desktop, you see.  

    Knowing why makes it easier to understand, and you do a great job explaining the ‘why’ of all the weird things Windows Mobile does.  You do great PR, if only for the techier users.

  8. karveira says:

    For those of you who want the close button to *really close* the application, there is a program called smclose (developers page http://hp.vector.co.jp/authors/VA032810/ see last link).

    You have only to copy smclose.exe in the WindowsStartup folder so that it is lanched when the device powers on, that’s all.

    (Or start the program manually as needed)

  9. John says:

    I don’t know what’s wrong with letting users ‘manage’ their own memory. They do it just fine on a desktop PC. Closing apps that they know are memory hogs when they no longer need them.

    Let’s face it, the ‘close’ button problem on the Pocket PC et al, stems from the fact that the platform was so slow starting apps compared to the Palm platform, so had to keep everything running to give the illusion of speed.

    I’m still running an HP Jornada 568 (with WisBar set to close on (X) :-))

    John

  10. George Styles says:

    Its not quite as simple as installing a ‘fix’ program to make apps close properly. The only one Ive found that works and has the functionality I require (ie, X closes app, display list of icons of running apps in title bar for quick recall, have this functionality switched on / off on a program by program basis) is wisbar. That so nearly works, but it breaks the connection icon on my Hermes, so I cannot see the difference between 2.5G and 3G coverage areas. I have to quit wizbar, look at the icon, and re-load wisbar.

    Looks like I will be dispointed when WM6 comes out, and it STILL doesnt have the OPTION to behave like this 🙁

    Like someone else said, if it all worked it would be fine, but surely im not the only one who finds my device bogged down and unresponsive / crashed if I open too many apps? also not having icons for running apps (a la wizbar) is unforgivable. If my GPS program is running in the background, why should I delve into the start menu to to sent it a WM_ACTIVATE message? i only have 2-4 apps running at once, there is plenty of room in the title bar for icons.

    Please reconsider 🙂

    george

  11. Mike Edwards says:

    From a developers point of view, it was quite annoying to have a blanket "thou shalt not close" instruction that would prevent us from getting approval for the app, and it’s good to hear that requirement has gone away.

    For an application like ours that makes constant use of a resource that another application might need (a GPS receiver on a COM port) it is absolutely essential that we can close our app (and surrender the port) when the user wants to use the GPS receiver with something else. Of course, that’s dealt with in a different way in WM5 with the shared GPS feature, which makes things easier all round.

  12. Richierich says:

    The why’s are unimportant, what is important is choice.  For those who want the choice to close/minimise etc, then SPB pocket plus is the way to go! (Or wisbar as stated earlier, or both if you’re really keen!!!!)

    Thats my piece…

  13. Neil Jones says:

    What I don’t like about this = ActiveSync failing to sync documents because they are still open within the WM5 App that I have "closed"

    What I do like about this = not having to wait for Voice Command and Pocket Outlook to reload every time I want to use them

  14. Dave Matthews says:

    Isn’t the real reason that the "X" button doesn’t properly quit applications is that the Windows Mobile Team secretly wishes it was the MacOS Mobile Team? 😉

  15. Kieren Smith says:

    You are a brave man indeed cross this hazardous minefield, and I know I’ve uttered a few expletives when discussing what I consider to be the bane of all Windows Mobile users lives!

    I fully appreciate your argument for users not being required to manage your memory, but I feel you missed the key corollary, that they MUST be allowed to manage their memory easily and quickly – for many users the system just doesn’t do a good enough job to keep things running at a speed they consider acceptable.  When comparing competing device, this becomes critical – users don’t care how powerful their device is if it takes 30 seconds to open an app because the system hasn’t yet decided there’s not enough resources and that it should start closing stuff down.  They want the app now (dammit).

    Given the fact that people are used to "x" meaning "close", why not consider using a "-" (similar to the old minimise icon) when you expect an app to go to the background, and "x" when you expect it to close – the application can then be coded to display the appropriate action.  This doesn’t change that users (in my experience) prefer apps to close for better overall performance of the device, but would make it a lot clearer going forward as to which action is happening.

  16. Jesper says:

    I don’t have a problem with applications being "minimized" (or sent to the background) instead of closing, but I think it’s horribly misleading to use the X symbol. Why not a down arrow (minimize) or anything else which users already know means "go away".

    Look at your desktop. You’ve got three icons at the corner of a window, and you know what they mean. The little bar thingy means "go to the little bar thingy at the bottom of my screen, and keep out of my way", while the X means "stop doing everything you’re doing, I don’t want you around, not even in the background"

    I just think it’s awfully misleading and inconsistent to use the X symbol for anything other than close.

    True, in many cases, mobile apps shouldn’t close, but then don’t give them a little "close" icon at the corner. Give them something which means "go away" or "minimize".

    And that change could be done without breaking existing applications. 😉

    You have to keep in mind that whether or not the user *should* manage memory himself, a lot of users expect to do it, or are used to doing it, or think they’re doing it.

    On my PC, I decide which applications to run, and when. A lot of people bring that same attitude to their PDA, and expect that they’re the ones deciding when applications do or do not run, and in that case, the X symbol is just misleading them. Especially in the cases where "your" memory management fails to do the job, it just seems like a sick joke that the user is given the *illusion* of being able to control memory usage, to close apps, but in reality, it’s ignored by the system.

  17. MikeCal says:

    Regarding using an X instead of some sort of iconify icon.  I carefully didn’t say whether _I_ thought the move was brilliant or stupid.  And I’m going to continue to not say…  (-:

    Mike

  18. Hi there,

    I am happy that someone actually took the time to explain.  

    Sadly in real world usage this argument falls to bits completely.  

    I know 5 YES 5!!!  Win mobile users who have ditched their phones for Symbian (hssssss)

    devices because they never learnt about 3rd party memory managers.

    Anyone who uses a windows mobile device as a convergance device, i.e uses it for web, email, MP3 – REQUIRES the ability to close Applications.

    If your a corporate user who uses this for push mail with another phone for music and calls, then maybe this is a good idea.  

    Are Ms attepting to keep the usage of windows mobile within the realms of the rich and well to do?

    The devices at present are simply TOO UNUSABLE.

    Who remembers the first HTC Smartphone?

    The Canary!

    Memory managment issues made this device fall apart.

    Even today, I am using a HTC universal, it is simply unable to run its own operating system + other apps and work properly without delays that are unacceptable for a user coming from a Symbian device.

    I think that Mikecal is using unbranded windows mobile devices with Firmwares from heaven that we lowly users are not allowed.

    Welcome to the real world.

    I have had so many problems from unresponsive devices:

    XDA 2

    HTC magician – branded Tmobile UK

    HTC Voyager

    HTC canary

    HTC (orange E100 whatever it was called)

    Now I have the Flagship!  The Universal!

    640X480 pixels and 550 MHZ of SLOWNESS…..

    All before I put on Vbar or whatever app that was popular at the time.

    I beg you Mikecal, give us a break, this is a crock.

  19. Carlene says:

    I wouldn’t mind the forced "minimize-X" as opposed to the optional "close-X" if every time I had application issues the first response was not "close out all apps in memory" or worse yet, "soft reset" (since that simply closes and resets all apps anyway).

    But I still <3 my WM5.

  20. igalan says:

    First I want to thank Mike Calligaro for the opportunity that he has given to us, users of Windows Mobile devices to express our opinions. I’m new to this blog, although not to Windows Mobile.

    I fully understand the explanation about the need to rely memory management to the OS and not to the users. That is the way to go. But there’s still a long way ahead: files opened can’t be synched, deleted or otherwise used for other programs; programs minimized may not return resources to the OS (most notably memory); programs minimized may keep hardware locked for their use (GPS, for instance); use excessive CPU cycles, etc. So while I understand the decisions I use a task switcher to actually close applications; because the OS isn’t helping me enough.

    I think that the OS should be more aggressive and be able to free up resources of minimized applications, instead of expecting that the programmers have been careful enough so their applications play nice. The OS should handle all that and provide to the applications the events and interfaces that give them the opportunity to react to those events (WM_HIBERNATE just asks form programs to do so –if I understood this well-, but does not actually do anything if the event hasn’t been programmed). Also I find that most often the single part of the system that uses most memory is the OS itself; frequently I’m running out of memory to launch some program, and nothing is being showed up as running. So the OS should also have some kind of garbage collector and memory “defragmentation”.

    If all this worked well, we wouldn’t be discussing if there should be an ‘X’ or ‘-‘ or what. All people cares is that they are able to run their programs at an acceptable speed. If that means using a program to close running tasks to regain the lost performance, they will do so.

  21. Charlie says:

    You’re a brave man. Here’s the thing; if WM did a god job, it would be sort of OK, but in reality it doesn’t and it’s not. Short and simple.

    Second point, asking users to manager their own memory is a red herring. All close functionality is doing is asking users to know when they’re finished with task "X". Simple. I also can put dirty clothes in the wash when they get stinky. It’s not the same as making my own clothes.

    At the very least it should be a minimize button, better yet, both buttons. I remember the Palm vs PPC war, and MS got it’s butt kicked for usability things like startup time, and an inappropriate shell interface, not "managing your own memory". Nice try though. 🙂

    Power to the people.

  22. Jeff Jackson says:

    The reality is that if you don’t close programs manually, the device will bog down and crash in only an hour or two of use.  I don’t use the close programs feature of SGB Pocket Plus a huge amount.  I usually wait till the device starts slowing down, then start closing things.  I find it necessary to do so several times a day typically.

  23. MikeCal says:

    Jordan, the Canary fell apart because IPSM went pathalogical when there was less than 1M of storage left, and the device only shipped with 7M of storage.  Memory management had nothing to do with it.

    igalan, it would be very hard for the OS to forcibly take away memory from applications without shutting them down.  The application wouldn’t know that the memory had been removed, and would crash as soon as it tried to use it.

    Charlie, Palm kicked the Handheld PC’s butt for a ton of reasons.  Time to launch apps was definitely one of them.  If I implied it was the only reason, sorry, I didn’t mean to.

    Jeff the reality that your devices will bog down and crash within an hour of use is not shared by millions and millions of users. I’m glad that you’ve found a utility to make your device usable, though.

    Mike

  24. scyost says:

    Would it meet everyone’s needs if we:

    – provided a close button in addition to the existing button and

    – provided a minimal task manager in rom on smartphone and pocket pc

    Then the existing behavior could still be preserved for most users, but power users would get the ability to kill apps that they know are resource intensive and don’t play well.

  25. Commentator #88289 says:

    This is what happens when philosophy dominates over reality.

    In your philosophical bubble, sure, it makes sense. The user shouldn’t have to manage memory, the OS should do it. Etc. So no real closing (i.e. remove app from memory upon command).

    But in reality, as others said – these devices simply aren’t robust enough to always deal with multiple apps open in memory at once. They bog down, they get corruptions, they start to suck big time. And the little trip to system->memory etc. is nothing short of annoying.

    Stop philosophizing.

    Stop competing with Palm (they’re dead anyway).

    Live in the real world. Make the OS appropriate for the platform. Common sense is more important than eggheaded philosophy and twisted bizarro-world marketing comcepts. I’m just glad apps do exist to make WM5 more sensible. It’s just shame they need to exist at all.

    And the biggest irony of all – PalmOS DOES exit apps to launch another one. And yet you list PalmOS as one of the reasons you avoided real closing?! WTF?

  26. Commentator #88289 says:

    <i>Would it meet everyone’s needs if we:

    – provided a close button in addition to the existing button and

    – provided a minimal task manager in rom on smartphone and pocket pc

    Then the existing behavior could still be preserved for most users, but power users would get the ability to kill apps that they know are resource intensive and don’t play well.

    </i>

    AKA "Minimize" and "Exit." Terms and concepts that EVERY computer user already knows and understands for many years now. Concepts that PPC/WM should’ve adopted long ago. It’s hardly a "power user" feature to offer the abiolity to close an app. Small children can minimize and close apps on PC’s without fuss. Future WM customers are not going to have nervous breakdowns because they can close apps… -_-

    It’s almost frustrating to see WM devs in late 2006 mentioning such ideas as if they were something esoteric and almost pioneering.

    But yes – minimize and exit/close – would be ideal. Go for it.

  27. Commentator #88289 says:

    Also – apologies for sounding nasty before.

    I’ve been a PocketPC user and enthusiast since the early days (Casio EM-500 was my 1st, current device is Axim x51v). It’s just frustrating how simple things like this still haven’t been implemented after so many years.

    Thanks for sharing and giving me and others a chance to kick you around. 😉

  28. Carlene says:

    Scycost: Yes. Yes, yes, yes. But then again, yes.

    It is hard for me to imagine that the percentage of power users is so low (considering most of us have PPCs *because* we are power users) that yours seems like a novel idea, albeit a good one.

  29. Matthew says:

    scyost: Yes, that’s about waht we want. All apps should have the ability to decice if they want minimize, close, or both and the icon(s) should always properly indicate what they will do. Applications that don’t specify should show the correct icon for waht will happen when they end (basically, dialog vased show X and close, other show line/arrow/whatever and go background).

    The task manager is a great thing. Make it a single key combo or some other simple machanism to bring up. Let us use it to switch and close apps. That’s all we all ask, and it’d be perfect with that basic functionality. Refer to the Windows 3.1 window list. Yes really, that thing. It waws ideal, and stealing ctrl-esc for the useless start menu in 95/nt4+ is near criminal.

  30. yc says:

    switch from ppc to nokia os, much easier and winning the mobile war. I do encounter the issue of manually closing problems every few days. It is a pain in the butt…and i give up!

  31. Harvey says:

    If Microsoft was a truely cutomer concentric company (its not) it would give the WM5 "customers" the option of how the little x behaves. Either minimize or close an application. For somewhere around $500.00 I think the "cutomer" should be empowered to make a choice an magaging their own $500.00 dollar memory if the desire.

  32. Every time I get a "not enough memory to save this picture" error, then have to close the camera app, then go to Start > Settings > System > Memory > Running Applications > Close All, I have to wonder if the "majority" of people you refer to are people who don’t actually use the product.

    Every my phone locks up, reboots or crashes and, on reboot, I am subjected to alarms I have dismissed, lost preferences, lost text messages (!!!) and other irritations because of your choice to store data in the wrong place, I have to wonder if the "majority" of people you refer to are people who don’t actually use the product.

    And if this "majority" does actually say they don’t have these problems, then I have to assume that they either don’t use the product, don’t recognize the problem, don’t understand your questions, don’t know how to explain the problems, or simply don’t mind the problems.

    Because I own quite a few Windows Mobile devices and have worked with MANY more.  I know many people who have Windows Mobile Smartphone and PPC devices.  And I know that it is NOT a minority of people who have these exact same memory issues with PocketPC.

    The Windows Mobile Smartphone is (are) the best device(s) I have ever used or owned.  The PocketPC phone NEEDS to learn more from the success (in function, not sales) of those Smartphones.

  33. Atramhasis says:

    Is this true, does Microsoft consider the Close button? Or this this just your idea, MikeCal?

    I would say, you should install some of this "realy close" applications (gues why they are so popular?) and look how they do the job and then make the best of it. Not to complicated of course. Maybe like this:

    Let the functionality as is, just one hide button, but change the symbol (not "X"). Additionally a context menu (press and hold the hide button) should show a task manager to quickly switch and close applications (like SPB Pocket Plus).

  34. "Would it meet everyone’s needs if we:

    – provided a close button in addition to the existing button and

    – provided a minimal task manager in rom on smartphone and pocket pc"

    1. A ( – ) button next to the ( x ) on the PPC would be perfect.  It would be "intuitive" because every single PPC user already knows and expects that and it would solve many of the problems PPC users constantly struggle against.  On the down side, Solitaire would take a little longer to launch the next time a person wants to play it.  I think the pros outweigh the cons.

    2. The taskmanager in WinMob Smartphones is tremendously easier to use than on the PocketPC.

    PocketPC:

    Start (which forces me to use 2 hands!) >

    Settings >

    System >

    Memory >

    Running Programs >

    Stop All

    Smartphone:

    click taskmanager icon in the MRU bar on the today screen >

    click 7

    click okay

    At least having the Memory App available to the MRU on PPC would help, putting the MRU on the today screen would be even better.

  35. Kazi says:

    I would not like to attack anybody, just commenting the above argumet. I’m a very happy HTC TyTN user (so Windows Mobile 5 user) and a happy developer and very comfortable with Microsoft products. This X button question is not a big problem for me, I installed a 3rd party utility for it and that’s all. I would like to comment the argument in silent:

    The argument is that "the OS manage the device memory better than the user", but there is an assumption behind this argument: "The applications are well written, and processes manage own memory well", this is an idealistic assumption imo, most applications can’t use resources well, I know, I’m a developer 🙂

    But I agree, an OS can manage its own memory better way than the end user, but this is not 100% true for applications, only in the case, if an application is written 100% well. Is there such like apps? How many?

    Thanks for your attention.

  36. Daniel Schroeder says:

    @Mike: In a theoretical, ideal world you’d be right. However, reality is just two blog entries away from yours – a quote from Jason Fuller’s September 15th post about Virtual Earth Mobile:

    "Make sure you have exited the app before trying to install the new version."

    Maybe the issue goes beyond memory managment. Locked files, for example. 🙂

    Cheers

     Daniel

  37. Applications consume resources not just RAM. For instance an application may keep a lock on a database or file. It may be using a sound/media API while denying another application.

    I don’t have a MS, but when a media player app is playing sound and you hit "x" does it stop playing?

    I think sending the app to the back is fine so long as software behaves as if it is closed.

    User are task based, once they finish a task and hit the "x" button – they don’t want to see any trace of it. If the OS decides to keep the app in the background as an optimisation then so be it.

    in terms of usability. I prefer the OS to manage memory not me.

    Consider the user experience of having an application that you know you can run (it worked yesterday), but today you are out of memory.

    Having the user select a list of tasks to shut down (not knowing how many will free up enough RAM) is ludicrous.

    I think the most pleasing solution involves the OS managing the memory, but also some effort from the app writers to persist state (and only stop persisting state if the user presses the x button).

  38. chris says:

    If the choice is so contentious…why not just make it an option?  Let those of us that want to manage the memory have that option.  

    Oh and I believe that everyone SHOULD be required to change their own oil too…at least once.

  39. Mike,

    I accept the argument that you need this functionality to be like this in order not to break current applications. I also accept that the memory management is improving with new versions.

    But then, why not give the user an easier path to close his applications whnever he wants to? Just like every task management tool does: a long click on the X button would open a menu with the running applications, and you could choose between going to one of them or closing one of them, or closing all….. can’t MS learn from all the tools that are in the market? Can’t they understand that if there is such a demand for these tools, so they are doing something right?

    It is the same with other decisions, like the removal of wireless sync with Outlook from Activesync 4.x….. we can accept that there were problems with security. But then this doesn’t require completely removing the tool from AS4…. it would be enough to make the default as disabled, make it manageable by corporate server policies, and if free to use by the policy, then give the user the ability to turn it on.

    I don’t agree that the aligment policy for all features should be "Users are stupid, we don’t give them the option". Here is MS’s mistake in my point of view.

  40. Nicolas says:

    Hi!

    Wouldn’t the whole discussion be completely obsolete if all these Pocket PCs had more RAM and flash memory built in?

    Many programs have quite a large footprint and how an OS handles RAM and flash memory I actually do not care and guess what, I just want to work with my device..

    Looking at my WM5 VPA IV (MDA Pro, iMate JASJAR, HTC Universal) I have ridicilous 25mb free RAM to work with even though it says it has 64mb RAM and 128mb flash memory… that is  a joke and there is where MS could be blamed for.

    Selling this OS to a PDA manufacturer should oblige them to build in at least 128mb available RAM and how about 256mb flash memory?

    That cannot be the problem?

    cheers Nicolas

  41. Marta de Souza says:

    Been using WM5 for a short while and already wondered about this topic.

    This is my humble user ideas in this world of experts:

    1- Why not make ONLY the preferred(favourite) applications to stay in background and allow us to close all others with an ‘x’ because we sometimes just want to have a little peep at some applications and want them to go away as fast as we finished looking at that something: a memo, an sms, an email, a topic, a calculation, but we may want our favourite music player or communicator to still run in background.

    2- Some sort of shortcut (one-button) access to favourites (whatever they are)?

    3- Is that too much to ask from so called experts that look down on us humble users with less brain than a doorknob? Besides, if you really were thinking your users were that thick to think for themselves, the operating system would have to be much, much, much more dummy-user friendly!

    4- I miss so much the ability to find/search I have on my PC/laptop! I user it all the time on my other devices. Please bring it to meeeee!

    Thanks!

  42. andy says:

    Keep things the same.

    Just provide a shortcut button to the Memory screen, e.g. Hold-OK.

    I like pressing OK to make things descend to background.  I don’t close apps other than single serving system tools such as MemMaid.  I also chose my GPS prog and radio streamer, but I NEED "OK" TO KEEP MINIMIZING THESE THINGS.

    Get manufacturers to stop being so cheap about memory — Problem solved!

    andy

  43. Very nicely written, thanks for the explanation.  I think my main problem is that I visibly see how poorly the memory is managed on my device _every day_.  For example I have this one app which must use a fair amount of RAM because every time I sleep my WM5 phone or run IE–WM closes the first app.  Unfortunately, the dev of that app did not account for this and the "session state" is lost.  Very very annoying, and it’s not the only program I’ve noticed which does not handle this case well.  On top of that, I’ll occasionally notice the device slow down to a crawl, look at the free RAM and clear the IE cache or other temp files, and then not only does the device speed up, but I can run more programs simultaneously.  I thought this program memory versus storage memory scenario was killed in WM5 but I can attest that such is not the case.

  44. Don’t add a second button.  Do hold-OK like Andy just suggested.  If you have not seen it before, check out the freeware app Magic Button.  It’s the first app I install on a WM device.  You would do well to emulate it.

    http://www.trancreative.com/mb.aspx

  45. Jason Dunn says:

    Mike,

    You are indeed a brave man to tackle this issue, as it’s been a long sore point with end users. I’ve been watching the platform evolve since 1996, so I’ve seen everything come and go. I fully understand why the Pocket PC team, coming off the dismal failure of the Palm-sized PC, was so desperate to use every trick in the book to match the speed of the Palm V. Problem is, they let their desperation get in the way of more than a decade of user-interface training that every computer user had been through. "X" means close. "-" means minimize.

    The…arrogance of the Windows Mobile team to think that they can re-define a universal UI element like that is stunning. And yes, the MSN Messenger team is equally arrogant for their implementation.

    If the "X" were another symbol, it would be clear to the user that the application is not actually being closed. Knowing that, they can act appropriately by going into the control panel and shutting down the apps themselves. I do a bit of consulting and have watched regular users (non-geek types) struggle with this close issue over and over. Trying to delete a file, only to have Windows Mobile Player, the application they THOUGHT they closed, still locking a file. It’s just not acceptable that end users are tricked that way.

  46. Andy says:

    What about a tap-hold option? Users tap-hold the X and the program closes, so simple, and everybody’s happy.

    Think about it, it doesn’t use any extra screen real estate, and it doesn’t affect users who are happy with the way things are now.  But for those of us who like to and need to manage our own memory… perfect!

    Andy

  47. Zacho says:

    Hi Mike,

    One other comment I submitted (twice) doesn’t seem to get posted. Did I violate any rules with my comment? Sorry if I did.

    @ Andy: Tap and hold is much too slow for this feature. An [X] button needs to close, and do it fast.

    My biggest complaint with the [x] button on windows mobile is the icon [x] they chose to paint on there. Instead they should have an arrow down or something. I agree with the previous commentor who cited the same confusing functionality on the windows live/msn messenger desktop client. I too find this implementation arrogant.

  48. Zacho says:

    Hi mike, love the arcticle; and I love your guts for sitting down and explaining this to us. Before reading the article I already was aware of the rationale behind that [x] button idea.

    I agree with all your writ except one piece:

    You said, "doing so would break all the apps that expect the current behavior."

    A large number of people install a "really close" extension, any application that becomes broken due to a "really close", already is broken, and generates tech support calls from those people.

    One of the most compelling arguments a pro-microsoft guy has is the integrated-ness of all their products and the level at which they support legacy things (software, ideas, etc.) Although the latter has been slipping the last few years. A person who could run windows 95 will be able to learn xp and vista in literally no time at all. This is one of the reasons why sticking to microsoft products pays. Zero learning curve.

  49. Zacho says:

    About 8 years ago, our company started making use of handheld devices for our emplyees’ PIM and other information. We would buy the best available – at that time it was on Palm OS. later on, when Pocket PC 2002 was available, somehow realising that microsoft would crush the PDA market within a short time, I started promoting the platform within our company. Most of our personell are fluent windows users and generally smart individuals. Being more on the IT side of things, I spent quite a lot of time helping people convert their Palm OS information to Pocket PC. I get feedback and questions from some 200+ Windows Mobile users.

    Mike, to how many people with a windows xp background have you explained why there is an [x] button that does not close? I mean, look at windows xp, [x] is a friend, he’s always there, he’s reliable, he takes the darn application out to keep you from going insane. if the application does not want to obey, the operating system goes, "this application is rude, misbehaving, what should i do about it?" This [x] feature rudely and promptly shuts down the unwanted application, and ends anything it is busy doing with no warning. It consits of two diagonal lines that cross. It’s a "feature" that every single windows 95+ user is used to. Think of 850 million + people. Now… go give all those windows users a windows mobile device and tell them the [x] button (their friend) does not function like the PDA’s big brother, the desktop. I can tell you some of those people would injure you with the said device.

    You see, it’s not that people must have an [x] button. BUT, if it’s an [x], by all means, it should function like an [x]. Many, many people think the misleading icon is pathetic. I repeat, many, many people are disgusted with a fake [x] icon. It is a slap in the face for the windows user.

  50. Zacho says:

    About 8 years ago, our company started making use of handheld devices for our emplyees’ PIM and other information. We would buy the best available – at that time it was on Palm OS. later on, when Pocket PC 2002 was available, somehow realising that microsoft would crush the PDA market within a short time, I started promoting the platform within our company. Most of our personell are fluent windows users and generally smart individuals. Being more on the IT side of things, I spent quite a lot of time helping people convert their Palm OS information to Pocket PC. I get feedback and questions from some 200+ Windows Mobile users.

    Mike, to how many people with a windows xp background have you explained why there is an [x] button that does not close? I mean, look at windows xp, [x] is a friend, he’s always there, he’s reliable, he takes the darn application out to keep you from going insane. if the application does not want to obey, the operating system goes, "this application is rude, misbehaving, what should i do about it?" This [x] feature rudely and promptly shuts down the unwanted application, and ends anything it is busy doing with no warning. It consits of two diagonal lines that cross. It’s a "feature" that every single windows 95+ user is used to. Think of 850 million + people. Now… go give all those windows users a windows mobile device and tell them the [x] button (their friend) does not function like the PDA’s big brother, the desktop. I can tell you some of those people would injure you with the said device.

  51. Zacho says:

    I realized my comment was not published because it is too long, I broke it down and submitted it in pieces. Sorry about the duplicates.

  52. Zacho says:

    Here are my humble suggestions:

    PLEASE PLEASE PLEASE change the icon on the [hide] button to something other than [x].

    Placing two buttons in the upper right corner [hide] and [x], would cause unecessary confusion for new users and people who are expecting more of a phone interface.

  53. Zacho says:

    Here are my humble suggestions:

    PLEASE PLEASE PLEASE change the icon on the [hide] button to something other than [x].

    There should be an additional settings page that allows the user to change whether the button in the upper-right corner means [close] or [hide]

    Placing two buttons in the upper right corner [hide] and [x], would cause unecessary confusion for new users and people who are expecting more of a phone interface.

  54. Zacho says:

    Placing two buttons in the upper right corner [hide] and [x], would cause unecessary confusion for new

    users and people who are expecting more of a phone interface.

    If by chance, the Windows Mobile 6.0 "new feature list" includes the above mentioned changes, it would

    because many people to smile and say, "they finally used their brains."

    How much do you guys listen to feedback?

    Do you ever offer user surveys?

    Face it, an [x] that does not close is just plain dumb, no matter how you look at it. It’s no argument,

    it’s no question, and everyone knows it except for a few deciscion makers at microsoft. I am willing to

    bet they have no decent explanation of why it is an [x] icon, as opposed to an arrow down or something.

  55. Crash Biker says:

    Ok, I’m not an insider, and I’m clearly swimming against the tide here, but here’s my idea of why the icon must be an "X".

    Once you finish with an app, and hit the X to close it, the OS has the right to stop that application without further warning. As it stands it is not compelled to, but the memory manager could choose to do so at any point for the good of the system. If hitting the X might kill the process and lose the context then X is the best of a difficult set of choices.

    If you were to replace the X with a "minimise" icon, the OS would be obliged to keep that context alive unless explicitly shutdown. That is how the desktop OS works and I believe that would make life much harder for most in the restricted resources of a handheld.

    I am a deep tech, I have been in handhelds since the original Newton and in MS Handhelds since the Philips Nino and every generation since. I like the way it works now. I like apps having explicit "Exit" options, I wouldn’t argue against giving others an "X means die" option in the settings list somewhere but 99% of the time it does exactly what I need.

    What disappoints me above is references to the "arrogance" and "..is a crock". I think whatever my feelings about other things in life I’m prepared to accept that the MS dev teams are reasonable people who made this (and other) decisions based on difficult choices and providing the best result to the largest community of users.

    I do agree the locked file on sync thing is a nuisance occasionally though. Perhaps a "close all background apps on activesync" option?

    Cheers

    Chris

  56. Kram II says:

    Thanks for a great article, Mike.

    However, I’d like to say that my preference is for all apps to have consistent minimise / close behaviour, right out of the box. Ideally, tap [x] for minimise, tap and hold [x] for really close.

    There is a lively 3rd party market for apps to make our devices work this way. Obviously, it is what the customers want.

    Please, please, please Microsoft: rethink this one.

    KramII

  57. Günther says:

    Hello Mike!

    First thank you for writing this article on the history and background of the CLOSE APP button.

    Nevertheless I rather disagree:

    – It has nothing to do with the question if the user should manage memory or not. You wouldn’t say that a user manages memory himself in Windows XP or so when closing an application?! It’s always the OS which manages memory.

    – Most annoying is the locking problem: A file is locked by a running app in the background and you can’t manipulate it.

    – And then you sometimes run out of memory and have to manually close apps one after another. And that’s called AUTOMATIC memory management?!

    – Maybe it was true and meaningful in the past to just put the app into the background but nowadays the OS and UI itself should offer the option of really closing it, together with a builtin task manager/switcher (WisBar-like).

    Best regards,

    Günther Schöllhammer

  58. Zacho says:

    @ Chris

    So you WANT the button to function that way… fine, it’s probably best. Probably. I agree, it’s not all that bad except for the file locking issue mentioned before. It does need some fine tuning. There should be be a better task manager, etc.

    But still, if the button is not a [close] button, it should not have an [x]. It should have something that means, "minimize, but close if memory is short". And arrow or something would suffice. Or even an [x] with an arrow on one of the bottom points. The [x] is simply misleading. The minimize-but-close-if-required is new functionality for windows users, it deserves a new icon. Don’t just muddy up the definition of [x] for us.

    I agree, there is no reason to start calling names/insults, we can have an educated debate here. And I’m sorry, being one of the offenders myself.

  59. MikeCal says:

    Shannon, you said that you love the Smartphone but dislike the PocketPC.  But the Smartphone doesn’t give you an easy way to close apps either. Can you tell me more about what makes you like the Smartphone method but not the PocketPC one?  

    Kazi, I don’t believe the OS can manage its memory better than the user.  The user has information about what’s about to happen (I’m going to use this app again in a minute) that the OS doesn’t have.  What I believe is that the user shouldn’t NEED to manage his memory.  It’s similar to driving a car with an automatic vs manual transmission.  A well driven manual transmission will always outperform an automatic, but most people (myself included) buy automatics. I personally do this because I don’t want to have to shift.  I assume other people are similar.

    Chris and Helio, as far as we’re concerned, the user DOES have the option to use close his apps.  He can either use the built in memory control panel or he can install one of the many available managers.  See the "I’m Just a Feature" entry, but any feature we do means 10 more we don’t do.  If we had a choice between enabling something that can’t be done by a 3rd party or redoing stuff that 3rd parties already provide, we’re generally going to choose the former.  Etc.

    Marta, we absolutely do NOT think you’re stupid. It’s not that we think you’re incapable of closing apps.  It’s that we think you shouldn’t have to.  See the oil change example.

    Nicholas and Andy, more memory means more expensive devices.  In the past, more expensive devices have not sold as well as less expensive devices.  When more expensive devices sell better than cheaper ones, OEMs will be happy to put tons of memory in them.

    As for Tap and hold on OK, if we added that feature, how would we teach users that it works that way?  Wouldn’t most people still assume that X closes and never think to tap and hold to close?  And what about the users who want to minimize but occasionally hold the X too long?  How will they understand why sometimes their music stops playing when they press the X and others times it doesn’t?  On the other hand, any user who installs a utility to enable tap and hold X as close will definitely know about it.  

    Mike

  60. Charlie says:

    The difference regarding SP vs PPC is that SP makes it very fast to access the memory applet from the MRU list. Not ideal, but it works. Also, SP doesn’t promise to have a close function by taunting us with an [X] button.

    One major step backwards recently was when recent SP releases seem to eliminate the navigate by number option. Bring it back!

  61. Bob says:

    "As for Tap and hold on OK, if we added that feature, how would we teach users that it works that way? "

    Maybe you could add it to the completely useless and annoying cut and paste tutorial that is shown everytime a device is hard reset?

    Or, you could do a "tool-tip" pop up the first time a user clicks on the X to inform them of the functionality.

  62. Kazi says:

    Mike, what if WM team add the close feature as an option? For me, it’s enough a registry hack for this feature, and I guess, most of the users will not complain UI for this who want to use the X button this way (they know what is registry already). Then this story can be about "how ms listens not only to 99% of customers, but listens to the remaining 1% as well."

    "A well driven manual transmission will always outperform an automatic, but most people (myself included) buy automatics. I personally do this because I don’t want to have to shift.  I assume other people are similar."

    yes, you are right, most people use cars to get to a destination only, but there are people who look at cars in a different way, they like cars, they are fans of cars, and they don’t use automatic transmissions. They exist. 🙂

  63. signs says:

    Mike,

    You say that users should not need to manage memory, but in reality, that is exactly what we are doing. When wm5 slows down to a crawl, the user is forced to go to the memory section and close apps, i.e. MANAGE MEMORY.

    And if you think that it’s only the Minority who do this, or feel this annoyance (without knowing what to do about it), then you are completely WRONG. So, the millions of dollars spent on marketing that would say otherwise, well they are simply WRONG. You would best benefit if you get some new marketers, which would give you the real life info.

    So, if you all cannot find a way to effectively allow your UI to manage its memory, then put the memory section on the Today screen, and at least give us an easier way SO WE CAN DO IT.

  64. Zacho says:

    what is the chance of the default icon being changed?

    to solve the problem of accidential closing w/ tap&hold, simply pop up a task manager menu to give the user a choice of action. This could double as the task manager, if it had a list of the running programs, etc.

  65. Mokubai says:

    Before I start I have to admit that I am slowly coming around to the "Minimise rather than close" philosophy, as it makes better use of the memory on the device and I like all the programs just being *there* when I want them.  My problem is that the (X) is misleading as many others have stated and getting to the memory applet is more painful than it really needs to be.

    I was thinking about what you were saying about how to show the tap-and-hold-to-close, and I had exactly the same thought as Bob, that annoying "Here is how you cut and paste an appointment for those of you that couldn’t rub two braincells together" screen that shows up after a hard reset would be the perfect place.

    As to the automatics vs manual analogy I can only partly agree, when resources like fuel are copious and you don’t care about the cost then fine, the "automatic" way is easier and some would say better.  Here in the UK fuel costs more so people are more aware of the added cost of automatics and almost everyone learns to drive in a manual so people are more in control of how the car works (and wastes) right from the start.  We like this added control, and I don’t see why we can’t have the choice about whether we want our programs to be handled in an analagous manner.

    I agree, we should be letting the device make use of the memory to keep programs running but please just give us the option of killing a program quickly (especially activesync), just a small task manager that pops up on a tap-and-hold of the (X) and minimise on a normal tap would do for me.

  66. Daedalia says:

    It is a great concept and yes the software should manage it but if it doesn’t do it fairly flawlessly then it is useless and should not emerge past the beta stage. I’m running 2003SE and the memory just drains. Closing the applications fully using wisbar advance delays the need for a reset. It is silly to make a stance like this when you can’t demonstrate it’s benefits by making it work.

    Useability is not a microsoft strength. For example why is the ‘X’ in the top right hand corner. With many phones running WM, people are using thumb on screen rather than stylus, I’m cramped up trying to play an impossible guitar chord going for the ‘X’. Put everything that runs the system in one place and let people choose where that is, It’s not that hard to code.

    Making users not manage their memory is a fluffy feature, something that is a bonus if you can get it to work. Fact is the speed at which programs load nowadays is very quick anyway.

    More effort should be concentrated on making the applications not so thin on the ground with regards to features. I couldn’t beleive it took until WM5 to get photo contacts for example.

    The ethos should always be intuative useability. At the moment you seem a bit blinkered on the memory management feature.

  67. MikeCal says:

    Kazi, to continue the car metaphor, yes there are definitely people who are really into cars.  One of them works for me, and he races his Lancer on the weekends.  Many car buffs drive manual transmissions and change their own oil and tweak their fuel air ratios, etc.  And most of them have purchased an appropriate set of tools to do this.  If you’re that kind of PocketPC user, the appropriate tool you need is a memory manager.  

    Signs, you absolutely can manage your own memory.  Just install one of the many available memory managers.  As for us being wrong about the percentage of users who want to manage their memory, I’d love to see your data.  Maybe you know of a memory manager app that has seen multiple millions of downloads?  Or do you have aggregate numbers in that range?  Please share the data you have and I’ll take it to the appropriate people here.  

    Zacho, I know you feel strongly about this, but I’m sorry to say that the chance of the icon being changed is pretty small.  A more likely long term change is to move toward the Smartphone and Symbian model (yes, Symbian doesn’t let you close apps either) where there’s no button at all and the only way to put the app away is to navigate to a different one.

    Mokubai and Bob, I don’t think making the Welcome tutorial even MORE annoying is the right solution to any problem.  (-:  As for using an manual transmission for fuel economy, that’s one solution.  The other is to let technology do the job for you.  (My wife and I each owns a Prius, and we both regularly get 45MPG.  We’d do better if we didn’t live at the top of a big hill.)

    Daedalia, it sounds like you’re saying, "Stop worrying about memory and start adding more features."  I assume you’ll be happy if the next version still doesn’t make it easy to close apps, but adds a bunch of features instead.  

    Mike

  68. scyost says:

    Since Mike is being calm and reasonable, I’ll play bad cop.

    It seems like we can agree that this functionality is primarily useful for people that like to use 3rd-party apps. And there is at least one third party app that nails this feature and people recommend it.

    So it seems like it’s not really useful for us to integrate that functionality into the platform. We’d be adding a feature that already exists in the ecosystem. And even if we stopped the world and implemented it today, you wouldn’t see it for months and months and might need to buy a new device to get it. But you can install a 3rd-party app even on Daedalia’s 2003SE device.

  69. Zacho says:

    scyost …that is not a very intelligent statement.

    I’ll give you an analogy to it:

    "There is no need to add better security to windows vista because you can already pay a 3rd party company some more money to have the holes fixed for you, even way back down till win95."

  70. scyost says:

    I don’t think your analogy is fair. Security is for everyone. This is more of a niche feature. People have already said that the primary culprit is misbehaving 3rd party apps.

    Even if we were to follow your analogy, people do get quite mad when we add features that 3rd parties are currently supplying. Just look at Symantec’s reaction to the Security Center in Windows.

  71. Zacho says:

    It’s not quite fair, but only in the sense that it is more extreme.

    >"security is for everyone."

    I hope you do not mean to tell me that being able to close programs, and not having a confusing UI is only for a minority.

    Try this:

    Imagine if the same scenario was playing out on the desktop. Suppose 3rd parties were cashing in on software that helped close programs because windows only minimized them. Imagine that the only included task manager were hidden deep inside the start menu. Go form there.

    "It makes no sense to include a task manager and [x] button because symantec is already doing it, and they would sue us."

    I don’t intend to sound angry or mean.

    One more thing:

    When you look to see across how big a market share a certain feature would increase satisfaction, you have to add more than those who buy 3rd party software.

    You probably will see the .5% {im just a feature) who hate the change.

    Keep in mind the gazillion people who got rid of their PPC and went for Palm/RIM/Nokia because it was too hard to use. And the people who would gladly have the functionality but don’t want the hassle of installing 3rd party apps which often slow the device speed to a crawl and cause it to crash more.

  72. Zacho says:

    Oh, I also think it could be very accaptible to have a minimize AND a close button on the top bar. This could hit home for most desktop users.

    The only think I would have against that is if you, for whatever reason, chose to invert them so the x is leftmost. (or whatever)

  73. Zacho says:

    A also should add that many OEMs actually preinstall task manager applets, although they are usually trashy and ugly.

    dell, hp, toshiba, comapaq.

    some HPs even had a pre-programmed hardware button for calling the task switcher.

    If you are looking for statistics of how many people regularly "really close" applications… the actual numbers are quite fuzzy.

  74. MikeCal said "Shannon, you said that you love the Smartphone but dislike the PocketPC.  But the Smartphone doesn’t give you an easy way to close apps either. Can you tell me more about what makes you like the Smartphone method but not the PocketPC one?"

    The number of hands required (SP:1, PPC: 2) the number of steps and clicks (as described above), the fact that TaskManager is a program that shows up in the MRU on SP and is only a tab of a program that doesn’t show up in the MRU on PPC and (slightly unrelated but darn annoying) the MRU is on the Today screen on SP but not on PPC.

    There are other places where PPC has neglected basic functionality that shines in Windows Mobile smartphones:

    1. Who uses a Windows Mobile PPC and doesn’t hate the uncontrollable outgoing text message sound?  I am sure there are some people but I don’t know any.  I have to do registry edits for my friends to correct this problem.  I refuse to believe MS developers are using their PPCs and not being drivin crazy by that annoyance.

    2. Basic phone usage like dialing numbers (terribly slow at times, probably due to the apps running in the background that I wished would close when I click the "X")

    3. If ANYTHING (other than answering a call) needs to be 1-handed on the PPC, clicking the Start Menu should be.  Some hardware allows this but the SmartPhone edition has the StartMenu as the softkey, right where it needs to be.  If not there, you should at least be able navigate to it via the D-pad. Instead, it is as far away from the typical thumb as you can get on the screen (the top left corner) and requires you to actually touch it.

    4. No profiles.  On my Smartphone, I can use "meeting" profile, "silent" while at the movies and, better yet, use "automatic" while at work so that my scheduled meetings cause it to go to "meeting" mode automatically.  This is all available 1-handed with a couple/few clicks.  It isn’t even possible(?) on my PPC.

    5. Writing MMS messages on my Cingular 8125 is ridiculous.  You can’t click "ok" in the "to" box to bring up the contacts, nor can you just start typing a contact’s name to pull a list of matches. You have to click the small "to" label. When focused on the "To" field, you can’t click down to the Subject field. All of this is available when writing an SMS.  This may be a Carrier-specific problem, not sure if this is MS software or something Cingular did.

    6. Disk I/0 errors crash my PPC instead of failing nicely.  At least I assume that is the problem, it seems to stem from operations that read from the Storage Card. Didn’t happen with my smartphones.

    7a. The Storage Card is not read until too late in the boot process, causing any shortcut icons on the card to appear on the start menu as the generic program icon.  Didn’t happen with my smartphones.

    7b. Also, if important paths are mapped to the card (like having my mail folders on the card instead of the phone’s memory) this causes the OS to create a new folder called Storage Card and create the folders to save the mail in. Then the card is added as "Storage Card 2".  I stopped mapping anything to the storage card after finally realizing this problem wasn’t going away.  Didn’t happen with my smartphones.

    8. Reception on my PPC and a few others I have tried drop calls in places my smartphones have never had trouble with. Call quality in general is also much worse (and my friends remind me of it). This may be hardware more than software?

    9. Lost settings/options/prefs/data after crash/hang. If the phone didn’t ever crash or hang, then the decision to save some things in volatile memory until later would not be a problem.  If apps closed when you clicked "X" and saved their settings at that time, this wouldn’t be as bad a problem.  But when apps don’t save their settings until they are actually closed, then those apps don’t close for hours or days, and then the poor memory management or disk error handling or a bug or whatever causes a hang and I have to pull my battery out, those changes (that I made hours or days before the crash) are lost.  Even if the "X" did really close the app, or if the (3rd party) app has an "exit" option, you can still hit this problem thanks to design choices made by the MS Mobile team. This http://blogs.msdn.com/windowsmobile/archive/2005/09/24/473620.aspx post explains the system but knowing why it happens doesn’t make it problem go away, only you guys can do that.  Please do. My smartphones don’t have this problem.

    WinMob 5 PPC was a HUGE improvement over previous versions of the PPC Phone Edition.  It doesn’t match the quality of the Windows Mobile 2003 SE Smarthphone edition for the basic everyday phone functionality, though, and certainly not the Windows Mobile 5 Smartphone edition, which is still my favorite mobile OS by far.  I use my PPC 90% of the time, though, because of the other features it offers (WiFi, better IE version, big QWERTY keyboard) and do hope that the successes of the SP edition will be ported to the PPC phone edition ASAP.  Ask around, find people who had the SMT-5600 and/or Cingular 2125 and then switched to a pocketpc.  It hurts.

    The good thing is that almost all of my problems are very easily solved.  The bad thing is that some are by design.

    scyost said "It seems like we can agree that this functionality is primarily useful for people that like to use 3rd-party apps. And there is at least one third party app that nails this feature and people recommend it."

    I disagree.  Of the 10 apps I use more than monthly on my PocketPC, only 1 is a 3rd party app (VirtualEarth Mobile) but, thankfully, it has an Exit button on the menu and avoids the problem every 1st party app has.  I don’t like 3rd party apps for basic functionality. Using my camera without a memory-related error message (possibly due to a web page I opened the previous day) is a basic function.

  75. MikeCal says:

    Shannon, thank you very much for the detailed feedback on what you like about SP vs PPC.  It is definitely the case that we spent more time designing the SP to be phone-like than we did with PPC Phone.  Since the first SP, we’ve been slowly merging the two platforms.  But, largely, that’s meant making the PPC more like SP.  You can expect us to continue to bring SP functionality to PPC until at, some point, it will be hard to tell the two apart.

    Zacho, walk through this exercise with me.  I’m in a room with a bunch of other engineers.  We’ve got ten different features that we know that a lot of people want.  But we know that we’ve only got time to do _one_ of them.  We’ve got to decide which nine to not do.  Five of the ten features can’t possibly be implemented by anyone but us.  The other five could potentially be implemented by OEMs or ISVs.  One of those five has already been implemented multiple times by both ISVs and OEMs, comes bundled on some devices, and is highly available to the subset of users who want it.

    Remember that I’ve got to find nine features to cut.  Which do I cut first?

    Mike

  76. Zacho says:

    I understand and If you say so, i’ll believe it. I have heard quite a few stories about how difficult it is to get something through at microsoft…

    I mentioned this because all it takes to make the change is to change one argument on one line of code from WM_MINIMIZE to WM_CLOSE.

    OK, i’m assuming, but it can’t be much harder.

    I am not trying to overstress a point and I don’t wish to be a nuisance. Nor am I saying go change that line of code you *****. Nor do I want to generalize you with the disgruntled microsoft-leavers who had nothing good to say about their previous job. I know you have a job and I assume you are busy and I never did assume that this change was top priority.

    Note: in the first third of the comments it almost seemed like you were willing to make a change…quicklike

    Just giving feedback, thanks for listening.

  77. Ack says:

    I just made a shortcut to Running Programs, assigned it to a button, that was that.

    Mike, if you could add Running Programs to Program folder or something, so that it could be added to the Start Menu or a button, I think it would really help.

  78. MichaelT says:

    Mike, first off, thank you very much for this posting. This opportunity to get an insight as to why something something works/doesn’t the way it does is helpful even if we don’t like it. I also appreciate the opportunity to be able to leave a comment.

    I am an ex-Palm power user and used to wear one out every year from usage. Our corporation is now evaluating MS Mobile 5 Smartphones and I’m on the pilot so it is important to understand what we will be facing for training of users. Though I prefer the dual minimize / close icon, we can get around it through training. It is a nuisance not to have consistency, but then again that has not always been MS’ forte. Thanks.

  79. Carl Bergstrom says:

    I have to agree that a user should not be =required= to manage their own memory.

    But why remove a user’s ability to do that memory management (close an app) if the user desires to?

    Removing the ability to close apps removes the users ability to manage a part of their world. This sort of do-it-our-way-or-go-somewhere-else policy has done more to irritate people than almost anything else about the Windows expeirnece.

    I don’t avocate changing the current UI, just adding an easy way to exit apps if I want to.

    Carl

  80. MikeCal says:

    Zacho, see my "I’m Just a Feature" entry on why it takes a long time to do a feature.  It’s not a matter of things being hard to do at Microsoft. It’s a matter of things being harder to do when you have 10 million users than when you have 10 users.  Anyone with millions of users faces the same challenges we face.  

    It would certainly be a small amount of code to make the close box close apps.  And doing that would make some percentage of our users (and our internal developers) happy.  But doing so would also make a different percentage of our users very confused.  I’d have to do a new blog explaining why on some devices you keep getting mail after you leave ActiveSync and on others you don’t.  Imagine the extremely angry mail I’ll be getting saying, "You call it ‘always up to date’ but I missed an important mail."  To which I’d say, "Well, you clicked the close box."  And they’d say, "I’m doing the exact same thing I did on WM5 and it WORKED there…"  Changing the code is easy.  But it’s not necessarily the right thing to do.

    I can’t speak to disgruntled employees who have left the company.  I’ve been here almost 13 years and I’ve seen both good and bad.  There are days where I flat out love my job, and other days when it frustrates me.  One thing, though, has been pretty consistent throughout the years.  I’ve always worked with good people who were passionate about making a good product that did the right things.  Maybe there are some parts of the company that are worse than others and I’ve been lucky or smart enough to avoid them.  But I have no intention of working anywhere else.  

    Mike

  81. Carl Bergstrom says:

    On 10/10 scyost said:

    "It seems like we can agree that this functionality is primarily useful for people that like to use 3rd-party apps. And there is at least one third party app that nails this feature and people recommend it.

    So it seems like it’s not really useful for us to integrate that functionality into the platform…"

    =======================================

    That line of reasonoing could apply to Internet Explorer, Disk Defragmenter, Access, Outlook, and a host of other software bits both intergrated-with-the-OS and stand-alone that Microsoft makes.

    Why would that argument be more valid in this case than in those other cases? (Where it clearly was not strong enough to rule the day…)

    Carl

  82. scyost says:

    It’s just a matter of prioritizing. Problems for which there is a clear customer workaround tend to get prioritized below problems for which there are NO workaround. I’m not saying the problem isn’t interesting or that we’re not listening.

    But for this problem, I can say "Go install Magic Button, you’ll love it". For some other problems I can only say "Sorry, there is no workaround in this version of Windows Mobile.". That second class of problems bubbles up in our priority list faster.

  83. Whydidnt says:

    It’s pretty obvious we are never going to convince the PTB that this is a necessary, good addition to the OS.  I personally don’t mind the default function being minimize.  What I HATE is that it is too difficult to close apps if I want to.  

    Many third party applications have added an Exit or Close function to thier menus and I find that an acceptable solution. I think many of us would find it an acceptable compromise if EVERY application, including the built in apps from MS offered this option.

    Mike, my personal experience is that you are greatly over-estimating the number of users that don’t want an easier way to manage memory.   Many users don’t know why their device is slow or not responding, just that it is. I have had to show many co-workers how to navigate through the multiple steps to get to the memory applet to close the Cr## that hasn’t been gracefully closed by the OS. They almost always look at me like I’m insane when I explain all of the steps and ask why isn’t there an easier way?  How many WM devices have been returned because they are "too slow" simply because the OS wasn’t properly managing memory, and the user didn’t know how too?

  84. JD says:

    OK, at least the team has loosened the logo requirements and is gradually cleaning up from the bad decisions of yesteryear. Assuming the key decision makers of those days are gone and now it is a matter of scheduling and priotizing, this is some progress. It’s progress because the arrogance is gone and now it’s down to practicality.

    You like dealing with scenarios, so here is one you should solve: BADLY BEHAVED APP. Some are written by you, some by third parties. The real question is: how can a user deal with badly behaved apps? Let’s be specific:

     1. To make sure that a badly behaved app cannot consume more resources. Let’s say that I load a really big video into my media player and it seems to have locked itself up or is taking too long processing. I don’t want to just navigate away from it, I want to shut it down. I want it to stop doing the silly thing it is doing. To me, that is the "X Escape Hatch" scenario.  On the desktop I can do this, it even pops up after a while if the badly behaved app doesn’t obey the Close command and lets me forcibly kick it away.  If you could instrument how often this is used, even for top notch products like Word and Outlook, I think you would find that this scenario is widespread.

     2. When I run a different app that normally works, but it seems to behaving strangely, I often troubleshoot by closing down other apps to get my system as stable as possible without requiring a reboot. Call this the "Reboot Avoidance" scenario. In any peiece of technology, be it a computer or the jukebox that the Fonz used in Happy Days, everyone knows that something on the fritz can be cajoled into operation again at times. This is an extremely valuable feature, what Microsoft typically recognizes as "Workarounds" and "KB Articles" after the bad design and triage decisions have been shipped. Having tools to achieve this increases customer satisfaction and confidence in the quality of the device.  On the other hand, a product that falls apart and is unrepairable or just plain doesn’t work again is dismissed as junk.  Your team repeatedly claims that Closing apps manually (as in WM_CLOSE) is a rare scenario, but I find that unbelievable. Every single person who uses these devices has hit a scenario where they wanted to close an application. I guarantee you.

     3. The need to track "Background Services". What do I mean by this? Things like ActiveSync syncing in the background, or Windows Media playing in the background.  When an app that doesn’t have focus is actively engaged in something, the user should have a way to rescind that action. You’ve correctly identified that this is different when you talk of the puzzlement that could occur if Closing ActiveSync actually closed it instead of minimizing it.  The thing is, the User has a need to handle these scenarios already, today. The truth is that these are special cases, and the general scenario of ‘normal’ applications (that are not service-like) is the one that most want addressed.

    The reason it is important to track these services is because they are NOT invisible to the user. As they are operational the user experiences effects on their device (slowdowns, music playing, network connections). So the idea that whether an app is closed or minimized should be transparent to the user is simply Wrong on some level. The ones I define as Background Services are different than normal apps. Once you’ve cleared your thinking around this issue, the remaining complaints that your team has about ‘Closing apps’ and ‘manual memory management’ and how it may complicate the user experience can be dealt with directly. Instead of insisting that all apps have to behave the same, you can spread the benefits of the work you’ve already done internally (you must have, to ensure that the Phone app and ActiveSync apps never get closed automatically by the Shell) to all app writers.

    So Background Services has to do with app writers having to opt in to some sort of system, and the user having some indication of background activity (a small activity indicator on the app icon could be plenty)

     4. The last scenario is "Navigation". You’ve acknowledged that the X button was more of a navigation experience concession than a memory management one. And the Start Menu has had an MRU of sorts as well to aid navigation. But as a result of not thinking through through the app navigation experience properly in 2000, this model is still awkward and incomplete. The Smartphone is much easier to use and navigate, as others have said, with the MRU on first screen and Back available to quickly swap. Please take this better model and just use it on Pocket PC. It has nothing to do with being a phone first, it has to do with easier navigation that fits together nicely. Specifically, work on the scenario of jumping from the app I’m in, to another app, and then back to the one I was in before.  This is the value that you want to improve on.

    So I’ve said a lot, but focus on these scenarios and don’t get tied up with a bad decision made a long time ago:

    1. Bad App Escape

    2. Troubleshooting without Reboot

    3. Treating Services Specially

    4. Better Navigation of Apps

    And you will feel customer love when you get it right. I guarantee it.

  85. scyost says:

    Don’t take my comments to mean that that we’re not listening or that this will never change. There is lots of heated internal discussion on this topic and the topic is not closed. We appreciate all your detailed comments and feedback.

  86. MiniMage says:

    I’ve been using third-party products to CLOSE my apps since my first PPC device in 2002 (can’t remember if I had to use apps to close programs on my BE-300), hoping that MS would come around.  The extra apps always seem to obscure some info I need on the taskbar.  Now that I know that I should give up hope, I can look in another direction.  Still, I would like to add my voice to the chorus that says that allowing a user a choice doesn’t have to force a user to act.  If the option was there only there for some of us, minimize could still be the default.  I love my WM5 phone, but you guys must know it doesn’t handle memory the way it should.  Until the OS stops forcing some of us to manage the memory via workarounds and resets, we should have an easy way to close our apps.  Sure, it’s easy to say we are a tiny minority, but I can’t tell you how many times this little support tech has "fixed" a user’s problem with a PDA or phone by doing a reset.  Do you think the majority of users will inform MS every time they have to do resets to get their devices working again?  How would MS know about it, if they didn’t?  The answer might be that MS WOULDN’T, and would then assume that all is perfectly dandy.

    Yeah, I know; we keep buying the things.  I didn’t say they were awful.

  87. BeanSprout says:

    MiniMage, did you even READ the rest of the comments?  

    It’s not just about "wow, this feature is a great idea, it should really be in there." It’s also about "wow, these 10 features are great, we don’t have time to implement all of them, these 5 (like the CLOSE stuff) have workarounds, so let’s fix the 5 that don’t instead."

    Check out this other entry, "I’m A Feature:"

    http://blogs.msdn.com/windowsmobile/archive/2006/09/11/749942.aspx

  88. Bia Kunze says:

    You keep the "X" button, but for closing, and add a "-" button, for minimizing. Just it. So simple, farewell.

  89. Doug Moran says:

    As others have commented, one of your base assumptions is very much wrong:  as a non-multi-tasking OS, Palm applications did in fact close before you opened other apps.  There was no other way to do it in a single-tasking environment.

    Another problem that I (and others) had is that, instead of building a new PDA OS from the ground up, it appeared instead that MicroSoft said, "How much of Windows can we fit on a PDA?"  This is a very different question from "What are the critical apps that a user needs on their PDA, and what is the Windows version of that app, and how can we make it efficient for a PDA?"  In my opinion, *this* was why Palm was kicking your butts; they built from the bottom up, only adding what was needed.  You tried to shrink something that was–let’s face it–pretty darn bloated down so that it could fit on a PDA.  It didn’t work.  Nowadays it works better, but it still has problems.

    As far as where we are today, there are two things to mention:

    First, I *don’t* want to manage my memory.  What I *do* want, however, is my device to run quickly and well.  And when I see a big ol’ "X" up there, which *in every other Microsoft OS ever implemented* (and a lot of other non-Microsoft OSes as well) means "terminate this sucker", it comes as a big shock to find that it *doesn’t* terminate that app, just puts it in the background to maybe, someday be terminated if the right conditions (which are a deep, dark, registry-held secret) are met.  You broke your own paradigm, dude; that’s a bad idea.

    Second, you could have made it configurable.  Telling the (literally!) millions of folks who hate this "feature" that "it’s no problem, just get a third-party app!" is a really lame response.  And to come up here and say well, no, we’re never going to do anything about this feature that a lot of you hate is, well, not exactly customer friendly, nu?

    So here’s what I would suggest:  change the X to a horizontal dash *like every other Windows OS*.  Or *add* a horizontal dash.  Or make it configurable.  No offense, dude, but how hard can it be?

    Doug

  90. Lee de Byl says:

    Using the argument that users shouldn’t need to manage the operating system’s memory usage to justify the current functionality of the |X| button is unjustified.

    Users already manage and have control over memory usage – after all, they’re able to load an application into memory, so why shouldn’t they be able to perform the reverse of that action? In other words, if users are given the capability to bring applications INTO memory, then they should be given the capability to release applications FROM memory easily.

    What I want to know is why are "optimisations" such as leaving idle processes resident in memory on devices with extremely limited memory necessary anyway?

  91. MiniMage says:

    As a matter of fact, BeanSprout, I did read all the comments. However, I won’t claim my memory is all it should be.  Seems teams at the big M are always running out of time to do this or that.  One group didn’t have time to put themes in XP; another group doesn’t have time to put non-Aero themes in Vista; there’s no time for us to close our apps in Windows Mobile.

    I imagine development is difficult. I sure can’t do it. I just get to sit back, use and support the final products and wonder where the time went.  Tell ya what, though, I’m on my 5th CE-based device since 2002, so I’m obviously loving, not hating.  I did say I wanted to add my voice to the chorus. It has been implied in beta testing that the squeaky wheel gets the grease.  Obviously, other issues squeaked louder last go-round (and perhaps deservedly so).

  92. MikeCal says:

    JD, thank you very much for the detailed comments.  I personally feel that we should have an easy way for users to tell which apps are running, how much RAM they’re using, how many CPU cycles they’ve burned over the last n minutes, and how many network packets they’ve caused to be transferred.  I happen to want this for different reasons than you do, but it would help both of us.  (-:  It won’t happen in the short term, but I’ll keep pushing for it.

    Regarding SP vs PPC, if you look at the major changes to PPC since SP shipped, you’ll see that most of them are things that make PPC more like SP.  SP is definitely a better phone experience than PPC is, and we’ll keep moving toward moving SP functionality into PPC.  

    Regarding the arrogance of the decision makers on the X button, yes, the person who made that particular decision isn’t with us anymore.  I don’t know if I’d call him "arrogant," though there’s a fine line between "arrogant" and "passionate" and he definitely walked that line.  He was the kind of guy who would require that the whole team turn off their desktop machines and read their mail only on their PocketPCs to force us to make the experience better.  He had a lot of contacts, and when his experience wasn’t good enough, he forced the entire team to load a similar number of contacts on their devices and work that way.  As much as people don’t like the X minimizes decision, there are aspects of his leadership that I really miss.

    Mike

  93. MikeCal says:

    Doug, I’ve said it before, and I’ll say it again.  If you’ve got hard data that shows that literally millions of people hate the feature, please share it with us.  I would happily take that data to product planning and use it to convince them to change the behavior.  The trouble is, despite what people believe, such data does not exist.  In fact, there’s a good deal of data that says the opposite.  

    It’s human nature to say, "I hate this, and I’ve talked to 10 other people who also hate this, so everyone must."  Unfortunately, the world doesn’t actually work that way.  Even if you personally knew 10,000 people who disliked the feature, you’d have only talked to a tiny fraction of the user population.  Remember that the vast majority of users don’t hang out on this blog, don’t read PocketPC newsgroups, and don’t load third party programs.  

    Mike

  94. Avec la sortie des premiers Pocket PC, un mystère est apparu : pourquoi la croix placée en haut à droite

  95. Well I’ve been around since Windows CE 1.0 was announced almost exactly 10 years ago. So I’ve observed the transition of Windows CE into Windows Mobile as it is delivered today.

    I see things a little differently when it comes to memory management, multitasking and the user.  IMHO, it would be ideal if Microsoft allowed users to control the scope of multitasking on their device.  Specifically allow the user to choose how many applications will be run at a time.  So if you choose one app at a time then it will close all apps when you run another one and it may be slower than multitasking 2 or more apps but the user gets the choice.  Also, there should be a maximum – like the arbitrary 8 apps at once that Windows Mobile has today. (The core Windows CE that Windows Mobile is based on supports up to 32 apps at the same time).

    Microsoft is in charge of how their apps and 3rd party apps work on the device.  So to say that a 3rd party app can hijack the system and just blame them ignores the responsibility that the operating system has to control applications.  After all Windows Mobile is Microsoft’s operating system.

  96. While you are at it, would you care to comment on the fact that the Windows Mobile Blog site is not PIE friendly? 😉

  97. With respect to the "Close" issue, I think that not doing somethins like modifying the "X" so that a tap/hold gives the users the exit option reenforces the strong feeling in the user communities that MS doesn’t really care what the user feels he/she needs to use the device productively.

    Beverly Howard [MS MVP-Mobile Devices]

  98. Jacco says:

    Now, about Windows Mobile’s Connection Manager ("URL Exceptions", "The Internet", "Work" )…

    The guy who designed it, is he here? I’d like to have 5 minutes with him and this pencil. An eternity with Beelzebub and all his hellish minions will be nothing compared to it.

    (With apologies to Blackadder fans).

  99. dougom says:

    Mike:  It’s not really reasonable to ask me to provide you with hard data.  How on Earth could I?  If you give me several thousand dollars and the time to confer with a human factors consulting team to create a survey, a list of WM users and their phone numbers, I can do a sample survey and provide you with data.  Heck, I wouldn’t even mind coordinating the project if MicroSoft would foot the bill.  But otherwise, your request is not reasonable.  But then, I’m sure you knew that; y’all are just trying to spike my guns by saying, in effect, "Yeah, yeah, *you* may hate it, you mouthy jerk, but we have charts and graphs that show us that lots of people love it, so shut the heck up!"  An understandable reaction to mouthy jerks like myself.  [laughter]

    Is it reasonable to point out that I may be exaggerating for effect?  Sure.  But if there are, let’s say, 10 million users of WM, and 10% (to pick a random number) hate that feature, you’ve got 1 million unhappy customers.  That’s a lot of unhappy people, no matter how you slice it.

    Now, I have no idea what the install base of WM is; you work at MicroSoft and I don’t, and presumably have better access to those figures.  I picked the figure "millions" because it is common knowledge that the MS install base for Windows is tens of millions (perhaps hundreds of millions?), and it didn’t seem unreasonable to me to postulate that there was a large minority of WM users who hated that particular feature.  The very fact that a heated debate appears *every time* the topic comes up–be it here or elsewhere–should clue the WM team into the fact that this is not a beloved feature.

    But honestly Mike, I think you dodged the main thrust of my post, which is:  *you broked your own paradigm*.  There *are* tens of millions (hundreds of millions?) of installed Windows users.  It is reasonable to assume that when a person buys a WM device, they already have a Windows system somewhere at home, or are at the very least familiar with Windows.  Why the heck would they expect an "X" to put a program in the background, rather than close it?  Closing it is the functionality they have come to associate with that feature in *every other* iteration of Windows, not to mention other OSes.  Forgive my bluntness, but it was a bad decision to change this functionality.  Use a different icon, perhaps, but break your own paradigm?  I have worked in software for a long time, and that’s a really bad idea.  

    So to repeat:  there are several things you can do.  You can make this configurable.  You can change the "X" to "close" and add a "minimize" or "background" icon.  Or you can simply change it so that it closes the programs *as every other Windows OS does*.  But to have it function differently is a very bad idea.  And to say to your users, "Well, yeah, we know some people don’t like it, but you can install a third-party application to get around it" is not a good solution, to put it mildly.

    Here’s a different perspective:  I am hardly a novice.  I have worked in Windows, raw DOS, UNIX (several flavors), PalmOS, and probably some others that I have forgotten.  But I *am* new to WM; bought my first device the other week.  And it is a constant source of astonishment to me that I am having to spend so much time installing third party applications to modify features and optimize functionality to get WM to run reasonably well.  I would expect it to run well out of the box.  Symbian devices do.  PalmOS devices do.  Linux devices do (sort of).  Why don’t WM devices?  It seems very unreasonable and, honestly, very user-unfriendly.

  100. dougom says:

    Two other things, Mike:  I *don’t* hang out on this blog.  I only got pointed to it because my brand new, extremely expensive WM SmartPhone was running dog slow.  After searching a few boards for a solution, I found out about the "X doesn’t close, it only puts it in background" issue, and also found that the topic was being discussed here.  So that’s why I came here.  But believe me, I don’t make it a habit.

    (Also, as an aside, you kind of make my point when you yourself point out that most users "don’t load third party programs."  Exactly why they shouldn’t be required to just so that they can close programs in WM and keep their devices from bogging down!)

    Second, if it would do you folks any good, or be helpful in any way, I’m happy to share my opinions as an "experienced software guy who is new to the WM environment."  I’ve got a list. [laughter]  Feel free to send me email, so’s we don’t bore to death the folks who *do* hang out here.

    Doug

  101. Amar Galla says:

    First of all thanks for the nice and informative article. It seemed to clarify a lot of things. Now if I need to permanently close an app, I will either choose exit / close from the app menu if there is one, else use the task manager and end it. Otherwise I am happy to keep small memory apps which I use frequently, run in the background.

    I have recently started using a Windows Mobile device, HTC Hermes, and it is my first WM device. I have to say that it is a BIG refreshing change from the boring interface of Nokia and similar phones which I was literally fed up with. This phone gives a lot of flexibility and I actively hunt for the 3rd party app which will make my usage more personal. If I don’t find one, being a professional MS developer, I can also decide to go ahead and write one.

    But there are a few irritating aspects which cannot be dealt with third party apps ( as per my limited knowledge). Things like, when I get a message which is short, and I have read it on the main screen itself, and click dismiss, it still remains as an unread message in my messages folder. I have to open it up fully and then close for it to be flagged as read. Lack of profiles to set, and hence I end up setting my speaker off almost the entire time during the day. Would love to see profile support, and if possible programmable program support to say monday – friday 9-5, is metting mode, rest is normal mode. Activesync is one of the biggest headache’s I have. It is liveable, but definitely can be made to give a better experience. To add a contact, I have to scroll down to access the home phone fields. Basic contact like name, phone, email should be topmost and the rest can go below. Small things like this will refine this platform even better and give it the polished look it should have.

    Regarding the issue of closing programs, I am a bit of a perfectionist, and prefer to close all programs and keep the system lean and fast. I end up finding myself going to the running programs list and closing all. But it is not too much of a problem. Can’t you just add a setting in the config somewhere which lets us choose if we want to close or minimise on clicking x. So by default it minimises on clicking x, but if I choose to, I can toggle the behaviour to close on clicking x. Saves a LOT of hassle, pleases everyone ( well, no change pleases everyone I guess, but this one at least gets some of the unpleased to the pleased group ). Gives users options without drastically changing the way they are used to.

    Will read this team blog closely, so thanks for the explaination and keep posting.

    Some info about the life of my phone with Vista and Office 2007 would be very reassuring. Not sure if I will be able to use the contact / notes / tasks sync features of the new platform with my phone, and so a bit hesitant to upgrade my main machine. Some news about you guys working on it would be very reassuring.

  102. MikeCal says:

    Doug, sorry, I certainly wasn’t telling you to shut up.  Trust me, I’m acutely aware of the fact that I can make a decision that angers "just" 1% of the user base and still make hundreds of thousands of users furious at me.  Yes, this weighs heavilly on me, and I assume it does on any developer who writes code for millions of users.  Even when you make a decision that makes 99% happy, you have to weather the storm of thousands of disappointed users.  

    But this doesn’t change the fact that we have to base our development decisions on what helps the most people.  Because, as nasty as it is to have hundreds of thousands of users disappointed at us for not doing the feature they wanted, it’s worse to have millions and millions of users mad at us for not doing the feature that affected THEM.  As much as you hate the X button, changing at the expense of a more universally needed feature is the wrong thing for us to do.

    Mike

  103. dougom says:

    Hi Mike:

    Hey, I wouldn’t mind if you were telling me to shut up.  I can be difficult to deal with.  And I’ve been in your position plenty of times, albeit not at MicroSoft.

    At the risk of sounding like a stubborn jerk, you *still* haven’t addressed my main point, which is this:  you folks changed the paradigm.  You had a piece of functionality that Windows users in every other Windows environment were used to:  "X" closes a program.  You changed it.  Now people get confused.  Even highly experienced software yahoos such as myself who are new only to WM.  And the symptom of the problem is not exactly indicative of the soltuion.  (Problem:  system running dog slow.  Solution:  install a third-party app so that "X" *closes* your applications instead of iconifying them!  Not intuitive.)

    So to reiterate:  you had a design paradigm.  The WM team *broke* it.  That was a bad idea.  You can change it in a number of ways that have been suggested here.  That’s the main thrust of my comments.

  104. MikeCal says:

    Doug, I’m pretty sure I’ve covered that point in both the original blog entry and in comments here.  Some people (both internally and externally) consider the decision to use an X "brilliant" and others consider it "unforgivably stupid."  I’ve been careful to not reveal which side of that fence I’m on.  (-:

    Mike

  105. DaveG says:

    Mike, of course we can install a 3rd party app to close programs and of course we can go to memory management in the control panel but this is an inconvenience, it would be far better to have an option within the control panel that sets application behaviour. The default behaviour would be for the X to put the application to the background as it does at the moment and for there to be an option that makes the X close the app, wouldnt this be a win win situation for all?

  106. MikeCal says:

    Dave, no it would not be a win win.  To do that we would have to cut some other feature that more people want.  Those people would consider this a "lose," not a "win."  

    Mike

  107. Jesse Ezell says:

    How about you just put two damn buttons on the screen so I can do what I want and don’t have to keep popping my battery out?

  108. daniel says:

    So, as a .NET developer I have a question.  I "get" the reasoning behind the no-close feature.  But suppose my app _needs_ to have the ability to run in the background, and the user is likely to want to leave it running while doing other tasks?  Two common scenarios would be GPS and RSS readers.   The user, knowing the ‘X’ doesn’t _really_ close the app clicks it.  Sometimes it works fine- the RSS reader updates itself in the background and the user can come back an hour later and his news is there.  Sometimes, though, they come back and the app wakes up and immediately starts downloading.  In this class of apps, the memory management feature introduces some inconsistency to the user experience.  This has been my experience with the pocket RSS readers out there now- what I’m hoping is you’ll tell me there is a ‘never-close-me’ api call…

  109. Great post.  The explanation sounds reasonable, but like many of the others above I think it still is pretty lame.

    1.  The amount of memory is never enough.  Even for people who only use their device for basic calendar and contact managmenet, crashes are frequent without the close option.  For power users who try to use their windows mobile device as a laptop (I often include myself in this camp) we will absolutely NEVER have enough memory!

    2.  Not having a close function actually makes everything MORE difficult for end users.  I have had to instruct MANY pocket pc users on how to use the Dell Task Switcher utility, or one of the many others out there.  Most of them were about to throw away their devices out of frustration.  All were confused about why their device became progressively slower over time.

    3.  I agree with those who say that the "X" that does not close is confusing.  I bet if you surveyed the average windows mobile user they would say they thought hitting "x" closed the program.

    I mean none of the above as "personal" attacks on you or MS.  This is just a summary of criticisms of the philosophy that the "x" button thing you have going works.  I think that your stance would be far more defensible if all WM devices came with about 4 GB of RAM, but of course not even my current desktop has that!

  110. Mark Kovecks says:

    When I use a program that I want to remain in memory while I use another program, I make that decision. If I want to exit it, because I won’t be using it again, I think I am capable of making that decision too. What makes Microsoft think we’re not capable of making those kinds of decisions. Fortunately when it wasn’t built into the operating system, we had alternative choices. Wisbar for example.

  111. bcuriel says:

    I’ve read over this page, and as a new WM developer I find the different points of view very interesting.

    However, I feel like your team is underestimating the effects of the "x" issue, as the argument I’ve heard is "We can change that but we have to cut some other feature." In reality, this issue is not a feature, but a bug, since it introduces strange behavior over which the user has very limited or poor control. Having to make a user visit a separate application to close something down to unlock a file is just broken and frustrating. Having the OS slow down over time is also a bug and I’d be very surprised if you haven’t seen a bug report from some novice user saying that "after using system for X amount of time, performance seems to slow down and get sluggish."

    So to MikeCal who explains why this isn’t a win/win, I disagree. The 99% vs. 1% things hold for features, but I don’t think it’s true for bugs. 100% of your users experience the benefit of a fixed bug, especially one that has such a profound affect on overall system performance. These should not be rated on the same scale as adding X feature to Y program. For me, that justifies the question "can you fix it."

    The next is obviously "should we fix it", since the article starts off by stating that users shouldn’t have to manage memory. I’d argue this solution MAKES the user manage memory. To a basic user’s perception, they are just starting a program and stopping a program, the concept of memory never enters their consciousness. But now their system gets laggy, and the friendly IT guy shows them how to close things in the memory control panel and everything is better now. Except they’ve been forced to manage memory, which prior to now was likely not even a thought in their head.

    In my opinion, you guys made a decision that was more idealistic than practical. You are underestimating the satisfaction of having something "just work" all the time and not having to jump through hoops to get it to do so, such as downlading a third party app or opening up the memory manager. I would think system stability would be a very high priority.

    You stated that the memory manager is constantly being improved and worked on, so you know this is a deficiency and there are already resources allocated to this effor. It seems like you are spending more effort trying to make keeping apps in memory work better than it would take to remove the behavior and add a service type functionality for the apps that need it.

    You guys are smart though, so I’m sure you’ll get there eventually. But I’m firmly on the "bad idea" side of the fence.

  112. feawing says:

    I’ve read somewhere that  the real problem with the X not stopping apps is that Win Mobile has a hard limitation in the total number of simultaneously running processes… if this is true then it leaves you two trhing to add on your long (I’m sure you’re very well occupied) to-do list:

    1. Remove the hard limitation on concurrent processes (do NOT say some stupid thing like let’s put a 128 process hard limit they’ll never get it that far because eventually we will… Some of us spent a few years fighting with the 640kb hard-limit you remember?)

    2. Prevent backgrounded apps from owning access to a ressource (yes that means you’ll have to decide what to do with the app when it is called foreground again and it’s trying to play a file that’s no longer there)

  113. dougom says:

    *Sigh*

    Mike, you say, "As much as you hate the X button, changing at the expense of a more universally needed feature is the wrong thing for us to do."

    Let’s leave aside my feelings for the moment, okay?  The point here is, *Microsoft* defined the "X" button in Windows to mean "close."  And then *you folks* turned around and redefined it.  I’m not denying you folks the right to create a new feature–"put the program in the background"–what I’m saying is, why on God’s green earth did you take a universally understood piece of GUI functionality–the "X" button–and *redefine it* for that new feature.  *That* was stupid.  And no amount of hand-waving can make it un-stupid.  Maybe the need for a "backgrounding" feature was stupid or not–I have my own opinions–but *stealing* an accepted and understood piece of functionality *changing it* most certainly *was* stupid.  And forgive me, but anyone arguing otherwise is fooling him or herself.

    Look:  Windows Mobile is frustrating enough.  When I have *no other* applications running, it still runs so slowly that I have to install Pocket Hack Master (a third party app!) and bump the clock speed of the processor by hand to its nominal *normal* speed to make it run resonably well.  Why?  When I close the Comm Manager by clicking "Exit," it doesn’t close, even though the process doesn’t show up in the Task Manager window, and I have to close it through everyone’s favorite Start > Settings > System > Memory > Running Programs sequence.  Why?  Sometimes the "Phone" screen shows up randomly after phone calls, even though I have dismissed the window.  Why?  I can turn on my WiFi connection by simply tapping the WiFi icon in the Today window and then tapping "Turn on WiFi," but if I God forbid want to enable my GPRS access, I have to tap the WiFi icon, select Settings > Connections > Manage Existing Connections, and then tap and hold my connection to to turn it on.  Why?  (Why isn’t there a stinking shortcut the way there is for the WiFi functionality?  Or why can’t you at least give me the *ability* to create a shortcut?)  Why can’t I go from my Contacts list to my Calendar, or vice-versa, as I can from my desktop?  Who came up with the insanely ugly design of the Contacts list (grouped by three letters at a time; yeesh)?  Why does my email always tell me "Cannot download email messages" immediately after successfully downloading my email messages?  Why can’t I tell ActiveSync to not sync every time I plug my device into the cradle, as sometimes I simply want it to charge?  WM hangs at least once a day, forcing me to reboot; why?

    I could go on and on, but I’m sure you’re getting the picture here.  To say that WM provides me with a great deal of regular frustration is understating the situation a good deal.

    When you add in the frustration of the fact that I had to install Magic Button, which I must then put on the Start menu and make sure I remember to re-enable after every reboot (which happens at least once a day), *just to get the "X" button to function the same way it does in every other piece of MicroSoft software*, you can see why I find this frustrating and, frankly, indefensible.  It is not a software development decision that can be argued either way, Mike; it is a *bug* that needs to be *fixed*.  You folks *broke your own rules*, and now you are trying to wave your hands around and try to argue that it’s simply a difference of opinion.

    Well bushwah.  You folks blew it on this one.  In a lot of cases, I’m willing to see the other fellow’s side of things and acknowledge that, while I might not like it, I can see their point.  But you *broke your own rules*.  This isn’t just me; you broke *MicroSoft’s* established rules.  This is a *bug*.  Stop arguing about it and fix it.  People here have given you plenty of different potential solutions.  Implement one.

    I mean, good grief, man, for how how many more years do you have to listen to people screaming in rage and frustration about this issue?  How many more articles have to appear on BrightHand and C|Net?  What more does it take?

  114. scyost says:

    feawing – 32 processes is a limit of CE 5.0 but it’s gone in CE 6.0. So the next Windows Mobile release that’s based on CE6+ won’t have a 32 process limit. On modern devices though, RAM is more scarce than the process table.

  115. dougom says:

    Or here’s an analogy for you, Mike:  in every house I have ever been in in this country (and in every one that I can remember in a number of other countries all over the world), when I flick a lightswitch up, the light in the room goes on; when I flick it down, the light goes off.  In the dining room in my house, however, the switch was installed upside-down and so when it is flicked *down* the light goes *on*, and vice-versa.

    Now, if I somehow managed to find the person who did that, and he gave me some kind of explanation that, well, it’s a *dining room*, and the functionality for a *dining room* is different, because those rooms are used in different ways, and it’s important to let the user know that he’s *in* a dining room whenever he enters and leaves it, and a good way to force the user to know that is to have the switches work in a different manner, should I just say, "Ah, well, that’s just a difference of opinion, I can see where he’s coming from?"  Or should I demand he reinstall the switch so that it works the proper and expected way?

    Sorry to get all pedantic on your ass, but I’m kinda losing my patience here.  You guys are rationalizing and, frankly, it’s pissing me off.

  116. MikeCal says:

    Daniel, if you need to write an app that can’t shut down, you have a few options.  The best one is to make the part of your app that needs to keep running be a service.  The memory manager doesn’t shut down services.  An easier but less guaranteed answer is to make your app headless.  If it doesn’t have a window, the current memory manager won’t find it to shut it down.  I can’t guarantee that will always work, but it would work with current devices.

    Mark, the decisions we made had nothing to do with thinking users weren’t capable of making decisions with closing apps.  If I gave you that impression, I’m sorry that I didn’t do a good enough job explaining it.

    bcuriel, the line between "bug" and "feature" is pretty blury.  You could just as easily call WinCE’s 32 process limit a "bug," but fixing it would require a complete rearchitecture of the kernel.  Bugs that take a significant amount of time to fix need to be prioritized with everything else.  That said, I agree with your sentiment that things should "just work."  And I agree that we should spend time making that happen.  However, I disagree that turning the X button into a close would fundamentally change the "just work" situation.  I spend a lot of time dealing with things that don’t work, and in most of those situations, having an X button close wouldn’t have fixed the problem.

    feawing, yes, we’re working on both the 32 process limitation and the 32M/process limitation.  We rearchitected pretty much everything to remove those in the recently released "Windows CE 6.0".  But let me clarify something Scott said.  It would be easy to interpret what he said as "The next version of Windows Mobile will use CE 6.0."  That’s not what he meant.  He meant, "When we release a version of Windows Mobile that’s based on CE 6.0, that limitation will be gone."  We haven’t announced anything about when that will happen.  

    As for preventing apps from owning resources in the background, that just won’t work.  Windows Media player wouldn’t be able to play music when it was in the background.  Active sync wouldn’t be able to sync your email when it was in the background.  RSS readers couldn’t download RSS feeds in the background.  Being able to own resources in the background is fundamental to a multitasking OS.

    Doug, if you’d really, really, like me to come out and say that I think it was a mistake to make the "X" button look like an "X", then fine, I will. I think we should have made it look like … well, anything, other than an X.  A downward pointing triangle would have been just fine with me.  You see this clearly in comments here and elsewhere. "I hate the PocketPC, but I love the Smartphone."  They’re doing the exact same thing.  Just the smartphone doesn’t have an X.  "I’m leaving PocketPC for Symbian."  Symbian is doing the exact same thing too.  It just doesn’t have an X.  "Users are confused by the X."  Yes they are.  Should we change it?  Yes we should.  What should we do?  I, Mike Calligaro, personally believe that we should get rid of it.  No rationalizing here.  No hand waving.  I want the X button gone.  

    Will it be gone in the short term?  No it won’t.  However, when I look at the team that would have done the work to change it, and I look at the work they did instead of changing it, I firmly believe that they made the right choices.  I believe that every feature or bug fix that they did that was more important than changing the X button.  

    We make hard decisions.  People hate us for them.  It makes our jobs difficult.  But, believe what you want about us, we genuinely try to do the right thing for the largest number of users.  And the things we’ve recently changed or fixed have been more important to more users than changing the X button would have been.  

    But mark my words.  One way or another, some day, some way, the damn thing’s gonna die.

    Mike

  117. dougom says:

    [Heaves a deep sigh.]

    THANK you.

    So.  Now shall I send you my bug list for WM5?  [laughter]

    Doug

  118. dougom says:

    Mike:  in all seriousness, if you have a standard bug filing format, and if it would be *useful* for you folks to get my list of bugs, I am *happy* to send them in.  I have been keeping track as I go along, not because I like to make people miserable, but because I’m a software guy, and hold out hope that bugs can get fixed.  (And I’m talking real bugs here, not features; Comm Manager doesn’t close unless you close it by hand in the Memory Manager, for example.)

    So, if you want me to send in these bugs, I’m happy to do so.

    Doug

  119. tweakradje says:

    I read that WM5 would have that Close button (or a choice anyway). Could not find it when WM5 was released. Whatever. We have GSPMagic++ (http://homepage3.nifty.com/UK-taniyama/tools/GSPMagicPP.html) That is how is should be implemented and many more in a few Kb´s. With a choice to the user to close or minimize apps. Call me a wise guy if you want…

  120. Rob says:

    This has to be the dumbest thing I have ever heard… there’s no way that the majority of people prefer not having the ability to close an app other than by performing a process analogous to ctr alt del on a desktop pc, but maybe even more tedious. This must be fixed. Good effort on trying to give some reasoning on the topic mike, however I think it’s impossible.

  121. Kazi says:

    Look at this, an official Microsoft Windows Mobile site says the following:

    http://www.microsoft.com/windowsmobile/mobile/render.aspx?url=/windowsmobile/mobile/pocketpc/memory.mspx

    "Free Up Memory

    If you’ve occasionally run into an error message on your device that says your memory is low, you may need to close some applications. Unlike a PC, the apps on your device don’t necessarily stop when you think they have–leaving multiple programs open which chew up memory. This speeds up access to them, but reduces the available memory.

    Stop programs to free up memory

    On the Home screen, tap Start.

    Tap Settings.

    Tap the System tab.

    Tap the Memory icon.

    Tap the Running Programs tab.

    Under Running Program List, select the programs you are no longer using and then tap Stop.

    To stop every program running, tap Stop All.

    Tap OK.

    "

    Hehe 🙂 Nice, isn’t it? To reach this page: run PIE/Favorites/Explore Windows Mobile/Free Up Memory. So, why should I manage memory then? You can read the official answer from Microsoft right on your Windows Mobile device.

    Kazi

  122. Moby says:

    Well, so now we know, why it does not close.

    But what about an extra Icon, additionally one.

    So we have 2 Icons for an Program… a "_", which does the same as "X" does now, and a "X" for close.

    Old Programs are happy, coz, internally the "_" icons appears under the same names and associations as the "X" does now.

    The new "X" has then an default way, which does use the same method as the Memory control panel. And it should be overrideable, just in case.

  123. F says:

    Make WM like wXP, let users close with the ‘X’.

  124. Tom Dibble says:

    It’s all fine and good keeping things in memory.  I just have two requests:

    1.  Then I should NEVER, EVER, get the "close some apps to free memory" message when I’ve been "closing" apps all along.  In other words:  I don’t think your memory management is really as smart as you think it is, and, no, it’s definitely not smarter than I am!

    2.  NO app, especially not an MS one, should have a system-wide effect when it is "closed" but not "exited".  Example:  I insert a memory card into my Treo, what will happen?  Well, if Windows Media Player is sitting in the background (meaning, I’ve hit the "close" button but Windows Mobile decided I wasn’t smart enough to manage my open applications), I get asked if I want to look for songs and videos on the card; if it’s actually really exited, I get no such prompt.

    These are little things, yes, but they make Windows Mobile a pain in the ass to use.  It’s never the same experience twice!

  125. Adamodeus says:

    Very interesting arguments.

    I agree that Windows Mobile SHOULD handle memory but this can be easily deconstructed in the real world.

    Here is a simple test: open any 6 different programs in your Windows Mobile / Pocket PC phone. Now, try to run your camera. This results in a "not enough memory" error. Shouldn’t Windows Mobile have freed up some memory for your camera application?

    It’s the right idea, but until it can actually be implemented, don’t you think we should have the ability to free up the memory ourselves?

    I do know plenty of users who do experience slow-downs. But where are all these millions of perfectly happy users? If you’ve got hard data that shows that literally millions of people never experience memory problems on their Windows Mobile devices, I’m sure I speak for everyone here when I say that we would all like to see it.

  126. martin says:

    this horrible decision is the main reason i absolutely hate my new phone.

    i don’t see the point in comparing a windows mobile device to a VCR, windows mobile has multiple applications.

    and, if u decide to leave application’s open, please don’t use an X symbol !

    AND

    please add a way to switch between all open applications easily.

    what a piece of crap, the worst 600 dollars i ever spent.

    furthermore (unrelated), i would like to know why:

    1 my phone decides to hang up 2 out of 3 calls, before i have a time to answer

    2 my phone managed to call 2 different people, while i was away (probably my cat)

    3 i would use the automatic lock feature, iF IT WASN"T SO STUPID TO LOCK THE PHONE IN THE MIDDLE OF A CONVERSATION, IDIOTS !

  127. Stephen says:

    Your logic makes sense but really it makes better sense to have the minimize button just windows desktop.

    X and _ give us the choice

    … It does not really bug me cause I forked the cash up for SPB Plus, a windows Mobile 5 addon that adds today screen functionality and the ability to close apps when you press X

    But seriously it seems like you guys are trying to be dictators with both this and the ActiveSync issue.

  128. Jim says:

    Would it kill you guys just to make a system option that lets users choose wether the X buttom performs a "move to the backgroud" or "close" task?  I mean, come on, you’re Microsoft here.

  129. TheBadEye says:

    Actually, consistency is everything.

    If you wanted it to go into the background why did you not just make it the minus sign and a minimize?   That’s what it is doing anyway.

    No GUI is intuitive, they are just conventional

    break the convention and what do you get.

    Bad GUI!

  130. FrankB says:

    Hi,

    Thanks for the article and discussion. I appreciate the openness.

    An argument that has been repeatedly stated was about the harsh realities of feature prioritization, and "leave it to third parties".

    As quite a few people have pointed out, the fact is that MS apps are not perfect, 3rd party apps are not perfect, and WM5 is not perfect. Resources getting hogged happen, daily.

    Due to this, closing applications by digging into the utterly inconvenient menu or resetting the device to recover functionality is a necessity.

    This makes this close story a basic useability and reliability issue, not a nice-to-have feature.

    I don’t know how things are done at MS, but I’ve been in SW development for 20 years in fairly major companies. Everywhere I know of, basic useability/reliability issues (especially cheap ones of course) are given priority over new features.

    Also, the issue is on a standard UI element and basic platform usage: Microsoft’s own field, not third parties.

    The fact that a large number of third parties have been implementing workarounds to this issue is not an indicator of a healthy ecosystem. It’s rather a clear sign that something’s wrong. And should be taken as such.

  131. Having read this I now understand why it works like it does.

    But it is very frustrating.

    I’ve experienced "file in use" issues, and slow downs with my Wizard because of a lack of memory…. and had to go through the 10 taps to close programs before I can get performance back… which kinda makes me wonder about the comment that WM5 manages it’s own memory closing apps as required…

    Maybe WM6 will improve the memory management, or the next round of devices will start shipping with GB rather than MB 😉

  132. One thing that has always confused me about the Windows Mobile platform is why the close button (that

  133. Sam says:

    What pissed me off is .Net 2.0 applications don’t show up in the task manager so they can be stopped there.  I’m a programmer, now to install a new copy of an application if my application is failing in a download cycle is to download a third party tool to kill it or write on.  It’s one thing to not close the application, it’s another to have to download another appication to kill an application without resettings.

    what’s the point of not giving up a real process list?  MS is getting like Apple here, fock you up, then not let you fix it.  WinMobile is a lot more like Mac in that way, if something is wrong, reset the whole thing, don’t even dream of debugging it.  Sad, the one thing MS had they pissed away on this one.

  134. Fr. Gareth Bowen says:

    I use the Dell Axim X51v that comes with a small program called Switcher Bar that gives you the option to do a "true close". This seems to work well for me.

  135. Marco Pasin says:

    Now I understand why ‘X’ doesn’t close the app.  Sounds fine.  My question is this: I have a UT Starcom Pocket PC.  I’ve found that the battery life is horrible.  I turn it off at night, on in the morning, and it’s used 10% battery life.  Doing what?  I turned off the phone.  Could it be all those little apps that I ‘thought’ I was closing when I clicked on ‘X’?  Could those minimized apps possibly be draining the battery?  Why can’t I completely stop this thing so nothing runs except the clock?

  136. MikeCal says:

    Marco, for the most part, when you press the power button on a PocketPC, it suspends all applications and stops the CPU.  In that state, it doesn’t matter if the application was "closed" or "minimized."  It’s not running in either case.  

    While suspended, only a hardware interrupt can wake the system back up.  The power button is is one example of something that can wake wake the system up, but other things like cellular radios can do so as well.  This is how your phone can wake up when a phone call comes in.

    There is also a real time clock that can wake the system up, and software can make use of that RTC to run itself.  This, for instance, is how a calendar appointment can wake the system up.  The calendar program told the system, "wake up at 1:45 and run me."  The software interface for this launches the app if it’s not already running.  So if you have an app doing this, it wouldn’t matter if the X button actually closed it or not.  The behavior would be the same.

    I don’t know the specifics of the device you’re using, but the most likely case is that the cellular radio is burning power over night waiting for phone calls.  Pressing the power button doesn’t turn the phone off.  People can still call you then.  If you want to make it so that no one can call you (and also so that you’re not using power to enable them to), you need to put the PocketPC into "flight mode."  That’s a mode where the phone is actually off and not communicating with the cell towers around you.

    Mike

  137. Marco Pasin says:

    Thanks Mike.  That information helps a lot.  I am turning off my phone each night as a habit (flight mode), but battery life is still being consumed.  One thing I WAS running was Task Manager minimized, which may have been consuming battery life, I don’t know.  I turned that off and things seem to be better.

    I also tried a ‘trick’ to stop ActiveSync from kicking in automatically.  Apparently AS is a battery hog.  You add a phantom Exchange Server to the sync list, which enables the Schedule item in the Menu list.  Then you set the Schedule to be ‘manual’.  Anyway, that did nothing.  Before turning off my phone I kill ActiveSync and sure enough, a little while later, ActiveSync is running again.  

    I’ll keep playing with it.  One other thing I thought of is that this is a new device, and I read that the battery should be charged and discharged a few times to get it’s max capacity.  So we’ll see..

    Thanks,

    Marco

  138. James says:

    Ok… I will add my two cents here.  

    Memory usage, frankly you go right ahead and manage away. For the most part I find the windows mobile software to be surprisingly powerful and impressive, and common who does not like blue?   I am fine with it however there seems to be an issue which you may have over looked, which is how these devices are themselves used.  God damn users using the software ruin it every time.

    Let us take for example IE on a data capable phone.  I go to a site, say a stock market site, which continuously self refreshes.  I am done with it, and seek to close the program.  I have no way of doing this without going to memory and clearing it.  Here are my options, pay to load an additional page so that I might “park” my IE and “x” it into the background to stay there not refreshing and not costing me anything.  I can have my IE in the background merrily exchange packets with my data server, and even turn data back on for the phone when I so rudely turned off something it needed or go into the memory and purge it manually.  Whichever option I choose is less desirable then having a user defined method to “Make it stop”.  Before learning about this x’ing thing you can, as I did, invoke bills in the four digit level without meaning to.  This is why you use “push” technology instead of having your phone check its own e-mail as a send receive as well.  There are other site which also reload, web comics with scrolling adds for example (not everything I do is productive) and it is here where the problems all come from.  

    I guess what I am saying is memory aside, what is the solution to allow me full content on the data side of my mobile device while not getting a surprise bill because my phone is happily connecting without my concent.  I would like more consideration in regards to data transferring not being free and options to minimize that.

    Cheers

    James

  139. James says:

    Not surprising to see a lot of comments on his highly controversial topic!

    I just wanted to provide a couple more anecdotes on the (x) button, since I was on the Shell team during the development of the original Pocket PC 2000 UI (and am still here, actually). The icon for the button went through many iterations over the course of the product development cycle – different variations on the x (hollow, filled in, inverse), "ok" like it is on property sheets, a down arrow, a chevron (pointing downwards), a little picture of a tree (which caused it to become known in some circles as the "Broccoli Button", or "foo(d) button" – see below), and my personal contribution, an image of the peeled corner of a page. We took these through usability tests (where users with various experience with PDA and desktop OSes were surveyed). Eventually we settled on the (x) you see today because it yielded the best results.

    The (x) / (ok) button has come to be known as the "foo" button over the years since its function is hard to describe succinctly.

    James

    Windows Mobile Shell

  140. After getting my new phone in November, I started searching all over for information about mobile development.

  141. rodrigoRatan says:

    is there a free force close app out there? 🙂 rodrigoratan (at) gmail (dot) com

  142. Dutch says:

    >As for Tap and hold on OK, if we added that

    >feature, how would we teach users that it works

    >that way?"

    The same way you taught them that [X] doesn’t actually close applications anymore…?

    (Sorry, but you were just begging for this one.)

  143. Phil says:

    I think there needs to be the option of configuring the X to close the application, such as the "hold for a period of time to close"  option. Fundamentally I think it is a mistake to assume that because a "minority" of people are asking for the option to close option that everyone else is very pleased with the current solution. What most developers at Microsoft never seem to understand, and this is true about people in general, most people just put up with things.

    For instance, opinion polls indicate President Bush’s approval rating is very low, but the last election didn’t reflect those polls in the general turn out and results. The simple fact of the matter in the case of Windows Mobile is that MOST people just deal with and grumble or accept the situation as-is. They see Microsoft as the large corporate gorilla and don’t think anyone ever listens. Just about every person I know who uses a Windows Mobile device has told me at one point or another they wish the apps would close when they push the X.

    My personal experience is that I can easily tell when memory is low and there are too many apps running because WM didn’t manage the memory well enough. As soon as I close out the running apps performance jumps considerably. This has been true with my Samsung i600, my i730 and now my Motorola Q. The first thing on my list when I hard reset my devices is to put on a little utility called Magic Button. This lets me configure the action of the X button, which I wish the OS did as well.

    I’m tried of having to navigate to the Task Manager to close out apps when my experience in Windows on a PC is to close out the app. Besides, the platform is so slow anyway, I don’t noticed much of a practical difference between starting fresh and coming back from the background…the time difference is not a show stopper in my opinion.

    Give me a configurable X if you’re not willing to just close apps out. Fundamentally the memory manager is not as capable as one might think or give it credit as being.

  144. M. Hunt says:

    re: The Emperor Has No Close

    On Tuesday, October 10, 2006 2:28 PM scyost writes:

    "…So it seems like it’s not really useful for us to integrate that functionality into the platform. We’d be adding a feature that already exists in the ecosystem…."

    No, you wouldn’t want to do that.  That’d be like adding antivirus or firewall functionality to the OS, and MS would never do that when there were already perfectly viable 3d-party apps in the ecosystem.

  145. M. Hunt says:

    Oh, one other thing: this entire discussion has looked at closing programs from the perspective of memory management for device usability; but for me, battery life is a significant issue as well, and it seems to me that I get better battery life when I keep the number of programs running to a minimum.

  146. Shame on u says:

    I’d always thought how much stupid you need to be to be WM architecture team. Did these dumbos ever thought that many apps running applications in background for no reason consumes power? The close button is just one annoyance. How about even dumber architecture for managing storage card? stupid explorer? stupid IE? And absolute disaster WMP? Limited entries in start menu? Incapability of putting icons on "desktop"? Unthinkable design for connection management? Every single part of this OS is so damn crippled that you just look at something and imagine the braindead architects you have on that team. And that’s in the freaking version that you sell in, hold your breath, 2-0-0-7!

  147. MikeCal says:

    Shame, I’m sorry to hear that we’re not meeting your needs.  Fortunately there are many competitors in this space.  Hopefully one of them will make a phone that you like.

    I will say that back in 1996 we made a mobile device that did all of the things you’re describing.  We called it "Handheld PC" and it had close boxes that really closed, a desktop equivalent browser, a full PC-style explorer that let you manage your storage cards, and a desktop you could drag icons to.  

    We’ve sold well over 1000 TIMES more WM5 devices than we ever did Handheld PCs.  

    When Handheld PC came out, the overriding feedback was that we were foolish for thinking that handheld devices should look and act like desktop machines.  So the same architects who originally did all the things you’ve said that you want, sat down and started redesiging everything to be more appropriate for a mobile device.  

    Our success today is founded in the work those architects did.  And, when you’re growing as fast as we are, it’s hard to claim that we’re anything but successful.  

    This isn’t to say that the device you want isn’t a valid one.  Just that there are considerably more people who want devices like we make than who want devices like you’ve described.   You’ve made what you think of that abundantly clear.  But, as a business, we’re going to do what the majority of the people want, even if one or two of them think it’s "stupid."

    Mike

  148. Jorgie says:

    There is a reason that every Dell Axim ships with a task manager.

    It is because WM falls short and Dell got tired of people calling and complaining that there we running out of memory.

    Mike, you went from being open and candid to being definsive and insulting.

    Because WM does not provide a close button, _ALL_ WM programs should include a ‘Exit’ or ‘Close’ menu item. Having to go though 6 or 7 steps to close _A BUILT_IN_PROGRAM_ is stupid.

    So if you are going to say that 3rd parties should add exit menu options, add them all the built in programs.

    "that there are considerably more people who want devices like we make than who want devices like you’ve described." Yea because all those people only want the device you make because the X button minimized. Give me a break.

  149. MikeCal says:

    Jorgie, I’m sorry to be insulting.  I’ll try to do better next time.

    Mike

  150. George says:

    At least have programs close all open files and ports when they are closed.  It’s lame that I can’t sync because some program I closed still has the file open.

  151. Dinesh B says:

    Hi.

    Not sure if its the right place for this – but it is about Windows MObile Usability

    I just acquired a WM5 device (the Treo 750) and the problem is that I can’t read the default fonts (since I use reading glasses ).

    Although I have WM set up to max font sizes (with ClearType on), when I type in a name and it gives me a choice of phone numbers – I can’t read those options due to the font sizes

    – anyway to customize this???

    Thanks

    Dinesh

  152. AleXander G.F. says:

    There are many reasons why it’s bad (they all in comments) – to move apps to background. Another one bad idea is to place the "ok" button to the same place as "x" – what differents?

  153. Dammit2Hell says:

    So why not make it a device setup option where the device asks you during the initial setup if you would prefer to use the x button as a close button or to use it to minimize? How easy would it be to please all users with this option.

    Also I can understand how the decision to make the today screen over a desktop could have affected sales years ago, but what about now? There are tons of 3rd party apps out there that give you a desktop environment. I suppose that the programmers would be bankrupt if their software wasn’t selling.

  154. DCS says:

    I use HandySwitcher – good little app for this

  155. becky says:

    I am really late to this thread but I thought I would add my tuppence for the record.

    I hate it that programs minimize and do not close.  I have used several task closers on my wm5 device and some of them don’t work properly.  I also purchased wisbar advance only to find actually it also has quirks I do not like.

    So while looking for another task closer I came across your article here about why the close does not close.

    I have to say thankyou.  You explained really well why the close button does not close and it has made me think more about the reasons why I really need to close them.  In normal day to day use I only use 3 programs – messenging, PIE and newscopier.  I realise now that actually these programs would better serve me if they were running in the background.  I did not realise that if the system needed more memory it would close some things down.

    So now I am a partial convert.  I say partial because I will run it bare with no task closer for a few weeks and see how I get on with it.

    Thankyou for an enlightening article.

  156. MikeCal says:

    Thanks for the kind words, becky.  I’m glad you found the article useful.

    Mike

  157. becky says:

    I forgot to mention, it would be good if the close button was customisable.  Give people a choice whether they want it to close or minimise and then everybody would be happy, or if you are feeling really adventurous, allow people to choose the option on a per application basis.  That would probably require efforts on individual program developers aswell though and might be too complicated.

  158. Steve says:

    Is there a way to prevent the OS from shutting down a program that is running in the background?  I frequently run my GPS software with voice navigation in the background and switch to another app for a few mintues…only to find the OS shut down my GPS program entirely when I didn’t want it to.  I then have to run the app again, re-acquire satellites, choose my destination again, and start all over!  What a waste of time!  For me, I would be much happier if I could control when my apps close!!

  159. Sasz says:

    Mike, thanks for reasonably good explanation of why things are as they are.

    I suggest to replace the confusing "X" icon with a "Today" icon, which will bring up the Today screen (like Start>Today does) and thus put the active app to the background. I think being able to quickly get to the Today screen is more important for a PDA than the "Minimize".

    And then on the Today screen, implement a Today applet ("item" as it is called in the UI) that will be docked under the Date & Clock applet and show icons of currently running apps and give you the ability to switch between them as well as to close them. (and if you don’t need it — you can always uncheck it and remove from Today screen)

    Also good idea to include "Exit" or "Close" menu option in EVERY app that may consume significant resources in the background — let the user decide whether to close or not. The new "Live Search" from MS already implements this, bravo!

    My suggestion is very easy to implement technically. It won’t change the behavior for majority of users (when you click "Today", the active app window will go away), but will also avoid the confusion associated with the "X" icon not closing apps anyway. And for advanced users, the Today applet will serve as the much asked-for task manager. Everyone will be happy.

    Also, please insist that hardware manufacturers add two dedicated buttons below the screen for the soft keys, just like they do on phones!

  160. Jakub Anderwald says:

    Hi,

    I’m a new WM6 user. I’ve been using PalmOS in the past as my mobile OS. I’m in IT since circa 10 years, been using Linux, QNX, MS-DOS, AmigaOS and a couple of Windows flavours during that time.

    What I need from my desktop / laptop is to fully subdue to my wishes. I want to be able to kill a desired process, delete a file that’s in use and be able to tell where’s my RAM.

    But things are totally different when it comes to my phone. I need it to get my work done. No matter if it’s calling a friend, sending an excel sheet to a business partner or watching a movie. I don’t have any need for starting and closing my applications, checking how much RAM do I have available (I don’t collect free MBs of RAM like poststamps 🙂 etc. I need it to "just work".

    This is how it was working on PalmOS and I was happy to use it. If I wanted to do more tweaking, I could download 3rd party apps and tweak some stuff, with the obvious risk of braking something. Then I switched to WM as there was no PalmOS device with built-in GPS receiver, and things started to get messy.

    I understand that I now have a multitasking device, which brings extra layers of complexity and extra problems, but since you’ve decided to put a full Windows OS into those devices, this had to be thought of. Seems it was – you have the idea of minimizing apps, not killing them. I’m fine, I don’t really care if I launch my email software every time or it stays in the background, as long as it regularily downloads my POP3 emails. And I’m even more happy for the OS to manamge my memory. I want to use this device like a regular user, not to learn how it’s built and rebuild it.

    BUT this is where you guys fail. Either the system slows down like hell every couple days, or I am presented a window saying "too little memory, please choose the app you want to close". This is hillarious. I don’t want to close any app, I just have one that HAS to stay ine the background live – my IM software – and I don’t even want to hear whether the others are started every time I click on their icon, or just refreshed from the memory, provided I don’t loose any data. And I think this is the way you wanted it to make. But let’s face it: it *doesn’t* work! If I don’t kill my apps manually or reset the device every couple of days, it will not start any other applications, or will be unusable.

    If you don’t want to fix the "X" button, OK. But please DO FIX your memory management. Let each app set a flag saying "don’t kill me", and when you’re lacking of memory, just kill the ones that still run in the background that did not set this flag up. Or do something else. Just do it and make it work the way you wanted it to work in the first place.

  161. Adrian Ke Chongyang says:

    Just add a minimise button AND a close button. Then people who want to come back all the time can, and so can those who want to free up resources.

    People buy Pocket PCs instead of Palms because they want PC behaviour. That’s basic marketing strategy.

    The article is good, and thanks for the bravery (honest!) but much of the basis is outdated. Time to change. Nuff said.

  162. Mike says:

    So you said:

    "We must agree to some degree because we’ve adjusted or modified the memory management code on just about every release since we added it.  I believe the adjustments have been improvements, and I expect that we’ll keep improving it."

    UNDERSTOOD. But did you ever think about battery life in addition to the memory management? My PPC-6700 battery dies about twice as fast if I don’t close all running (in background) programs before I put the device in my holster. It is a major pain to remember to close everything after using the phone because some apps actually talk to network and suck up the battery power FAST!!

  163. Cliff Dippel says:

    The real problem seems to be the trade-off between memory and battery.  Memory is cheap but drains battery. Could additional ram be managed like a power conserving mobile cpu.  Always on when connected to power.  Optionally on by user when needed.  Hard off when battery is low.

  164. MikeCal says:

    Mike, it’s very likely that your battery life problems are the result of one of your programs, not all of them.  If you figure out which program is causing the trouble, you’ll have an easier time using your device.  You can decide if the value the program is giving you is worth the battery life it’s costing.  At the very least, you’ll be able to just close that one program rather than needing to do all of them.  I suggest starting by investigating programs that you added after you got the phone, as they are the likely culprits.

    Mike

  165. Neil O'Brien says:

    Thank you for taking the time to explain why things are the way they are.

    That said, things need to improve as they go forward.  To me, the operative metaphor for a mobile computer is the desktop computer.  Accordingly, a mobile computer should provide the same choices to a user that the desktop computer does to either minimize an application or close it out.  If a user has too many minimized applications and memory needs to be freed up the OS can pop up a dialog to that effect and allow the user to choose what to close.

    I am astounded that WM6 hasn’t added this in.  Thank goodness for SPB Pocket Plus!

  166. cody says:

    You are misleading people here. I think what most people are concerned is not the "x" button. It should be totally ok that "x" button doesn’t close application. What we really don’t like is that we cannot find a feature to really to exit the program. not via a single "x" button, but please, give that to me in the menu!! You have so many commands in the menu of a program, why are you so shy to add a single exit command in the "file" menu to every application?! Actually this feature can make us more conveniant and doesn’t hurt any people that belong to the group that don’t like to manage memory theirselves. Now I have to enter the memory manager via "settings" all the time.

    I do think you don’t have an exit in the app menu is really awful consideration.

    Before I read this article I though microsoft people just happened to not have designed this feature but now I’m angry, because you really sticked on this. You didn’t know what people really need in the first place.

  167. Disappointed Home WiFi User says:

    Ask any primary school student what the ‘X’ button does, and they will tell you it closes the app.

    Ask THEM what name to call you I dare you.

    Using the Memory button in Settings is a pain in the butt!

  168. Richard says:

    HTC have started shipping devices with a close button patch.

    Looks like the largest Windows Mobile OEM is in disagreement with Microsoft’s stance and starting the fix the problem themselves.

  169. Subbu says:

    Is there any way to capture the event when the X button is pressed?

  170. Michael M says:

    I see why its done now,but mistakes were made.First,X was used,meaning go away,but thats not exactly what it means. It also means close. There is another button that means "go away". That button is "-". Thats the one you wanted,then there would be no confusion. Second,you predicated the idea that there was no close button on the idea that the user shouldn’t be required to manage his memory. That is a very true statement. What you did however,is say that he shouldn’t be required,while taking steps to ensure that the user wouldst be ALLOWED to manage his own memory. Going back to your car analogy, certainly we don’t think a driver should be REQUIRED to change his own oil. If he wasn’t ALLOWED to change his own oil,or if blocks were put in his way to make it difficult. "Sure you can change your own oil,but we used a special nut that needs a special tool that takes hours of searching on the internet to find. Once you have ordered it,you can change your own oil" Wouldn’t that make you angry? At the least there should be a control panel setting to change the behavior of the button. What there should really be is a way to close the apps easily. Perhaps hold one of the buttons down while closing. I’m sure you could come up with something.

  171. JD says:

    It’s a shame that such a simple misunderstanding could have been addressed a long time ago but was not.

    By the way Mike, your writing, diplomacy and tact are excellent. Thank you for improving your team’s relationship with the community.

  172. cf says:

    "Users have moaned about this for a long time. Give the people what they want."

    With MS technologies, it is less about what the people want and more about what MS feels you should want.

    With the sad state of poor quality, responsiveness, and performance of WM devices to date, and combined with the reality of poorly written third-party applications, changing the way ‘X’ has operated on MS desktop OS’s just doesn’t make sense.

    Only a company with a monopoly and a large enough cash stash could choose to ignore user requirements and rather choose dictate what the user should want.

  173. MikeCal says:

    cf we’re nowhere near a monoploy is the phone space.  We’re complete underdogs here.  I know this is hard to believe, but we do just about everything we do based on user requirements.  And when we decide where to spend our time making changes, we do the features that users want the most.  

    In the end, the things we’re doing are more important to more of our users than the operation of the X button.  I recognize that this is a difficult message if you’re a user who cares more about X buttons than exchange servers, but that’s reality.  We can’t just do what a few hundred users want when we have a few hundred thousand who want something else.  That’s even true when the minority is vocal and willing to write angry messages on our blog.

    Mike

  174. Anonymous says:

    It seems to me that, while 99% of users may indeed be perfectly happy with the ‘X’ button functionality, that’s not saying very much.  To typical users, an application is either on or off.  They have no idea what the ‘X’ button really does (let alone what closing or minimizing an app really does), so how can you expect them to have an opinion on it one way or the other?

    In any case, it all comes down to usability and performance.  Regardless of what you do with the ‘X’ button, you guys have a long way to go if you want me to buy one of these devices.

  175. Hasen says:

    Hi,

    I must say I agree with Anonymous. this is my first time using a windows device and honestly speaking, I thought that the "x" does actually completely close the program.  

    Aside from a slower response on the PDA (annoying) due to background appcaitions running, the battery life is affected as well.  

    Instead of investing time on this blog which seems to be almost one year into comments, I personally think it might have been easier to change the functionality of the x to close (like windows desktop) instead of justifying it for so long.

  176. MikeCal says:

    Answering comments on a blog is easy, takes very little time, and never breaks any users or applications anywhere.  Changing code in the product is none of those things.  

    Also, this blog is something I largely do in my own time.  So, even if I had spent that time doing something else, it wouldn’t have gone toward changing the behavior of the X button.  That’s not my code to change.

    Mike

  177. Dave says:

    Well, Well, Well… all these people complaining about such a small thing, but seem to be VERY upset by it… If this one little thing is such a huge deal, why are you using Windows Mobile?  You know the X doesn’t close programs and you have to do that yourself or with a third party app or something… So, knowing all this, why did you buy a WM device? If it hurts so much that the programs only minimize, get a different phone / OS or quit the whining and get over it.

    Me…

  178. Allen says:

    In case I missed it…using Ctrl Q on the on screen keyboard closes programs.

  179. sameer Tyagi says:

    I didnt see any discussion or effect on battery consumption…. all those apps that i dont see are eating up the battery on the phones….

    /s

  180. Chuck Angel says:

    I agree with much of what Mike has said, my only comment is in regards to the contention that not putting a close option of Windows Mobile apps is because, "users shouldn’t need to manage their memory."  My argument would be that the value would be in having both "Close" and  "Minimize" options.  It isn’t that users shouldn’t need to manage their memory as much as it is that users should be "allowed" to manage their memory.  The idea that the "X" would not really close the app but send it to the background is an insult to the user.  If I want to be able to close an app, I should be able to close an app. My other argument is that, if your operating system is so good at managing memory, how come your operating system is so much slower that the Blackberry OS and even the Palm OS?  

  181. The Other Dave says:

    What it really comes down to is whether MS really wants to sell more units.

    When faced with explaining to my non-tech-savy wife the process required to shut down apps in WM, I chose, instead, to get her a palm device.

    Having been saddled with the problems of upgrading my Axim5v, and then spending even more money for third-party apps to make the OS usable, and then the freaking memory-drain of ActiveSync, and the repeated crashes, hard-resets and reinstalls….I’m leaning towards a palm-based smartphone on my next upgrade.

    But, MS can pride itself, on some obscure level, on holding it’s own (although, I hear that can make you go blind)

  182. Keith David Reeves says:

    Microsoft missed the boat entirely here. The win-win solution is obvious: Give USERS the option and control. If I want to change the default behavior of the X button, allow me the option.

    Why must the default Microsoft corporate behavior be "our way or the third party?" The rationale provided above is lovely, but at the end of the day it doesn’t hold water with me. I want the behavior I want, because it’s my device and my behavior pattern.

    If Microsoft gave me my i760 for free, maybe I’d be more inclined to take what I’m given. As it stands… to quote Eric Cartman, "Whateva! I’ll do what I want!"

  183. Charles L. F. says:

    Come on, tap ‘X’ when a key is down to close the app, this is simple!

  184. This article explains the basics of building a simple but useful application using the .NET Compact Framework

  185. Erling says:

    So programs on a device, either SmartPhone or PocketPC should not close. Great idea! There’s plenty of resources on a device anyway, right? What does it matter if you have 10 programs running, you’ve got all the RAM in the world. Isn’t that what a device is all about? Endless resources?

    In fact no.

    Get a close button and close menu item in all programs that ships with Windows Mobile 7 please. Get the X to close programs on Pocket PC’s. Get a _ to minimize a window. Get a task manager that is the first thing you see in the today screen. Make it screem at you where it is.

    As for .Net CF 4.0, add a TableLayoutPanel so it’s possible to layout controls for both Standard and Professional devices in the same application!

    As simple as that. Very simple in fact. There’s so much useless things that I’ll never use getting added for each version, while there are simple, usefull things missing. Get it sorted.

  186. Jonathan says:

    You have made a nice attempt to explain the thinking behind this decision but this decision has changed the meaning of the ‘X’ symbol and created any number of problems for application developers and the users of their applications.

    I have just started using Windows Mobile using c# so I am new to coding on a mobile device.

    1. I have written an application which creates a thread. The thread needs to be closed when the application in no longer running (or is minimised).

    There is no minimise event (please correct me if this is wrong) on a Windows Form so I cannot close the thread if the user clicks X.

    The solution to this problem is to set the forms minimizeBox property to false so that it now acts as close. However, this now changes the ‘X’ to ‘ok’ which seems to be the wrong way round. ‘ok’ normally means ‘accept this input’ whereas ‘close’, ‘quit’ , ‘exit’ would actually tell you that this will close the application.

    2. Until MS made this decision ‘X’ meant close and ‘_’ meant minimise. Until today I was under the false impression that ‘X’ still meant close. One of the functions of a GUI is to make it obvious to a user what they are doing. ‘X’ has always meant close, except now it doesn’t.

  187. Sean Braunshausen says:

    I really think that choice is the best thing here. I totally understand not wanting to even give users the option of _ and X.. they would always choose X, and then complain about the slowness. You can never get users en mass to all realize something like the need to click _ instead.

    But I think it would be nice to have some deeply menu’d option to either make X close apps, or create a _ to min and X to close on top. That way everyone is happy.

  188. Robert Björn says:

    I came to this site after having googled for solutions to some problems I had on my Samsung SGH-i780, purchased about a week ago. It entered into a state where in almost all cases, answering a call would not truly answer it even though it looked like that on the display. Instead, I could hear only silence, yelling "Hello?" repeatedly until the other side terminated the call. I missed some potentially important work-related calls this way.

    Through a series of experiments, I realized that the problem was almost consistently reproducable at the time. I initially believed the problem occured only in sleep mode, but that did not turn out to be the case. The problem only disappeared after I closed the currently running applications: Opera (included with the phone), the RSS reader, and Calender. I also killed the Wifi connection but am unsure if that had an effect.

    I don’t know whether the underlying problem is due to a bug in Windows, some Samsung software layer or the hardware itself. But I now make sure to frequently close unused applications manually.

    I guess this is a long way of saying that I agree with just about every other poster in that we need X to close (or at least having that option). Automatic memory management is fine in theory, but if it doesn’t work in practice, causing very serious problems with the phone functionality (it is supposed to be a phone, after all!), then I cannot agree with the argument put forward in this blog entry.

    Still, thanks for communicating with the community about this and other issues. This blog looks excellent and I have added it to my RSS feeds for now.

    / Robert

    Software developer and somewhat frustrated first-time owner (possibly soon former owner) of a Windows phone.

  189. LA says:

    I’ve gotta say, when I bought my T-mobile Dash this week, I decided to ignore the complaints about Microsoft Mobile.  For the most part, I’m glad I did.  But I absolutely hate having to open the task manager every time I want to use my camera because I don’t have enough memory to do so.  It’s irritating and wastes my time.  Why would I want to have games or contacts running in the background, when now all I want to do is take a picture?  I’d much rather wait an extra second or two for an app to load again 5 minutes later when I need it again, than keep it running in the background the whole time, doing nothing.  The only way I can quit apps on this phone is through the task manager.  

    Because of this one irritating design flaw, I will never buy another WM device.  As I regular Jane consumer, I think the way this platform manages memory is profoundly stupid.

  190. John Engle says:

    Why does this point have to be so contentious? It’s just software! Why can’t Microsoft just offer a system setting to toggle between closing apps when the clicks the "X" or Minimize apps when the user clicks the "X"? This isn’t rocket science….Then, Microsoft can go along on their merry way managing memory for "users" and the rest of us can change the setting to close and manage our own memory.

    I would REALLY like X to close Internet Explorer as when it’s left running, it keeps the data connection open, and that burns up the battery, irreguardless of whether or not I’m actually doing i/o on the web.

  191. Chris says:

    It’s such a pain in the ass when windows media player keeps playing and I have to goto task manager and close it, I don’t really see the advantage here.  The rational that you can switch programs faster doesn’t pan out when all the running apps freeze up your pda.

  192. Mike Welch says:

    I just ran across this article while trying to find the maximum number of contacts supported on WM6.  I have been a Pocket PC fan since Pocket PC 2000 was released.  I rather liked the desktop motif because I was used to it and knew how it should "think", but I also realize space considerations being what they are such may not be feasible.  My first thought would be to reduce the size of icons, but I also know people already complain about the platform being difficult to read.  I have used the freeware Magic Button since it was first released…even paid a whopping $10 for their decent, context-sensitive dictionary plug-in for Magic Button.  I still use it today on Windows Mobile 6, although it hasn’t been updated because the author got tired of having to tweak it with each revision of WM.  Having the icons on the notification bar (which is on top on the PPC) move around depending on what has focus is killing this little task switcher which effectively adds a task bar to the notification area on the left, making it very easy to switch tasks and has an option to make the X actually close an app, which I prefer.  The worst design decision I’ve seen is when MS decided to move the "tray" to make room for the soft buttons.  I understand the need to keep the OS as similar as possible to the SmartPhone, but this violates screen real estate so terribly I grumble every time I look at it.  I very much dislike the softbutton requirement, the windows key requirement, and other things that take away from the once "almost there" Pocket PC platform.  If PPC 2003SE had persistant store I would never switch PDAs.  Mike in Houston

  193. Mark Laird says:

    Microsoft defined the interface standard that says "X" closes and app and minimize runs it in the background.   Someone needs to tell Microsoft about it.