Considering an app for your business?
Here’s what you need to know about app development and what should you be thinking about.
In my experience most people don’t think past what is really involved in developing an app, until it’s too late. Understanding what goes in to an app will help to provide a better brief to your developers. A good brief, which is understood by all parties, makes for a better product which in turn should be delivered on time and within budget.
So if you’re considering an app development for 2015, these are the questions you’ll need to answer first:
What platforms will your app run on?
The end point is the starting point in app development. Which devices you would like your app to run on?
- Apple iOS on iPhone and/or iPad
- Android on Smartphone and/or Tablet
- Windows Phone and/or Blackberry
Then, how far back do you want support for operating systems?
For example, if iOS do you want support for iOS 5? Current version is iOS 8.
With Android it get a bit more complicated according to OpenSignal’s latest fragmentation report there are 18,796 distinct Android devices.
How will it be designed?
Good design is never the result of an accident.
Knowing or deciding who your app is for will determine the user experience. For example, if the app is to be a daily work application then it needs to be very different in its design to a promotional app.
While designing for mobile apps shares some common elements with website design, there are some key fundamental differences. Every screen will need to be designed, and very interaction considered for fingers and thumbs.
- Basic design consistent with your company brand
- Full user experience design with a highly polished finish meeting with all brand guidelines.
How big is your app going to be?
This might seem a bit like how long is a piece of string, but you probably have a fair idea if it will be:
- Small – up to 5 screens.
- Medium – up to 10 screens.
- Large – more than 10 screens.
How will you handle user management?
If you are using any kind of user account or profile then you will require users to login.
- I do not need any login facility.
- Username and password with email retrieval.
- API Key – combined with Email and password above for additional security.
- Social Login – Facebook or Twitter.
- Enterprise level authentication.
Will you need a content management system to administer your app?
A Content Management System (CMS) is necessary if you intend to make in-house updates to any information within the app.
A CMS will also be necessary if you like to engage with your users to send Push notifications, emails or update social media timelines.
A CMS can be tailored to your exact requirements so that you do not pay for more than you need. If your requirement changes at a later stage a development path should be left open to facilitate an upgrade with the minimum of additional development.
- No CMS required.
- Send emails to registered users.
- Create and send Push notifications.
- Segment user date and send to specific groups.
- Create and update all content within the app.
What kind of data will you store?
Some of this data may be stored on the device itself or on a remote server. For the latter a 3G/4G data connection or wi-fi signal will be required on the mobile device with your app installed.
- No data storage required.
- Structured data for simple database.
- Structured data for more sophisticated database.
- Photos, video and/or audio.
Will you need your APP to work offline?
If your APP is likely to be used where there is no data (3G or 4G) signal and you need to store data then it must work offline. Storage space on a mobile device is limited, so to avoid taking up all the space on your users device, the data will be synchronized and downloaded when a signal becomes available. This can be and automatic or manual process.
- No, the APP only needs to work where there is a data connection or Wi-Fi signal.
- The APP needs to hold All of its data offline, stored on the device, within the APP.
- The APP need to store information locally and synchronise it with a server later.
Will you need to produce any documents or reports?
If your APP is to be a business application you may wish to produce PDF documentation or reports and email them to the user and/or customer.
- No document generation required.
- Generate PDF documents and/or reports and email to required recipients.
- Store PDF documents in password protected areas on a remote server for customer access.
Would you like to integrate data from any 3rd party APIs?
An API is an Application Programming Interface (API) is a set of tools for building software applications. Many cloud based application providers provide an API.
- The APP will not require integration to any 3rd party APIs.
- Integrate to one API.
- Use multiple APIs.
Will you need to integrate with any existing data sources?
An existing data source may take the form of flat data in a spreadsheet or database export (XML or CSV). This data may be required to populate the app for the first time, or be constantly loaded. Or, it may be held in an existing database to which you wish to integrate. If there is no API available you may need to have one developed.
- The app will not require integration to any other data sources.
- Use data from an existing source.
- Use multiple data sources.
Will your app use location data?
Geo Location is the identification of the real-world geographic location of a mobile device. Geo location data could be attached to any data sent back from the mobile device running the app. For example photographs can be located to the specific location where they were taken.
- Geo location
Additionally you may consider Geo fencing which uses GPS to define geographical boundaries. When combined with other features, such as Push notifications, Geo fencing can be a very powerful tool. For example, a Push message may be sent when the mobile device enters a predefined geographic area.
What other mobile APP features would you like?
- Integrate RSS Feeds
- Task lists
- Calendar integration
- Messaging / Chat
- Moderation system (in CMS)
- Bar code or QR code scanner
- Shopping cart
- Accept payments and administration
- In-App purchasing
- Rating system
- Ticketing system for support
- Social sharing
What level of security will you need?
How secure your data needs to be will probably depend on the type of data you are using. At a minimum you will need data backed up and a disaster recovery plan in place.
- Basic security and disaster recovery.
- Advanced security to ensure data protection.
- Fort Knox.
What kind of analytics data will you track?
To understand how your app is being received it will be necessary to have statistics on activity which you deem relevant.
- Basic download statistics
- Comprehensive download and usage data
Will you need to scale your app?
If you are starting with a low user-base but intend to grow then you may wish to keep costs down in the early stage and allow for growth. If you are simply pushing information them scalability may be less of an issue. If your users are interacting with the APP in any way, particularly if data is being processed on a server, then scalability needs to be considered.
- Scaling not required.
- A scaling plan will need to be in place.
Will you have a road map for development?
If you have the best idea since sliced bread you’ll probably want to protect it. However this is very difficult to do. The best plan is to think ahead and stay ahead of your potential competitors. Having a road map for development is a great way to achieve this. You can get to market more quickly with a more basic product and add features later. This is not only good for cash flow but users like to see updates too and it helps to keep them engaged.
- A development road map in not necessary.
- I need a development road map in place to facilitate regular updates.
How will your APP be supported?
If you are storing or serving any data to the APP from a database or from a CMS then you will need to host this data in a similar way to a website.
Maintaining and enhancing apps to cope with newly discovered problems, and new requirements that were not originally part of the project scope is an essential ongoing requirement to the success of any app project.
As mobile apps are hosted on third-party services, (Google Play or Apple’s App Store) your developer has no control over what may change on their platforms. You’ll need an eye on any changes to new platforms, operating systems and browsers that your project has not been tested on and will identify and report potential issues as they arise and advise on the action required to correct any problems.
All hosting, back-up, support and reporting systems should be monitored on a regular basis in accordance with the agreed strategy.
I hope this was useful to you and thank you for reading.