Imagine you work your ass of to build the Android 1.0 device to compete with the Blackberry and then when you're close to launching the iPhone drops and your leadership says we gotta throw everything in the trash and start over from the touchscreen perspective.
Mind you, the iPhone employees didn't have it much better either, with most of them working 16h days and sleeping in hotels next to the office to save time, while having their marriages ruined according to some of them.
The early Android vs iPhone development war was basically a Hail Mary gold rush from both companies trying to capture as much marketshare as quickly as possible.
Initial work on the touchscreen based hardware started back in June 2006 (I remember meeting with HTC during a monsoon to kick off the project that became Dream/G1) and OS work to support larger displays, touch input, etc was underway before iPhone was announced.
Blackberry was not really the concern early on... Windows Mobile was. Folks (correctly as it turned out) believed mobile was going to be the next big platform area and there was concern (from Google, but also from OEMs, cellular carriers, etc) that Microsoft might end up entrenching themselves the way they did in PCs through the 90s, possibly including a more successful attempt to control the browser/web experience.
I don't think Windows Phone would have ever happened if the iPhone never existed. Looks like Microsoft was just happy making money with Visual Studio licenses so I don't know if Visual Studio community edition would even have happened without outside pressure.
> Windows Mobile runs the .NET Compact Framework, which will support development in C# and VB.NET. You can also develop for Windows Mobile using MFC/Win32 APIs in C++ or Embedded Visual Basic. At the end of the day it's a stripped-down Win32-based OS, so there are other options, but these are probably the most popular.
> Depending on your experience, it will probably be easier to get Visual Studio 2008 and develop in a .NET language, the development experience is pretty nice and there is a built-in emulator in Visual Studio, so you don't need to have a device plugged in unless you are working with device-attached or embedded hardware.
> Unfortunately, Visual Studio 2008 Express editions (the free versions) do not support Mobile development, you would need to run a trial version or purchase a license.
That fear was kind of overblown. In those days of Steve Balmer, Microsoft was far less focused and organized, too high on its success with Windows and Office, for such a slow, large and bloated ship to react quickly and precisely enough on this.
Just look at what they did with Zune before that. It was not a bad product at all, but it was too little too late for consumers to give up on Apple and jump ship to Microsoft.
They did react here as well, but just like before, by the time they had a desirable and competitive mobile OS, Apple and Google had already reached critical mass adoption that no matter how good Microsoft's offering was, they wouldn't have been able to recoup the lead lost to Apple and Google both with consumer and developer adoption.