You have an iPhone, and a Windows 8 PC (poor soul), and a gmail account. To keep in touch with all your friends, you use Facebook Messenger. Firefox is your web browser of choice. You are living the cross-platform dream. Except... you're not. None of this stuff works particularly well together. Skype is a nightmare on any platform. Exactly why aren't we living the cross-platform dream? Why should we even want to? Is such a thing even a realistic goal? Let's explore:
Before we can understand cross-platform issues, we must first get a grip on platform issues. To do that, we need to know what a platform is. Generically, a platform is a surface that supports something else. A computing platform might be a set of hardware specifications that can support a variety of operating systems. An example would be the IBM compatible PC. A software platform might be an operating system designed to support third-party applications and services. iOS is a software platform. We might even consider the business platform. That would be exemplified by a company like Apple, around which a plethora of smaller companies have developed. Those companies, products, and services are supported by Apple as long as they remain in sync with Apple's business goals.
For a product to be truly cross-platform, it has to navigate all of those platform pitfalls. That is a lot to ask of any product or service. By definition, taking a product cross-platform means taking it to some part of some platform that you do not control. For gmail to work flawlessly in Windows, Google and Microsoft have to cooperate with one another. Microsoft has to engineer a set of good APIs for companies like Google to plug in their services. Google cannot control Microsoft's APIs If both parties work at cross purposes at the engineering level, there will be no cross-platform gmail.
Even if all the engineering problems can be ironed out, they have to work out the business wrinkles. Google monitors gmail communications on both ends to better target ads, and who knows what else. Microsoft could categorize gmail as spyware, and refuse it a place on the Windows platform. Microsoft makes a mail product of their own. They might decide to find legal ways to reduce competition on their platform. If you are unhappy about the performance of gmail on Windows and OS x, there are very good platform reasons for that particular cross-platform failure.
Consumers are not well trained to think in cross-platform terms. It is a very complex idea when you stop and think about it. We are predisposed to think of everything as being cross-compatible. One need not consider the cross-compatibility of a sock and a shoe. They do not need to come from the same manufacturer. They work together because, well... they just do. The same goes for our silverware and china. Who knows what brand they are? The pot cares nothing about the manufacture of the kettle they both work well on the stovetop, which is completely different from the measuring cups. Such things don't matter to the consumer.
When this attitude is brought into the arena of computers, hilarity ensues. Think back to the early days of printers. For a long time, you couldn't just buy a printer with any confidence that it would actually work on the computer you had at home. Did you need a dot matrix printer, or a parallel printer, or USB, or something else? Compatibility was not assured. Was that for Windows or Mac? Windows? Was that for Windows 95, 98, ME, or 2000? You had better be sure. Replacement cartridges? Don't get me started. To this day, there are people wondering if they have to use the paper branded by the printer company.
None of this is obvious to the consumer. She sees her sister playing angry birds on a smartphone. She wants to have the same experience. So she goes to the store to upgrade her feature phone. They all look kind of alike. So she picks one and brings it home. She knows that her sister has the app. She is confused when she discovers she can't just install the app from her sister's phone. Why should she have to pay for the app that her sister already has? Don't judge. Her expectations are reasonable from the perspective of someone who has been using a computer to install and share applications.
You are going to have a very hard time explaining why the Apple iPhone is different from the Samsung iPhone, and why apps and services are not interchangeable. Once she downloads the app for her Samsung iPhone, it still may not work. Perhaps she bought the one that is $100 off contract. She needs the one made for the 4-year old OS. Now, you have to explain why it doesn't work as well, or have all of the same features. This example may seem silly to you, but I run into this sort of thing all the time. This stuff is not obvious.
Retire a toaster that you have had for a few years, and replace it with a new model of a different brand. You don't have to change the bread and butter you prefer. It all still works just fine. There are no platform issues to consider. With computing devices, everything matters. Everything is a platform issue. This is precisely why companies are seeking vertical solutions that integrate with their platform. They want to ensure that the consumer has a smooth experience using key apps and services with their devices. They want to take the guesswork out of using computing devices.
A good example is video calling. Skype is the de facto, cross-platform video calling app. It's garbage on every platform. But it works. It is not an experience suitable for average people. When Apple included video calling on the iPhone, they chose to create their own standard to ensure a tightly integrated experience that worked very well with all of their devices and services. FaceTime was born. FaceTime is absolutely the best way to make a video call on an iPhone. It is only available on Apple products. It simply would not be as good on other products if it was available to them. Microsoft bought Skype for an ungodly amount of money to mimic the FaceTime experience on Windows devices. So far, they have fallen well short of the goal.
Google has made their own video calling service to provide a FaceTime experience for Android devices. If you are going to do a video call from one Android device to another, you will want to be using Hangouts for the best experience. When a person buys a smartphone, they do not have to wonder which service to use for the best results. They just need to use the one that is vertically integrated with the device. That can get a little confusing on the Android side of things, as the individual manufacturers offer their own solutions on top of Google's.
The cross-platform problem occurs when an iPhone users wants to do a video call with an Android user. The vertical solution will not work, and the consumer is left wondering why. You will never be able to explain the software, hardware, and business platform roadblocks that keep it from happening. The consumer is left to find a solution that presents itself as cross-platform. When it comes to video calling, every solution is awful!
You cannot FaceTime to Skype. Nor can you make a Skype call to hangouts. You have to get the would-be callers to download the same app on their platform of choice, then pray that it works well enough to conduct a decent video call.
Not all platforms can be crosse
Let's return to our video calling scenario. FaceTime is an Apple product that works very well on Apple devices. What if Apple actually made an Android version? How would that work across business models? Apple is determined to protect all user data from those who wish to exploit it. Google exists to exploit user data. This is precisely why Apple had to build their own maps application and dump Google maps. Google would not want a competing service that they could not exploit, and Apple would not allow their service ti be exploited.
The first thing Google would do is reverse engineer the app to grab user data. Android developers would be doing the same thing. Apple would not be able to control a FaceTime app an Android. Things would quickly spiral out of control. The scenario is even worse if Apple were to allow FaceTime to directly communicate with Google Hangouts. There would be nothing Apple could do to secure user information it would be like mail is today. Apple mail is quite secure. Gmail is quite the opposite. Whenever you communicates with a gmail user, your side of the conversation is still exposed to google. That is the last thing you want to happen with your test and voice communications.
Almost nothing is truly, successfully cross-platform. Mail might be the best example,and it still has problems. Even now, the worst problem one can find in Mavericks is mail. That problem is exclusively a gmail problem. Merging different protocols, business models, and consumer protection schemes is a nightmare not experienced by those who stay within Apple's vertical ecosystem.
My cross-platform solution is quite simple: I don't video call anyone who is not using an iOS device. To the extent possible, I don't email a person for anything important using gmail. I don't want google to know any part of what I have to say to someone else. I don't want Apple to make the world a more cross-platform friendly place because I don't trust all companies equally to do the right thing by me. We need firewalls between companies and services. When we agree on the best APIs, business practices, and consumer protection policies, only then should we be talking about cross-platform solutions. Till then, get to know Skype