The irony is this comes on the heels of my talk Monday at Mobile Portland (video and slides coming soon) where I spent 40 minutes outlining options and advocating over and over again to stop, think, and do what is best for your business. But here it is from First Round Review, which usually has incredibly good articles, The Five Mistakes Startups Make When Building for Mobile. In short, here are his five myths and realities:
- Myth: Building apps natively per platform is a waste of time and money.
Reality: If you want a five-star app, build natively. Period.
- Myth: My backend infrastructure is ready to support mobile apps.
Reality: You will need to change, upgrade, or completely rebuild your backend to create the best mobile experience.
- Myth: You can build your mobile app internally as fast as an outside firm.
Reality: Building your app yourself will take 4x the time.
- Myth: If I outsource to a mobile development firm, I won’t have to do any work.
Reality: For the best outcomes, clients need to be heavily involved with the firms they’ve contracted.
- Myth: Once I start working with a development firm, I’ll be stuck with them forever.
Reality: Working with an external firm at first can make it even easier to build internally in the future.
First thing is first: this guy is biased. He works for an outsourcing firm so I’m not surprised he is advocating outsourcing everything.
Second things second, I don’t have a problem with most of it. #2 is probably correct. Adding any new platform, interface or screen dimension may very well require backend changes. #4 is definitely true and #5 is true, too, although sometimes it is hard to pick-up other people’s code.
#1 and 3, though…
However you slice it #1 is bad advice. No, a five-star app does not have to be native. I’ve seen plenty of excellent applications that use HTML5 or use a combination of HTML5 and native code. All of our apps use native and HTML5 to a certain extent. Equals note interface, for instance, is all HTML5 — it was by far the best way to do it at the time we started working on it. Equals also uses a lot of native code. Equals also uses a ton of ANSII C. Anything written in HTML5 and ANSII C can be ported to other platforms so it is our goal to minimize the native Objective-C, Ruby and Java that we use, and we are willing to do that for anything that would feel natural even when it isn’t native.
#3 is also odd. How important is the code to your business? Do you have more money than time? Do you have an outsource contractor who you can have a long term relationship with? Do you have development skills? Is this a skill set you need to be successful? How sure of your product are you? Do you need to be making rapid changes and tweaks, releasing code on a weekly, daily or multiple times per day basis? How much time can the contractor give you? Will they act as apart of your team or is this a throw it over the wall to get it done situation? How active will the contractors be over the long run?
Anyone who has been around the block will instantly know that the author’s advice needs to be considered. Anyone who hasn’t, though, may believe it hook, line and sinker. And that’s what bothers me.
In all cases the answer is, it depends. And the only way to determine which way to go is to know who you are, what you are trying to accomplish, where you are today and where you want to be tomorrow.