So you’re kicking around the idea of getting an app for your stores. You have some things you know you want it to do. You also know you want to use it as a marketing tool. But how do you go from some rough ideas to having something in Google Play and the App Store?
First things first, when you say you want/need an app, aside from just wanting to seem cool, you’re really saying you want a mobile presence. Something that will benefit both your brand and customers. There is more than one way to accomplish this and each approach has its drawbacks and advantages.
5 approaches to building an app with pros and cons:
1) Don’t build an app. Use pre-existing apps
Depending on your specific needs, mobile presence can be accomplished without actually building an app. This solution is more for smaller enterprises with little capital to invest. How do you do it? Use existing apps that your customers are already using. Obvious options here include social media sites like Facebook, Twitter, LinkedIn, Tumblr and Pinterest. Create accounts and quality profiles in the apps your customers are already using. Then, for social media, you need to create content on a regular basis to stay in the feeds of your customers.
- Cheap: Most social media is free and maintaining a presence in other 3rd party apps is much cheaper than building your own.
- Quick: Building and app is slow, business decisions, code decisions, design decision, etc. all take time and money.
- Existing users: With big name apps like Facebook and Twitter the users are already there. Sure you need to get them to follow you, but for smaller companies a Facebook add can be easier than getting someone to download an app.
- Lack of brand control: When using 3rd party apps your branding/marketing gets diluted. Your logo, your colors, your tagline aren’t alone. They are showcased with others and they steal some of your thunder.
- Noise: Similar to the brand control argument, you're not alone in a 3rd party app. Other companies branding, posts, replies and advertisements compete with yours. For big sites like Facebook your post may only show on your customer’s feed for about 30 seconds.
- No feature requests: Typically you have no influence over rollout of new features with these types of 3rd party solutions. Even if there’s this one feature that would be amazing for your company and would triple sales, they usually don’t care, or don’t have time.
2) Mobile friendly webpages on your website (mobile web)
Odds are that you already have a website; either you’ve built it in-house or paid a 3rd party to write it for you. You’ve already spent time and money on it. Mobile websites are generally different presentations of the same information and interaction points of your normal pages but in a small-screen friendly fashion. Making your normal website mobile friendly usually takes the work of some talented front-end specialists, user interaction/experience designers and engineers. They can be expensive but the good news is that the backend (server) work is usually only lightly affected which means your backend engineers get to sit this one out.
- 1 codebase, not 2 (cheaper and quicker): iPhone and Android apps are generally speaking written in two different languages and are for all intents and purposes 2 different apps that do the same thing but on different devices. Adding features to two apps (an iPhone app and Android app) costs twice as much. The same goes for maintenance and bug fixes. With a mobile site it is just one code base and one place to fix problems and add features.
- Quick updates: Traditionally with apps you have to submit updates to the Google Play or the App Store. After processing the update has to be downloaded to your customers’ device. Only after that do your changes take effect in the app. With mobile web apps the changes are instant, you update your server and the next time they use the app your new features and information is there.
- Non-native look and feel: Native apps are traditional apps built and installed on the phone. Users tend to better accept iPhone apps that feel like iPhone apps and Android apps that feel like Android apps. Having a mobile web based app means your one design has to work on both.
- No hardware or OS based features: Certain cool features of smartphones are generally only accessible from native apps. Things like camera access, GPS access, notifications, and accelerometer access can’t be used on a mobile friendly website. So if your must have features are dependent on these capabilities, you may want to think twice before going the mobile web app route.
3) Pay someone else for a cookie cutter app
Many software companies realize after they create a piece of software for a client, that with a little rebranding and salesman work, they can probably sell basically the same app to other companies in the same industry. Depending on the client’s needs this can be a win-win for the 3rd party software company and their client. The software company doesn’t have to build an app from scratch each time. They reuse code and tweak it a bit for the new client. The client gets more or less what they want and tend to pay less for it.
- Cheaper and quicker than full custom: The code reuse allows this. Not starting from scratch makes things go a lot faster.
- Native look and feel with full branding: An app build this way should look great and will feel right on the device it’s running on.
- Device hardware & OS features: Because it’s a native app you get access to things that were inaccessible for mobile web style apps. Things like camera access, GPS access, notifications, etc.
- Feature requests potentially not accepted: Features not already in the developers’ toolkit can take some considerable time to write. If the feature is in line with the direction the software company is going with their product you may have some hope of your feature request implemented. On the other hand if the feature is one-off or not where they’re going with their product, chances are you’ll have to live without your awesome feature.
- 3rd party bottlenecks: Because the 3rd party manages your apps code, they will have to do the maintenance work on it. Whenever Apple or Android releases a new major version of their operating systems, things in your app potentially break and you need them fixed. The same is also true for every other client they have. You’re on a list in that case with little control over fixing your own app. This is even worse if the company goes out of business and isn’t around to update your app.
- Lack of differentiation: Your app will have your branding, and your content, but the features will likely be on par with everyone else in your industry using the same software vendor. Depending on your needs this can be perfectly acceptable. If you’re trying to go above and beyond however, you might consider one of the last two options.
4) Pay someone else to build your custom app
This option is pretty straightforward and has real strengths. You hire an app development company and use their expertise to build you something that fits your needs and brand like a glove. While the cost clearly goes up, if you’ve got the time and money you can build what you want.
- Expertise: The app development company will have experience and should be able to execute relatively quickly. (Check references on this to be safe) If they are a quality and respected company they should know the common pitfalls encountered while designing and building an app and should be able to provide you options on dealing with them. They should have a good project manager and designer who will take your rough feature ideas and turn them into something polished and functional for your users.
- Fully custom: You can get what you want. If you want puppies, kittens and cupcakes to show on screen on the users 10th use of the app, you should be able to get it built. This gives you the opportunity to have features before anybody else in your industry. If you want to stand out, this is a strong option for you.
- Cost, money and time: Obviously a custom app with new features and newly written code is going to take more time and cost more money. Software businesses are in business to make money. You won’t get a custom app at cost. Additionally your maintenance and bug fixes will cost more.
- 3rd party bottlenecks: Same as describe as a con in Option 3. You’re app is at the mercy of their schedule/existence.
- Lack of ownership: This is subtler than the others. The team who works on your app will have pride in your app. But they won’t necessarily have pride in your brand. This can lead to missed opportunities when it comes to promoting your brand. 3rd parties who work on your code are less likely to suggest improvements that better promote your brand if they are not directly related the features you’ve asked them to build.
5) Build a custom app in-house
Fortune favors the bold! Building your own app in-house is a big decision that can have tremendous payoffs. In house apps are more of an emotional investment in the company than the other options. This is jumping into the deep-end of the pool; you’re committed after you jump. All it takes to go this route is capital, a willingness to learn, adapt, and innovate. This option is by far the strongest but can’t be done half-assed. If you and your company are just going to try and test the waters with this approach to test its viability then you might be better served hiring a 3rd party to write your app. They’ll be more likely to delivery something you’re proud of if you're not committed to actually doing the work yourself. To build an app in house you need a development team. This could typically be anywhere from 5-20 people dedicated specifically to working on your app full time.
- Fully custom: just like in option 4, you get what you want. Bring on the puppies and kittens or whatever.
- Quicker turnaround time: your developers are easy to get access to and aren’t working on other companies’ apps. If you find a critical bug you can get it fixed much more quickly.
- Cheaper than 3rd party custom: Provided you don’t take twice as long you’ll save money on the overhead that software companies usually take.
- Investment in the future: In the future, most companies will be tech companies in some way, shape or form. And the future is starting now. This topic is worth its own post but suffice it to say that building and managing your own app development is going to give you company much more leverage and knowledge in the future when it comes to making the inevitable technology decisions that you will be facing.
- Have to hire: You’ll need to hire mobile development experts if you don’t have them on staff already
- Management: An in-house project takes more management resources to keep things on track. But these can also be hired.
- Lack of skill: Even if you hire skilled individuals, your decision makers (which probably includes you) are probably not used to making decisions about mobile software. Bad decisions will
probably get made, things will go off track and time will get wasted. This is normal and part of the learning process. It’s nothing to fret about but it is worth factoring in.
- No one to hide behind: The app’s success is directly your responsibility. If something goes wrong the heat is on you. This shouldn’t really be a deterrent though as the same is true for many things if you’re in a leadership position.
As you can see, there is more than one way to build an app or mobile presence. Every approach has costs and benefits but no matter what your size and available capital, there is a solution for you. No matter which route you and your company take, moving is better than standing still because standing still is a great way to get left behind.