What you need to know about having an app built for your business


Having an app now days seem to be the in thing for any business. So where do you start?

If you Google the subject, you will get thousands of articles and reviews that get you as confused as a chameleon on a Smarty box. There are some fantastic articles and reviews, but the problem with them is that they are written by agencies wanting your money or by developers that give highly opinionated reviews based on their preferred development technology.

I am going to cover app development from a different approach. I am going to look at it from a business point of view.

Why are you building the App?

Don't just jump on the app bandwagon because your competitor has one. You need to define your goals for the App from the start. You need to identify the ultimate purpose of your App.

  • Are you building the next Uber of dog walking?

  • Are you building a marketing app to drive sales?

  • Are you making a game to rule all others?

  • Are you building a business tool to fix a specific need in your business process?

Building an app is a significant investment both in time and money. Don't make it just for the sake of it. You need to define what you want before you even go near a developer or an agency. The more precise your vision is, the faster and more cost-effective development will be.

You need to answer the following questions:

If you leave these questions to your developer or agency, you are in for a heap of headache. It is like taking advice from a web designer on how to run your business. Only an idiot does it.

Why would anyone even download your App?

What makes your App different from the other hundred thousand apps in the various app stores. There is so much crap in the App Stores already that users have become very selective. Then there is competing with the established apps that get promoted by the App Stores. You need to have a distinctive, unique selling point. Something that your competitors don't offer.

Who is your target audience and how do they interact with apps?

Your target audience is crucial as it dictates the look and feel of the App. Does your App need to be young and funky or business clean? If you are for example designing a business tool you have to find out how your end user interacts with their phone. Would they even want to use the App on their phone or would they prefer it on a tablet? Spend some time with your team and find out what they want.

How will you monetise your App?

One of the points often overlooked by new app owners until they are about to launch and at that stage it is too late. You need to finalise your earning potential as soon as possible as you need to calculate all fees and costs associated with taking payment. Are you taking payment via a once off fee, in-app purchases, in-app advertising or monthly subscriptions or is this an internal tool and revenue is not an issue? Even if you are not planning on charging for your App, you still have to calculate your return on investment and also look at options like claiming back R&D credits.

How will they find your App?

Just because you built an app doesn't mean that it will be downloaded and used. For people to install your App, they need to know about it. For them to know about it, you have to get the details of the App in front of your potential users. You can do this by digital marketing, traditional marketing, social marketing and of ASEO. ASEO also know as App Store Search Engine Optimisation is the same thing you have to do for your website so that you can be found in Google but for App stores. If this is an internal business tool how will it be deployed to all the various users across your network? Do you have an onboarding program?

All this technology out there, which to use?

What technology to use is one of the most significant areas where there is the most confusion. You can put developers in a room and leave them there for days, and they still won't agree on the best solution available. The best thing to do is to choose the right fit for your needs.

Native App versus Hybrid App versus Progressive Web App which is the best?

Native Apps

Native apps are built using the phone platform vendors own technology. On Apple, this is using Xcode with Swift 2. On Android, this is using Android Studio and Java. Xcode and Android studio is software that runs on your Mac or PC that allows you to create apps using Swift 2 or Java programming languages. Using native development is a time-consuming build and deployment process that costs a lot of money as you have to maintain multiple code repositories.

Hybrid Apps

Hybrid apps are apps that are built using HTML 5 and often Javascript standards that allow you to develop your App the same way you would create a website or a web app. This form of development allows you more creative freedom, and it is often a much faster way to get your MVP (minimum viable product) up and running. The best thing about Hybrid solutions is that you build once and deploy to multiple standards. By this I mean if you make your App you can deploy it to Apple iOS, Android and Windows Mobile without having to rewrite everything from scratch.

At the time of writing, there are a few different solutions that allow you to build native apps.

