Minimum Viable Product · Technology Architecture

Suggestions for tech platform to build out iOS MVP.

Chetan Nandakumar Founder of Unifyre. Industry experience at @Gigster, @Leapmotion, @Modista, Berkeley PhD in AI.

April 23rd, 2015

I'm building out my MVP for iOS and evaluating different platforms to build in. I've been playing around with the Ionic platform for Hybrid mobile development. Everything looks great with it, but I'm having trouble getting it to reliably work with the native functions of the phone like the camera, contacts, etc.
 Has anyone used Ionic or Meteror.js? Thoughts?
Has anyone out there had experience with it? And/or other platforms to quickly build/prototype an application for iOS?

Sudeep Bhatnagar I develop apps, talk apps, live apps.

April 24th, 2015

Chetan, it will always be good to create using native technologies, as that prototype would be easily scalable and usable when you grow the product. Going through these platforms is a pain in long run, and I'm saying this as an App development company owner working across all these platforms.

The least you can do is that take backend as a service for the MVP like parse, but build front end in native only, no matter how much cross platforms claim, they are mostly an investment lost in long run, unless you are building an App just as an extension of your existing product which is used more on other running platforms like web.

If you don't code native yourself, then app development companies like us can help in lieu of fees.

Saravanan Ravindran

April 24th, 2015

Sudeep is spot on and I second that. It is always best to go for native technologies; for a MVP for ios use Objective C/Swift and use Parse/Firebase as a backend. Not sure what's your idea is, but you should be able to get the MVP in 4-6 weeks.

Lane Campbell Lifelong Entrepreneur

April 23rd, 2015

David Schwartz has been posting on Founder Dating telling people to build for mobile using Delphi and he's made pretty good cases for doing so. I would reach out to him and ask him for advice: http://members.founderdating.com/mentor-advisor/59226/david-schwartz?s=search_bar

Personally, I am learning Kivy at this time - kivy.org/#home - but it seems pretty capable but I don't know what you want to achieve so I don't know if it will work for you.

Joanan Hernandez CEO & Founder at Mollejuo

April 24th, 2015

Chetan,

Native vs. hybrid has been debated here in FD for a long time. Be sure to browse previous forums thread on that subject, they're really useful.

By my side: Native all the way!

Cheers!

Matias O'Keefe

April 25th, 2015

Hello Chetan,
I've been spending myself a good deal of time researching the same topic. I normally work in business transformation processes and having a solid way to build an MVP is key in my line of work.

The first thing I noticed is that Hybrid platforms are starting to be in many aspects an excellent alternative when you need a data-driven app. 
If you´re building a game you should stop reading right now and go native!
Have in mind, that building a good hybrid app can be as time-consuming as building a native one, but with the upside of building once for many platforms.
The communication with the device, push notifications and all that good stuff has been solved with Cordova/PhoneGap in a simple straightforward way. You can now even test your hybrid app real-time in your device while you develop with the new PhoneGap app. 

In a nutshell, my analysis of the technologies at hand, today goes like this:

First a Quick note on Meteor.
It´s completely awesome. You´ll build your MVP in no time (plus the time it takes to learn the framework) 100% Javascript, realtime data updates in all clients, you write data access code once and it works both in client and server. The only problem I see with it is that you have to work the meteor way from end to end, client and server. This is an awesome technology, but I wouldn´t use it yet on production sites.

Angularjs 
Angular is leading the charge on client side frameworks. You can quickly work with REST services and manipulate the presentation client side. I would strongly suggest evaluating this framework for your next project. 

But angular does not solve the presentation. The necessary JS and CSS for your app to look awesome in a mobile device. 
To solve that part, I´ve been looking at Ionic, Framework 7, Famo.us and many others. 

IONIC
The clear winner in community size flexibility is Ionic which is great if you´re building a mobile app. If you need a responsive web you should be looking at Famo.us or Bootstrap. 

Server side
My conclusion here is picking the one you like best. Igniter, Symfony, Zen, Django, rails, but build services. Isolate the server problem from the front end. Exchange only data. The traditional MVC pattern is great, but rendering the HTML on the server side will only make your hybrid app act clumsy and slow and there´s where you´ll never make it work like a native one. 

When you pass your MVP stage, consider a better data management on the client side, caching immediate information and keep building a great hybrid app. 
Hope the insight helps and I would love to hear other opinions. 
Mat

Mark Travis Product Management Advisor | Speaker | Strategist

April 27th, 2015

What are you trying to accomplish with your MVP? Is it just to show others the concept and keep refining the UI to get the best user experience? 

If so, then build it using Keynote and minimal iOS. There is a great WWDC 2014 video for doing this on Apple's web site. You have to be a registered developer, but this is free. Prototyping: Fake It Till You Make ItSession 223Play
 
This is the cheapest, fastest route to getting people on board with your idea and how the UI will flow. 

I can't comment on the other platforms because I only develop native as everything else is going to have the response time of a Safari web page in iOS, which for some form-based apps or things where response time doesn't matter might be fine. 

Chetan Nandakumar Founder of Unifyre. Industry experience at @Gigster, @Leapmotion, @Modista, Berkeley PhD in AI.

April 25th, 2015

Thanks Everyone! Matias or anyone else who's had experience.. one question for you. What you're experience of hybrid apps with native functions on the phone like phone, camera, etc.? 

I've been playing around with some of the demo apps made by the ionic team which use cordova to access the iphone's functions and thought the experience was quite laggy and undependable. However I didn't dive in deeper to see if these problems could be solved. I was just using the out-of-the-box solutions made available by the Ionic team. Does anyone have experience here?

Anton Trakht CEO at Kultprosvet Full Stack Web & Mobile Dev

April 26th, 2015

Hi Chetan, as mentioned above native is always better, but if you're looking for cross-platform solution check to Xamarin, it is not hybrid, but allows compiling for several mobile platforms and works with all the hardware services. p.s. if you choose Xamarin you'll need to work with UI natively, Xamarin.Forms for UI doesn't seem to be a stable solution.

Matias O'Keefe

April 25th, 2015

Hello Chetan, I would suggest you start by this cordova / phonegap tutorial http://ccoenraets.github.io/cordova-tutorial/create-cordova-project.html You will learn how to access the device features and play with them. Once you have that, it will be easy to add the ionic layer so the app looks good! Regards, Matías Matías O'Keefe Director @ Lyncros Ar: +5411 4775 3254 US:+1 317 353 3160 [image: Lyncros] 2015-04-25 17:46 GMT-03:00 Chetan Nandakumar < reply+dsc+2885@founderdating.com>:

Stan Podolski CEO at Nimble Aircraft.

May 18th, 2015

I love Meteor and we have MVP build on it. Maybe it will be not so good in the future, but MVP is about building and testing fast and Meteor really helps with it.

And you can in fact use it in different combinations - server on Meteor, client on something else for example. One of our products has Chrome Ext and communicates with Meteor server just fine.