Windows Phone is a great platform, with its elegant live tiles, beautiful hardware and performance that mostly belies even the lowest end internals. Of the three platforms currently available it sports both the most elegant UI and the best hardware. Yet other than for testing purposes I can't remember when I last carried one.
As usual the problem remains the app gap. After years and years of trying Microsoft have singularly failed to fix the problem. Yes, we hear of every single big name arrival as a cry of victory from the Windows Phone cheerleaders, yet the gap between the release of the iOS, Android and Windows Phone versions of these big name apps is usually a reason for concern, not celebration.
It isn't even the big name apps that are the real problem. For every big win Microsoft scores there are one hundred apps that aren't ported and every one of those is a show-stopper for someone transitioning to Windows Phone. In fact by making its apps available so freely on iOS and Android Microsoft has made it incredibly easy to decide to skip Windows Phone entirely.
So what is the solution? Microsoft thinks that it's universal apps, running on all Windows devices at once. Which would be reasonable if the Windows app store wasn't even more barren and crapware-laden than the Windows Phone store.
Realistically Microsoft has two options to save Windows Phone. Application compatibility with Android, allowing Android apps to run seamlessly on Windows Phone; or by making Windows Phone mirror Android's APIs in such a way that porting is completely trivial.
One of these options needs to become a reality at Build this year. Otherwise I'd say Windows Phone is done, which would make me very sad.