How to Make an App - Idea, Design & Development
Written by João Marcelo Martins on Wednesday, May 24th 2017
Creating your own app can be quite simple if you understand three things very well:
- The concept of your idea
- The design and structure of your app
- The development path of the project
From a standpoint of just starting to think about your app, all this may seem daunting. With this article I want to guide you through each step of the mobile app-building process, for iOS, Android or Web, from the ground up.
Polishing your idea, setting goals, prototyping and publishing it on the stores are some of the topics we will explore. Without further ado, let's dive into it!
1. Set your goals
When defining your app’s roadmap of objectives, there are three key areas you should concentrate on setting targets in: Product, Growth and Finance.
How will it help/entertain the end user?
Do you see your product evolving over time?
How do you want the user to interact with it?
Once you've answered these questions, you'll have a clear view of what the characteristics are that you should focus on at the beginning and what your app should look like in the future.
How will it gain awareness among the target audience?
What's the process to convert potential users?
How will you nurture users to stay engaged?
After getting a sense of what your product will be and how you can make it grow, it's essential to consider its financial sustainability. Whether you are building the app as an asset for your business or as a fun side-project, having clear business objectives will allow you to make a bigger impact in the long run. Answering these questions can help you out on this step:
Is it a for profit or nonprofit business model?
What are the revenue streams (ads, subscriptions, ...) you can leverage?
All these objective areas will help you shape your idea and enable you to move forward in the creation process with a clear view of what you want to achieve. Of course, the goals you set in the beginning of your journey can change along the way, but it's important to stay focused on the framework you've built with it, so you can remain practical and really make something great with your app.
2. Research your target market
The data gathered through the research you make for your app will provide valuable information to solve business challenges you might face in the early stages of your venture as well as in the future, in anticipating forecasts and trends. By building this intelligence, you are more likely to develop effective and successful strategies and will be able to make well-informed marketing decisions for your business. Covering these strategic definitions will also allow you to reduce the risk around your endeavor.
Beyond that, market research for your app can also be a great source to find new opportunities. The more you know and understand your project and your audience, the easier it will be to achieve a product/market fit. So, what should you look into?
Assessing your competitors is one of the most important parts of market research. This will help you differentiate your app and define strategic decisions around your brand, product, and pricing. This is an ongoing process and will allow you to better navigate the competitive landscape of your market.
In conjunction with the information related to your competitors, you should analyse the industry you will be operating in. Learning about the dynamics of the market, how customers interact with brands, who are the main players (not only apps) and what the trends are that you should be aware of will serve as a guide when detailing the scope of your business.
Last but not least, getting to know your audience is a fundamental part of your business research. After collecting the data around the demographics and behaviours, a good practice that can offer you more clarity here is the creation of your buyer persona. This is a concrete portrait of your ideal user, offering you insights and a direction for the development of your business.
3. Define your concept
Bringing together the goals and objectives you've defined in the first step with the information gathered in your research, you can now organize and structure the concept of your app. Drawing a map to visually display your ideas and the connections between them can be really helpful here.
Start with the central characteristics of your app, or your main concept. Is it an app for restaurants, news or tourism? Then, highlight the key concepts, with the features and benefits users will get from using your app. You can be more practical and add actual features like articles, podcasts, forms or loyalty cards.
The diagram below is an example of a concept map for a radio app that you can use as inspiration.
4. Start sketching & wireframing
You might wonder, "why can't I jump straight to the design"?
Sketching the wireframe of your app allows you to focus on the essential parts of your interface, before starting to work with design elements and styles. This way it will be easier to identify where to place the key components of the app and how they will be accessible for the user. Using wireframes also allows you to make changes to the interface sketch a lot faster than if you were working with a final mockup.
In a nutshell, it's the storyboard of your app.
5. Validate your prototype
Building a prototype is an elementary stage before fully starting the design and development of any application. At this point you are making a model that simulates the interactions users will have inside the app and how each feature will respond to it. This is the most efficient way to ratify the schematics you came up with during the wireframing work.
Going even further, you can invite alfa-users to test your prototype and give feedback from a user's point of view.
After collecting relevant feedback regarding the usability of your product, you can take a quick step back to the drawing board to figure out how to improve the user's experience, if needed. Then, implement the new solution to the prototype and test again. This will help you save a lot of time and money from going back and forth, from idea to development.
Further good news is that today there are a handful of online tools you can use to create an app prototype, some are even free.
6. Choose your technology
There are different technologies that can be used to build a mobile app project. The criteria for picking one or another relies mostly on the assessment of the benefits they offer and the investment (money and time) required to achieve the specifications of the app. Furthermore, you should also assess the resources you have in hand, in terms of technical knowledge, and time available to dedicate to the project.
We will focus on three leading approaches to create applications, while giving instructions on how you can get started with them.
Since the beginning of app markets, native technologies for iOS and Android have always been at the forefront of mobile development. This is due the fact that this method offers reliable and high performance products that can access a big variety of native APIs and features available in the smartphones or tablets. Besides, making an app with native coding means that you will be creating independent outputs for each specific operational system, which will help deliver a refined interface for different devices.
Apple has it's own way for app development, with two common languages (Objective-C and Swift, and their associated frameworks) used across all devices powered by them. Anyone who wants to get started programming iOS apps can dive into the vast amount of guides and materials offered by Apple.
Android is also a major mobile OS, having Google as its main advocate and contributor. Different than iOS, Android is open source, which means the development community can integrate custom features and implement it in devices from different manufacturers. Google also provides content and courses for new Android developers, teaching the language Java and the SDK framework.
Another option to develop your app is doing it with web technologies. This became a popular choice since developers start adopting HTML5 more broadly and web browsers (on both desktop and mobile) invested a lot to support the technology. This combination has enabled them to achieve an app-like experience. It's also possible to go a step further and incapsule the web app code into a native container (including mostly UI aspects) in order to create a hybrid app that users can install and run similarly to native.
A new concept has been on the rise, the Progressive Web Apps. The apps created following this method offer enhanced user experiences delivered through a combination of radically improved web technologies and some native premises. The advantage here is that the apps may run seamlessly regardless of the form factor and operational system.
The third option to make mobile apps is by making use of App Builders. Essentially, this softwares allow anyone to build their own app with no coding skill required. There are different services you can use and you can choose the one that best address your needs, while delivering great UX and design. We have an article detailing the things you should look into before making your decision.
With GoodBarber we work to deliver an app builder that generates both Native and Web Apps at the same time — so you don't have to decide between one or the other. Beyond that, we really focus on crafting beautifully designed interfaces and features, so you can simply integrate your project drag and drop style!
Different from front-end development, you can choose among several technology stacks (with programming languages like Python, Node, JS, ...) to accomplish the desired tasks. If you are considering creating your app with an app builder, you can bypass this step as the one-stop solution provided usually includes these services as well as the server integration.
The most important takeaway from this step is that you should pick a technology that you feel comfortable with. Moreover, aspects like cost and ease of development must also be taken into account.
7. Design the look of your app
Coming up with a visually attractive user interface (UI) is another crucial element to the success of any app. In this case, there are principles that act as elementary guidelines that you can follow to achieve a great end result. Let's take a look at some of them:
Think mobile first. Understanding the core characteristics and gestures used in mobile interfaces is fundamental when designing for smartphone users.
The Familiarity principle
Create common layouts. Focusing on a straightforward interface will help users navigate smoothly from the very first use and get accustomed to it more easily.
The Clarity principle
Make simple interactions. Keeping the user informed and visually interested through his/her journey inside the app is a key factor for a great user experience.
The Consistency principle
Design every screen as though it’s part of a whole. Reusing visual elements across the app will help you keep the interface consistent and familiar to users.
8. Run several tests
After assembling all the pieces of the app creation process (concept, design, and technology), you will reach a version that is nearly ready to be released. But before sharing your new application with the world, it's better if you carry out a series of tests to check if everything is running as you've planned.
At the beginning of these tests, you should focus on evaluating the overall performance: whether or not the app is operating at a good speed and ensuring no crashes occur during its use. In addition, check that all the functionalities and interactions inside the application are responding properly to the tasks they are supposed to accomplish. Then, revise all the visuals aspects to verify they are being displayed as they were designed to — it's always good to be pixel perfect!
Here are a few tips to assess your app with beta-users:
People respond better and are more open to talk honestly when they feel at ease.
Limit the number of testers
It's better to keep the group small so you can keep track of individual feedback.
Understand their motivation
Ask questions like "why" and "how", to really dig into what it is that they are communicating.
Be impartial and invite criticism
Be open to feedback, it will help you enhance your app and deliver a better product.
Note in detail which features have to be improved and how to do it.
Reviewing and testing your app can be a tiring process, but will surely pay off in the long run. After you've collected the information regarding usability and performance, you can make the adjustments needed. You are almost ready to hit the stores!
9. Publish you app on the stores
Distributing iOS and Android apps in the stores requires you to go through a rather bureaucratic process. Starting with the registration as a developer. For Apple devices you will be subscribing to the Developer Program for the App Store, costing $99 per membership year. Becoming a Google Play Publisher costs $25 (one time fee), and you must also own a Gmail account.
The app submission is independent for each store. This means that the two binary files compiled after the development was finished will be processed separately with no correlation.
The publication and management of apps in the App Store is done through iTunes Connect. After creating the project and uploading the .IPA (binary file for iOS), you can focus on detailing and optimising the information about your app in the app Store. Don't miss the chance to make a case for your application.
Most of the publishing process for an Android app happens in the Google Play Developer Console. In this interface, you will upload the binary .APK file and add the relevant information about your app (description, screenshots, rating, …) as well as the commercial characteristics, such as the pricing and distribution methods.
Finally, publishing a Web App is a lot simpler. All you need to do is take care of the hosting of the application on a web server and link a web domain to it. To improve the overall experience, you can also use a HTTPS certificate to guarantee the security and privacy of your users.
10. Work on continuous improvements
Once users start downloading your app, you should remain vigilant for feedback so that you can offer greater improvements to their experience. Another indicator you can use is app usage analytics, keeping track of KPIs like launches per day and time on pages can give excellent insight into how people are using your application. Remember: numbers don't lie.
Besides that, another enhancement you should consider doing regularly is regarding content and features. Whether you are releasing new material or upgrading existing functionalities, it helps keep users engaged with your app.
If necessary, you can update your app in the stores as many times as you want. Don't hesitate to bring something new to the table when you have the opportunity!
Now, if you are looking for marketing tips on how to promote your app, we also have an extensive amount of content that may help you with that here in the blog.
If you have any questions, drop us a line on the comments. We will be thrilled to assist you!
Happy app building!