You've just had an idea. You want to create the next FlappyBird. This one will be bigger, better, and filled with micro-transactions!
Or, you want to solve a problem using the ever evolving smartphone and make the world a better place.
Sounds great! Let's explore some potential reasons for building the app and what doing so may involve - assuming someone hasn't already created your app idea.
Why build a mobile app?
Over 5 billion mobile devices are being used around the world. That's over 2/3rds of the world's population. In the USA, 81% of the population uses a smartphone. On average, users spend over 5 hours on a smartphone every day.
I know this wasn't supposed to be a post about mobile usage statistics. So with that data, here are some observations that support building an app (assuming one doesn't already exist to fit the need):
- An app (native/web/hybrid) that is available on a device will likely have a significantly higher chance of being used than a desktop app or a website that is not mobile compatible.
- Apps can simplify complex workflows and save time when they replace traditional paper or desktop forms.
- Apps can stack functionality for the end user by making use of existing APIs from other apps.
Okay, so maybe building an app is a decent idea. What does this involve? We generally don't have an endless budget to enhance employee workflows, or to create a whole new app based on a preliminary idea.
What would it take?
This, unfortunately, leads us to more questions. Consider these questions to form a cohesive app vision:
- Who will be using the app?
- Before any implementation, understanding the relevant needs and desires of the end user is vital.
- What problem will the app solve?
- Further explore the need of creating the app. In its ultimate form, how does the app make the world better for the end user?
- Native or cross-platform?
- If the application draws a lot from system resources or if you are only intending on supporting one OS, a native application may fit your needs.
- If the goal is to reach the most users while maintaining a single development environment, cross-platform apps would be useful.
- This decision ultimately depends on the need. Native, cross-platform, or web-apps can solve various problems.
- How will the app be built?
- Execution matters! The process used to create something is often the distinguishing factor between success and failure.
- Various software development process frameworks exist today, with Agile methodologies leading the charge. Check-out some of our Agile related posts to take a deeper dive.
- What else would be needed?
- Test infrastructure
- Everyone has experienced applications that crash constantly or drain batteries. These generally get immediately uninstalled.
- Using a test infrastructure that allows the development team to employ Test Driven Development (TDD) could potentially save downstream costs by avoiding crash/performance issues and help retain users in the long term.
- Continuous integration and delivery
- In the best case, your idea is super successful. You've created the next WhatsApp. To get there, chances are that you've had to grow the team. Having a continuous integration and delivery pipeline in conjunction with a solid test infrastructure can make a huge difference when it's time to scale teams up.
- Even if scaling is not the focus, a continuous integration environment can significantly speed up a team's development output.
- Distribution and support
- For consumer facing apps, releasing to the Google Play Store (Android) or App Store (iOS) is the default distribution method. However, being aware of app release standards is a good idea while envisioning the app, since Google or Apple may reject your application if these are not met.
- For enterprise apps, various Mobile Device Management systems exist that may suit your needs. However, applying the standards mentioned above is still relevant, since users will be using variants of the same devices (Android/iOS) and therefore would find apps easier to use if they meet the established guidelines.
- Test infrastructure
If all of this makes sense, but you're still unsure on how to proceed, then stay tuned. We will be covering each topic above in detail, so look out for more follow-up posts!
If you are interested in building an app and need help in putting a project together, ISE can help! Contact us to learn more.