Monday, June 16, 2003
To Close Or Not To Close - Summary
Posted by Ed Hansberry in "THOUGHT" @ 09:00 AM
Well, I seemed to have hit on a nerve last week in my To Close Or Not To Close poll. There were over 80 replies and 681 of you voted in it. This is not a new issue by any means. Since the Pocket PC was launched in April 2000, one of the most popular, if not the most popular categories of applications installed are task switchers/killers.
You can see the results of the poll below. To refresh your memory, the options were:
• I never close applications. I let the Pocket PC handle it for me.
• I occasionally close applications with a task manager, but not very often.
• I only close "large" applications and even then, not all of the time. (I hear this a lot - define "large")
• I manage my Pocket PC just like my desktop and close apps as I see fit.
Figure 1: Poll Results
As you can see, just over 86% of respondents want to be given full control over their device being able to close applications as desired. At one time, many software developers saw this need and either provided "Exit" within the menu structure somewhere or provided a preference for users to enable an "Exit" option. Ilium Software removed Exit from ListPro several years ago and just this past month, both Resco and Conduits removed this function from their File Explorer 2003 4.20 and Pocket Artist 2.6 applications respectively. Why? To get logo certification from Microsoft.
Well, stand back. :soapbox:
"Exit" In Your Menu? No Logo For You!
From page eight of the "Designed For Windows® For Pocket PC" (PDF link) software development manual.
CTRL-Q? It is at least a three tap process in an application like Pocket Artist to bring up the SIP and press CTRL-Q. More if you use Transcriber or if you have to close the SIP when you are done. Exit on the menu is always a two tap process, and closing an app via a tap-and-hold or a gesture on the 'X' in the upper left is even easier.
For some reason, I have this image of someone in the Microsoft certification labs looking at applications all day long. When they run across one with "Exit" in the menu, they say "No logo for you! Come back one year. Next!" in the Soup Nazi voice.
Is this just a stubbornness on the part of the 591 of us that voted that we wanted to manage applications as we see fit? Does the Pocket PC effectively release us from the need to worry about managing memory? I would say no. If it did, we wouldn't experience sluggish systems and OEM partners like Compaq/HP wouldn't feel the need to release articles like this which state "When running multiple applications on your iPAQ Pocket PC, you may notice that system performance has diminished. The iPAQ Pocket PC may appear sluggish. You may experience slow performance or delayed response time to screen taps up to and including lock-ups on the device" then wiggles around some and ultimately tells the user how to close applications. Start | Settings | System | Memory | blah | blah | blah." :roll:
Furthermore, the large OEM partners that make these devices invariably include two applications to supplement the Pocket PC application set. A backup program of some sort to back your data up to a CF/SD card and (drum roll please) a TASK SWITCHER/KILLER! 8O Here's the kicker though. In trying to standardize how the user closes (or doesn't close) applications, Microsoft has inadvertently introduced non-standard user interfaces into the market for this. The Dell Axim has a neat task killer that is combined with a battery meter and screen brightness adjuster. It resides in the Start bar and is available from within any application. The iPAQs still rely on iTask which is available when assigned to a button. Jornada's have yet another method of closing applications that is only available from the Today Screen.
Spb's Pocket Plus has been on the Handango best seller list for months with over 13,000 downloads since it was released late last year, and names like Gigabar, WisBar and PocketNav are well known among Pocket PC enthusiasts. In fact, the number one all time Pocket PC download at Handango is Battery Pack 200x with over 237,000 downloads. One of its key features is a task killer, or as it describes itself, "Close button actually closes programs." Just how many ways do we need to close an application? :? One possible solution would be for Microsoft to put in an option that the Smart Minimize button could be a close button via a tap-and-hold process.
Just How Much RAM Do Applications Use?
Yet Microsoft insists the Pocket PC will take care of memory management for you, obviating the need for task killers. Why then do devices get sluggish? Let's look at some memory requirements of some popular applications. Once you do, I think you'll see why, after a few hours of loading these or similar applications, your Pocket PC may run like it has molasses flowing through its veins.
Figure 2: RAM Requirements of Common Applications
Figure two shows the RAM requirements of common applications. In all applicable cases, the application was opened but no file was loaded. Obviously applications like Pocket Artist or Repligo would have variable RAM requirements once you loaded data. This essentially puts the application in the state the Pocket PC team wants it in. After you press the OK button, the loaded file is saved and closed leaving the application in this empty state. As you can see, some apps like Pocket Bible, Pocket Informant and Adobe Reader consume over 2MB of RAM just by being loaded. Neither Pocket Bible nor Pocket Informant have this empty state. When they are open, they have something loaded.
These results were obtained from an iPAQ 3970 with 64MB of RAM. The Pocket PC had allocated 32.02MB of RAM for program memory. The items on the second X Axis, or the numbers on the right, represent the percentage of this program memory the application was consuming by being open. My Pocket PC, after a soft reset, has 8.68MB of Program RAM used. Applications like Pocket Plus, GPRS Monitor, a few Today plugins and overhead used by the Pocket PC OS itself made up that 8.68MB. When I was done with all of this testing and had closed all of my applications, I had 9.07MB consumed. I am not sure where the .4MB of RAM went. Isn't the Pocket PC memory management supposed to take care of that?
Clearly some applications should never be closed. Contacts, Calendar, Resco File Explorer 2003 and many other applications consume very small amounts of RAM. I will admit I am guilty of closing applications like these down occasionally using Pocket Plus. This requires extra effort on my part to close them and results in a lag time to reopen them when I want to use them again. [Slaps wrist] I need to leave these alone.
However, there are obviously some applications that should go away when you are done. I use Laridian's Daily Reader every day, but only in the morning, usually while my Pocket PC is in the cradle doing its first sync of the day. I won't need it again for 24 hrs. Why should Laridian, or any other Pocket PC software developer, be forced to remove the Exit command from the menu structure should they decide to get the Pocket PC logo certification? How about Rakonza's K-ForCE? I use that two to three times a week during my son's baseball season. Why should I load that up on a Monday night, use it for two hours then not be able to use Exit on the menu?
Beyond Just Memory
So far I have just talked about the memory and performance issues. It goes way beyond that though. Some applications are just plain broken when it comes to this issue. Windows Media Player for music and video and Microsoft Reader or Audible for Audible content. If you Smart Minimize those apps when you want them to just go away, they merrily continue to play. Now you must find them on the Start Menu, bring them back to the forefront and find the stop button.
I also see at least one or two posts a month from a frustrated user that is unable to delete some MP3 or WMV file they copied to their Pocket PC to play. File Explorer keeps telling them the file is in use, but that isn't possible! They pressed the X in the upper right corner, right? Someone has to be pretty frustrated to then go to the trouble to go back to their desktop, open their newsreader and post a plea for help. I or some other newsgroup regular jumps in to help explaining how Windows Media is still open, how to go about closing it and then directing them to some popular task killers.
Since August of 1995 Microsoft has told us that the big X in the upper right is close. Now, for one platform starting in October of 2001, they are trying to tell us it isn't close. My point is there are perfectly valid reasons for closing applications that have nothing to do with memory requirements, reasons the Pocket PC programming logic couldn't fathom.
A Case For Power Users
The poll should not be taken as an indication of how the total market feels. Many users could care less. A Pocket PC to them is no more cool than an electric toaster. I don't hang out at Toaster Thoughts and they don't hang out at Pocket PC Thoughts. They are not the power users and that's fine. But we are the power users. We are the ones who influence buying decisions. I have know I've influenced dozens of people directly to buy a Pocket PC and indirectly through this site and the Pocket PC newsgroups, possibly hundreds of people. So have the many prolific posters here and at other Pocket PC enthusiast sites. So why is Microsoft so intent on ignoring us? Read the comments in the original thread. This annoys me. Some of you are downright ticked off about it. It strikes me as arrogance in two ways.
1. Microsoft knows better than you. This ticks me off to no end and is just as offensive to me as Palm's "you don't need it until we have it" mentality.
2. That they are good enough at programming to actually make the concept of memory management work the way they claim in their logo requirements document. Now I am not disparaging their abilities one bit. I've met many of them and other programmers at Microsoft. Despite the FUD you hear on the Web about Microsoft applications, they are top notch, the Pocket PC included. All complex apps have bugs and everything has room for improvement. My question is, how realistic is it to expect an OS with all the capabilities of the Pocket PC crammed into a tiny 22MB footprint to manage memory so effectively? Take a look at Figure three below. This is a small test I ran. I rebooted my Windows XP Pro desktop and logged in. I let the hard drive stop to ensure that everything in the startup group had processed, login scripts had finished, etc. Once complete, 129MB of memory was being taken up by the OS and startup applications. I then worked all day long as I normally do, opening most Office applications, Internet Explorer, Citrix, etc. I then closed everything down at the end of the day, leaving startup items in the System Tray alone. Checking Task Manager, I saw there were 170MB in use. Where did that 41MB of used memory come from? I logged off then logged back on and once again let everything in the startup group finish loading. Now Task Manager is showing 145MB of memory used. That is better than the 170MB before logging off but not down to the 129MB used after booting. In all cases, I had 29 processes running, so there isn't some mysterious application that started and refused to quit running.
Figure 3: Windows XP Memory Management
Now, I ask you, if an operating system that has a footprint of 1.4GB in my \Windows\ folder (note, this is a four day old fresh install so there isn't month's worth of accumulated junk in there) with hundreds of thousands of man hours invested on a kernel that dates back to the late 80s, and has the resources of 1GHz and 2GHz processors can't manage memory better than that, and it lets users close applications, how can we expect pocketable battery powered 200-400MHz machines with far fewer man hours invested in it do any better?
Why is there this insistence to not only not provide a simple way for users to close applications, but to actively prevent developers from providing a simple "Exit" in the menu or deny the logo? :( There are so many things to love about the Pocket PC. I currently wouldn't consider switching for another mobile platform. This one area, though, puts a little dark cloud over what is otherwise a great end user experience.
(Note: Almost all links above to products are affiliate links.)
You can see the results of the poll below. To refresh your memory, the options were:
• I never close applications. I let the Pocket PC handle it for me.
• I occasionally close applications with a task manager, but not very often.
• I only close "large" applications and even then, not all of the time. (I hear this a lot - define "large")
• I manage my Pocket PC just like my desktop and close apps as I see fit.
Figure 1: Poll Results
As you can see, just over 86% of respondents want to be given full control over their device being able to close applications as desired. At one time, many software developers saw this need and either provided "Exit" within the menu structure somewhere or provided a preference for users to enable an "Exit" option. Ilium Software removed Exit from ListPro several years ago and just this past month, both Resco and Conduits removed this function from their File Explorer 2003 4.20 and Pocket Artist 2.6 applications respectively. Why? To get logo certification from Microsoft.
Well, stand back. :soapbox:
"Exit" In Your Menu? No Logo For You!
From page eight of the "Designed For Windows® For Pocket PC" (PDF link) software development manual.
Quote: Required: No User-Exposed Method for Closing the Application
The Pocket PC automatically closes the least recently used application(s) as more memory is needed. The goal of this is to free the user from needing to worry about managing memory. Thus, applications must not expose a method for the user to manually close or exit the application. Note that it is typical for documents/items within an application to have a means for being closed(e.g. main application view is a list, items within the list may be opened or closed). When documents/items are opened and closed, the Pocket PC OK button should be used to close the document/item and return to the application list...
Note: Support for the Power User shortcut Ctrl+Q to close the current application is permissible and recommended. However, this support should not be indicated on-screen.
The Pocket PC automatically closes the least recently used application(s) as more memory is needed. The goal of this is to free the user from needing to worry about managing memory. Thus, applications must not expose a method for the user to manually close or exit the application. Note that it is typical for documents/items within an application to have a means for being closed(e.g. main application view is a list, items within the list may be opened or closed). When documents/items are opened and closed, the Pocket PC OK button should be used to close the document/item and return to the application list...
Note: Support for the Power User shortcut Ctrl+Q to close the current application is permissible and recommended. However, this support should not be indicated on-screen.
CTRL-Q? It is at least a three tap process in an application like Pocket Artist to bring up the SIP and press CTRL-Q. More if you use Transcriber or if you have to close the SIP when you are done. Exit on the menu is always a two tap process, and closing an app via a tap-and-hold or a gesture on the 'X' in the upper left is even easier.
For some reason, I have this image of someone in the Microsoft certification labs looking at applications all day long. When they run across one with "Exit" in the menu, they say "No logo for you! Come back one year. Next!" in the Soup Nazi voice.
Is this just a stubbornness on the part of the 591 of us that voted that we wanted to manage applications as we see fit? Does the Pocket PC effectively release us from the need to worry about managing memory? I would say no. If it did, we wouldn't experience sluggish systems and OEM partners like Compaq/HP wouldn't feel the need to release articles like this which state "When running multiple applications on your iPAQ Pocket PC, you may notice that system performance has diminished. The iPAQ Pocket PC may appear sluggish. You may experience slow performance or delayed response time to screen taps up to and including lock-ups on the device" then wiggles around some and ultimately tells the user how to close applications. Start | Settings | System | Memory | blah | blah | blah." :roll:
Furthermore, the large OEM partners that make these devices invariably include two applications to supplement the Pocket PC application set. A backup program of some sort to back your data up to a CF/SD card and (drum roll please) a TASK SWITCHER/KILLER! 8O Here's the kicker though. In trying to standardize how the user closes (or doesn't close) applications, Microsoft has inadvertently introduced non-standard user interfaces into the market for this. The Dell Axim has a neat task killer that is combined with a battery meter and screen brightness adjuster. It resides in the Start bar and is available from within any application. The iPAQs still rely on iTask which is available when assigned to a button. Jornada's have yet another method of closing applications that is only available from the Today Screen.
Spb's Pocket Plus has been on the Handango best seller list for months with over 13,000 downloads since it was released late last year, and names like Gigabar, WisBar and PocketNav are well known among Pocket PC enthusiasts. In fact, the number one all time Pocket PC download at Handango is Battery Pack 200x with over 237,000 downloads. One of its key features is a task killer, or as it describes itself, "Close button actually closes programs." Just how many ways do we need to close an application? :? One possible solution would be for Microsoft to put in an option that the Smart Minimize button could be a close button via a tap-and-hold process.
Just How Much RAM Do Applications Use?
Yet Microsoft insists the Pocket PC will take care of memory management for you, obviating the need for task killers. Why then do devices get sluggish? Let's look at some memory requirements of some popular applications. Once you do, I think you'll see why, after a few hours of loading these or similar applications, your Pocket PC may run like it has molasses flowing through its veins.
Figure 2: RAM Requirements of Common Applications
Figure two shows the RAM requirements of common applications. In all applicable cases, the application was opened but no file was loaded. Obviously applications like Pocket Artist or Repligo would have variable RAM requirements once you loaded data. This essentially puts the application in the state the Pocket PC team wants it in. After you press the OK button, the loaded file is saved and closed leaving the application in this empty state. As you can see, some apps like Pocket Bible, Pocket Informant and Adobe Reader consume over 2MB of RAM just by being loaded. Neither Pocket Bible nor Pocket Informant have this empty state. When they are open, they have something loaded.
These results were obtained from an iPAQ 3970 with 64MB of RAM. The Pocket PC had allocated 32.02MB of RAM for program memory. The items on the second X Axis, or the numbers on the right, represent the percentage of this program memory the application was consuming by being open. My Pocket PC, after a soft reset, has 8.68MB of Program RAM used. Applications like Pocket Plus, GPRS Monitor, a few Today plugins and overhead used by the Pocket PC OS itself made up that 8.68MB. When I was done with all of this testing and had closed all of my applications, I had 9.07MB consumed. I am not sure where the .4MB of RAM went. Isn't the Pocket PC memory management supposed to take care of that?
Clearly some applications should never be closed. Contacts, Calendar, Resco File Explorer 2003 and many other applications consume very small amounts of RAM. I will admit I am guilty of closing applications like these down occasionally using Pocket Plus. This requires extra effort on my part to close them and results in a lag time to reopen them when I want to use them again. [Slaps wrist] I need to leave these alone.
However, there are obviously some applications that should go away when you are done. I use Laridian's Daily Reader every day, but only in the morning, usually while my Pocket PC is in the cradle doing its first sync of the day. I won't need it again for 24 hrs. Why should Laridian, or any other Pocket PC software developer, be forced to remove the Exit command from the menu structure should they decide to get the Pocket PC logo certification? How about Rakonza's K-ForCE? I use that two to three times a week during my son's baseball season. Why should I load that up on a Monday night, use it for two hours then not be able to use Exit on the menu?
Beyond Just Memory
So far I have just talked about the memory and performance issues. It goes way beyond that though. Some applications are just plain broken when it comes to this issue. Windows Media Player for music and video and Microsoft Reader or Audible for Audible content. If you Smart Minimize those apps when you want them to just go away, they merrily continue to play. Now you must find them on the Start Menu, bring them back to the forefront and find the stop button.
I also see at least one or two posts a month from a frustrated user that is unable to delete some MP3 or WMV file they copied to their Pocket PC to play. File Explorer keeps telling them the file is in use, but that isn't possible! They pressed the X in the upper right corner, right? Someone has to be pretty frustrated to then go to the trouble to go back to their desktop, open their newsreader and post a plea for help. I or some other newsgroup regular jumps in to help explaining how Windows Media is still open, how to go about closing it and then directing them to some popular task killers.
Since August of 1995 Microsoft has told us that the big X in the upper right is close. Now, for one platform starting in October of 2001, they are trying to tell us it isn't close. My point is there are perfectly valid reasons for closing applications that have nothing to do with memory requirements, reasons the Pocket PC programming logic couldn't fathom.
A Case For Power Users
The poll should not be taken as an indication of how the total market feels. Many users could care less. A Pocket PC to them is no more cool than an electric toaster. I don't hang out at Toaster Thoughts and they don't hang out at Pocket PC Thoughts. They are not the power users and that's fine. But we are the power users. We are the ones who influence buying decisions. I have know I've influenced dozens of people directly to buy a Pocket PC and indirectly through this site and the Pocket PC newsgroups, possibly hundreds of people. So have the many prolific posters here and at other Pocket PC enthusiast sites. So why is Microsoft so intent on ignoring us? Read the comments in the original thread. This annoys me. Some of you are downright ticked off about it. It strikes me as arrogance in two ways.
1. Microsoft knows better than you. This ticks me off to no end and is just as offensive to me as Palm's "you don't need it until we have it" mentality.
2. That they are good enough at programming to actually make the concept of memory management work the way they claim in their logo requirements document. Now I am not disparaging their abilities one bit. I've met many of them and other programmers at Microsoft. Despite the FUD you hear on the Web about Microsoft applications, they are top notch, the Pocket PC included. All complex apps have bugs and everything has room for improvement. My question is, how realistic is it to expect an OS with all the capabilities of the Pocket PC crammed into a tiny 22MB footprint to manage memory so effectively? Take a look at Figure three below. This is a small test I ran. I rebooted my Windows XP Pro desktop and logged in. I let the hard drive stop to ensure that everything in the startup group had processed, login scripts had finished, etc. Once complete, 129MB of memory was being taken up by the OS and startup applications. I then worked all day long as I normally do, opening most Office applications, Internet Explorer, Citrix, etc. I then closed everything down at the end of the day, leaving startup items in the System Tray alone. Checking Task Manager, I saw there were 170MB in use. Where did that 41MB of used memory come from? I logged off then logged back on and once again let everything in the startup group finish loading. Now Task Manager is showing 145MB of memory used. That is better than the 170MB before logging off but not down to the 129MB used after booting. In all cases, I had 29 processes running, so there isn't some mysterious application that started and refused to quit running.
Figure 3: Windows XP Memory Management
Now, I ask you, if an operating system that has a footprint of 1.4GB in my \Windows\ folder (note, this is a four day old fresh install so there isn't month's worth of accumulated junk in there) with hundreds of thousands of man hours invested on a kernel that dates back to the late 80s, and has the resources of 1GHz and 2GHz processors can't manage memory better than that, and it lets users close applications, how can we expect pocketable battery powered 200-400MHz machines with far fewer man hours invested in it do any better?
Why is there this insistence to not only not provide a simple way for users to close applications, but to actively prevent developers from providing a simple "Exit" in the menu or deny the logo? :( There are so many things to love about the Pocket PC. I currently wouldn't consider switching for another mobile platform. This one area, though, puts a little dark cloud over what is otherwise a great end user experience.
(Note: Almost all links above to products are affiliate links.)