Developing an App
James Brooksbank from Antikythera Systems Limited, who sits on our Software Systems seat at BNI Focus Lymm shares his advice for everyone considering developing an app for their business.
So, you have thought about developing an app, be it for a new idea or to support your business in some way. So you need to talk to a techie person, someone to develop your app, but where do you start.
Purchasing a car is easy, you know that you need a car, it needs four wheels, a steering wheel and some sort of propulsion mechanism that gives you a really good platform to start from. If you know nothing about developing an app, you may just have the idea of an app, but that is just the beginning.
Here are 3 quick tips to get you going and to help make some things clear when you are talking to a developer to produce your app.
So, coming in at number 1: Does your app need to communicate via the internet.
Ok, so if your app is a simple application which doesn’t require any internet access do to do something, like allow other users to communicate, or buy things then you only need to focus on developing the apps themselves.
However, if the app needs to communicate to your office, or to other app users then you will also need to develop a web component. This might be a website with a public face or a fully programmed endpoint.
This component needs to be developed and increases your potential cost by nearly a third. One thing is this web stuff, only needs to be done once and can be shared by all platforms.
Speaking of which, at number 2: Platform coding
So, you need to design an app, you have your web component, but what platform should you develop for. The reason you need to decide this is mainly cost. Let’s take the most popular operating systems for mobiles, iOS and Android. Each one uses a different coding language suited for that operating system.
You can’t code in iOS and have it working on Android, it’s kind of like mandarin and Japanese, from an untrained perspective they seem the same, but when you get to learn the languages, you will notice how different they are.
So, if you want to develop an app for both platforms, you would normally have to develop the app separately. I say normally here, as there might be a solution and we in the techie world call it WORA or “Write once, run anywhere”.
So this method is two-part, number 1 the developer develops what is basically a website which can be run locally. The code is then moved over to number 2. The developer uses a library of code which is unique for each device, basically making the app a self-contained web browser, like Google Chrome, but only works with websites which are stored locally, not on the net.
This doesn’t limit functionality, but can affect speed, for instance when Facebooks app first went live, the app was developed in this way. But the speed wasn’t great and responsiveness suffered. So they went back to coding for each mobile operating system.
What this means is if responsiveness to touch and speed is a massive part of your spec, this may not achieve the results you want.
There is also a slight issue in how Apple reviews these types of developed apps and can sometimes reject the app, meaning you have to develop another version anyway.
And one more thing, number 3: Review process
Ok, so Apple are protective of their devices and the experience users have with them. So opening up the ability for users to put apps on might have had a detrimental effect, except they put one thing in place and that is the app review process.
When an app is developed for Apple and ready to be put on the market, you need to submit the app to be reviewed. This means that someone within Apple downloads your app and tests it like an end user. This person has a whole list of guidelines and principals which an app must adhere to. These can often be interpreted differently meaning that one reviewer may allow something through, while another may not. This review time can be quite large, I’ve personally had one in a queue for 3 weeks, but in recent years, that is now the exception, not the rule.
If your app fails, you can always resubmit after having the required fix put in place.
This is one massive difference between Apple and Android. When submitting an Android App, there is no person, they honestly don’t care about what the app does or how it works, submission is done and the app is up in a few hours.
This must be taken into account when developing the app development and release schedules.
Anyway, I hope this helps someone out there when looking at their app idea, people like me are about so grab a geek and ask for help. Thank you for your time.