For many startups, the term platform agnostic represents a kind of unattainable utopia in the world of mobile apps. The idea that a development team has only to create an app for one mobile platform and have it easily converted to work with the rest is an undeniably attractive one.
In practice, however, a 100 percent platform-agnostic approach brings its own unique set of headaches: Performance often suffers when web-based technologies such as JavaScript are used in favor of platform-native tools; operating system-specific features like Apple’s 3D Touch are usually out of the question; and OS updates can mean months of waiting for platform-agnostic systems to catch up.
The upshot is that when people think of platform agnosticism, they think of clunkers like Facebook’s original app, whose web-based interface was widely reviled for its sluggish performance. As a result, many dismiss the concept as good in theory but irredeemably flawed in practice.
While this mindset is understandable, it mistakes platform agnosticism for an all-or-nothing proposition — that applications are either developed for everything or go completely native. But, for many companies, the sweet spot is actually somewhere in between.
Build Once, Deploy Everywhere
The advantages of this approach are pretty straightforward: Coders and designers have less work, and the user interface is the same across all devices. This makes it easier for a startup to give its app a defining look and feel that carries over on every device, and it usually helps cut down the learning curve for users.
In some cases, these advantages alone are enough to pursue a mostly platform-agnostic design. Rdio, for instance, used Xamarin to create a one-size-fits-all app that’s still considered by many to be one of the most beautiful and intuitive streaming apps available. Even as the company gets ready to close its doors, it’s still praised for the look and feel of its mobile apps.
But for many companies who want to take advantage of each OS’s unique features and available hardware acceleration, a hybrid solution is probably a better way to go.
While hybrids can be made in many ways, it usually means taking a platform-agnostic approach to design while using native code to make it work. This approach helps define the brand and create a consistent experience across all devices while maintaining the performance advantages of each platform.
It also means that when it comes time to incorporate feedback for the next version, developers can gather it from a wide swath of users and deploy the selected changes across devices.
Making the Agnostic Approach Work
To implement a hybrid approach that incorporates the best of both worlds for a particular app, take these three main actions:
- Figure out what technology the app needs to perform. Especially true for young startups with limited resources, it’s important to understand the ins and outs of the specific technology to be deployed before choosing the system for executing it.
Not every platform-agnostic solution is the same, so if a system requires significant effort to get the desired features or design out of it, then it isn’t the right solution. While platform agnosticism is partly about saving money, doing so at the expense of core features will not yield positive results.
- Keep it simple. Users want responsive, stable apps first and foremost. While this is true regardless of the approach, it’s especially important to remember when looking at a platform-agnostic design. Keep things simple in the 1.0 version in order to make sure the design works across platforms. If the core design functions well on every platform, then the app is heading in the right direction.
- Keep native developers on hand. Even for those diving headfirst into a platform-agnostic approach, there will always be little features or design elements that can’t be implemented without native code. Deploying to multiple platforms will yield better user saturation, but achieving that is pointless if part of the app is broken for a specific platform.
A platform agnostic approach is not a zero-sum game. Implemented in the proper ratio, this approach can save money and give an app a memorable and distinctive look while allowing it to function well within each mobile operating system. While getting the process right can be a tightrope walk, the potential benefits are well worth the effort.
Image credit: CC by Quinn Dombrowski