It was not long ago that MacOS and iOS were far and away the best platforms to both develop on and use. Pleasurable might be the word. They had the JustWork(TM) feature, which is the killer app.

Development had its pain. It’s arguable that a degree in particle physics would help you comprehend Objective C but Swift looks nice enough. As others have noted, the general build quality of MacOS and iOS overall has dropped substantially. Maybe we should call it the “fit and finish”. I type this on a Mac that is no longer responding to hot corners or clicking on the dock. Literally, I click on an app in the dock and it doesn’t bring it to the front. I move the cursor to a hot corner to start the screensaver or show all windows, and it does nothing.

I have similar anecdotes for my iPhone. How did we get to the point where application context switching doesn’t work? It’s (almost) literally the most important thing you need to do. It’s the whole point we have Windows, Icons, Mouse and the Pointer, what we used to call WIMP. And it doesn’t work on my mac. My Mac was $3,000 or so when it was new, and I can’t click on applications.

Perhaps a reboot would fix it? What is this, Windows 3.11?

I’ve been using a lot of platforms recently. My Mac, my iPhone. My Surface Pro 3. My WinPhone win Win10 preview on it. A Nexus 5 and a Nexus 7.

What’s striking is how little there is between them. They’re all black rectangles. They all have Office. They all can make phone calls and take pictures. They all have notifications and calendars and twitter. They’re all the same platform with slightly different boot up logos.

The distinguishing feature is now the fit and finish.

Android

Let’s talk Android. Boy is it confusing. What committee designed this thing? Why does the Android Lollipop clock icon look like a very low-contrast pie chart? We must give up, since there is no logical reasoning behind anything I can see on Android. Maybe that’s somehow on purpose. Some kind of lock-in so you get used to swiping one way for media and one way for cards and get confused when that isn’t there any more and keep you locked in to these behaviors.

Maybe Android is iOS-by-committee? It’s hard to find a mental framework to understand it all. The development environment is the same way, maybe there is some causality there.

Which is a shame, since there is so much potential there. When the material design works, it works really well.

Windows

And so Windows. The bastard child of history trying to do everything, all the time, everywhere. Amazingly it’s actually pretty good (Windows 10, that is) both on the phone and the desktop. How the heck did that happen? What happened to Windows 8’s mess? Win10’s design is clean, the thing works, things are where you expect them. It even boots quickly. And it’s cheaper than the other guys. Huh.

But they miss the apps. The apps on WindowsPhone tend to be somewhere from dire to awful. So Microsoft have tried to build an app store covering everything from Xbox to Windows to WindowsPhone – or Windows Mobile, or whatever it’s currently called. Great idea on paper but it has some technical challenges.

Except, when you go investigate and actually build something in Visual Studio it all works pretty well. There’s remarkable cross-platform targeting that doesn’t really exist on the Mac or Android/Chrome. Not just for native apps, but Cordova and everything else you can imagine. There’s this ridiculous multi-decade history of the CLI allowing you to target it with everything under the sun, and then magically run that code on everything from the Xbox to Windows to the phone.

The clever thing is Microsoft have a fairly mature stack to make Android apps work magically on Windows, and the iOS stuff that shipped recently will get there. But think about this – they only need one of them to work. Twitter has a great android app and a great iOS app, they don’t need to port both of them to Windows. One will do.

And Visual Studio really is fun. It’s like… have you tried Open/Libre/Office vs. Office? That’s what it’s like after using Eclipse. Why would you ever go back to Eclipse?

And the only way is up. It’s hard to see the Windows Mobile share go down much more, where do you go after 3%? 2%?

Future Choices

So let us say you’re in the market for a new phone or computer. Is there really some compelling reason to buy iOS over Android? It doesn’t look like it any more. They’re both ok, they both have apps, and Android is cheaper.

