What you should know before you commission and develop your mobile app
Are you about to commission your first mobile app? Here are some things you should know. They may save you time, reduce your costs and in the end help you create a better product.
Understand a bit about the technology of mobile app development before you talk to software developers.
You need to know something about the tools developers use to build apps and the cost implications - both development costs and the cost of ongoing support and maintenance:
Most people know there are two completely different mobile app ecosystems - iOS and Android. So you’ll probably need two apps - one for each platform. That could mean two lots of development, two lots of code to maintain. At least double the cost. It’s not quite that bad - there is a solution. Modern cross platform tools allow software developers to write one set of code. When it’s finished, the code’s compiled or built twice - once for each platform. That’s a big saving on development and support costs.
Which mobile app development framework is your developer using and why should you care? Here’s a simple overview for a non-technical person. Even an overview like this will give you the confidence to ask some reasonable questions about the technology stack your developers want to use.
|Development Framework||Market Share||Pros||Cons|
|Flutter||39%||Developed by Google. Only 2 years old, but popularity is growing fast. Apps have a ‘native’ look and feel. App performance is good.||No obvious cons. Possibly harder to find Flutter devs than React Native. Flutter is new technology, so app developers who use Flutter may have less experience with the framework.|
|React Native||42%||Developed by Facebook. Probably has the biggest market share. Still very popular. Like Flutter, React Native apps have a ‘native’ look and feel. App performance is good.||Again, no obvious cons. Some people argue that development is slightly slower in React Native than Flutter.|
|Ionic||18%||You build a kind of hybrid app - almost mini websites in an app.||Hybrid apps can be slower - the user interface is not as slick. Arguably declining in popularity as tools like React Native and Flutter become more mature.|
|Xamarin||14%||Microsoft technology - well supported.||Declining market share. Not hugely popular with developers. Future uncertain.|
|Cordova||18%||Hybrid apps (like Ionic).||Like Ionic - apps are not always superfast. Harder to get a native app look & feel. Arguably declining in popularity as tools like React Native and Flutter become more mature and widespread.|
An obvious question to ask your app developer - why aren’t you using either Flutter or React Native?
Build an approach and plan around prototyping, testing and user experience
Compared to web apps, most mobile apps are small - they don’t have many screens, layouts are not as complex and the workflows in mobile apps are simpler than in web apps.
The potential for simplicity in application design for mobiles means you can:
- Do a greater proportion of prototyping in wireframes/mockups up front.
- Share these wireframes with colleagues and some users (in workshops) before real coding begins in anger.
- Do some A/B testing through mockups - try out alternative designs before work begins on the app user interface.
There are online tools that make this job easier. Your developers may already use them, but if they don’t then there’s no reason why you can’t say you want some kind of upfront design/mockups/prototyping.
Here are three popular wireframing tools:
- Flip chart, Post-it notes and pens (seriously)
Know what happens when your app is finished
You’re probably going to release the two versions of your app to their respective app stores - Apple’s App Store and Google’s Play store.
Each store has its own approval processes - they will check your app before it's allowed to appear in the store. Some things worth knowing before you start are:
- Be clear about the criteria for acceptance in the two app stores before you start coding - don’t develop an app that Apple (or Google) simply won’t approve. Pay particular attention to app store guidance if you’re developing an app for children - there are rules about what is/isn’t allowed.
- Getting your app approved can take time - several days or longer in some cases.
- You’ll need high quality screenshots, icons and good quality copy to go on your app description pages.
- Apple’s approval process is tougher than Google’s and they reject more apps the first time round. You’ll need to explain in some detail what your app does, the target audience and the permissions it needs from the user when they install it.
- Buggy apps or apps that have performance get rejected so it’s important that you’ve thoroughly tested the app before you try to go through the approval processes.
The key message here is that you should talk to your developer about releasing to the two app stores before they start work.
Have a feel for costs before you commission the app
It’s hard to estimate what your app should cost because it depends on the complexity of the app (including how much backend server software is needed), but there are some things you can do to get a rough idea.
How sophisticated is your app? That might give you a rough idea of the effort needed to build it.
|App||Example||Key Features||Effort Estimate (Days)|
|Simple||Our Sheffield Apprenticeships app||Look and feel is quite vanilla - limited branding Main screen is a list of items Click an item in the list and go to a details screen Simple settings screen - user can set some preferences Virtually no backend server software required (no login needed)||60|
|Medium||Basic food ordering app.||Choose items from the menu. Place order & pay online. Branding is still relatively simple - logo, colours. More screens - choose items, review before order, repeat previous order. Online payment Integration needed with backend sales order processing.||120|
|Sophisticated||Customer loyalty app||User can make purchases through the app, also gets loyalty tokens/points/discounts More branding More screens - Online payments Substantial backend server software needed to process payments, track accounts, handle authentication etc.||270|
Then there’s time for testing (you need to test on a range of physical devices) and the time needed to get into the respective app stores. Let’s add another 20 days of effort for those two jobs.
If you take £500/day as a rate for a developer then you’ll get an idea of the cost. It’s a very rough figure, but it will give you a sense of what to expect when you start to get quotes.
Conclusion - get a little bit of technical knowledge and ask the right questions before you choose your supplier
A lot of clients know very little about software development tools (and processes) before they start working with a supplier. It’s completely reasonable to ask questions like this:
- What technology will you use to develop the app and why?
- How can you and some test users feed into the design process?
- What is the supplier’s experience of putting similar apps through Apple’s App Store and the Google Play Store?
- What are ongoing support costs likely to be?
Don’t be afraid to ask simple questions before you choose your supplier.