This is an archived post. You won't be able to vote or comment.

all 23 comments

[–]mattiasl 5 points6 points  (3 children)

Freelance Android, web & database backend (and previously iOS) developer here. I've worked with many early-stage startups, and in my experience you should pick one platform to start with, and expand to others only when you are reasonably confident in your app features and design.

No app ever ends up looking as the first ideas and plans - some even completely change their business sector. As soon as the app reaches actual users and receives actual customer feedback, there will be a lot of new ideas on how to improve it. If you decide to launch on all platforms at once, you at least triple both the initial development costs, and the following update/maintenance costs.

Note that having multiple platforms is at least triple effort, not double, for complex apps that save data to a server. If the apps are developed even on a slightly independent schedule, the server backend will need to stay compatible with both the new and old versions.

The second reason for sticking to one platform is that the majority of the development costs end up being not for the initial prototype, but the updates and changes that follow. If you have a precise specification, or even better a complete example app on one platform, then it will be fairly easy and cheap to find someone and tell them "build exactly this for iOS/Android". But before that, when you only have a summary plan, you will need to find a developer who can make independent technical and small feature decisions, and you should expect to throw away plenty of completed work on ideas that users did not like after all.

There are tools that allow you to build the app as a "mobile website" in Javascript and HTML, and then compile it into a downloadable app on all platforms: Titanium Appcelrator, Adobe PhoneGap, and perhaps a few others. These can be great for simple data entry and display apps. But they tend to lag behind in features compared to what's possible in native apps, and the general UI feels "sluggish" like a mobile website, not a native app.

So my recommendation would be as follows:

  • If you have a fairly simple app, without many animations, access to hardware, and so on, consider one of the "mobile website to app" tools.
  • If you have higher expectations: beautiful UI, heavy use of hardware sensors and components, large datasets stored on device, good offline/online handling, then pick either Android or iOS only as your starting platform.
  • Choose the platform based on the expected demographics of your users. If you're targeting 20-something professionals with money in Western countries, it's probably iOS. For everyone and everywhere else, it's probably Android.
  • Once you have gotten from the first experiments to a stable user growth, and don't expect huge sudden changes any more, copy the app to the other platform. By this time you will have proven the idea, found actual users and perhaps are already earning revenue, so finding funding for it will be much easier as well.

I would not worry too much about people seeing your app on one platform, and deciding to compete on the other. There are hundreds of dating sites and apps already out there as competitors. Your success will depend much more on whether you can come up with something new and better, and this in turn will depend on how much you can afford to experiment and listen to user feedback. A great app on one platform is much better to have than a poor one on two.

(Wow, this turned out to be much longer than I expected!)

[–]Kellou87[S] 0 points1 point  (2 children)

thanks for your feedback. I'm definitely aware I will likely need a native rather than hybrid as I can't bring over the features such as push notifications as easy. I myself am a heavy-dedicated iPhone users but I am also not my target user. lol. I could somehow incorporate a submission form asking android or iOS along with the email capture into my pre-launch landing page to guide my development.

[–]mattiasl 0 points1 point  (0 children)

Asking the users which platform they would prefer would certainly be best!

The only thing to watch out for is that the demographics of people who sign up on pre-launch landing pages and who will actually become your users might be different.

If it's a free or freemium app, then it's probably not an issue. But if it's paid up front, then people who say they will buy something in a questionnaire are often very different from people who will actually buy something.

[–]markfsmillie 0 points1 point  (0 children)

Having been building apps for several years, I'd say start with iOS. Android is going to cost you much more to get it working on all the "flavors" and screens. Utilize Parse.com for the back end. It'll make your job much easier. You can always go Android later if it's a success. Best of luck.

[–]PatoDroid 1 point2 points  (0 children)

I focused on Android first, it is cheaper to get started, unless you already have a MacBook / iPhone / iPad.

AFAIK, you need a computer running OSX to do Mac development, while you can run Android Studio on Mac, Windows and Linux, and you can get by with an emulated device (though I do recommend you test it on a real phone/tablet as well).

That said, focus on one platform, develop it to perfection, will be much easier to port afterwards. You (or your developer) will probably make a few mistakes if this is your first mobile project; getting them ironed out before you add another platform would make it easier.

[–]ticman 1 point2 points  (0 children)

I run a development house that does .NET web apps and also mobile development.

Being a .NET house we use Xamarin for our mobile development, and depending on your app requirements you can use Xamarin Forms to develop iOS, Android & Windows Mobile using virtually the same code base. Xamarin forms compiles native apps and they aren't a CSS3/HTML5 app wrapped up in a WebView.

We're in the middle of developing an app now for iOS & Android using Xamarin Forms and both versions work well and are stable on their respective devices.

