Should I go cross-platform for my first version?

This is one of the most popular question in the mobile software development spheres. And you won't find any definitive answers anywhere. But let me take a stab at it.

If you have read other articles on this question, make sure you first think about who the author is. Is the author a developer or somehow affiliated to a development company? If so, do they create native apps or do they create hybrid apps? You'll most likely start to notice that they each preach for their own set of skills. Meaning a native developer will tell you native is better, a hybrid developer will tell you hybrid is better. 

So what about me. Well, I'm a native developer. So I work on native iPhone project, not hybrid. Now you know my allegiance.  But that does not answer your question.

So to answer your question, there are some things to ponder.

Do you really need to be on Android and iOS?

People really get hung up on this. Where are your users? Do you have users on both platforms? On which platform are the revenue driving users?

Think really hard, this will have a direct impact on your project costs.

Do you really need to be on Android and iOS at the same time?

Developing two apps at the same time (whether hybrid or native) is a much larger effort than creating one. You'll double your testing effort. Your marketing effort will be larger. Your team will need to be larger.

A way to make it a bit easier is to create a version for one platform first (even if going the hybrid route), iterate on your app based on the feedback you get, then bring the second version live.

If you're going native, you'll save yourself development and testing cost, since you won't code the feature that you eventually kill off during the initial iteration.

If you're going hybrid, you'll save yourself testing as you won't have to test the features that get killed off and you'll have fewer bugs to fix. Your effort will be a little less too as you won't do two things at the same time. 

Last benefit, since you'll have two releases, you just got yourself a second press release to generate some buzz:-)

Are you trying to find your product market fit?

Then lean toward native on a single platform. This will keep things simple while you try like crazy to figure out your market.

Do you need highly polished user experience?

Personal opinion, I know some developers that disagree, but if you need a highly polished UI and want to use the latest feature of the OS, lean toward native.

Are strapped for cash?

I know this is not very sexy, but if you're strapped for cash then going on a single platform will be cheaper in the short term (even cheaper than hybrid). Later once you have proven your market, you can raise some cash or revenue will start to come in and you can reassess.

What does your developer know?

And maybe most important, you have to consider your team. What kind of app are they used to creating. Learning a new technology will take time and effort. So you might have your answer right there.

Keep in mind that finding developer that know the hybrid technology you want to use will also be harder. So think about the recruitment effort you'll have to put in.

 

So as usual, no simple answer. If you work with me, that means you'll be doing native applications. Not because I think it's better, but because this is what I'm focusing on. If you need a hybrid guy, I'll refer you to someone else.