Subscribe to the::unwired's RSS Feedthe::unwired at Twitterthe::unwired on Facebookthe::unwired on Google Plus
the::unwired Article
INSIGHT: The truth about the program limitation on the HTC Himalaya platform
Posted by Arne Hess - on Monday, 24.11.03 - 16:35:04 CET under 02 - Windows Mobile News - Viewed 12380x
Not Tagged

Maybe you've also read the rants that the new i-Mate Phone Edition/xda II/MDA II isn't able to handle larger applications and closes other programs in the background if you open a new one. In fact this statement is wrong!

The real problem is a different one and it is because the Windows CE platform isn't able to handle more then 32 processes simultaneously! 8O This is - according to my sources (which I also already get confirmed from other sides) - a design limitation which already was introduced with Windows CE 1 and never were expended - even not with today's Windows  CE 4 platform.
The result is if a user starts the 33rd process, any of the processes, running in the background is killed by the system. In "best case" it's an application you've launched only, in worst case it's a Windows CE task.

Users never have seen it before because by default Pocket PCs were never running that much processes after a softreset. Unfortunately it's different with the HTC Himalaya platform because by default it's running the typical Pocket PC apps plus the Pocket PC Phone Edition applications plus some HTC and O2 customized stuff like Bluetooth, IA Caller ID, IA Camera and for the O2 version O2 Active UI. This means that on a xda II something around 26 tasks are already running in the background - right away after a softreset. Now imagine if you install Spb GPRS Monitor, Pocket Plus and Fullscreen Keyboard also! One task is left for a customer application. Now start ActiveSync which starts 3 tasks by itself and you are done! 8O Your device will need a softreset!

I recently got this information confirmed from several OEMs as well as from other MVPs. So the point here is that not the HTC Himalaya (and I'm sure other devices soon too) is the bad guy here but some parts of the Windows CE architecture because it's running to much task as well as way 3rd party applications are developed.

This is one of the reasons that CE 4.x has the Services Manager. An application that loads DLLs that can perform background tasks so you can write a service instead of a complete task that requires a separate process slot.

Developers should expect their apps to be closed in the background and plan on it. ODMs should move their camera, caller ID and Bluetooth stuff into Services and away from Apps. This is always as it has been. Developers should know this. ODMs should know this too and shouldn't forget it when developing new devices and enhancing features!

Well, its quite a fine mess to get all this stuff fixed because lots of folks are going to have to work together. The OEMs need to reduce the number of processes they're using. Third party developers that write things like full screen keyboard applications really must redesign their software to be a service. And it wouldn't hurt for the Microsoft Mobile developers to reduce the number of processes they're using as well. The goal should be at least 8 slots free after soft reset. That should leave enough room for apps and ActiveSync.

Cheers ~ Arne