One thing they missed was the importance of two things. A full 32 bit pre-emptive multitasking workstation class operating system with a full TCP/IP networking stack under the hood. Combined with a desktop class object oriented GUI application framework, of course tailored to a small screen touch interface.
These are not visible features of the device. You can’t tell just by looking at it or even using it, except that they enable a fluidity and consistency in performance and functionality. It also provides a sold foundation of back end operating system services, made available as a solid platform to developers.
Google was incredibly lucky because their under development Blackberry clone happened to be based on a Linux kernel, using a custom Java engine. This gave them all the same core advantages to build from. A workstation class OS, pre emptive multi tasking, full TCP/IP, solid back end system services and a desktop class object oriented application stack.
On top of that, Apple maintained absolute focus and discipline in building the user experience. The many different interaction modes the author was so impressed by in WP7 were all possible on the iPhone, it had all those capabilities. Apple just composed the interactions into a much more coherent and approachable interface. Again, discipline and focus.
Eventually yes, Microsoft came up with a really decent phone OS, but that was around 2011. Way too late. iPhone and Android were already far too established with deep and wide ecosystems of peripherals, applications and services.