Taking a look at the good and bad of cross-platform mobile app development
Once upon a time (about five years ago), deciding whether or not to offer a mobile website was a judgment call – it might get more customers on board but the costs involved could slow down development in other areas. Following Google’s “mobilegeddon” update of 2015, there is no discussion involved anymore; a company either has a mobile site or they lose out to rivals on the search engine results pages.
With mobile websites out of the way, the focus for online businesses has moved onto other things; chiefly, whether or not cross-platform development is worth the time and expense. It makes perfect sense to develop for Apple and Android but what about Microsoft’s ghost at the feast, Windows Mobile? Why not appease the geeks and develop for Raspberry Pi too?
For now, the decision to favor cross-platform development is one of customer service and market reach rather than technical necessity, and there are a number of reasons why designing for more than one or two platforms may not be worth it at all. With that in mind, let’s take a quick look at the good and bad of cross-platform development.
One of the great misconceptions about cross-platform development is that it involves the creation of several, disparate pieces of code; it doesn’t – or, at least, it doesn’t have to. Using a solution like Microsoft’s Xamarin or even Unity, a developer can create a single code base and simply tweak it for different operating systems.
Although there are a few concerns about cost (see below), cross-platform development is less expensive than catering for each OS individually over the course of a few years, simply because, with a dedicated framework, one team can cover all bases with a single scripting language. There’s no need to hire several specialists per platform.
It’s also possible to vastly increase a business’ audience by developing for a second or third platform – provided demand exists in the first place. The inevitable Android release of Super Mario Run will be a license to print money for Nintendo; the same applied for Fallout Shelter, which already had an established, dedicated fan base.
Attn @Android users: Pre-Register now to be notified when the official #SuperMarioRun is available on @GooglePlay https://t.co/rYJAIDUdO5
— Nintendo of America (@NintendoAmerica) 29 December 2016
A case study for sensible cross-platform development involves UK casino brand PocketWin, which has a mobile-first approach to gaming, to the extent that players can make a deposit by phone bill. PocketWin’s games, like new title Hansel & Gretel transfer seamlessly from the desktop environment to both iOS and Android.
Cross-platform development isn’t free. Unity, a powerful piece of free software, requires tribute in the form of a $125 a month subscription if a company’s revenue exceeds $200k. Solutions like Clickteam Fusion require the developer to purchase access to Android and iOS exporter tools (around $90 each) in addition to the usual purchase fee. Cost is almost infinitely scalable, reaching as high as $60,000 per app, per year for something like Kinvey.
As mentioned, cross-platform development can stem from a unified codebase. However, that’s not to say that all operating systems are the same – they aren’t, and what works perfectly on Android might be totally useless on iOS. Testing periods can be longer as a consequence, as there may be four or five different devices to consider for each OS.
There is also aesthetics to think about. UX and UI design are just as important as functional code and both Google and Apple have ‘human interface’ guidelines for working with the platform. A simple rule of thumb is to forget about trying to make your app or game look identical on every operating system; instead, ensure it looks good, even if that means tweaking the design.
Businesses may also find themselves at the mercy of development frameworks as far as implementing new features or fixing bugs is concerned. For example, a brand might want to update their app to support the next Android version (Oreo?) the day it comes out but if a preferred tool doesn’t incorporate it from the moment it hits the Play Store, delays are inevitable.
As a final point, if there’s no obvious case for developing across platforms, don’t bother. It’s not worth compromising on the quality of a service if an operating system doesn’t have the functionality to support the full-fat version. Keep the audience in mind too – an Android fan-club app probably won’t have as large of a following on iOS.