A Novice developer:

My journey with Windows Mobile started in the freshman year of my undergraduate education. I worked on a robotics project with one of my college senior. We built a rover bot that could navigate indoors by itself. We used basic sensors (like proximity sensor) to accomplish it. The aim, however, was to scan visuals of a given room and report back wirelessly. Our bot would, however, be rendered useless if it could not capture visuals. We were rushing against the competition deadline and needed a quick solution. We decided that we had to use an existing platform to accomplish our task. We researched and found out that one could run compiled 'exe' on a Windows Mobile. I had already written a UDP-based video chat software that used JPEG based compression techniques. I scrapped the code as the maximum resolution that I could accomplish was a 100 x 100 pixels’ video at 10/15 fps. This was the right time to revive that piece code. We posted for help on our college forum and asked to borrow a Windows Mobile. There was a benevolent rich kid donor who gave us his device. I quickly reused most parts of my code to support video streaming from the camera of the phone (and improved upon the video quality a little bit). Finally, we had our choppy video streaming flow through. We lost the competition by a mile. I was however keenly interested in developing more applications that were Windows Mobile based. I soon saved up some money and bought myself a used ‘i-mate JAQ’, one of the pioneer Windows Mobile. Windows mobile aimed to create an ecosystem that would serve the developers community well. There were tools available which were so well designed that even a new undergraduate student could pick up and be productive with.

Apple’s (Jobs’) approach:

Microsoft was on track to develop an ecosystem that was conducive for partner developers to build a line of business application that could run on a ‘pocket PC’ that ran a miniature version (There was even DOS support in Windows Mobile) of the same OS that powered their work machines. They made life easy for the third-party developers, the folks who made Windows a grand success. All this progress was disrupted by the launch of the iPhone. The iPhone was not a revolutionary idea but a revolutionary product. It was smartphone truly re-imagined. People often credit the iPhone’s success to its design. I credit it to the ecosystem created by Steve Jobs. Jobs knew from day one that he was not creating a consumer product rather a multi-sided marketplace where the telecom carrier, developers, content creators (music, video etc.) and the consumers came to the same place. He was, however, sure that the one part of the marketplace shouldn’t feel the slightest of pain, the consumers; for they were the only ones who pay. This subtle difference in thinking brought forth contracts with the carrier for apps and music purchase. This required new investment in their IT to support the new iPhone. This investment made the carriers align their goals to make the iPhone a success. The developers were given a backseat during the initial days of the iPhone. There were no mature IDEs. APIs provided by Apple were cumbersome to learn. This does not, however, deter the geeks and Jobs understood that. Interestingly all the investment in ramping up served as an incentive for the developers to make more Apps and get it by Apples strict enforcement of rules in the marketplace. Microsoft realized that there needs to be a pivot to stay relevant. We (I joined MSFT by then 😊) hence did the undifferentiated heavy lifting. We launched Windows Phone with a stellar UI and replicated virtually everything that Apple had made for iPhone. Starting with a lag and battling an uncool evil image we were never able to convincingly lead the market. First and foremost, we charged our OEMs for every OS we put in their phones which drove up their cost per piece. OEMs were, in turn, battling with Apple’s contracts with manufacturers in Malaysia, Taiwan, and China. Apple manufactured so many phones that they completely bought in the production capacity of many factories. We had a closed source approach to the OS which leads to developers being overloaded with requests leading to prioritization and discontent by many third-party developers. Developers did not believe that they could make enough revenue if they invested in the Windows Phone Ecosystem. For us to fill their pockets it had to rain customers and we didn’t even have a drizzle. We were abandoned by the same developers that we once loved and coddled. It will be unjust if I don’t call out the craftiness of the folks in Mountain View. They realized the multi-sided market theory too well. They wanted to beat the incumbent advantage; Android was made free for all OEMs to use in their hardware. Furthermore, they made it open source enabling millions of developers to add features at the OS level for their own advantage. Of course, Google also went down the rabbit hole of trying to couple devices and OS. They were quick to realize their folly and cut their ropes. Samsung should attribute its success in the Phone market to adopting Android. One must love Google for their entry. They literally kick-started the economy of scale or rather let the OEMs and third-party developers do it for them.

