Currently there are multiple design limitations in the current Pocket PC 2002 and Windows CE in general that limit the performance of these systems. I'm sure that Microsoft thinks of these items as features but I see them slowing the Pocket PC down.
The Pocket PC 2002 continues to allow multitasking of applications as did the prior generations of Pocket PC and Handheld PCs. With Windows CE 3.0, Microsoft greatly reduced the latency to switch between tasks to under 50 milliseconds. While this sounds like a small amount of time, it represents a significant overhead when the system automatically runs up to 8 applications at once. Right now the developers do not have the ability to setup their application to run exclusively. Without this capability the Pocket PC and Handheld PCs will continue to slow down when multiple applications are run at the same time.
Windows CE supports RISC processor and Microsoft has chosen the StrongARM and XScale microprocessors that do not include math coprocessors for the Pocket PC. Without the support of a math coprocessor, all floating point calculations require many more instruction cycles. Users will see this in multiple applications, including Pocket Excel. Pocket Excel calculates much slower than the PC does due to this design decision. The only advantage for not including a math coprocessor is the simpler design of the hardware and reduced cost.
The Pocket PC uses 16 bit access to memory and peripherals. Since the Pocket PC uses the StrongARM or XScale CPU, it is limited to accessing the memory at 100 and 103 MHz respectively. So if the OEMs made a 32 bit or 64 bit bus to access memory, the Pocket PC would execute more instructions than it does today.
Since the first day Windows CE was announced, it supported real time data compression of the Object Store. The Object Store is the internal ram storage of databases and files inside the Pocket PC and Handheld PC. Right now the application developer or the user do not have the ability to turn off the compression of this data to increase the speed of the system. I believe that Microsoft will no longer need to perform compression of data with 64 MB or larger systems like it did when the first Handheld PC was introduced.
The TCP/IP stack in Windows CE is single threaded. This means that you can not receive data and send data at the same time. Further the overhead of going through both the send and receive queues slows down high speed TCP/IP communications. Windows CE like all modern operating systems supports multiple threads per application. I recommend that Microsoft separate the TCP/IP send and receive threads to minimize the overhead. This will really make a difference in 802.11b, and normal and full duplex 10baseT and 100baseT networking.
Currently Microsoft provides very limited capabilities to access the video display of the Pocket PC and Pocket PC 2002 with the introduction of GAPI. I believe Microsoft and the OEMs need to do more to increase the features and capabilities of the Pocket PCs to make them superior gaming systems. The specifications for the video controllers should include 2D acceleration in hardware. Further Microsoft needs to add a sprite engine to the Pocket PC to make high speed graphic designs easier for developers. Further adding the DirectX suite (DirectPlay, DirectSound, DirectDraw etc.) would provide standard APIs to make synchronizing video and game applications easier.
Currently the Pocket PCs only support half duplex (meaning you canot talk at the same time as you are listening). I believe Microsoft needs to support full duplex in order to allow developers to offer voice over IP, and video conferencing.
Currently Microsoft only supports Secure Digital, CompactFlash, PC Card and USB peripherals. I believe that Microsoft needs to support Cardbus PC Cards in order to get the highest speed with 100baseT networks. Further, the support for Firewire (1394) and USB 2.0 will add support for high speed peripherals like video capturing.
Overall if Microsoft made some changes to the design of Windows CE or the Pocket PC, these systems would be even faster than they are today. I hope Microsoft will focus on overall system performance in the future as well as supporting higher clock speeds for CPUs.