Nobody[+] was writing Objective-C before the iOS SDK came but that didn’t stunt its popularity.
Google ended up writing their own Java runtime and ended up getting in a messy fight with Oracle over it.
Microsoft had their own developer platform (arguably better than anything the Android ecosystem had to offer) so it made total sense to capitalise on it.
The iPhone taught us that however obscure or bad your ecosystem is, developers will come to your platform if demand is there.
[+] (obviously Mac developers were writing Objective C - I’m unfairly rounding that down to “nobody”)
The console market has been teaching us that since the late 70s....
C# was well established by 2010. The TIOBE Index lists it as the 6th most popular back in 2004. Meanwhile Objective-C was only the 34th most popular in 2009. Java was only released 6 years before C#.
There were C# libraries for pretty much everything by 2010. I think you're mixing it up with an earlier date.
I think the mistake was in doing the same thing for Windows Phone 8 and Windows Mobile 10. Yes, you could run an app built for the old platform on the new one, but in order to do it right, you had to rewrite everything to the new frameworks, and then maintain two seperate stacks. This fragmented the already small market share into even smaller pieces.
The other big mistakes were a) not allowing other browsers, given IE and later Edge aren't the best, b) focusing Windows Mobile 10 towards flagship phones and ignoring budget phones -- where they were actually doing well with WP 7 and 8, c) not making a good release of Windows Mobile 10 until a year after launch.
This is so horribly out of touch I don’t know where to start.
Back in 2010, Android was still very clunky and sluggish. Windows Phone was sleek and fast. Both OSes allowed you to install developer tools and write software for free.
However, there's 2 differences that no one calls out! First, Android used Java as a way to leverage 15 years of software. Windows Phone v1 was c# only and back in 2010 no one except Stack Overflow was writing anything other than enterprise software in C#. So you literally had to write 95% of your software from the ground up.
Second, instead of quickly catching up, feature for feature with Apple and Android, only 2 years behind at the start, they stopped, not once, but two times to re-write their Phone OS still using the original feature set from 2010.
They should have 1, BENT over BACKWARDS to get every API they could and ship C++ and Java compilers. Talk to developers about what they needed to get their software written. In 2010 and 2011 there were hundreds of developers at every company that would have loved a small 20% project to bring up their software on a Windows Phone. Yet with it only allowing C#, it would have required developers 80% of their time and that was just not a reality.
Second, they should have continually added features and more features, and innovated on features that no one else had. 2010 still had a lot of room for owning the narrative of what a mobile device could be.
I don't know about you, but it frustrates me that they don't own up to their actual mistakes. It's not about the lack of companies building the apps, it's that whoever managed that Phone project was incompetent and mismanaged the whole thing. They treated it like just another 9 to 5 job with little expressed passion for winning.