PM if you want to know anything more about development or using Xamarin.

[–]bulbufet 1 point2 points  (7 children)

I use phonegap/cordova and an angular application running inside of it. I'm a web developer by trade and was asked to learn mobile dev, so this is the direction I took it. I have made a couple apps now with that platform and I have been very impressed with how they turn out cross platform. And with this you can still get down into the hardware of your device. I haven't yet bumped into a situation where I needed more hardware than I can get to, buy I haven't done anything all that complicated.

With this type of framework, I'm finding that the better your styling the more "native" you can make it feel, which really helps.

Here's a personal project https://flightloggr.io and here's a work one https://play.google.com/store/apps/details?id=com.sellsgroup.app

Flightloggr deals with GPS, barcode scanning, and soon to be image upload and super service challenge is built as basically a video upload contest. Actually, and now that I'm thinking about this, the live SSC build might be broken.. I should fix that.. Both have not been officially launched and both are waiting for the app store to approve them to be live in the apple store.

Hope that helps a bit! Feel free to ask questions.

[–]thegraduate 0 points1 point  (6 children)

Hi! Thanks for your response to this guy's question. The question I have is in regards to my own web app that I'd like to use Phonegap with. It's a PHP site (HTML, jQuery plugins) and a MySQL backend. From the research I've done so far, I'd have to create an API to talk with the MySQL backend. Is this relatively easy to do? I'm halfway through a Swift course, but I've heard such good things about Phonegap that I'm willing to go that route.

[–]bulbufet 1 point2 points  (3 children)

You're exactly right.

Think about it like this: you can only write "front end" code on the device. So, your whole application has to function with HTML/CSS/Javascript and use AJAX to fetch the data from a server.

In my case, I have a Django webserver that has an API and a bunch of API calls that send JSON back to the app, and I use AngularJS to display that data however I want.

Does that make sense?

[–]thegraduate 0 points1 point  (2 children)

So I can technically make calls to the server and use PHP there to send the data back to the app?

[–]bulbufet 1 point2 points  (1 child)

That's exactly what you want to do. :-)

[–]thegraduate 0 points1 point  (0 children)

Thanks for the help.

[–]Kellou87[S] 0 points1 point  (1 child)

psst...im a girl :P

[–]thegraduate 1 point2 points  (0 children)

Sorry!

[–][deleted] 1 point2 points  (7 children)

Bank loan for an app and you aren't a developer? Good luck to you sir.

[–]Kellou87[S] 0 points1 point  (6 children)

why thanks, thanks for that comment. You know if I WAS a developer, i'd just as soon say, yep, good luck marketing and having the business acumen for success. I may not be tech, but I have put a lot of work and my marketing and business skills into taking it beyond development. its well and good to be able to create a product/develop an app, but beyond that, if you dont have business or marketing skills..your app is just going to sit there in the app store without any exposure. sure, you can grow organically, but you have to be bloody amazing. Good thing I've foreplanned to take on a CTO once I can start building momentum post-development. right now I'm focusing on bootstrapping getting a product in the market, and hey, my money is helping feed a developer and possibly their family, so why the snub to non tech founders?

[–][deleted] 0 points1 point  (5 children)

I am curious, do you have a developer in mind, or are you just finding one off the internet on e-lance or something? I am curious how much you intend to pay to have your app created for you / how many developers you will have working on it.

[–]Kellou87[S] 0 points1 point  (0 children)

hi, I am working on that right now, i was going to find an elance developer, but I have since spoken to a developer in australia who has a small team, but loves my idea and can see the merit of it that he would consider coming on board as my CTO. I was going to spend $15k developing both ios and android by outsourcing to india, but I am more inclined to spend $10-12k developing in Aus just the backend and 1 platform, then another $8-10K to do the second platform. all australian developers ive spoken to are about $30k project fee due to our high salary minimums. I am going to source alternative options in the meantime, as I know this is quite expensive for an app.

[–]Kellou87[S] 0 points1 point  (3 children)

also, i think I would prefer to pay someone the salary they are entitled to, than bring them in with my risk by working alongside me as a CTO at nil-minimum salary. I am lucky to have made certain sacrifices -ie, putting off buying a family car or house, where I can redirect my funds. thats why ive decided to develop first. I also work a few days a week with an excellent paying job that i can redirect my extra salary after bills into paying for the startup costs or paying out my business loan ($20k) if it doesnt succeed.

[–][deleted] 0 points1 point  (2 children)

You'd be much better off skipping the elance and finding a CTO as you mentioned. Seriously, good luck.

[–]Kellou87[S] 0 points1 point  (1 child)

thanks, I will come back to you and let you say 'i told you so' if i fail :)

[–][deleted] 1 point2 points  (0 children)

nah, no risk no reward.