Why Windows Phone 7 Runs on Crappy SoCs?

Its been about a week since I started using Windows Phone, my initial reactions where not that good:

http://www.theverge.com/2012/8/20/3254917/just-got-a-windows-phone-and-im-sorry-i-did

But after spending much more time with the device and looking into the fine details I'm starting to notice some very nice touches and looking at the overall picture, a bit of I think what Microsoft wanted to achieve with Windows Phone 7.

The limitations of Windows Phone 7 are obvious, multi-tasking is my biggest gripe, but I can also mention the screen resolution. Its not that it isn't sharp (mine has 237 ppi) but is has to do more with how low the screen resolution is compared to other modern phones, now a days 960*640 is about the standard for the range of phones most Windows Phone devices compete with.GPU power is yet another let down for Windows Phone, the Adreno 205 (top of the line for the platform) is just not competent enough to provide the same quality of gaming experience I had with my years now old Atrix 4G, a Tegra 2 device that is still far from been a top of the line SOC.

But why Windows Phone is so behind the curve in terms of hardware?, and Why we have not seen modern SOC and screen resolutions?

I think part of the answer comes from the fact that Microsoft needs to have cheap hardware that can leverage wider margin levers so that they can profit form the actual OS with out upsetting prices much. But if you follow the development cycle of Windows Phone and the programming culture Microsoft is trying to promote, you will start to notice that there is something very important for them: Efficiency and resource management, if you look at Channel9 there are a lot of videos on how to measure and improve your application to run at stable 60 fps, it is a very big deal for them and they have achieved, even with what is now low end hardware.

Efficiency and resource management/disposal are mantras of every OS ever created, however, Microsoft software has been know for a culture of inefficient, resource heavy software, from Microsoft itself and from developers. This culture created the war on MHZ the GHZ, RAM GBs of RAM, etc... Upgrading hardware or just buying a new system was the norm, so, why is it that they are not following that culture any more?, Why they didn't allow Windows Phone devices with more RAM, more graphics power and better screen resolution to Keep-up with Android and the iPhone?

No, they did not do it because they can't, nor because they did not want to deal with fragmentation (although that may be part of it), I think their main goal was to brute-force their development team and third party developers to switch paradigms and to be better, smarter programming for this new era of computing where hardware power is not necessarily a selling factor anymore even if it comes in small ARM package, they wanted to prepare for Windows 8.

Windows 8 is a clear testimony of this paradigm shift, It runs fantastically smooth on hardware that was dubious even for Windows 7, It also runs very smooth on ARM system and seems smoother than Android on Tegra3, although I just have video evidence of this.

So, while Android is, and for what I'm seen will continue to suffer from the specs war, Microsoft has decided to be braver than even Apple with iOS, that still relies in part on the powers of mighty mobile GPUs.

This is why I'm exited about Windows Phone 8 as much as I'm about Windows 8. I can't even imagine how a Windows Phone 8 device will run on the MSM8960 or superior hardware, That thing will put Android to shame and iOS in some regards.

So, was this the right strategy for Microsoft? I'm not sure, after all, the phones are not selling as fast as Android or iOS, but they managed to create the most efficient mobile OS no doubt, I mean, I've used a GSIII some times and even with all of it super powers, it is no yet as smooth as Windows Phone 7, Jelly Bean my change that, but Windows Phone is still better.

Will I buy a Windows Phone 8 device, hell yes!, despite my gripes with Windows Phone 7.5, that I still think was an experiment, to get us to Windows 8.