Interoperability, the Term That Describes the Ability of Apps to Work on Numerous Devices and Platforms
Total Page:16
File Type:pdf, Size:1020Kb
You might think that in a perfect world, application developers would write code just once and it would run everywhere. But that mobile utopia doesn’t exist. Instead, developers practice their craft in a digital universe that includes multiple versions of competing operating systems and thousands of devices in various screen sizes. This fragmentation forces developers and the companies that hire them to answer tough questions every time they imagine the next big thing: Should they build for one operating system over another? Should they develop only for the big two, Android and iOS? If so, should they build the apps simultaneously, and should they design one app for both or two different apps for the two platforms? Should they use tools designed to streamline cross-platform development? How should they test the app for the hundreds of Android options? Or should they go to the Web via HTML5? All of those questions and more are behind the mobile industry’s pursuit of interoperability, the term that describes the ability of apps to work on numerous devices and platforms. “Right now it’s frustrating,” said Peter Braxton, the founder and CEO of Jump Rope Inc. “For someone who’s trying to build a business and presence on different platforms, it’s really hard because it's additional investment in resources, both time and capital, each time you encounter a new platform.” In a recent survey by Telerik, more developers are moving away from purely native development for multiple platforms. The survey of 3,5000 developers, CIOs and CTOs found the following trends: Source: VentureBeat Pure interoperability is not technically possible. It also doesn’t consider the cultural, regional and language differences of customers, or their preferred user experiences or devices. Every market has its own peculiarities (try asking a Finnish person to fill in the “State” field in an address form); every device has its own style. In short, there are many reasons to have different versions of an app for different devices, markets and groups of users. That being said, app makers have sound business reasons to maximize the available market for an app without technical constraints. This white paper defines the challenge, explains why it matters and discusses the options available to developers, including tools to help both developers and non-developers build interoperable products more quickly. The paper concludes with case studies based on the efforts of several experts in the app industry to achieve interoperability or help others do so. The challenge defined In the development community, interoperability involves three distinct divides -- those that exist within operating systems, across operating systems and across devices. The gaps are the result of a diverse marketplace combined with consumer demand. People “want to play the content or the application anywhere, any place, any platform,” App Promo CEO and founder Gary Yentin said, “I think the trend is that you follow users seamlessly throughout their day.” To do that, app makers must decide which of the three divides they want to bridge -- or realistically can bridge -- in order to maximize their sales. Source: Google’s New Multi-Screen World Study The first big decision developers face is which platforms best suit their needs. The decision was easier when Apple was the sole dominant player, but app makers can reach consumers through multiple operating systems these days. At a combined 1.5 billion devices, Apple’s iOS (600 million) and Google’s Android (900 million) are the dominant forces by far. “We still hear a lot of people say there is a little bit more cache being in the Apple store,” Rocket Farm Studios founder and CEO Daniel Katcher said. “But now that the market is literally billions of phones, that seems to be less the concern.” The market also includes players like BlackBerry and Microsoft with smaller market shares. Although their devices are in far fewer hands, the count still reaches into the millions. And new players continue to enter the field. Samsung owns a large share of the smartphone market thanks to sales of Android-based devices but also has invested in the Tizen operating system as an alternative. Mozilla created Firefox OS, a Web-based option for apps that only allows app development in the universal HTML5 standard. Some app makers solve (or ignore) the interoperability challenge by choosing to build exclusively for iOS or Android. Others target the two big operating systems but avoid the smaller ones, while the most ambitious companies and publishers build for as many platforms as they can and closely monitor the marketplace for new opportunities. The reasons vary from developer to developer but typically include the time, skills and money it takes to make the same app two or more times and which platforms best serve the demographics of the app’s intended audience. A game app catered to children, for instance, might generate more sales via Android because parents are more likely to buy lower-priced phones for their children. Michael Griffith, the creative director of Bottle Rocket, added that “Blackberry still has a little bit of hold in enterprise” because of its popularity with business professionals. “It's come to the point where pretty much the biggest driving force is how much market share these devices have and who the target audience is,” said Arun Venkatesan, the director of iOS engineering at Applico. As the co-owner of a small family company, Kevin Hamilton of Binary Formations only develops for the Mac and iPhone App Stores. “We have to be very careful on where we allocate our resources, and it seems like report after report after report shows that Android sales ... are still a fraction of what they are on iOS,” he said. But Michael Prichard, the founder and chief technology officer of the larger development shop WillowTree Apps, said his team recommends that clients give more weight to which platforms work best for their apps than to factors like cost and development time. Developers who see value in getting their apps on multiple platforms face another strategic decision -- whether to build for all of them at once to saturate the market quickly or to pick one for launching their products and develop for the others later. If they opt for staggered releases, then they most often choose between iOS and Android as the best starting point. This choice is both commercial and technical because Android apps (Java) are typically free with embedded advertising and Apple apps (Objective C) are typically paid for upfront. AppPromo’s Yentin recommends iOS first because it offers a proven business model to developers who are looking to prove their products have market traction. He said Apple has the most user credit cards on file, and the buying process is frictionless. Kishore A K, co-founder and CEO of Shufflr.tv, added that the app ecosystem and developer tools at Apple are more advanced, and product testing and validation take less time because iPad, iPhone and iPod devices are the only ones that run on iOS. “I would go to Android only after iOS was a success,” said Drew Ramsey, product manager for the development platform MobileSmith. “I certainly would not spend the time and money to go out to the Android side if the iOS version was not a success.” Other developers prefer Android as a test market. More people own devices built on that operating system; the devices are more affordable and thus more likely to be purchased for children who play mobile games; and it’s easier to get apps into the Google Play store. When Hunter Peress developed HiFiCorder in 2009, he thought the Apple Store was too saturated and focused on Android -- a start that made him a stronger developer for Android than iOS. Developing for Android poses another interoperability challenge: fragmentation within the operating system. Fragmentation is an issue on all platforms, forcing developers to code both for different devices that use the operating system and for different versions of the operating system. But the challenge is more pronounced in Android. OpenSignal, a company that maps wireless coverage, created a series of graphics to illustrate the extent of Android fragmentation. The company identified 11,868 Android devices on the market as of this July -- up from about 4,000 a year before. It also identified eight Android versions that are still being used. “What this means is that developing apps that work across the whole range of Android devices can be extremely challenging and time-consuming,” OpenSignal concluded. Shufflr.tv co-founder and CEO Kishore A K mentioned one specific challenge that could have affected perceptions of his company’s video app. Videos played through the app used Flash on some Android devices, and on one device in particular, the phone only loaded the audio. Shufflr users with that phone might have reacted by giving the app a low rating in Google Play store, thus hurting the app’s reputation. Although Kishore said that particular problem was unusual, it shows how Android fragmentation can impact development. Some device manufacturers ship pure Android without introducing any changes to the operating system to address that concern. Google also shares monthly data about the most popular Android versions, information that can steer app makers in the right development direction, and the company can deliver new features to most Android devices via Google Play Services, which includes a gaming platform. Tools like Apkudo for Developers, which works with more than 260 Android devices, further help address device fragmentation through testing. Android is the platform of choice for some game publishers despite the diversity of Android- based operating systems and devices.