Mobile phones seem to be everywhere we look these days and have a wide range of capabilities that extend far beyond what many would have imagined phones doing 15 or 20 years ago. These days, our phones provide a base platform for an extensive variety of mobile applications that allow us to perform a multitude of tasks. Whether entertaining or informative, fun or practical, social or work related, these apps are not only enjoyable but can make our lives better.
If you are not familiar with the stages of developing a mobile app, this article can help give you a greater understanding of what goes into building a mobile application.
Setting scope of work
Setting the initial scope of work will provide direction for the design and development processes that are to follow. Designers and developers will try to get as much information as possible from their client before starting the project in order to create a clear scope of work based on the client’s goals and ideas.
Typically at this stage, there certainly is a focus, but it comes with some flexibility as goals may need to adjust while the project is going through the various stages.
Beyond learning a client’s goals and ideas, it is important for designers and developers to be able to understand the rationale behind the various ideas. When designers and developers are able to understand the ‘why’ behind the ‘what’ they are better able to help companies accomplish their intended result, often being able to offer suggestions on better ways to accomplish client goals.
The more information that is shared at this stage the better. Designers, developers and their clients should all consider a variety of issues at this stage. For instance, what is the nature of the app and what makes it unique? Who is the target audience for this app and why would they be interested in it? What need does it serve? Are there data resources available that should be considered? Are there design issues that should be considered?
Based on the goals set in the scope of work, a user experience (UX) designer will dig deeper during the research phase. This involves research into both the users and the market.
It is important to have a solid understanding of the user base before starting to design a project. A UX designer will get to know who they are and what they prefer. They will learn about user behavior on the current mobile app, as well as, limitations and pain points. They will also uncover motivations and expectations of users utilizing the app.
When it comes to the market, it is important to understand the other applications that are available, especially options offered by the competition. Without an understanding of what else is on the market, it is difficult to create an app that will stand out in a crowd.
Don’t be tempted to skip or skimp on the research stage. Mobile interface designs that rely only on intuition run the risk of missing the mark as they do not understand the users and what they are looking for from this application.
Wireframes are used to create the general structure of the application. Usually, these are created in a low fidelity style utilizing simple outlines and text without any design elements. When creating wireframes the goal is to focus on designing a clear and orderly structure, while considering interactions.
This is where a UX designer will work to resolve many of the issues and pain points that were uncovered in the research stage and work to improve the functionality of the app. Many of the problems apps have can be fixed by improvements to information architecture, structure, and layout.
As with the research phase, you will want to take your time and utilize a thoughtful approach. Time spent here is not a waste of time. In fact, in the long run, it will save you time and money, as it will be more difficult and expensive to make edits later on in the process.
Prototypes are an excellent way to check out design solutions in a more interactive environment. Creating prototypes in early stages (from wireframes) allow designers, customers, and testers to review progress in a more natural environment than looking at pdfs and flow charts and having to mentally make connections between the various screens.
Prototypes allow those involved to test for improvements in usability and check to see if anything has been missed so far in the process. Rather than putting prototyping off until after the designs are done, creating prototypes early will save time and money as issues are cheaper and easier to fix at this stage.
A mobile app’s user interface is how users interact with an app. This is the stage where a user interface (UI) designer will create the visual designs for an app’s user interface. A UI designer will use their design skill to create an interface that emphasizes usability, allowing users to accomplish goals quickly and easily.
Decisions regarding color choices, fonts, content layout, design elements, etc. will all affect the performance of the app. UI designers will use these elements to enhance the user experience. Based on the previous work done during the research, wireframing and prototyping stages, where it was determined how the app would work, a UI designer will determine how it will look.
UI design should support the results and conclusions from previous stages and not lose sight of the established goals and strategy. Effective use of colors and other design elements can help create a positive experience that delights users and keeps them coming back. A great user interface will facilitate user activity.
During this stage, programmers will write the app’s code, creating the functionality behind the UI. This writing of code will generally take place in multiple parts; some of the coding will be client-side, in the form of mobile apps, while other parts of the development will be server-side, in the form of online back offices, CMSs, APIs, databases, etc.
Most projects will have multiple programmers working on different parts of the project. Some will focus on client-side development while others focus on the server-side of the project.
On the client-side, programmers will work to develop mobile apps, these days this will generally be in the form of mobile apps written for the Android operating system or mobile apps written for the iOS operating system. Some of the functionality will be coded within these apps but they generally are also integrated with server-side components such as databases, APIs or other server- side coding.
On the server-side, programmers will work to develop databases, APIs and online coding that will support the client-side experience. Many people are surprised to find out that apps often rely heavily on server-side components, but the truth is that a high percentage of mobile apps are supported by coding that runs from servers rather than within the apps themselves.
Testing is a key stage that should not be rushed. It is important to find bugs before the mobile app is released to users. Modern app users are very familiar with quality apps and will abandon an app if it has functional problems. No matter how great an app looks, if it has bugs, users will abandon it.
While programmers will generally edit and debug as they write code, it is still important to run the app through a battery of tests, not only to check for functional errors but also to check to see if the UI works the way it was intended. Does the user interface facilitate users easily accomplishing goals? Is it intuitive and easy to use? Do the interactions work like intended? Can processes be streamlined and improved for users? This is a great point to run some A/B tests to optimize key points of interactivity.
Checking the app on a variety of different devices at this point is important. How does an iPhone app run on an iPad? How does it run on older model iPhones? It is important to check how an Android app runs on a variety of different phones. Phones with different screen resolutions, processors and amounts of memory can affect how the app will run.
It is essential to check loading times and processing times. It is critical that an app operates quickly. Mobile users do not have the patience for slow running apps, so processes must be optimized. Check the performance of both server-side and client-side operations.
After testing is done, an app can then be released to users. Apps submitted to Google Play are generally released quickly while Apple will take a bit longer as they will review apps and approve them before they are made available for download from the iTunes App Store.
Along with having an app, companies need to have the necessary information available to creating a listing on the app store. This will include screenshots, app description and other information for the app. Time and effort spent on this stage can greatly affect the number of downloads an app will get. App descriptions that are clever and insightful will capture a user’s imagination and move them to download an app. While poorly written descriptions that are rushed through will not have a favorable response.
There are over 4.4 million apps on the two major app stores and a business’s app store listing can help its app stand out. Scrutinizing keywords can help users find apps through searches at the app stores and careful selection of screen shots can create interest in an app.