How to Make an App - Idea, Design & Development
Written by Alexandra Soroka on Friday, March 30th 2018
Creating your own app can be quite simple if you understand three things very well:
- Your concept and the goals behind it
- 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. This article is meant to give you a thorough overview on how to build an app, 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 goals in: Product, Growth and Finance.
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 amongst the target audience?
What's the process to convert potential users?
How will you nurture users to keep them engaged?
Is it a for profit or nonprofit business model?
What are the revenue streams (ads, subscriptions, etc.) 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 base framework you've built, so you can remain practical and make something great with your app.
2. Research your target market
A primary, global analysis of the industry you’ll be operating in will help you get a feel for the dynamics of the market, how customers interact with brands, who the main players are (not only apps), and what the trends you should be aware of are. Above all is the most important element of this ecosystem of which a thorough understanding is crucial—your target audience.
What type of information should you be on the lookout for in this research?
What is your users’ connectivity status (always/sometimes/never have access to a reliable internet connection)?
Which devices do your users use?
What’s the average financial situation of your target user?
What’s the breakdown of where your users spend their time (apps vs. web)?
How willing are your users to download?
Where do users go when seeking information?
While every project is different, we see a couple of trends that seem to apply across the board, a few of which include:
- A decreasing desire to download things onto one’s device
- Rapidly decreasing patience for slow loading times, which means a tiny window of time before the user gets fed up and aborts mission
- Lower tolerance for lack of security
- Less willingness to deal with industry giants
- High value on a product’s utility, no hesitation to purge one’s device of storage-consuming elements that don’t bring significant value
3. Define your concept
1. To monetize
Could you charge for access to your product?
Could it be free of charge but include other monetization options, such as advertising?
Is a Freemium model an option?
2. To spread the word
What efforts will you make to achieve visibility?
How can you encourage users to share your content?
What obstacles can you eliminate that are preventing the most direct access to your message?
3. To boost an existing business/project
What convenience/added value are your customers currently lacking?
What are common reasons customers disappear that can be solved through an app?
What’s currently stopping new users from discovering you or giving you a first try?
4. Create your prototype
You might be wonder why you can’t just 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. Doing this will make it easier to identify where to place the key components of the app and to make them accessible to 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. Explore your options
You basically have 3 options to choose from when going about producing your app.
1. Develop it yourself
One thing to consider here is where your competencies lie. If you’re planning to be present on multiple platforms, you’ll most likely need to have coding knowledge in several languages (Objective C/Swift, Java, HTML, CSS, etc.) as well as the time do repeat your work for each platform.
- Do they offer all the features I need? If not, do I have the option to add on custom coding (and do I have the resources to do so)?
- Do they provide app templates for the industry I’m interested in?
- What platforms does this app builder produce apps for (native, web, etc.)?
- What’s their policy in case I want to leave?
- How intuitive is the platform (aka how much time will I need to spend learning how to use it)?
- Does this platform produce white label apps? If not, am I OK with having their brand displayed?
- What are the costs? If it is a low-cost or free app maker, are the limitations going to hinder my project?
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.
When choosing which platform(s) to publish on, your demographic research will come in handy. Familiarize yourself with the pros and cons of each one in order to make an educated choice on which will be the most beneficial for you and your audience.
Here are some examples of the types of things to consider when choosing your technology:
- PWA’s boast 3 times more visitors than native apps do, but the availability of features depends on the browser they’re being used in.
- Native apps give full access to geolocation features (such as geofence and beacon technology) but publishing them implies significant extra costs and third party compliance
7. Get to work
Obviously the process will vary based on the method you’ve chosen for developing your app, but for our purposes we’ll assume that you’ve chosen to go the app builder route. In this case, the creation process will go something like this:
There’s a lot to decide on in this step,— the app’s global color theme, the style of the header, its navigation mode, the icon that will represent it in the stores and/or on your users’ home screens, its splash screen, etc.
When designing these elements, it’s always a good idea to keep the look somewhat aligned with any existing design your brand already has than identifies it, such as logos, colors, fonts, etc.
Time to add everything and anything you want to convey about your business/project, which can range from photos to audio files to maps and more. In some cases, you’ll just enter this content directly into your platform’s backend manually, in other cases you may already have your content available somewhere and you’ll just need to integrate that external source to pull it in (such as an RSS feed, a live stream, or a social media account).
In many cases, this is where the most noticeable added value for your users will reveal itself. Always keep your engagement strategy in mind when adding in your features.
Is your goal to remain in consistent contact with your users? Activate push notifications, and take it a step further by exploring geolocation notification options or allowing users to subscribe to the topics they want to hear about, for example. Trying to form a community out of your users? Go for some social options, such as in-app messaging, the ability to comment on content, or the opportunity for them to contribute their own content to the app.
If necessary and if possible, explore the customization options your platform offers and add any needed features or design options that weren’t available by default. Customizing is the most effective way to make your app stand out from the others of its kind.
Often times app builders provide a test app you can use to run preliminary checks on your app. The most optimal way to test your app, however, is through its AdHoc version, which is the actual file of the app that will be submitted to the stores that you can download onto and run on your device—it’s the exact replica of what your users will see and every aspect of the app can be test using this method. Another option—for native iOS apps, TestFlight is an Apple product that allows you to efficiently test your app before its publication.
Here’s a standard checklist for you and your beta-testers to follow during testing:
✔ No crashes when performing any action
✔ Performance in poor connectivity
✔ All functionality/interaction responds to the task it’s supposed to accomplish
✔ Design is visually pleasing and correctly adapted to all screens
✔ Navigation is intuitive and efficient
✔ No aspects of the app are “hidden”
✔ App name/store description is self explanatory
Distributing iOS and Android apps in the stores requires you to go through a rather bureaucratic process, starting with registering as a developer. For Apple devices you will be subscribing to the Developer Program for the App Store, costing $99 per membership year. Keep in mind that Apple requires the owner of the content in the app to match the owner of the developer account, so if you publish multiple iOS apps for different projects, each will need to have its own individual developer account. 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.
Keep in mind that Apple is quite strict with the apps it accepts into its store, so familiarize yourself with all of the rules and do the necessary to make sure you’re in compliance. Once you’ve submitted your app, it will go through a review process by their team (which takes about 3 days on average), and then assuming all is well, it will be published and ready for download.
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, etc.) as well as the commercial characteristics, such as the pricing and distribution methods.
Publishing for Android is a bit easier than doing so for iOS—there is no review process at Google Play and your app will be publicly available just a few hours after it’s been submitted. That is not to say you should ignore the app regulations established by Google Play, as they can remove your app later on if they notice that it’s not in compliance.
Luckily, publishing a Progressive 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. With this process being so quick and easy, you have more time to spend on optimizing your SEO to ensure your product is easily discovered by the public.
10. Continuous improvements
Once users start downloading your app, keep an ear out for feedback so that you can consistently offer improvements to their experience. Another indicator you can use is app usage analytics, keeping track of KPI’s like launches per day and time spent on pages can give excellent insight into how people are using your application. Remember: numbers don't lie.
Another must every app owner should do regularly is to always be publishing new content and features. Whether by releasing new material or upgrading existing functionalities, it’s the most effective way to keep users engaged and avoid the dreaded low-utility realization/app deletion. Make sure your users are well aware when there are new releases—you can alert them via push notifications or feature these new elements on the most visible part of your app, the home screen.
You can update your app in the stores as many times as you want, although in some cases you’ll be required to submit a new version of the app if larger modifications have been made. On the other hand, your PWA can be updated infinitely without any resubmission constraints. Either way, don't hesitate to bring something new to the table when you have the opportunity!
If you have any questions, drop us a line on the comments. We will be thrilled to assist you!
Happy app building!