Developing apps and websites for more than one platform is a fairly common practice for any business with an online presence, simply because modern users like to alternate between several different devices. The tablet might take precedence over the laptop on the bus or in bed on an evening, but, people browsing at work will always favor the latter, and customers are unlikely to hang around if they can’t spend their money and time on the device they’re most comfortable with.
Here are just three things to think about when designing an app to work across multiple operating systems.
1) Platforms are Different
It may sound like an obvious point but what works for Android may not work for Apple. The same goes for Linux, Windows, OUYA, Raspberry Pi, and all the other weird and wonderful operating systems (OS) on the market. As a developer, you may ultimately have to create several different versions of an app from a single, unified codebase.
For this reason, a good place to start your app development is an OS’s design document. Apple requires developers to jump through significantly more hoops than Android to get anything published on the App Store, with perhaps the most significant concern the fact that the iOS software development kit only works on Mac OS X.
A good example of a company that has optimized its slot, poker, and roulette games for Android and iOS platforms is iGaming brand mFortune. The company, as a pay by phone
casino, is heavily invested in mobile development, with games like Hansel and Gretel, Space Katz, and Gold McDonald downloadable from their website for mobile platforms.
Taking that idea one step further, Duolingo, a language-learning app, functions on Android, iOS, Windows Mobile, and even on the developer’s website. The rationale is simple – Duolingo’s offering is almost a universal interest, appealing to both casual users and hardcore business types. With such a vast and unpredictable audience, a “scattergun” approach to choosing OSs is preferable to targeting the most popular ones exclusively.
2) Find the Right Tools
If you don’t have the staff or the coding chops to build something from scratch, there are plenty of software tools that can help you along, provided you don’t mind sitting down for a few tutorials. For example, Xamarin, a recent Microsoft acquisition, can be used to create apps for Android, iOS, and Windows. It’s one of the cheaper options at around $25 a month too.
There’s also Mag+, which has an iOS app for on-the-go building, Xojo, a solution with support for Raspberry Pi in addition to the above platforms, and Unity, one of the most popular off the shelf engines for video game and app development. If you’re ever played Hearthstone or Kerbal Space Program, you’re already familiar with Unity’s capabilities.
It’s worth noting here that while software like Unity and Clickteam Fusion appear inexpensive, they often require the purchase of a paid bolt-on to export to mobile environments ($73 each, in the case of the latter’s Android/OUYA and iOS modules).
3) Test Everything
There’s nothing more frustrating as a developer than rolling out a new update for your Android app only to discover that the same changes on iOS render it useless. As mentioned above, the consequence of developing for multiple platforms means that you’ll also have to account for subtle differences in OS design – you can’t put a square peg in a round hole.
Make use of beta versions, get independent testers on board (even family members can give you a new perspective on your app’s capabilities), and poke at everything before pushing it live. It can take anywhere between a day and several weeks to get apps and patches through Apple and Google’s approval process if something goes wrong.
It’s important to consider your user’s perspective (understanding your audience is one of the ten commandments of successful marketing), who they are and how they like to use your app. The app you think is gamechanging might just be an exercise in frustration for somebody else.
As a final point, there are a lot more than three considerations involved when creating an app on multiple platforms. With that in mind, good practice in app development is not so much a lesson to be learned as an ongoing journey. Don’t be afraid to innovate but keep your audience in mind every step of the way.