Microsoft is a visionary. Visionaries are often pelted:

Microsoft employees often kick and scream a lot about our own company. Partly because we are a self-critical bunch, partly because we are very passionate and partly because Bill Gates started a Socratic society that permits open debates. In the abundance of cynicism about Windows Phone, you can hear, I want to call out some of the subtle successes of Windows Phone that are often not attributed to it. If you didn’t know, tile notifications are our invention. While Apple was busy patenting things like rounded edges (link), we invented notification on an app tile (or icon in case of iOS and Android). Windows Phone was the first to conceive the concept of a single OS running on all devices (ever since the time of Windows Mobile). Bing powered Siri. Microsoft Vista had voice commands built into it. We are always great at adding features that no one realizes or uses in a specific context. I would not use voice commands with my Desktop PC when I can type faster than that, while on my tiny mobile screen it’s a different story. You could say, “Nah! I like to swipe”; you can thank WordFlow (an app in iOS now) which came as a part of Microsoft Garage. We are the first company to bring 'continuum', a means by which your phone could be used as a ubiquitous computer (docked to a bigger monitor) powerful enough to help one write this article on a full screen. I have used the wireless version of it using my Xbox and I felt one of those proud moments as an employee. Samsung brought the same feature to the one place where it matters; it’s mirroring your phone to your car’s touch screen [Update Below]. They are now trying to release a continuum version in their S8 series.

I had to switch:

I continued my journey with Windows Mobile all the way through Windows Phone 7, Mango, Tango, Apollo and today with the latest Windows Update to my Nokia Lumia 1520. In spite of being loyal so long, I am having to switch to Android because of the economy of scale that exists in their developer ecosystem. I am cornered to switch. Toyota Bluetooth does not pair seamlessly with Windows Phone while Android and iOS work perfectly fine. It pairs with Android because Toyota engineers probably changed Android code to suit their needs and iOS probably because they had to change their own code to suit Apple’s needs. In this battle, is left alone a Windows Phone user who tears up every time a mobile website asks her to install an app and then pops up a “Google Play and Apple Store Only” message back at her. Amazon would sell you something by making a button that you can stick next your washing machine but discontinued their Windows Phone App. We are solving the problem head on by creating multi-platform app development and are trying to synergize with our universal app store [Update Below]. There seems to be less traction to it from the Phone side, though. We still have a lot of skin in the game. Office for Android is extensive and rich in features. Cortana now runs on iOS and Android and this makes it easy to integrate across devices. I love the Cortana integration in my Xbox. I had to re-learn the voice commands (they no longer start with Xbox and start with Cortana) but I am happy to do so in this universal Cortana environment. You may wonder that I mentioned why voice recognition on PC is not a great idea and yet here I am lauding Cortana on a desktop. Cortana on a desktop is really a great addition for other reasons (try features like the Uber integration of Cortana). Every time I am engrossed at work and I miss a call, I get a notification on my PC from Cortana. Finally, we have managed to embrace the Android (and iOS) ecosystem. Rather than trying to lure the users to our product (Windows Phone), we have come to meet the users where they exist. Kudos to the Exchange team (contacts) and One Drive team (photos and Groove Music); although It is sad and difficult to give up the silky smooth modern (used to be called metro) user interface that Windows Phone brings, the cost of switching is lowered by integration with Android. I already have my contacts from Exchange and my Music from One Drive to be streamed on the Groove Music App in Android.

If there is one lesson History has taught us, it is to adapt and embrace the change. Better late than never I am bidding adieu to 8 years of Windows on my mobile and switching to Android. If there is the slightest chance of recovery of the Apps Ecosystem in Windows Phone, you will find me going back to my Windows Phone.

[Update: Amazon has released an app meant as a universal app. It is optimized for the Desktop experience. It is clear they are betting more on the PC market ]

[Update: Nissan has partnered with Microsoft to place Cortana in the Car - link ]