Strategies for Developing Apps for a New Device Platform

Developing apps for a new device platform presents a number of challenges and is not without risk. The biggest risk of course is that the new device platform won’t sell and there will be no audience for your app. However where there are risks there are rewards and developing apps for a new device platform is no exception.

There is no better advantage than being first to market with a strong product that satisfies a real demand. When Apple opened up the iPhone to 3rd party developers, those who were quick to publish apps for this new platform were quickly rewarded as iPhone owners swarmed the newly launched App Store with an almost insatiable appetite for new apps for their shiny new phones. When Apple later launched the iPad, again the developers first out of the gate with iPad optimized or exclusive apps were rewarded.

If you manage the risks and plan carefully to deal with the challenges, targeting a new device platform can be a great way to be first, to stand out and to establish a customer base.

Dealing with Bugs

There are a number of challenges when developing for a new device platform that you’ll need to manage in order to be successful. Often, you’re coding your app for an OS that is still in beta to run on hardware that you haven’t seen or touched yet. Sometimes the very tools you’ve provided to write your app are themselves in beta. Contacts and communication with the people building out the new OS becomes very important in this situation. As you build and test your app you are going to encounter bugs.  However, when dealing with beta developer tools, a beta version of the SDK, or a beta version of the device simulator, it can sometimes be difficult to ascertain the root cause of the issue.  The bug could be a result of your code, the development tools, the device simulator or bugs in the OS itself.

Being part of an active community that includes people working on the new OS allows you share problems and ask questions to help sort out issues that you need to fix versus issues you can expect to be resolved by updates in the OS or tools. Just understanding this can save a lot time.

In addition to communication with people from the company publishing the new device platform, it’s important to join whatever developer communities that exist for your new device. A mature OS will have a well-designed, well-documented and well-tested SDK for developers to use. Google searches will bring up hoards of examples and tutorials on how to do almost anything. But in the case of a new device platform, Google searches may provide very few answers. (One of the problems with being first is that you’ll also be the first person to experience problems). Joining whatever communities and developer forums that exist for a new platform can be a tremendous boost to your development efforts. Being able to draw on the experience of other people facing the same challenges can really help you speed up development and cut through the problems quickly.

Testing

Another challenge is testing your app on an actual device. Often companies will release the developer tools early, long before the hardware is ready so that developers can get a crop of apps ready for the device launch.

The problem for developers is that they don’t have any sense of how their app will actually perform until they run their apps on real hardware. Simulators can do a great job of letting developers see how their app looks and behave, but to get a real sense of how the app feels and how responsive, or sluggish, your app is you’ll need to see it running on a real device. (Slow code often runs fast on simulators because simulators run on powerful desktop and laptop computers with processors that far outstrip their mobile counterparts.)

The earlier in the process that you can introduce device testing the better, which is another reason why it’s important to establish a relationship and contacts with the company developing the new device platform. Those contacts may later help get you prototype devices that you can use for testing.

Be Opportunistic

Being first on a new platform with a great app that fills a need doesn’t necessarily mean coming up with a whole new app idea. When a new OS comes to market, the OS maker naturally needs developers to create an app catalogue that will compel consumers to choose a device running this new OS over an established competitor. This app gap between the new OS platform and the older one is your opportunity to be first.

For example, while the BlackBerry 10 platform (BB10) has had limited success, BlackBerry has had good sales and downloads in its home country of Canada. Despite this fact, at the time of writing this article, none of the major Canadian banks have yet released a BB10 version of their banking apps that are currently available on iPhone, Android and older BlackBerry devices. There is a real opportunity for one of the banks to be first and potentially lure customers from their competitors by offering BB10 owners the convenience of mobile banking that other smart phone owners already enjoy. (The opportunity is amplified by the fact that a large number of these new BB10 owners are coming from older BlackBerrys where they could already download a banking app, so they are already used to the convenience of mobile banking which is now lost to them on BB10.)

Re-implementing Existing Apps

Re-implementing an existing app for a new platform is a great way of being first in a new market because re-implementing an app from one platform to another is actually a really good way of managing some of your risk when developing for a new platform.

re-implementing an app for a new platform, even when that means going from one language to another (say, Java to C++,) is always easier than writing a new app from scratch.

When you’re re-implementing, you know all the use-cases and business rules. They are baked into your original reference app. Developers almost never have to stop coding to ask a Business Analyst a question because they can just reference the original app. Even the architecture can be portable, making the re-implementing process look like an act of painting by numbers versus the act of original creation. The end results should look almost the same, but one app takes a whole lot less time to write than the other.

Manage the Risks and Reap the Rewards

As we’ve outlined, there real opportunities and real rewards to be had should you choose to support a new mobile platform with your development efforts. Success comes from also understanding that there are also real risks. If you follow some our strategies and pay close attention your risks, the rewards will be yours for the taking.

It's only fair to share...
Share on FacebookGoogle+Tweet about this on TwitterShare on LinkedIn