Not long ago I helped my father-in-law get a iMac. Today, he regularly has trouble with it. Including, if you can believe this, web-based malware that locks out Safari and asks you to pay money to an 1-800 number you have to call. It somehow pops up a MsgBox and you can’t get rid of it by rebooting, quiting Safari or 100 other ways. It’s remarkably tough to get Safari to quit, kill the network connection, close the tab and restart the browser to get out of this lock-out. It’s like Windows98 with IE.

Win10 is surprisingly compelling and I’d probably recommend that today. It’s cleaner and cheaper and it works.

Platforms as a Service

If you’re trying to accomplish real work on top of any of this mess, today it feels like you may as well pick randomly. Office, email and your calendar is available on everything. They even all look the same. It doesn’t matter if you buy iOS, Android or Windows for any actual work task. They all work with some marginal pros and cons.

I think that makes the future very interesting.

It’s not particularly sustainable for all three to have their own everything. If you go look, Apple, Google and MSFT all have something like 100,000 people give or take. They’re all making development stacks, they’re all mapping the world, they’re all working on search, they’re all building cloud things, they all have spreadsheets. It goes on and on.

It doesn’t feel particularly sustainable or rational. At some point, something will give and the cash cows that pay for all of this will fall over. One of them will not have the cash to sustain it all, then there will be two. Like some medieval city-state after a drought, it’ll become some kind of Sun Microsystems or SGI. How many decades away is that? Hard to predict.

Unless memory fails, Nassim Taleb predicted a while ago that Italy was more robust and sustainable than Syria. Syria had a long period of stability under dictatorship. Italy was a mess of factions and in-fighting. People thought he was nuts, but then Syria fell over.

These 100k people organizations can be understood like that. There’s a deep fragility in everyone building these huge stacks. Apple taking device revenue and building maps, or Google taking search revenue and building laptops. Unless you make the leap to profitability, independent of the start up capital from your cash cow, eventually something will give. Apple and Microsoft have done that multiple, multiple times. Google has not as yet.

It’s also interesting how vertical Google and Apple are, compared with Microsoft. Microsoft has those same vertical stacks as those guys, plus all the horizontal services across Android and iOS. It’s unbelievable how decent Outlook is on iOS. It’s hard to see Google or Apple responding by making their services work great on each others platforms in the same way.

The attack on Android

It’s hard to see Microsoft making a frontal or otherwise attack on iOS. It’s too locked up and they locked out Google as much as they could. On the other hand going after Android isn’t going to be that hard. Plus the reality is a massive amount of cooperation between Apple and MSFT.

By building this big suite of services out on Android it’s going to be very easy for a manufacturer to jump ship to a Microsoft Android. Pretty much all the pieces are there; office, email, calendar, maps. I suspect Windows Mobile is Plan A by expanding Windows in to phones and Plan B is Microsoft Android. Or why not do both? Android support is a great way to go run interference that is hard to respond to. It’s much harder for Google to go run interference on Microsoft’s revenue streams today, but it’ll get easier with build out.

Also interesting to note is that Windows Mobile will probably disappear. Windows itself runs very well on low end hardware. We aren’t far from a phone being just a low-end Windows device. It almost feels like, playing with it, that Windows 10 Mobile is like the days when Windows and NT were separate products. It takes time, but then they’re the same thing.

Outlook

Thus I think the future is very unstable. Note I don’t think instability is a bad thing.

Being forced in to a corner and losing all marketshare in the big emergent space of mobile has forced Microsoft to be extremely innovative. It doesn’t face the same barriers to thinking or entry of the other two. It has nothing particularly to defend in the mobile space and everything to gain. And it has the same money and smart people the other guys do.

The barriers to Apple or Google going horizontal and supporting each other today are going to hurt them. They’ll both keep doing what they’re doing. iOS will gradually get more messy and flaky and Android will continue to commoditize whatever iOS does. Next up, fingerprints, or whatever it is.

In the end the consumer wins.

Try it and see

Whatever you favorite flavor of ice cream is, if you haven’t tried the other two I’d urge you to go do that. Old iPhones, Nexus devices and Lumia devices are all pretty cheap on eBay.