Photo app · Android

Native vs Hybrid phone apps

Jason Hofsess

July 19th, 2013

I'm looking into having a basic phone app to be built. I've been told that native is the only way to go; however, I've been sent a proposal with a hybrid app. Here are the specs that I need in my photo app:

Android and iOS
1. Camera function
2. Reverse the camera function
3. Confirmation of successful upload of photo
4. Flash settings
5. Access photo library so user can select an existing photo (found on lower left of interface)
6. Close app

Essentially, I need to have users take photos using our app. The photos will be in a repository so I can access them and put them into a slideshow. Having the photos in real time is essential.

I'm a complete novice when it comes to this, so if someone needs further explanation then please let me know

Chris Ledden

July 19th, 2013

As an mobile app developer for 4 years in both large and small companies, you should definitely go native to get the advanced controls of the camera. 

In my experience, the amount of time you spend dicking about with PhoneGap and the like, you could have written the native app, and know it will run optimally on the target device.

hit me up if you want a quote...

Chris

Fahad Siddiqui

July 19th, 2013

Hybrid should be able to do what you want, but I've built an app with pretty much the same requirements that you outlined below, and based on first hand experience, i can say that the UX absolutely sucked. 

Every tap on the screen would take a fraction of a second to register. For simple tasks it was not noticable, but when doing things like scrolling though a list of pictures, the experience was a disaster. 

Depends on what you really want. If all you want is an MVP to test out the concept, then go with hybrid, since you can test on all platforms with barely any code change, and javascript is a much easier language to pick up from scratch. If it is a proven concept, then stick with native.

Use sencha touch if going the hybrid route, since they have a good MVC architecture, and you only need to program in javascript for the most part. But again, don't expect miracles in terms of performance.

Check out apps like xero accounting, snappette, iwishfor. These are hybrid apps. And then compare then to native ones like instagram, tumblr, and you'll quickly know the difference.

Anonymous

July 19th, 2013

Just to throw in a few other data points.

This is one of those polarizing issues. Developers who are focused on native are generally going to be biased towards that solution. There are good reasons for this. Usually, the company trying to build a product didn't know that they needed to go native. These developers will quickly develop a bias towards this scenario, and they are 100% right for these scenarios.

However, recently, I deployed an app that was hybrid on android tablets. The app is simple. There have been zero issues with the user experience. If it was native, it would have taken 2-5 times longer to get polished.

Another point, the most used app on most mobile devices is in fact the web browser. How many people download the native version of an app vs skip through to the info they need and move on.

So, there are lots of good reasons pro or con. In the end, it depends on the application. 
If you are media heavy, you will end up going native. If not, you can go hybrid first and then move over if needed... once you prove the business :-)


Michael Brill Technology startup exec focused on AI-driven products

July 19th, 2013

Vincent, I think most of the time when people refer to native, they're referring to Objective-C on iOS or Java on Android.

Duane Nickull Chief Marketing Officer, Co-Founder at Cheddar Labs

July 19th, 2013

Having worked at Adobe I agree with Chris and would heavily recommend going native on both.  I can write a cross platform app that can do this but the performance in PhoneGap of Flex will be not as good as native.   Please contact me off line if you would like a quote as my company can build this quite quickly.

Also - I wrote this white paper on the considerations of going native vs cross platform.  It may be useful to read:

http://www.technoracle-systems.com/white-papers/Mobile-Application-Development.pdf

Duane Nickull

Michael Brill Technology startup exec focused on AI-driven products

July 19th, 2013

@Chris, I like the way you think... I was just thinking "shit, I could have coded this in the time I'm filling up people's inboxes with nonsensess." Count me in.

Chris Ledden

July 19th, 2013

Sounds like we should have a 'code-off' and see which app gives the best user experience... Who's up for the challenge? Chris

Michael Brill Technology startup exec focused on AI-driven products

July 19th, 2013

How critical is multi-platform support out of the chute? For basic apps, native vs. hybrid is about the same amount of work if the developer is familiar with both (or if you are outsourcing). Native will always look better and as your app complexity increases, the level of effort on the hybrid approach increases faster.

Michael Brill Technology startup exec focused on AI-driven products

July 19th, 2013

But then you're in world of web apps... so if your need is primarily longer-form information presentation, then I'd agree that html is well suited to that and there's a question of whether you even need an app wrapper vs. just a mobile web site.

But if you look at Jason's requirements you need to integrate the camera, saving images to a local device, reading them, etc. Not rocket science, but not possible with a webview.

Michael Brill Technology startup exec focused on AI-driven products

July 19th, 2013

If it's a commercial product, I'd much rather have one rocking app on a single platform than a mediocre app on two. The Gartner post was about enterprise app building where the employee expectation for an internally-developed app is far below what a consumer expects.

Again, it's a function of your team's skillset. If you are using a third party to do this, I'll bet you spend less money and end up with a better product doing it native than you will dicking around (thank you Chris Ledden) trying to make your hybrid app work less bad.