When looking to build a new mobile application, there are several important factors to consider which can inform the technologies that will contribute to the way your mobile app will work. Here are seven things to consider while weighing the pros and cons of the technologies that will be leveraged in your new mobile application:
- Mobile Platform Before you start evaluating any technologies the first question you have to ask is what is your target market. iOS and Android have their own marketplace and demographics, as well as platform specific technologies. To make educated decisions on which mobile platform your will target with your app, you will want to consider the range of market distribution (ie. what types of devices does your target audience use). From here, you can determine which operating systems and version you will be targeting and what range of devices you can target to get the best return on your investment. Additionally, you must account for performance and how you will accommodate for older models of your chosen device type(s).
- External Interactions Among the factors that play into selecting technologies for your mobile application, one of the most important to consider is if there are external service(s) your app will need to talk to, or if your application will come with all the content needed for its operation. This will influence a number of factors including (but not limited to) whether your app will require an internet connection, effects on battery usage, and whether your app will access an already built database or if you will need to create a custom service layer for your application.
- Authentication Most likely, your application will require some type of session or understanding of a user profile. This implies a need for authentication. If you decide that your mobile application requires an identity system to support a user session, you will then need to define what type of authentication will be utilized to allow users to access their accounts. You have two primary options – either you can use 3rd party identity system such as Google and Facebook OR you will need to build a custom authenticator wherein users will input their email and password. This all seems simple, but it is a crucial step to considering how your application will be built both from a security perspective, and in terms of how accounts and/or roles for users will be managed.
- Device Interactions What, if any, interactions will your mobile app have with a user’s device? Does the application need to know the user’s location? How about any gestures or movement? If yes, then your application will need to interact with the GPS and/or gyroscope of the device. From Augmented Reality applications that require access to rear-facing cameras to video game apps based on device movements requiring access to accelerometers, how your application will interact with a user’s device must be considered to ensure your application architecture can support the needs of the end-user.More competition between distribution platform providers is good for both developers and consumers in this area. It’s likely to drive down fees, yield new features, and better address user segments.
- Graphical Interactions There are a number of trade offs in the performance and size of your application based on the type and quality of graphics or media you choose to employ. Deciding whether your app will include a flat layout, video assets, 3D graphics, or computer animations informs the technologies you will employ and can limit the devices to which your app and graphics are compatible.
- Code language There are three sequential questions that stand above all others when deciding the coding language for architecting the framework of your mobile application – (1) What is the singular feature of your application? (2) What is the interaction objective? (3) Do you intend for your mobile application to work on different device types (ie. iOS and Android)? To determine which code language or framework is best for your mobile application, evaluating tools based on applicability to the features of your application, merit, licensing and stability will provide you with the parameters required to help you make an informed decision.
- Accessibility Last, but not least, defining how you would like to accommodate different user experiences will serve as a strong indicator in the technologies you will need. For example, will your application require being displayed in different languages for international users? Or, taking it a step further, will your app serve users with sensory disabilities (ie. color blindness or hearing impairments)? As all mobile device types have their limitations, determining what kind of technologies are needed to overcome the limitations of your chosen device type will play heavily into scoping out the entirety of your applications framework.
These are a few of the high-level factors one must consider when planning to engineer a new mobile application. There are other factors specific to the category of mobile application you are planning to create which will present themselves as well. We won’t be diving into these more granular factors in this post, but keep an eye out for future insights on how to plan, strategize, build, and support your digital products.
Until next time, happy product development!