Off Shore App Development

Little did we know the LONG ROAD that was ahead of us...

Being software developers, we often are asked by our clients what the experience is like with Off Shore development.

Of course, being a development company, you don't want to throw everything away and say "yeah, it's great and cheap". But in all reality, we didn't have any idea until this year.

With the launch of one of our products, we underwent having an "App" developed for our product. We already had the browser interface that we built but a native app for the mobile was something we thought maybe we'll outsource it as we didn't have the skills at the time for native iPhone development.

Native iPhone apps are written using XCode, using a language called Objective-C and must be compiled on a Mac in order to submit them to the AppStore. Being primarily a Microsoft shop, these are 3 things we didn't have.

So we decided we'll look to outsource. We were put in touch with a company in India, had a Skype call with them, found out the costs and how the process works.

Here is how it worked:

  1. Inhouse, we developed a full prototype of the app that we wanted. (this took 3-4 weeks to develop). The prototype tool we used was "Just In Mind". Great product to work with.
  2. Inhouse, we developed the web services that would allow the app to interface to our backend. (2 weeks of development)
  3. Technical Design document was written to explain how the web services were used, what routines needed to be called when and how by the App. It also explained the flow of the App from the Prototype development by us. (another 1-2 weeks of development time).
  4. We then had to monitor closely the development of the app, ensuring that it followed the guidelines of the prototype document and also the technical design document.

In the end, we had a working app after about 10 weeks of development (not including our time). Also after 2 quick bug releases soon after it was submitted to the AppStore, we finally had the initial working version that customers could use. 

If we hadn't gone to the effort to put together the prototype, technical design and the web services, we would probably still be in development phase.

It's a great app, don't get me wrong.

Would I go through the process again? Probably not. We would develop the skills inhouse or hire a local developer savvy in XCode and Objective C.

This is just our experience and now I can say what we had to go through to achieve this.

It wasn't a bad experience but it required *a lot* of effort on our part in order to achieve a successful result. The company we dealt with were lovely. If we weren't software developers and couldn't produce the pre-requisites in order to get this app to production, the process would be all the more harder.

 

Native App or not?

It's becoming an increasingly big topic for development companies as to whether or not we go Native Apps or have a mobile interface that satisfies all platforms and devices?

The latter is the most logical from a cost and developer perspective, but there are nice things about having a native app to use.

So which way do you go? What's your preference?

We currently use a responsive template for all our browser based applications (or if I want to use the buzz word, "Cloud" based apps), and this app caters for the mobile device, tablet, PC, Mac etc. Our clients are happy with this and it takes not a great deal more extra effort to do this.

But then there is Native - it's fast, can have a nice flashy interface, can provide a lot more functionality. But then you have the trouble of the different operating systems - iOS, Android, Windows Phone, Blackberry and more to come I'd say.

There are services like PhoneGap. I personally haven't had any experience with them. Some critics say it's still like having a website but the app is installed natively as the interface only. I don't know but what I can say is they have a very large following, that must mean something!