Apache Cordova: A framework that allows you to build an HTML 5 website and then wrap it in a mobile app, that still allows you to access most, if not all of the phones native functions. A popular choice is building the App with React (Javascript library that Facebook uses for all its development) and then wrapping it in Cordova.

Ionic: Based on the popular Angular javascript framework, Ionic allows you to quickly and easily build mobile Apps. They have great tools like Ionic Studio that lets you develop your App visually, Ionic Native that gives you access to native functionality.

Adobe PhoneGap also sits on Cordova. Like Ionic it comes with some great add ons to make the whole process easier. One of these is the fact that you can build and deploy your App using Adobe Dreamweaver http://www.adobe.com/uk/products/dreamweaver.html a visual layout tool for building websites and web apps. Dreamweaver integrates seamlessly with Adobe's Illustrator and Photoshop which makes it an excellent tool for building visually amazing apps. The downside is that your App is very reliant on JQuery (Javascript framework) which tends to get very over bloated if your developer doesn't know how to optimise it.

Meteor JS: also sits on Cordova and has built-in support for MongoDB which makes it great for catalogue style apps. The built-in socketing is superb, this allows real-time data flow between apps and servers. It further allows you to chop and change the technology used inside the framework which means your developer can migrate code from say a Saas solution you have built.

React Native is Facebook's tech; it uses to build their Apps. It is fast and robust and compiles down to a native app with a ton of Opensource libraries available. It is currently the most popular of the platforms. It is not as fast a development cycle as Cordova, Ionic, PhoneGap but you have the knowledge that you are using a solid foundation. The only downside is that because React Native hasn't got a "governing body" it tends to make changes to the code base that can easily cause breaks in your App if you upgrade.

Progressive Web Apps (PWA)

Progressive Web Apps (PWA) are websites that are optimised to run in a browser. The upside is it is much easier to build, and you need less of an expert to do this. Another plus side is that your clients don't have to install your App. They access it via their favourite browser. Functionality wise you have access to all the handsets native functions browser (Safari/Chrome); Geolocation, Local Storage, Media uploads, App icon on the phones home screen etc. It is a great way to get a feel for what your clients want without spending to much on development.

So which technology is the best?

There is no clear winner the best way for me to answer this is based on different styles of apps. For the examples below I kept in mind the technical capabilities, speed of development and cost of development.

Game or entertainment style app

Media and graphics-heavy Apps. You want to go full native here using Xcode/Swift 2 or iPhone and Android Studio/Java as you need raw access to the phones built-in graphics engines. You can also look at the Unity platform that allows you to build advanced games like first-person shooters or role-playing games.

Marketing app that is not video intensive

Go for any of the Cordova instances as a base. If the App is more static content driven use PhoneGap as you have access to the whole Adobe Suit's creative power.

Chat / support / network apps

Look at React Native for this. Facebook is spending a lot of money on Reactive Native for this purpose. Meteor also does well over here because of it's built-in socketing and Mongo DB access.

Mobile commerce

Either Ionic or Meteor will do great here as they both play very well with passing data between the App and the server. Both also allow you to port your design from your web version to your App. My personal choice here would be to go the PWA route as you can use server-side rendering for all the pages you want to be indexed by search engines and then React on the interactive pages like forms and account areas.

Enterprise app

Ionic shines here especially if you are in a fast-evolving industry or your business requirements change often. Ionic plays with any API endpoint and Angular JS ensures a smooth and swift build. Add PouchDB to CouchDB library, Fabacus Symphony as an integrator between your databases and you have an excellent solution that works offline and online with no data loss or replication.

What is my favourite App development technology?

I mainly get involved with Business Apps and tend to stick to PWAs as users can access it from their mobile devices as well as their desktop computers. It is very fast to develop and cost on average less than the alternatives

Have you had an app built recently? What was your experience? Let me know I would love to hear your thoughts.

Image source: https://pixabay.com/photos/ux-prototyping-design-webdesign-788002/

Ray Noppe