How to: Get a low cost app developed

What’s the key to low cost mobile app development? Preparedness. But how are you supposed to know how to prepare if you’ve never built an app before?

Well, as soon as it began, your search is over – below, you’ll find a step-by-step guide to the quickest and most affordable model of mobile app development: MVP.

Really quick – before we get into it, let’s go over what a Minimum Viable Product is (when it comes to apps, at least). A MVP is an app that focuses on solving its main pain point, and very little else. All features, design, and graphics focus on helping to provide a solution to the main pain point – hence the term “minimum.”

MVPs do one thing, and they do it well.

Now, here’s how you make one:

Step 1: Research

This is all about how to build an app for the lowest cost possible; and the key to all development costs boils down to one singular ingredient – time.

Your app’s design is crafted through a combination of creative thinking, mouse clicks, and keystrokes; your app’s code is built by process-oriented imagination, and a whole lot of keys being pressed in rapid succession on a keyboard. There’s nothing magical about the development of an app.

Now, this isn’t written with the intention of giving the impression that developing an app is easy – quite the opposite, in fact. Building an app is kind of like writing an interactive choose-your-own-adventure novel, but it’s written in a language computers can understand, while also remaining readable for us humans.

And in order to pull that off in a streamlined, cost-effective manner, you need to complete all of your research before going to a developer with your app.

Find out why we recommend against using services like Appy Pie or app design templates to build your app.

The first step to research is…

Determining your pain point

All apps are beholden to one goal: solving their pain point. For a MVP to be a MVP, however, it must only provide the solution to its pain point. Any feature included in a MVP app must play a role in helping to solve this problem – this is to ensure no time is wasted spent developing out features that aren’t truly needed for users to receive enjoyment and benefit from your app.

The reason this is your first step taken on the road of app development is because everything that you do during the development process will be determined by the pain point of your app – from the market research you conduct to the features your developers implement.

A good pain point is both marketable and actionable – meaning there’s an audience or group of people who want a solution to this particular problem, and are willing to do something about said problem.

Let’s say you’re making an app like BrewTrader – just for some context, it’s an app that gives craft beer enthusiasts a platform to find and trade beers with other users.

Take a second to analyze that sentence. You know you’ve come up with a good pain point when you can explain the whole idea of your app in one sentence. Think of it like a thesis statement; if you can’t construct a grammatically correct sentence that covers the entirety of your app’s functionality, your MVP isn’t focused enough. It should be succinct, but meaty.

After knowing the problem you want to solve, and how you want to help solve it, you can move on to the next step of research:

Competitive analysis

This step serves two purposes – it gives you an idea of what your competitors are currently doing (obviously) – but more importantly, it will serve as a roadmap for ideating your app’s feature set.

If you want your app’s development to be quick, (and therefore low cost), you’ll need to know every feature your app will utilize; this includes knowing details like where in the user flow a feature will exist, how it will interact with the user, and if you’ll need supplemental features or APIs in order to properly implement the original feature.

Download the top three competitors and use their apps for at least one session from start to finish. Get an understanding of what they do correctly, and make a note for later. Then, go find the lowest rated app (be careful about security risks) in the same category, and pay attention to what they did wrong.

Knowing what’s incorrect is just as important as knowing proper UI/UX design. It helps to prevent you from making a decision that might seem like the makings of a previously-unimagined and creative UI/UX solution – but there is more than likely a reason the top performers use the UI/UX flow they already have.

Also, begin your ASO research now – pay attention to keywords the top competitors are using. When starting out with a new app on the App Store or Google Play, pick five keywords, and focus in on those.

Market research and marketing

There’s a million different options for conducting your market research, but some key data to be aware of are:

  • Target age range (different age groups respond to different mobile marketing strategies)
  • Target preferred platform (we recommend iOS if you’re starting with a MVP)
  • Target interests

As soon as you know what your app will be called, you have a logo, and you have a description of what your app will do, build a website. Even if you only have content for one landing page, make it, and make it live.

SEO takes a while to take hold, and having something to link back to within your social campaigns will help to build a solid SEO foundation. Apps on the App Store and Google Play require both SEO and ASO to thrive – so don’t neglect either.

Speaking of social media, you’ll want to make sure you’re putting out as much content as possible. Speak to the voice of your app’s brand, of course, but don’t be afraid to open up a little. Everyone understands that when they’re interacting with a brand’s social media account, they’re talking to an actual human being.

Be open and honest and genuine – know your target audience’s interests, and speak to them. To steal advice from Gary V, if they like the Red Sox, talk about the most recent Sox game. Engage with your followers more than you advertise to them. Then, every once in a while, sprinkle in some native content that speaks about your app’s brand, or the features it will provide, or where you are in development.

People love documentation. You can easily create content for social media by documenting the journey you’re on through the development of your MVP app – take one long-form piece of content, and build a few pieces from it each day. Then cater those pieces to each social platform your brand is on. All of a sudden, you’ll be running a fully-fledged social campaign based on a single piece of content (that you didn’t even have to take time out of your day to make).

MVP development

Whether you’re developing an MVP app or a fully-kitted-out enterprise level app, the actual process of coding remains largely the same – the only difference is the time table, which is shorter with a MVP, due to the limited feature set that needs to be built and implemented.

The importance placed on knowing your feature set in and out comes into play here – the most effective and efficient way to ensure easy, low cost app development is to make sure there’s no unanswered questions between your vision, what you want, and how you want it to work.

The clearer of a picture you can give, the more information, and the more concrete of a user flow you can produce for a developer, the better. It’s always important to take your developer’s advice, but relying on your own research and business acumen can help speed up the process.

One thing to keep in mind with (and this is specific to) MVP development is that everything doesn’t necessarily have to be perfect. Don’t confuse this with the idea that it’s okay to make a sloppy app – but understand that as long as your users know that your app is in a semi-beta stage, they’ll be more forgiving.

This is why a strong, personal, and open social media presence is so crucial to a MVP app’s success; in order to properly distribute the message that your app is starting with humbler-than-most beginnings (but improvements will be coming), you need to be able to have frank, honest, transparent conversations with your followers. And, they need to be willing to listen.

The purpose of a MVP app is fast, efficient development – the efficiency truly begins to shine after a MVP app’s initial development.

The second word in the acronym MVP is viable. It might be the most barebones version of a product, but it’s still viable. What this means for you is that you can charge for it. Whether your app goes with a pay-to-play model, or subscription to a service, or with sales from ad revenue, you can begin to make a profit from your MVP as soon as it takes hold on the App Store or Google Play.

Post MVP development

As soon as your app is launched on the App Store or Google Play, make sure:

  1. Your ASO is in place and ready to go
  2. Your website reflects the launch of your app
  3. Your social media has (and will continue to) promote your app’s launch

Take the revenue you’re making from your live MVP app, and start implementing updates. Make sure updates focus on fixing bugs, fixing security risks, and providing quality of life improvements to the UI and UX flow.

Be vocal and transparent about what your updates will accomplish and feature – use both social media and push notifications to advertise these updates.

Be aware that when you’re advertising, you need to be extremely aware of just who you’re engaging with. Older generations, like generation X, prefer value-based advertising. As your target market gets younger, they will expect more personalized advertising – in order to properly do this, it’s necessary to use an app analytics platform. Our favorite is Kumulos.

Be prepared, but be ready to adapt

Knowing what you’re getting into is the most important step you can take to ensuring low cost development – but, always be ready for something unexpected to pop up.

To learn more about the in’s-and-out’s of MVP app development, check out our blogs on:

And, for more about planning out an ASO campaign, check out our ASO: 101 blog post.

With carefully planned feature sets, a concrete layout and vision, and some well-planned and executed social media, SEO, and ASO, you can both shorten your app’s development schedule, and lessen your need for monetary investment; giving you the ability to make an app now, and capitalize on an untapped market – rather than waiting for outside investment and finding a highly competitive and saturated playing field.

Improving your employee training process with an internal business app

An enterprise level, internal business app is the perfect solution for innovating your company’s employee training. More accessible and less resource intensive than traditional employee training programs, internal business apps are, most importantly, much more cost and time efficient than their traditional predecessors.

Internal business apps provide a platform that empowers the growth of your employees – as individuals, professionals, and team members – all scalable, and all within an affordable budget.

Before we get into the how of this topic, I want to cover the why:

The psychology of self-fulfillment apps

Just what is a self-fulfillment app? It’s any app that helps an individual better themselves – while they exist in different spaces, fitness trackers and internal business apps would both fall into this classification.

In fact, when implemented correctly, the structure and UX of the training portion of an internal business app should closely resemble that of a fitness app.

They’re very similar to each other, especially when the internal business app is used to provide or enhance your employees’ training – and just like a fitness app, your internal business app’s training program should focus on rewarding your employees for reaching action or comprehension milestones while on their path of growth.

Why is this? Just as fitness apps use this milestone method to increase user engagement and retention, so too can your internal business app. While employee training might be a virtually mandatory step in the hiring process, this doesn’t mean employees are highly – or sometimes, even moderately – engaged with the process.

With many new positions, employees going through training can find themselves inundated with excess amounts of new information – this can lead to overload, or even to your new employees tuning out for the rest of their training.

By implementing a rewarding, individually-trackable training experience for new employees, you can rid your company of these systemic issues. The best part is, this process doesn’t have to come to a close – internal business apps can empower your employees’ growth throughout their entire career at your company.

Let’s get into some concrete examples:

On-boarding

Imagine being able to start new employee orientation as soon as they’ve signed their offer letter. Along with the email you’ve sent, you can also include a link to your enterprise app. From here, the new employee can complete paperwork that usually takes up a significant portion of their first day.

During this first touch your new employee has with your business’ internal culture and processes, you can adjust the amount of guidance to whatever fits your needs – from live chat features to video calls. Or, you can go the fully automated route, if this portion of your on-boarding needs to be streamlined.

As your new employees progress through orientation, your app can act as their own guide, keeping them appraised of what’s coming next in the training process. This helps them prepare before hand, lessening the time spent introducing the topic that is about to be taught, or from scrambling for necessary resources at the last minute.

Your internal app can also act as a reference point during any step in the new employee training process, allowing new employees to find answers without interrupting training sessions.

When new employees have the power to look back and see the entirety of what they’ve learned (as well as the ability to reference the details of your business’ processes), they’re less likely to feel overwhelmed, and more likely to feel in control – and therefore, are more likely to fully engage with their training.

New employee on-the-job training

While nothing beats human interaction when being taught a new subject or process, an internal app can enhance the efficiency of your new employees’ on-the-job training. Very rarely does a co-worker or manager have carte blanche access to their schedule for a day; so when that new employee is inevitably faced with a situation where they don’t know how to proceed, and the employee training them isn’t around, they can reference the provided guides to handle the problem themselves.

This improves efficiency twofold; your veteran employees can spend more time doing what they do best – producing product, and bringing in new customers – and your new employees can solidify their knowledge retention by having the ability to answer their own questions.

This is very similar to an already tried-and-true method of information dissemination tech companies have used for over a decade – Stack Overflow. Tech companies are extremely process oriented – both when it comes to budgeting for labor, and the structure of code. In order to improve efficiency, developers will upload coding solutions to Stack Overflow for other developers on their team to utilize and learn from. This helps ensure stronger code, as well as increases efficiency for new employees and their team alike.

When new employees have the power to find the solution to a problem they face on their own, they’re much more likely to ask the question in the first place, rather than ignore the issue until it becomes an endemic problem.

Even better, you can cater these reference materials to different learning styles and situations – everything from pre-recorded video to simple presentations, or even tech documents and spreadsheets – these are all viable forms of information dissemination through an internal business app.

New employee on-site, real-time training

While it might not be realistic for every businesses’ budget to implement AR headsets for every on-site worker (like BMW and their mechanics), it is within the realm of possibility for a company to implement a few for new employee training purposes.

In a blog we wrote earlier this year about MxR and its implications for labor-based jobs, we touched on the experience Cnet’s Ian Sherr and Scott Stein had with Microsoft’s HoloLens2, which they reported to feel like “practical magic.”

Why did it feel like magic, and what does an AR headset have to do with new employee training?

MxR headsets now have the ability to interact – in real time – with the environment around the wearer. Both Sherr and Stein – neither of whom claim to be auto mechanics – were able to complete a set of repairs on an ATV engine with live guidance from a HoloLens2.

What this means for your business is a more efficient use of labor hours when bringing a new employee into the field. Your veteran employees can, again, spend their time doing their jobs while the new employee is guided by a real-time, accurate system that provides step-by-step, visual directions.

Continuous learning and growth

Perhaps the most exciting aspect of an internal business app’s training capacity is its ability to be included with the other processes your enterprise level app provides – like inventory management or culture and communication.

When something new is added to your business processes that everyone needs to know, you can send out a push notification with a link that brings all of your employees to the new information – or, you can segment targeted information to the team that needs to be in the know, in order to maximize the efficiency of your other employees.

Employees, at any moment necessary, can reference all of your training materials at any point in their careers – which keeps bad habits from forming, and helps re-align inefficiency.

As your employees foster a culture of continuous learning, new employees will be more readily brought up to speed, as information given to them is guaranteed to be uniform, and standards are always expressly laid out, in plain view for everyone in your company to view at any time.

Scalability

Most impressive is an internal business app’s scalability and reach – when all of your employees have access to everything they’d ever need (no matter where they are or what they’re doing), you can ensure every employee receives the same standard of training.

This is especially beneficial for offices that work remotely from each other, as it can save countless hours of deciphering one another’s work. Process uniformity can have a positive impact in localized offices as well – but when working remotely, this issue is more profound – and therefore, the solution is more noticeable.

An internal business app’s training capabilities are also scalable on a sense of time – it’s incredibly easy to enhance your training methods, as well as the information provided to new and old employees alike.

A personalized, yet uniform employee training experience

That’s what your new employees get when your business uses an internal business app to enhance or provide new employee training. Not only does this benefit employees at the beginning of their tenure at your company, it helps to ensure a uniform continued growth path for new and old employees alike – whether or not their orientation was through your enterprise level app or via a more traditional route.

Internal business apps give your company the ability to cater to different learning styles, without holding separate training sessions – new employees can watch a video explaining your data management system all while reading along with the provided tech doc, or reference slides instead – whatever works best for them.

With an internal business app’s gamification of the usually (let’s face it) less-than-exciting process of learning a company’s operations – as well as the ability to track and reference past accomplishments and knowledge, and easy scalability for any business model – improving your business’ new employee training with an internal business app is achievable for any company’s budget.

How to: Find a top app designer

Finding the right app designer is a process that should never be taken lightly – there are so many app development companies out there, and each has their own approach to app design. So how are you supposed to know what to look for? How do you cut through all the chaff? How do you find your top app designer?

The only fool-proof method for discerning what makes good design is to know it yourself – so, before we go over how to find a top app designer, let’s look into what makes a well-designed app.

For a general guide to finding a mobile app developer, visit our blog on the topic: How to find the perfect mobile app developer.

Knowing is half the battle

There’s a quote I’d like to put here before we get any further:

“Form follows function – that has been misunderstood. Form and function should be one, joined in a spiritual union.”

It’s a quote from probably the most famous architect in modern history, Frank Lloyd Wright – and a re-framing of his mentor’s original words: “Form follows function.” What Wright wanted to impart to other designers was that (at least in contemporary terminology) good user experience and good design are one in the same, and go inescapably go hand-in-hand.

Users are named as such because they use apps to accomplish something; just as important as the why of an app, is the how it goes about accomplishing said task. That “how” is where good design lives.

In order to know how you want your app to look, feel, and act, you first need to know why it will do the things it does.

Discovering your pain point

Every app helps play a part in the solution to a pain point. Whether it’s a consumer-facing productivity app, a mobile game, or an enterprise level app, they’re all meant to help solve a problem their audience faces throughout their day, week, or lives.

There’s three main ways you can go about discovering your app’s pain point – through identifying a pain point in your own life, from conducting market research into a particular market or audience, or from identifying key areas of your business operations to improve upon.

No matter the origin of your pain point, the most crucial aspect to determining your app’s success is to make sure your app will help solve a problem that’s worth solving. When it comes to app pain point ideation, I like to think of another quote – this one from my poetry professor in college: “Write about grief. Not a grievance.”

Now, we’re not writing poetry here, but it cuts to the core of the idea – a pain point is, by definition, painful. For an app to fall into the realm of truly valuable, the pain point it solves must be worthy of its namesake.

What makes a good pain point?

Not all problems are made equal. Some pain points just aren’t all that painful, and some don’t fit well in a digital medium. Let’s go over the four determining factors for judging the quality of your app’s pain point:

Frequency

While these factors aren’t listed in any particular order, this facet may be the most important. All apps on both The App Store and Google Play are ranked by a few different metrics – of which user retention plays a significant role in determining their ranking.

User retention is the frequency at which users engage with your app – and different types of apps can expect different engagement rates. A customer-facing app that updates users on their electrical usage might be checked once a week, or once every month. A fitness app can be expected to be opened at least a few times a week, and apps like mobile games can sometimes expect engagement rates of multiple sessions per day.

Mobile games high engagement rate is due to providing a solution to the number one pain point of all time: boredom. Because of this, mobile games do often see high retention numbers in the short term – they do, however, struggle to maintain that retention over time. As users become more familiar with a game, the pull of a new experience diminishes – and eventually, leads to the pain point the game was originally intending to solve.

When determining the feasibility of an app, always keep the expected user engagement frequency in mind – it will help you plan your push notification campaigns.

This can be especially important for apps that are centered around once-a-year timings, like a Black Friday bargain app. This app would want to start its push notification campaign the day after Halloween, and ramp up until Thanksgiving evening. In order to be successful, a Black Friday app would need to maximize its user engagement throughout all of November.

Context

There’s a rule I named myself – I call it the “subway-cornfield” rule. Basically, it means your app should behave the same no matter where a user is engaging with it – whether they’re standing in a subway, or the middle of a cornfield.

When designing your app, however, it’s main use case should be carefully considered – while it should work well in all situations, it should excel in a select few. For instance, compare the UI of Google Maps to that of Facebook:

Google Maps vs FB

While there’s only a few buttons and fields to interact with through Google Maps, Facebook’s UI has a substantial number of options from which to select. Why is this?

I don’t know about you, but when I’m interacting with Google Maps, I’m usually already in my car, moving, and need to keep my eyes on the road. A user on the move is Google Maps’ main use case – so in order to provide the best experience, the UI was designed to be as simple as possible. With a simple UI, the solution to the pain point of being lost is solved faster – which keeps users’ eyes on the road, and not on there phones.

This provides the user (and those around them) with a better (and safer) user experience.

*NS804 in no way condones using your phone while driving*

Also note how information is presented in Google Maps – important roads are highlighted with a strict hierarchy: blue for the route the user is taking, orange for highways and interstates, yellow for main thoroughfares, and white for side streets.

From a zoomed-out perspective, only major landmarks, parks, neighborhoods, roads, and businesses are named – as you zoom-in, names auto-populate as visual space becomes available.

All of these design choices are both intentional, and important to Google Maps’ UX. When less information is presented to a user on a single screen, they’re able to more quickly take in the information they actually need.

Facebook’s mobile app takes the direct opposite approach – users are given lots of options and information (both visual and written) to consume. Facebook’s main mobile use case is someone who is both bored, and has the time to engage with the app. Due to this, Facebook is designed to keep users scrolling for much longer periods of time than a user would spend with Google Maps.

Marketability

There’s a cold hard truth every app has to face: you have to make money somehow. There’s another quote I’d like to share, this one from Mark Fischbach: “If the app is free, you’re the product.”

This doesn’t necessarily mean every free app is collecting and selling your personal data (here’s to you, Facebook), but free apps more often than not do have some form of monetization that revolves around an entity purchasing user’s time or views. Advertisers purchase space on a free app in order to capture the attention of users – just as platforms will offer free versions of an app in order to entice users to purchase the premium version.

Here’s a list of a few app monetization models:

  • Paid download
  • Subscription fee
  • Ads
  • Take a percentage of sales

No matter what, your app must provide a good enough solution to its pain point for people to be willing to spend money on it. Keep in mind what monetization model your app will implement – it will help you streamline your design and development schedule.

Longevity

Remember the mobile gaming example? App longevity is a key factor in determining if a pain point is worth it.

If an app solves a once-in-a-lifetime, or even a once-every-five-years pain point, it probably doesn’t need to be an app. There is one exception, however – a use case that isn’t reoccurring for the individual, but is widely spread throughout the population as a whole. Or, put simply – something that you might only deal with every few years, but at least a few people deal with every day.

Here’s an example; you don’t paint your house every day. You don’t, however, see a lack of painting companies – both suppliers and actual painters. Just because a single family only repaints there house every five years, or even once a decade, there’s always a few houses with a fresh coat of paint.

An AR app that allows users to play with the color of their walls when selecting what color paint they want to purchase may only be used once by that individual; but as a wide-spread pain point with a straightforward and easy solution, it will continue to be used by other users in other houses the next day.

There’s a lot more to proper app design – we just wanted to give you an introduction to the thought process behind good UI/UX, and what ultimately lays the groundwork for a well-designed app. We’ll be getting deeper into the subject in the future.

For now, let’s get to the actual finding part. First thing’s first…

Don’t use Google to find designers

There are already companies dedicated to finding designers for you. Two sources you can trust are Clutch and The Manifest. There are a lot of sites out there that showcase app design companies – but these two you can trust, as they use information from a designer’s client history, client reviews, as well as ability to deliver in order to determine rankings, rather than a payment hierarchy method.

Using Clutch

Clutch gives you the ability to find app design companies, set what parameters you want to use to find them (by platform, vertical, or location), and provides you with a breakdown of that designer – from client reviews to service lines, and from industry focus to what types of business they’ve worked with in the past.

Clutch also hosts a blog where you can find information covering everything from B2B marketing to ASO and beyond.

A nice feature Clutch offers are badges, which developers can display on their site to show that they’re trustworthy. If you see a developer with a Clutch badge, they mean business, and you can rest assured they know what they’re doing.

Using The Manifest

The Manifest operates in largely the same manner as Clutch. The Manifest offers industry leader shortlists, and a blog hosting great thought pieces and business advice.

Like Clutch, The Manifest will offer a short bio and client history for each development firm, so you can get a feel for what each developer brings to the table.

And with that…

You’re all set! Happy hunting!

Just remember that you’re always going to have questions – and that’s okay. A good designer will either have an answer for you, or do what they can to find one. Most importantly, your personal preference and business needs should always be taken into account, and if a website is telling you x is the better choice, but you have a good feeling about y, go with your gut.

How to build a MVP iOS app

Building an app is never a simple process – but there are steps you can take to make your app’s development as smooth as possible. In a follow up to our Which is the better platform for a MVP? blog, we’re going to go step-by-step through the development of a MVP iOS app – from ideation, through development and testing, and onto publishing, launch, and post-launch development.

If you’d like a refresher on MVP development, check out our blog post on Clutch.

But first…

We need to reiterate why we’re specifically going over iOS MVP app development, and not Android. While there’s a lot of reasons as to why iOS is the ideal platform for a MVP, there’s one aspect that we will be covering in detail throughout this blog – user engagement:

  • iOS users engage apps for nearly twice as long as their Android counterparts
  • iOS apps have a higher retention rate than Android apps
  • iOS users download more purchasable apps than Android users and spend more money on in-app purchases:

  • Gaming app average revenue per user: $1.99 (iOS) versus $1.56 (Android)
  • Shopping app average revenue per user: $19.64 (iOS) versus $11.49 (Android)
  • Travel app average revenue per user: $32.29 (iOS) versus $20.47 (Android)

It’s stats like these that make up a market better suited for a MVP – not to mention the faster development and testing time for iOS apps, which compliments (as well as keeps up with) the already quick development cycle that makes a MVP a MVP.

The steps to (quick) iOS development

It’s important to note that there is no shortcut to development – if you want to make a good app, at least. The trick to achieving the speed of development that an MVP is known for is to build an app that works with as little features as possible.

To a service-minded company or appreneur, this can sound counter-productive, or even go against mission statements that boil down to “providing the best service possible.”

But a MVPs end goal isn’t to remain as a minimum viable product – once a MVP has had a successful launch on the App Store, the development cycle continues in the form of updating the code base of your app to include more features.

The efficiency of a MVP comes from those aforementioned iOS user metrics; user engagement, in the form of constructive criticism and requests, will serve as your market research and your app’s beta test. This is one of the deciding factors in the lower cost of developing a MVP app – that, and the shorter amount of time actually spent in development and testing.

Let’s look a little deeper into things.

Step 1: MVP ideation

All apps should stick to features sets that help solve their pain point – but a MVP, by definition, must so. A simple way to make sure your app is only utilizing features that play a role in solving your pain point is to write a list of everything you want your app to do.

Then, take your idea and start trimming the fat – let’s take a look at an example:

Let’s pretend that it’s a few years back, and we’re currently in the process of ideation for Brew Trader. Brew Trader is an app that connects craft beer enthusiasts by providing them with a platform that serves as a medium through which to trade craft brews with others in their area.

So, we write out a list of everything we want it to do:

  • A map that shows the locations of bottles up for trade, and is updated continuously so users can see the latest offers, as well as the ability to move the locations of trade beacons
  • A user profile that contains information the user wishes to share, as well as the user’s entire collection of craft brews
  • A messenger so users can DM each other
  • A trade history so users can find other users based on past interactions
  • A bar-code scanner to populate information about bottles available for trade

Then, we edit that list down to what Brew Trader needs in order to function properly:

    A map that shows the locations of bottles up for trade, and is updated every 10 minutes so users can see up-to-date offers

  • A user profile that shows their bottles available for trade
  • A messenger so users can DM each other (while a significant feature set, this is necessary, so users are able to communicate meet-up times and locations)

All in all, that boils down to three different screens, which are built out in the next step.

Step 2: MVP UI/UX

Let’s take those three feature sets and break them down into the visual elements that will make up Brew Trader’s UI. First of all, just like 99% of iOS apps, we’re going to need a bottom menu navigation bar.

This is utilized in UI design so a user can quickly switch between the screens that contain the feature sets listed above. This bar will contain three icons, which will each signify one of the three screens – those being the map screen, the user profile screen, and the messenger.

The next thing to do is layout your different screens.

The map will be hooked up to a mapping API, such as Google Maps. Google Maps is free, as long as your app is free. If you’re looking for other options, check out our blog about how much it costs to implement a GPS & mapping API.

The next element of the map screen to design would be the trade beacons, as well as the sub view that would pop up when selecting a beacon – this sub view would present the name of the bottle up for trade, as well as the user whom it belongs to.

The next screen to design is the user profile section. For a MVP, this should be done in the simplest way possible – a section to add a thumbnail profile photo, and fields to add and view bottles that are up for trade.

The final screen, the messenger, can utilize a messaging API – many of these can be tweaked to match your app’s branding and color schemes.

That’s all you need to design if your making a MVP. Next in line is…

Step 3: Coding a MVP

iOS apps are built using Swift, which uses the following components to create an app’s architecture:

View Controller – Think of this as the frame of a painting. The view controller, which is aptly named, controls what you see on the screen of your mobile device.

View – Within the view controller is the view. Think of this as the canvas of a painting – the view makes up the sum of all visual aspects of the app. Each screen of an app is a different view.

Subview – Subviews are the individual sections that collectively make up the view. Think of a subview as specific sections of a painting, such as how the subject matter is distinguishable from the background. More specifically, a subview would be the keyboard section of iMessage, or the section where text messages display.

Buttons – Buttons are… well, buttons. Within subviews, buttons are the interactive elements of apps. Think of the individual letters of the keyboard section of iMessage.

Images – Also within subviews, images are used to display specific pieces of visual information, and range from photos to logos and icons. An image can function as a button.

When it comes to coding, there really isn’t any difference between programing a MVP, versus programming a fully-fledged app. The shorter development time of a MVP comes from the smaller number of features to implement, which means less UI to build out, and less backend logic to program.

If you’re looking for tips on how to avoid costly mistakes, check out our blog on app development pitfalls.

Step 4: MVP testing

While one of the upsides of a MVP is your early adopters serving as your beta test, you still do need to test your app before you send it off to the App Store. This is especially true for iOS apps, as they face a rigorous review process before they are officially published on the App Store.

Not only will your app be rejected if it isn’t robust enough for Apple’s standards, a buggy app will only serve to weigh your growth efforts down. Users are more likely to abandon an app than stick with it.

Because of this, you must iron out the kinks of your app before it launches. For tips on conducting app testing, check out our blog on the topic.

Step 5: Publishing

After your app has been thoroughly tested, it’s time to send it off to Apple for review and approval.

In order to publish your app to the App Store, you must pay a annual fee of $99. If your app costs money to download, or goes by a subscription model, Apple will take 30% of each sale.

That’s really all there is to publishing your MVP app – the publishing process doesn’t differ depending on what type of app you’re making. All apps on the App Store go through the same review process.

Step 6: Launch

Launching a MVP is largely the same as launching an other app, but there is one very important factor to note.

Users will make snap decision based on the first impression of your app. Users do, however, make exceptions for small hiccups if they are made aware of the possibility up front. The nature of a MVP app isn’t to be perfect, but rather to provide the best current solution to an unaddressed, or under-addressed pain point in your user’s lives.

In your App Store listing (which we’ll cover in detail below), you’ll want to include a section that explains three things:

  1. You understand that your app isn’t perfect, but you’re working on making it better
  2. Users can directly contact you to provide criticism or make requests for features
  3. Users can expect regular updates

Remember – users are more likely to delete your app from their phone than they are to keep it. This is why communication is important with your users – but doubly so with a MVP. Your users need to know from the start what they are downloading. They’ll be understanding if you’re upfront and transparent about your app. They’ll ignore, or even worse, spread bad word-of-mouth about your app if they are kept in the dark about what you’re doing.

Step 7: ASO

There are two fronts to your app’s ASO – User acquisition, and user retention. These can then be broken down into sub-categories:

User acquisition:

  • Keywords
  • The app’s build and compatibility
  • The app’s page on the App Store

User retention:

  • User reviews and ratings
  • Time users spend engaging with your app
  • In-app purchases (if applicable)

For a MVP, when it comes to a keyword campaign, focus on one main keyword, and derive from there until you have 5 keywords to work with. To continue with our example of Brew Trader, we’d use:

  • Beer
  • Beer Trade
  • Beer Swap
  • Beer App
  • Beer Finder

There’s a lot more to planning out and implementing a successful ASO campaign. For more information, visit our ASO: 101 blog post.

Step 8: MVP post-launch

This is the most important step of a MVPs development, as your execution here will determine the trajectory of your app’s future.

Start with both keeping track of analytics, and engaging with your users. Use every channel available to you to engage with your users – social media, push notifications, and responding to user reviews in the App Store itself.

For more information about tracking your app’s analytics, visit our guide to measuring your app’s success with Kumulos.

Next, you’ll want to start updating your app. In order to do this, start from step one – ideation. This time, however, use the requests and criticism, as well as your findings from your analytics to direct where you should be investing your time.

What are the steps to creating an app?

Do you want to create an app, but have no idea where to start? That’s okay! It’s actually not that complicated, as long as you have a roadmap to guide you.

Naturally, just like any idea or business venture, the first step is:

Ideation

Whether your idea comes from inspiration from your daily life, or from finding a need due to market research, or even because your business needs an app; the strength of an idea isn’t based off of color schemes, names, or packing in trending feature sets to impress investors.

It’s all about how well your app helps solve the pain point your intended users face. It doesn’t matter what your app does, or what type of app it is – your app’s value will be judged by the solution it provides.

Gaming apps solve boredom, fitness apps help solve either lack of motivation or help keep track of goals, navigation apps help users find their way, banking apps help users answer the important questions like “Do I have enough money in my checking account for this coffee?”

You get the idea.

At this point, don’t sweat the small stuff – don’t even worry about what your app will look like. Only focus on the solution it can provide, and the most logical and practical way to facilitate that solution.

Market research

If you didn’t initially start with this step, you’ll want to do it now. You don’t even need a prototype of your app by this point – all that you need is your idea. Take that idea, and bring it to your target market. Talk with them about what they want. Go to networking events, conventions, local businesses, check out blogs, google “your idea + problems,” and most importantly, research your competition.

There’s 2 million apps on the App Store, and 2.6 million on Google Play – mathematically, it’s pretty likely someone has built an app that at least touches on the basis of your idea.

Your job isn’t to come up with an original idea – it’s coming up with the most optimal solution to that idea. If you’re worried about originality, don’t be – Homer’s The Iliad and The Odyssey covered every narrative trope imaginable – writers today just come up with ways to repackage those ideas.

Uber wasn’t an original idea – people had been flagging down taxis for a hundred years by the time Uber came along. When you boil Uber down to its core idea, all that it is is replacing a hand wave with an app – everything else is secondary. Instagram didn’t invent filters, it just made it easier to use filters to make your photos look better.

When you’re researching your competition, pay close attention to three things:

  • The UI/UX
  • The features it uses to solve the problem
  • The app’s ASO

Take from those three things the aspects you do like, and keep them. Replace what you don’t like with your own spin on things. Then, come up with how you can create a unique package for your branding. Remember – your idea, and even the features used to facilitate your idea, don’t need to be original. If you’re making an app that requires GPS and mapping, you’re inevitably going to implement location services during development – coding languages (and the methods for building app functionalities) were designed to be systematic and logical – not unique.

One more important aspect concerning market research – this is when you’ll want to decide what platform(s) you’ll use to build your app. Knowing which platform you’re building for will dictate every following step in the process of creating an app – and if you are building both an Android and iOS app version, you’ll need two dedicated development teams.

More about deciding which platform is best for your app:

Gather your resources

For you, this means finalizing your concept and your market research, and then finding a developer. Once you’ve settled on a developer, it’s their responsibility to determine your app’s feature set and the SDKs and APIs it utilizes to achieve your desired functionality.

Your feature set will be based upon user stories. User stories are detailed, step-by-step use cases of what a user will do during a session in your app in order to accomplish solving your pain point.

This is when it’s time to start planning out the design of your app. Some dev shops have their own UI/UX designers, some don’t. If they don’t you’ll need to do it yourself, or find a freelance designer.

App design usually begins with wireframes and color options (usually starting with the home screen and moving on from there), as well as planning out the UX of the main functionalities your app provides. Think of the inverted pyramid – start with the overarching themes, and slowly work your way down to the nitty gritty details. If your app has graphics, this is the step you’ll implement those – anything visual that your app requires should be complete before coding begins (if your app requires heavy backend infrastructure, start building that out as soon as possible).

For more information about proper app design, visit our blog on covering the topic.

From these designs, you can build out a prototype, which is actually much easier than you’d expect, via help from different prototyping applications:

Once you’ve signed off on a prototype, your development team can get down to actually building your app. A good developer will be able to take your plan and run with it from here – they’ll obviously check in to provide you with updates, and to make sure you’re happy with what they’re producing, but they won’t be asking you technical questions – that’s why you hired them, after all.

Testing

This is a step that begins after the first lines of code of your app are implemented, and after that, testing never ends. It might sound disheartening, but that’s the nature of the beast.

To efficiently test, lay out every step of your user stories (which you and your development team came up with in the previous step) in a spreadsheet, and identify the features that aren’t working properly. Take the time to make sure your app feels smooth and attentive to inputs as well. Users are likely to abandon slow apps in favor of faster ones.

Record every bug you discover while testing. Fix the issues, and test again. Repeat this step until testing is complete.

Then, it’s time for testing round two… beta testing!

Beta testing will open up your app to a small segment of the public – one that you, or a marketing agency (or your developer) will find. The purpose of a beta test is to increase the likelihood of catching bugs due to increased entropy. Beta testers, while not as detail oriented as a dedicated internal testing team, will use your app in the way they expect it to work – not the use case you have imagined. You’ll find out during this step if the two align, and iron out the kinks if they don’t.

Beta tests are important for another reason – it opens up your app to more devices and usage environments. Your app needs to work the same in a cornfield as it does on the subway. The text and font you used in your app may be legible in an office environment, but the sun’s glare might make it difficult to read. These are the kinds of details beta testing will pick up on, and improve upon.

For more information and tips about running a beta test, visit our blog covering the topic.

ASO

Before you launch your app, you’ll want to plan out your ASO. There are two fronts to your ASO campaign: user acquisition, and user retention, in that order. These can be broken down into sub-categories:

User acquisition:

  • Keywords
  • The app’s build and compatibility
  • The app’s actual page on the App Store (you can think of this as your app’s storefront)

User retention:

  • User reviews and ratings
  • Time users actually engage with the app
  • In-app purchases (if applicable)

Keywords are the bread-and-butter of any ASO campaign. The App Store’s search option functions in largely the same manner as a search engine like Google: users input a phrase or word, and the App Store displays apps based upon relevance and ranking.

Keywords are the foundation from which to build your ASO efforts, and effectively implementing them is crucial to your app’s success on the App Store. The most important steps you can take to ensure your keywords are working for you is to:

  1. Know your competition and
  2. Start with 2-3 keywords (as your campaign matures, consider utilizing up to five main keywords)

For more information about ASO, visit our blog on the topic. For more information about keyword research, check out our guide on the topic.

Launch

Congratulations! You’re almost there. The next steps are publishing your app, which will mean different things depending on what platform you want to release on. Both the App Store and Google Play have different approval processes and standards for apps to pass before they can be published, as well as publishing fees.

Apple has strict guidelines that must be met for your app to be approved – Android does not.

To publish an App on the App Store, you must pay a yearly fee of $99, and Apple takes 30% of profits from downloads (that 30% is only applied to paid app and in-app purchases). In order to publish to Google Play, you must pay a one-time fee of $25, and Android also takes 30% of profits from paid an in-app purchases.

Update

As soon as your app is launched, you’ll want to start analyzing your user data. In order to do this, you’ll need to find an analytics platform. This is a very detailed and intricate process, so for accessibility, we won’t include that information on this particular blog – but you can find all the information you need about measuring analytics here.

Based off of your analytics, user reviews, and user ratings, you’ll want to start coming up with ideas for how to enhance your app. From here, you’ll begin again at step one: ideation.

Improving inventory and supply chain management with an internal business app

Inventory management and supply chain management aren’t the flashiest of a company’s operations, nor do they seem like their efficiency could be improved by an app. But just as inventory and supply chain management are crucial to the success of a small, medium, or large business, so to are these core operations the perfect area for innovation – facilitated by an internal business app.

Ever had to search for a barcode scanner? Ever had to run off the floor to check inventory levels on a desktop computer? Is your team constantly playing catch-up at the end of the week to figure out just exactly how much of a product is left in your inventory?

An internal business app can solve these supply problems, and much more. Let’s go over how.

Common inventory management problems

What are the most common challenges inventory managers face in today’s market?

  1. Low product turnover
  2. Excess inventory
  3. Failure to keep track of stock
  4. Poor service levels
  5. Difficult identifying demand patterns
  6. Lack of visibility

Many of these challenges are amplified by the multi-channel marketplace, and the disruption of buying patterns and behaviors fueled by mobile shoppers. While these changes of scale and expected turn-around times can potentially dramatically increase a business’ profits, the rapid changes of today’s market can be difficult to keep up with, or even keep track of. It’s somewhat ironic that the mobile devices that brought about these changes are also the answer to the problems they created.

Shoppers are more efficient now than ever before – it’s time for the companies that supply the products to catch up. If a customer can see how many of a certain product remain in Amazon’s inventory, why can’t you?

You really don’t have to be Amazon to achieve that level of efficiency and inter-connectedness.

Low product turnover

Let’s face it – not everyone has the access to the amount of warehouse space that Amazon can brag about – which means warehouse space is a precious commodity, especially in a fast-paced, on-demand economy. If you’re not properly keeping track of demand, you run the risk of either running out of stock, or wasting space housing a product with little demand that could be used to hold a more popular product.

An internal business app can help here – by integrating your mobile app with your customer facing website and POS system, as well as your own internal database, every transaction is immediately tracked and reported on all of your systems. This gives multiple departments the ability to analyze customer purchasing trends more effectively and in real time – and when enhanced with analytical tracking capabilities, your system can warn you about poorly performing (or over-performing) products before they cause a speed bump in your operations.

Excess inventory

Ever order too much product? We don’t even have a warehouse, and we’re constantly dealing with the problem of finding space for all the extra water cooler refill jugs. It seems like we’re constantly bouncing between two extremes – either at the verge of an inter-office drought, or it’s monsoon season (albeit in the form of large bottle of water).

An internal app helps mitigate the risk of ordering too much product – analytics are very good at recognizing trends that wouldn’t normally be noticed. They can also even help warehouse managers find extra or unused space that could be used to store excess product.

Failure to keep track of stock

It may be a meme by this point, but modern problems do require modern solutions. With the growth of the on-demand economy, keeping track of stock with manual checks isn’t time efficient, nor as reliable as it needs to be to stay on top of fluctuating product demand.

This is a problem that’s compounded by the fact that many sales happen out in the field. Just because it’s called an internal business app doesn’t mean it’s limited to the four walls of your warehouse, showroom, or sales floor. Your sales people out connecting with and selling to clients can update your operations and inventory manager with sales they’ve made in real time.

Accounting errors add to costs – an internal app can cross-reference and compare numbers from all of your departments in real time, so when your crews are counting, you can be sure the numbers they come up with are correct.

Poor service levels

Every business knows customer satisfaction is the number one key to success, and failure to meet customers’ expectations will spell the doom of any company. Knowledge is power – and in this case, knowledgable employees means happy customers.

Internal business apps means everyone is on the same page – from your head of operations to your warehouse associates. Delivery and lead times vary depending on the product in question, and delays can lead to dissatisfied customers. An app helps optimize your inventory management operations so you don’t have to worry about a product showing up a day after it was scheduled to arrive.

Difficulty identifying demand patterns

Keeping track of demand can be made extremely difficult by continuously growing and morphing product portfolios. Product uncertainty is a very real problem these days, especially when some products have short lifecycles.

In order to stay on top of these ever-changing product portfolios, you need to use analytics tools. With an app, you can keep these tools in the warehouse rather than an office, therefore bringing more efficiency to your operations.

Lack of visibility

With a global market, accurate supply chain management is crucial to your success. An internal business app can help with that facet of your business’s operations as well. Let’s look into how.

Common supply chain management problems

Getting the right product to the right place at the right time is – to put it mildly – complicated.

Cost control

The most successful method for reducing operating costs is to make those operations more efficient. Shaving a second here or there can have a huge and lasting impact on your overall expenses.

We’ve used it as an example before, but it’s a well-used example for a reason: consider the decision of UPS to not make left turns; they invested in a software that mapped the United States (as well as most of the world), in order to nearly eradicate left turns from their parcel delivery truck routes. This decision ended up saving the company over 20 million gallons of fuel every year – those seconds it takes to make a left turn add up – and in the same manner as UPS, shaving off seconds from your warehouse operations can save your business a significant amount of capital.

When your entire team are receiving real time updates to incoming and outgoing product deliveries, and collectively can work together to achieve the same goal faster – they are no longer forced to carry a clipboard around to manually keep track of products.

With rising fuel, energy, and freight costs, compounded by a much larger International customer base, having a system that can plan efficient routes is essential to cutting expenditures.

Labor rates are also on the rise (which is a good thing!) – but that means every second spent keeping track of inventory is precious – and those seconds could be better utilized in other areas of the warehouse. With an internal business app, your employees have more time to do what they were hired to do, rather than keep track of shipments and product numbers.

Supplier and partner relationship management

Miscommunication can be a major roadblock to efficient operations. In order for your supply chain to effectively get a product from point A to point B to point C, everyone in every step of the process needs to adhere to mutually agreed standards of operations. This is especially important when assessing your operations in order to understand current performance levels, as well as finding room for improvement in your operations.

When every employee is in the know, and literally on the same page, this standard is simple to stick to. While this can be achieved through a mixture of communication methods, such as web portals, cloud storage, and email, having more than one form of communication results in wasted time and effort on everyone’s parts.

An internal app keeps all communication and analysis in the same place.

Finding talent

Like we stated at the beginning of this blog, inventory and supply chain management aren’t the flashiest of business operations. This is a big reason many employers find it hard to find and identify interested and qualified talent.

An internal app helps solve this issue via two different fronts: making the job more attractive, and lowering the acceptable knowledge threshold.

Any supply chain manager worth their salt needs an extensive understanding of every facet of your supply chain. With an internal inventory and supply chain management app, the burden of knowledge is reduced because it’s so much simpler to keep track of data – analytics can identify demand patterns before even seasoned supply chain managers would, and products are automatically tracked and updated throughout every system simultaneously.

This also helps to make positions more attractive. 70% of the workforce in the U.S. is disengaged – and one of the major reasons for this is lack of direction. An internal business app gives new employees the direction and knowledge they want, therefore increasing your employee retention and acquisition.

Apps aren’t just for consumers

We hope this blog gave you some ideas as to how an internal business app can improve your inventory and supply chain management. If so, keep an eye out for more ideas on how your business can improve its efficiency and bottom line with an internal business app!

How to build a mobile app: App lifecycle Management

App lifecycle management, which we’ll be referring to as ALM from now on, is the totality of managing the processes, systems, and people that make your app: market research, ideation, coding and design, testing, launch, analytics, and updating your app throughout its time on the App Store or Google Play.

Let’s explore ALM:

ALM

Step 1: Ideation

There’s two ways ideation can come about; from inspiration after being presented with a pain point in your own life, or from conducting market research which exposes a niche market with an unsolved pain point of their own. If it’s the former, make sure to conduct your own market research to determine just who exactly your niche is.

If you’re looking for ideas and methods for coming up with marketable apps, visit our blog on the topic.

Step 2: Requirements gathering

After solidifying your concept, you’ll want to develop out the requirements of your app – basically, what it does and how you want it to achieve those things. This covers everything from your app’s feature set to the SDKs and APIs it utilizes. Then, break those down sets and systems into individual, detailed tasks, so you and your PM can easily manage and track the progress of these tasks.

Your feature set will be based upon user stories. User stories are detailed, step-by-step use cases of what a user will do during a session in your app in order to accomplish solving your pain point.

You’ll also want to plan out which platform(s) your app will launch on, if you haven’t already. This should be partly influenced by your market research. Knowing which platform you’re building for will dictate every following step – and if you are building both an Android and iOS app version, you’ll need two dedicated development teams.

If you’re looking for more info about planning your app’s feature set, visit our blog covering the topic.

Step 3: Design

When you have a plan solidified for what your app will actually do, you can move onto design. Start with wireframes and color options on your home screen, and after settling on the right layout for your app, begin designing the other screens and how your users will actually interact with the functionality your app provides.

If your app has graphics, this is the step you’ll implement those – anything visual that your app requires should be complete before coding begins (if your app requires heavy backend infrastructure, start building that out as soon as possible). Make sure to build out a prototype so your software engineers have something to reference while they code.

For more information about proper app design methods, visit our blog covering the topic.

Step 4: Develop

This is where the actual coding begins. Your programmers should build the UI based on the prototype to ensure all of the requirements are met. Assign those requirements, incidents, and tasks to your team. For every incident that is completed, run tests to check for errors and vulnerabilities. After that iteration has passed a code review, add it on to your master branch.

For a lot more tips on avoiding development mistakes, visit our blog about common development pitfalls. For a guide covering iOS development, click here. For a guide on Android app development, click here.

Step 5: Testing

Create your test cases, which should be based on the user stories you came up with during step 2, requirements gathering. To efficiently test, lay out every step of your user stories in a spreadsheet, and identify the features that aren’t working properly. Take the time to make sure your app feels smooth and attentive to inputs as well. Users are likely to abandon slow apps in favor of faster ones.

Record every bug you discover while testing. Fix the issues, and test again. Repeat this step until testing is complete.

Step 6: Soft launch (quality assurance)

Sometimes referred to as a beta test, your soft launch will open up your app to a small segment of the public – one that you, or a marketing agency (or your developer) will find. They’ll use your app out in the field, so to speak. A soft launch can be thought of as the second step of testing, because it will inevitably uncover bugs and errors your first rounds of testing didn’t.

Optimally, you’ll have caught most of the bugs by this point, so your testers will have a high opinion about your app before it’s published (which gives you a significant boost to your app store rankings when they rate it after launch). They won’t be surprised, however, if they do find bugs – they understand that it’s a soft launch, after all.

You’ll bounce between steps five and six until all of your app’s bugs have been identified, fixed, and tested again. For more information and tips about running a beta test, visit our blog covering the topic.

Step 7: Deploy

Congratulations! It’s time to publish your app. Both the App Store and Google Play have different approval processes and standards for apps to pass before they can be published, as well as publishing fees.

If you’re looking for more information about the cost of publishing an app (and the other costs associated with development) visit our blog covering the topic. If you need help planning out your ASO campaign (which you should do before launch), visit our blog on the topic.

Step 8: Analytical review

Now it’s time to watch (and then react to) the data coming in. There are a lot of app analytics platforms, but we prefer Kumulos.

For a step-by-step, detailed guide to measuring your app’s success, visit our blog about measuring your app’s analytics.

For more information about coming up with ASO strategies, visit our blog on the topic.

Step 9: Enhancements

Based off of your analytics, it’s time to start updating your app with enhancements; enhancing your app’s UX by updating it’s design, security, and compatibility with other devices.

This is the step that glues the whole process together, and based upon the analytical data you’re receiving, you’ll ideate solutions for the aspects of your app that need to be enhanced.

The effects of not updating your app

Updating your app is the most important step you can take to ensure the time you spent developing your app (which in some cases can take years) doesn’t go to waste.

Updating your app is important for the following reasons:

App Trends

What’s cool is always changing, along with what’s possible. Updating how a feature looks or functions almost invariably results in a positive boost to your users’ experience using your app, which in turn leads to higher user retention, ratings, and reviews. Your update doesn’t always have to be centered around functionality either – sometimes it can be as simple as a background color change, which could be part of an A/B test you’re running.

Security

We all know there’s always someone looking for a vulnerability to exploit. Code that was once air-tight slowly loses it’s edge with time, and the longer your app goes without a security update, the more likely it is that someone with ill intentions will use that to their advantage.

This is an exceedingly important aspect to consider when updating your app. If a user is ever exposed to any security risk due to your app, they are virtually guaranteed to at least stop using your app, and are more likely to outright delete it from their device.

They’ll also be much more likely to give your app a bad review and rating, which can cause a huge dip in your conversion rates as your app plummets in its rankings on the App Store and Google Play. This can very quickly spiral into a downward trend that will be out of your control. Users who feel violated by your app will be sure to warn others about an app that is a security risk.

Bug Fixing

Even when you’ve tested your app throughly as outlined in the steps above, you’re bound to see bugs in your app over time. A major cause of these bugs popping up throughout the lifecycle of your app are due to new devices and updates to the OS your app runs on. As screen resolutions change, so to must your app – or at least, account for those changes.

In the same vein as security issues, bugs will also deter users from continuing to use your app. If you don’t care enough to update it, why should they care to use it?

Android development: What you need to know

Continuing from a previous installment of How to Build a Mobile App: The Ultimate Guide, we’re on to the next major player of the mobile market; Android!

If you own anything other than an iPhone, it most likely runs on the Android Platform. Mainly programmed using JAVA, Kotlin, and C++, Android boasted a global market share of 88% in 2018 (a growth of over 85% since 2009), and currently holds 36% of the US market. Just like our blog on iOS development, we’ll go over the information you need to know to make pragmatic decisions about Android development, and key terms to better communicate with developers.

Disclaimer: If you’re a developer or software engineer, there might not be any new information for you here. For a look into inventive strategies to boost your ASO, check out our featured piece on The Manifest.

If you’re a business owner, CTO, or marketing director, and you’re looking to hone your Android dev knowledge, or want to brush up on your developer jargon, you’ve come to the right place.

The Android platform has seen a meteoric rise in popularity since its inception – when Google Play first came on the scene in 2008 under the name “Android Market,” the platform was facing an uphill battle against tech giants Apple and Microsoft, who in 2009 both retained about 9% more market share than Android, which entered Q1 of 2009 with a market share of 1.6%, compared to the 88% it now holds globally.

Google Play now hosts over 2.6 million apps, and in 2016, Google Play announced users had downloaded over 65 billion apps in eight years.

The tools available to developers

Written using the programming languages JAVA, Kotlin, and C++ (among others), the Android Open Source Project (AOSP) is hosted on GitHub, and provides developers with access to 99 (and counting) open source repositories. A repository is like DropBox, but for code – it gives software developers remote access to different libraries of useful functionalities (which can also be called features). In the case of GitHub, these repositories are open and free to any member of the AOSP, but most developers will use their own private repositories as well.

A functionality is – in the simplest of terms – anything the app can accomplish. Does the app provide users with a map? That’s a feature. The map is GPS enabled? That’s another feature. The app provides users with next-step-directions in the form of push notifications when running in the background? That’s another feature.

If you’d like to learn more about feature sets and proper app ideation, check out our post on the topic.

Repositories are used to speed up the programming process by providing generic code structures that can be tweaked to fit an app’s specific branding and design.

A massive upside to Android development is its ease of access to software engineers – primarily due to JAVA acting as the flagship programming language when developing Android apps.

JAVA was first thought of in 1991, after all, and saw its first public release as JAVA 1.0 in 1996. As of 2016, it has been hailed as one of the most popular programming languages in use today, with 9 million developers reporting in, and is currently on its 11th version.

Kotlin, on the other hand, made its public debut in 2017, and is currently on version 1.3, which was released in October of 2018. Very new and relatively untested, Kotlin was designed to fully integrate with JAVA, and like JAVA, is an object-oriented language (meaning important information is stored in individual classes in the code itself), and seems to be a direct rebuttal to iOS’ Swift language. For an example of a class, check out our iOS development page.

With a new language emerging like Kotlin, it’s always fun to stay up to date on what’s coming down the pipeline; luckily, the Kotlin community makes it easy to stay in the loop.

Android developers, unlike those who work with iOS, have multiple compilers to choose from. A compiler is a program that software engineers use to write programs, and developers can choose from a number of compilers in which to write their code. For example, an Android developer could use Android Studio to write their code, or Intellij IDEA, or Eclipse (and many others).

The hierarchy of Android

There are four layers to the Android OS:

  1. Applications – This is where the native apps on your device, like your camera or text messenger, as well as any apps that have been download from Google Play, live in the OS. When an app is installed, it is stored in the aptly-named Application layer.
  2. Android Framework – This is layer that provides the tools developers use to make apps work – service functions live here: activity manager, package manager, NFC (near field communication) services, location services, windows manager, content providers, and view the system manager.
  3. Android Runtime – This is the layer that consists of the Android core libraries (the tools developers use to hook up JAVA with the Android OS), as well as the Dalvik Virtual Machine (DVM), a register-based virtual machine. For someone who speaks English, and not code, it’s basically a computer that lives in the OS itself, and ensures that the device the OS is on can run multiple instances simultaneously. Android Runtime is the foundation for the previous layer, Android Framework.
  4. Platform Libraries – Containing various C/C++ and JAVA libraries, this layer provides support for Android development. This layer contains functionalities like the media player, libraries for graphics, font support, and browser support – among many others (no one wants to read a list that long).
  5. Linux Kernel – This is the lizard brain of the Android OS. It manages drivers on the device, (think camera, audio, Bluetooth, memory), as well as memory management, power management, and other base-level management systems.

Those are the layers on the Android OS that provide the foundation, functions and space for your app to live and interact with. Now that we’ve got that out of the way, let’s move on to the building blocks of an Android app.

The building blocks of an Android App

There are five main components that make up an Android app:

  1. Activities
  2. Intents
  3. Services
  4. Broadcast receivers
  5. Content providers

Activities

Activities are how your users interact with your app. When a developer speaks about an activity in Android, they are usually referring to the multiple points of interaction on a single screen through the app’s UI (single screens in Android are referred to as view models, and they dictate the “box” that visual information fits into). Take, for instance, a device’s native phone app – there are separate activities to dial a number, view recent and missed calls, and voicemail. All of these activities are separate from each other, and are considered distinct activities unto themselves – but they all work together as a whole to help the user achieve their goal.

Activities in Android are designed to keep track of what the user is currently doing, the processes that keep track of the features users are engaging with, and “killing” the processes that are no longer necessary for the user at the moment.

When an activity is killed, its current state is saved, in case the user comes back to that activity. This ensures that memory is both freed up for current processes, but the processes in the background remain quickly accessible to the user.

Within activities are fragments, which can be thought of as sub-activities. Fragments can be interacted with just like an activity, but they are specialized – they give your app’s UI the ability to adapt to different device screen sizes, as well as the ability to produce a more dynamic layout. If you know HTML, it’s basically the same idea as building a responsive website.

Intents

Intents function as the messengers between the components that make apps work. They are used to take the necessary information from one component of an app to the next, in order for that component to do it’s job.

If that was a little confusing (which it is, I don’t blame you), think of them as an alarm clock. An alarm clock wakes you up and tells you what the current time is – the information you need in order to start acting to get out of bed and get on with your day. Intents “wake up” app components, and let them know it’s time to get out of bed.

The most important part of intents is making sure your code uses clear naming conventions – an intent needs to match with the names of components it needs to interact with, and if the names don’t match, it won’t be able to find the component it needs to deliver the message to.

For an example of naming conventions, let’s pretend there’s a turtle. The turtle sees a coyote. An intent is sent from TURTLE_CRAWL to TURTLE_HIDE. This changes the action the turtle is taking, just as an intent will change what action the app is taking in order to properly interact with the user.

There are two types of intents: implicit and explicit. Implicit intents are used to send information from one component of one app to another component of a separate app. Explicit intents are the direct opposite – and are used to take information from one component of an app and use it to invoke another component of that same app.

Services

Services are what keep the functions of apps running in the background, and are broken down into two categories: started services and bound services. A started service, for example, is used to run some sort of function in the background, until the user stops the function; this would be used to allow a user to listen to music from one app, while engaging another app at the same time.

A bound service is kind of like one app giving another app a helping hand – these basically tell the system to not kill the function the two apps are sharing, and as soon as the function has been completed, it can be killed.

Broadcast receivers

Broadcast receivers are aptly named, and serve as the proverbial loudspeaker for a device. Probably the most well-known (and dreaded) broadcast receiver is the “low battery” notification.

When a user downloads an app onto an Android device, the OS will assign that app a unique Linux user ID (Android’s foundation is a Linux kernel), and all apps run on a virtual machine (a simulated computer that exists as its own entity on the OS), so each app runs in an isolated environment from all other apps on the device.

This is called the principle of least privilege. This means that each app can only access the functionalities and data it needs to complete a task, and nothing more. This provides an extra layer of security, as apps are unable to share data with each other, and can only access the systems they need to work.

Broadcast receivers usually function with the help of the previously-mentioned intents.

Content providers

Just as the Android OS has libraries that help it function, so to does an individual app. The libraries, named content providers, house the information of that app, so other apps can access that information in order to function properly.

Think about how when someone texts you an address, you can click on that address to open it in Google Maps. In order for your map to display the address that was texted to you, your text messenger app stores that information in a content provider, which Google Maps can then access and display.

The manifest file

After you’ve made your app, all of the components of your app (activities, intents, services, broadcast receivers, and content providers) must be stored in what’s called the manifest file. The manifest file is the folder the Android OS searches through in order to find the components that make your app run. In short, for a device to know that an app component exists, that component must be stored in the manifest file.

Think of it as the roadmap the system uses to run an app – it tells the OS where to go and what to interact with. It also identifies permissions the user has set within the device, declares the hardware features an app needs to run, and the APIs it needs to be hooked up to.

Where to go from here?

The next steps to take are beta testing and then publishing, which comes with its own costs (a one time fee of $25 for Google Play) in addition to the other costs that can be expected while developing a mobile app.

We hope you’ve found this guide to Android development helpful! Below, you’ll find a glossary of commonly used words regarding app development.

Glossary of developer jargon:

  • Adaptive interface: An app that adapts to the available screen resolution. Essentially the same idea as a responsive web page.
  • API: An Application Programming Interface is a set of functions, classes, and protocols that define how pieces of software interact with each other. They facilitate code creation by providing tools and building blocks that help companies connect their software with another set of software, or even other companies’ code.
  • API calls: Sometimes referred to as an API request, an API call is essentially a piece of software in an app connecting to a server, and requesting a data transfer.
  • Back end development: This forms the logic and data structure of the app.
  • Back end integration: This allows an enterprise system to connect to an app – for example, connecting the database of a website to an app, in order for users to access the database through the app rather than the website. The information is hosted on the website’s server, but is still accessible through the app itself.
  • Front end: This is the layer of the app that users interact with.
  • Iterate: To perform a certain task or function repeatedly.
  • On demand app: These are apps that allow users to find, connect with, and book a professional service.
  • SDK: A Software Development Kit is a pre-made software tool that can be used for a variety of functions. Some SDKs help with analytics, others provide debugging and maintenance utilities, and a whole host of other functions.
  • Tokens: A token is a software based security tag that produces a single-use login password or PIN.
  • UI/UX: User Interface and User Experience are intrinsically tied to each other. UI is the layout and design of the front end of an app. UX is how the app flows, functions, and responds to the user’s inputs.

App development pitfalls

When you’re building an app, it’s much more important to know what not to do than it is to follow a step-by-step checklist that lays out the path to success.

There’s a good reason for this – every app’s path to success is different, and something that’s right for one app could be completely wrong for another. The number one rule to successful branding is to differentiate yourself, and apps are no different. If you’re doing the exact same thing as a competing app, there’s no reason for users to try out your own.

That’s why this blog isn’t going to focus on what to do, but rather what not to do when developing your app.

Development pitfalls

Here’s what you shouldn’t do when building your app:

Make on-boarding difficult

When a user opens up your app for the first time, you want to make a good impression. The home screen of your app should instantly display the value of the app to the user – this can be achieved through obvious symbology in your navigation bar, or a quick, quippy, and enticing sentence that sums up what the app does.

Always make on-boarding achievable in the least possible amount of steps – you want users interacting with your app’s actual features, not spending time setting up accounts. Speaking of accounts…

No alternate options for logging in

If your app requires users to sign in, give them multiple options to do so. Some users will prefer to sign in through a social account, as it’s usually quicker than setting up a native account through the app.

Other users, however, prefer to set up a native account through your app, for many different reasons – some of those being security-minded users that don’t want your app to access their social data, or users who don’t have social media accounts.

Those who sign in with social media and those who don’t are both significant groups, so you want to make sure everyone has access to the option they prefer. Also, make sure you have enough social media options to link to.

Asking for payment info too soon

If your app requires access to a bank account, credit card, or online payment service like Stripe, don’t ask your users to input that info immediately after opening your app. Only request this info right before a payment must be processed. If you give users a chance to navigate through your app and figure out its value and the services it offers before asking for personal payment information, they’re much more likely to stick with your app.

For more info about asking for payment info and the effects it has on user retention, check out our blog on the topic.

Not conducting market research

Remember: just because you like your idea, it doesn’t mean everyone else will. Just like any product, apps must be based on market research – if there’s no one interested in your app, there’s no market to grow into.

More specifically about market research…

Not finding a niche

Like we stated above, the number one rule to branding is to differentiate, and it’s no different for apps. To quote Marty Neumeier’s Brand Gap, “when they zig, you zag.”

Conducting market research to determine what type of app people would be interested in isn’t enough – plenty of people are interested in ridesharing – but there’s already plenty of apps that have saturated this market. Think about how Spotify differentiated itself from Pandora – it’s a music streaming service, but while Pandora brings the music to you based on one band, with Spotify, (at least originally) you find the music you want to listen to.

These differences in design appeal to different audiences, which is exactly what you want to do. Lyft didn’t try to take away satisfied Uber customers, they researched the segments of users that were dissatisfied with Uber’s service, and then found out what they wanted. Then they did that.

Find a niche, and cater your app to their needs and wants.

Copying competition

As Nick Jones, NS804 CEO says, “Do your one thing and do it well.”

While it’s extremely important to keep track of what your competition is up to and how they’re doing it, it’s so you can take what works and then mold it to your own brand. If you’re outright copying, users will notice, and they’ll ask themselves “why don’t I just use the original app?”

Know what your competition is doing so you can capitalize on their good ideas and then head in your own direction. Stick to your tribe.

Trying to accomplish everything

To reiterate the point from above – it’s always better to do one thing well than it is to do multiple things mediocrely. Find your niche’s pain point, and then focus on solving that, and nothing else. Figure out ways to streamline the solution you provide. Every feature your app utilizes should in some way provide a benefit to solving your niche’s pain point.

By allowing your app’s scope to creep past your original idea, you can spell the doom of your business – for each feature you add, you add to both your time and cost invested into your app. When first starting out, provide the minimum amount possible to truly solve your niche’s pain point, and nothing else. Once your app is gaining traction, then you can go back to the drawing board and figure out what to add (but make sure the features you add still revolve around the main purpose of your app.)

For more tips on avoiding scope creep, check out our blog on the topic.

Not considering the use case

It’s easy to say “I want to make an app that helps connect people,” but what’s difficult to imagine is the way they will actually use it. When you have a vision or a brainchild, it’s not only difficult to throughly communicate your idea to other people, it’s also challenging for them to use it exactly the way you imagined they would. Everyone’s a little different, and because of this, use things in different ways.

There’s a few things you can ask yourself to help figure out what your app’s use case will be:

  1. When will the user open the app?
  2. Where will the user be when engaging with the app?
  3. What solution will they expect?
  4. How much time will it take to complete a session in the app?
  5. What problems will they run into while using the app?
  6. What corners will they try to cut while engaging with the app?

The more specific and narrow you can get with these questions, the better. Figuring out the answers to these questions can be achieved by through testing.

Multi-platform launch

If you’re making a hybrid or progressive web app (which we don’t recommend), this won’t really matter – but if you’re investing the time and money into native development (which is the more substantial option for long-term app growth), it’s much better to focus on one platform. This is for a few reasons:

  1. Android and iOS apps are built using different coding languages
  2. Each platform requires its own dev team, as well as its own round of beta testing
  3. For every platform you release your app on, you increase your post-launch costs
  4. Each native app requires significant time to build

Choose one platform to focus on in the beginning – once you have a substantial user base, and have a steady stream of income, then think about venturing to the other platform.

Not considering different markets on different platforms

This is another reason natively-developed apps are better than hybrid – Android and iOS users expect and interact with apps in different ways. From style guides to user culture, Android and iOS apps are very different in their methodology and feel. The market research findings you make about iOS users will most likely be different than the insights you make when speaking with Android users – even when your app ultimately functions the same on both.

If you’re having trouble figuring out what platform would be best for your app to launch on, check out our blog about deciding which is best for you.

Insufficient beta testing

While testing adds more time and cost to your initial development cycle, it ultimately saves you time, money, and headaches in the long run. Testing should be conducted continuously throughout your development cycle – test your app after every new build and iteration.

Users are fickle and will abandon an app for almost any reason – you don’t want to end up dealing with low user retention because you skipped this important step.

For more information about conducting beta testing on your app, check out our blog about it.

Ignoring A/B testing

Yup, there’s more testing you should be doing! If you’re unfamiliar with what A/B testing means, it refers to switching out one piece of data with another to see how it performs with users. For example, what happens if you switch the color of interactive buttons from blue to green? What if you switch the icon of your app in the app store to a different one?

To successfully conduct a round of A/B testing, you need to have a firm grasp of your analytics both before and after the change – then compare the two values to figure out which version is more effective.

Speaking of…

Not checking analytics

There’s nothing glamorous about analyzing data, but if you’re not, it’s like driving a car, down a mountain, with no brakes all while blindfolded.

That might seem like a bit of a hyperbole, but analytics is more than your conversion rate – platforms like Kumulos provide information about errors and crashing, what types of devices and platforms users are accessing your app from, what time of day they’re engaging with your app, and even what country or state they live in.

Knowing how your app is functioning among it’s niche is crucial and necessary to its continued growth and retention.

Putting user acquisition over user retention

It’s easy to get excited over your download rate – after all, if users aren’t downloading your app, how will they interact with it? While acquisition is incredibly important, retention is even more so. It’s the same rule as in sales: it’s always cheaper to retain a client than it is to find a new one.

Your efforts should always focus on keeping your returning users happy – if they’re happy, they’ll provide your app with positive reviews and scores, which will boost its rank on the app store, which in turn will lead to a higher conversion rate. Remember – word of mouth is the most powerful and effective marketing tool.

When you make your current users happy, they’ll do your marketing for you.

Not interacting/engaging/updating

There’s nothing creepier than a ghost town, and your users will notice if your app becomes one. Regularly update your app – this shows your users that you care about their experience with you app, and it also serves as a reminder that your app exists, and there’s something new to check out.

If a user leaves a review, respond. People like being heard. Use push notifications and proximity marketing to add different channels of user engagement to your app’s repertoire.

No post development plan

App lifecycle management is crucial to your app’s growth and success. To properly manage your app’s lifecycle, you need to focus on:

  • Keeping track of your competition
  • Providing major updates to UI and security
  • Offering additional solutions through your app
  • Adapting to current trends

When it comes to anything that works on code, development is never truly over. For your app to stay relevant, you need to show your users you’re ready to adapt to our ever-changing world. Those who stay still get left behind.

Expecting immediate ROI

Your app won’t immediately start making money after it’s published to the app store. Plan in advance for this – the first phase after launch is implementing your ASO campaign. It’s when users are engaging with your app that you’ll begin to see a profit, and no earlier.

Not considering hidden costs

Remember – publishing to the App Store and Google Play requires a publisher’s fee. The App Store’s fee recurs annually, and Google Play’s is a one time deal.

Hosting the backend of your app will have recurring costs (usually monthly) and your analytics platform will also be a recurring cost (usually monthly as well).

For more information about the hidden costs of developing an app, check out our blog on the topic.

Follow your own path

We hope you’ve found this list of what not to be helpful. But always remember one thing – if it works for your app, it works. Don’t worry about fitting the mold – be different, and be daring.

How to build a mobile app: App design

What makes a well-designed app? Is it the colors? The layout? The icons? The flow?

It’s simultaneously none and all of these things combined – and a whole lot more. In this addition to How to Build a Mobile App: The Ultimate Guide, we’re going to go through – step-by-step – how to properly design an app from the ground up.

Step 1: Find the problem

This might be the hundredth time we’ve stated it in our blog, but knowing your users’ pain point will drive every facet of your app’s development – from the logic in the backend to your color scheme and logo.

This is the most important step to take, as it will dictate everything your app does. When searching for a pain point, ask yourself the following questions:

  • Is this problem specific to my niche?
  • What solution does my niche expect?
  • What steps do they need to take in order to solve the problem?
  • Where does my app fit in those steps?

For example, let’s pretend you want to make an app for gardeners. Great! Now, what niche of gardeners are you attempting to connect with? Gardeners is much too broad of an audience. What about community gardens? Those are pretty big right now. Still too broad. Okay, how about community garden managers? Now there’s an idea.

What kinds of problems do community garden managers face? Are community gardens often managed by one individual, or a team? Is that team made of employees or volunteers?

Narrow your scope as much as you can, and know as much as you can about your audience. Go to a community garden. Get your hands dirty. Figure out what it’s all about, and put yourself in the shoes of a community garden manager. Then, figure out how to make their life easier.

Step 2: Know the problem – and the steps to solve it

Let’s continue to pretend you’re making an app for community garden managers, and the problem you’re planning to solve isn’t (after your extensive research) necessarily gardening related, but rather gardening adjacent. You found that two big issues community food gardens strive to solve are food waste and food deserts – community gardens tend to reach out to, well, the community, in an effort to get them eating healthier, fresher, and more local produce.

The community garden you’ve reached out to specifically wants to have a system put in place that keeps track of their food production, and how much of the food produced is wasted – but their group of volunteers doesn’t have the time to reach out to fifteen, thirty, or one hundred people every week.

So, your plan is to make an app that gives the community garden manager the tools they need to keep track of food production and food waste. But how do you go about doing that?

They have a limited budget, and since they’re volunteers, limited time. Because of this, they need a system that gives them the necessary data to effectively run the garden in the shortest amount of time possible. This is also a two step process – the community garden manager needs to know what’s happening in their garden, as well as what’s happening at their members’ dining room tables.

Your app needs to allow the community manager to collect data from remote locations – the community garden members’ kitchens, as well as the garden itself. So, you now know this app will be designed with two types of users in mind:

  1. The community manager keeping track of the different plots in the garden
  2. and the members who self report on their food consumption

Notice that both of these categories of users are organized by the role they play in solving the main paint point – secondary pain points are solved (like how to share and analyze data remotely) in the process of solving the main pain point – giving the manager the tools they need to adapt with members’ tastes, and grow more food that will actually be eaten.

Everyone’s brains work differently, so we won’t tell you to specifically sketch out your ideas, make wireframes, or write a list of steps users would take. Do whatever works for you – but it’s necessary for you to know the expected steps the people using your app will take. These are called your use case scenarios, or user stories.

So let’s map out the main use case scenario for this app. From now on, for brevity’s sake, we’ll call this app “Growr”:

  1. The community garden manager adds in the current produce to a selectable list on Growr
  2. A community garden member selects the types (and amounts) of produce they brought home from the garden from that list
  3. The member then reports on the types and amounts of produce they actually ate
  4. The data is sent to the community garden manager, who then uses that data to optimize the amounts and types of food grown in the garden

Step 3 – Build your brand

Whether you’re doing it DIY or by partnering with a dev shop, this is the time to figure out what your app is going to look like. By this point, you know the audience you’re trying to connect with, the problem they face, and the steps your app will take to help them solve that problem.

An app’s brand is determined by your audience, and measured by how well it solves their problem – not by its icon in the App Store. But, it doesn’t hurt to make your solution look pretty. This is where you’ll figure out Growr’s color palette, fonts, logo, and icons.

After you’ve created these individual elements that comprise your visual brand, and with a map of your use case scenarios, you can start to layout your app. This is a step in the process where we will advise the use of wireframes – this is to help you get a feel for the flow of your app, and save both time and money.

The next step is to add in all the individual elements you made previously (like the logo, and button styles), and fill in the wireframe layouts with final versions. When that’s done, it’s time to move on to the prototyping phase.

Step 4 – Make it work

You don’t need to know Swift or JAVA – there are plenty of prototyping apps available to use. Before we begin coding, our lead designer will create a prototype of the app in InVision, and we’ll all sit down in our conference room to test the build against the pain point. We get the whole company together for these meetings – the more eyes on your prototype the better.

Doing this will allow you to iron out any bumps in your app’s flow, UX, and design all before writing a single line of code. It will also give you an idea of what your app will really look like when it’s complete – it’s the difference between looking at a photo and watching a video – prototyping your app, while adding another step into the design process, will always give you more information that screenshots of your app’s layout.

After this, your design phase is complete! It’s on to coding for you!

Some other prototyping tools you can use:

Platforms, themes, and user expectations

Major decisions about your app’s design will be made by which platform you build your app for – either Android or iOS. Both have different style guidelines, as well as over-arching layout themes. Android and iOS users expect the same functionality to be interacted with in very different ways; Android users, for instance, will look for a “hamburger” style navigation menu, while iOS users will look for a bottom navigation bar.

Android design principles

Create. Unify. Customize. These are the ideals of Android, and specifically, Material design. Material design focuses on typography, grids, space, scale, color, and imagery, and a meaningful, focused hierarchy that immerses users in the UX of the app.

Click here for the full list of Android core design principles.

iOS design principles

Clarity. Deference. Depth. These are the themes that separate iOS from other platforms. Some other words that pop up a lot in Apple’s iOS design guide are understand, familiar, subtle, and functionality. iOS guidelines dictate apps with an esthetic that fits the brand of the app, consistency of theme with iOS as a whole, and fluid manipulation and feedback.

Click here for the iOS style guide.

General app design principles

Whether it’s print, web, or mobile, good design is more than making something look pretty – design is understanding both the project and the problem – and knowing how to present that information in a pleasing way.

An important thing to keep in mind when designing your app is that any interaction should provide a user with some sort of feedback. Think of the difference between a website that features scrolling parallax versus one that doesn’t. Which one feels like the better, more responsive UX?

Smartphones are much more intimate than a desktop – they spend most of their time right next to us – and because of this, we expect our inputs when using them to have a sort of visual conversation with us.

You want your app to feel like it belongs on the users device, and for iOS and Android users, this will mean different things. While Android apps tend to be more customized than iOS apps, both feature libraries of visual elements available to all UI/UX designers. Don’t be afraid to use these – in fact, Apple encourages it. Your app should feel as native to the user as their native texting app.

This is why we believe native development is always the best choice in the long run – even if that means increasing the time and money spent in the development stage. While building multiple apps for different platforms can be more expensive in the beginning, having two native apps that perform better with users than a single hybrid app is a more sustainable and scalable business model. For more reasons why we believe native is the better choice, visit our blog on the topic.

Another thing to consider is not only the hierarchal flow of your app, but the visual flow as well. For example, when an iOS user sees a screen come in from the bottom of their device (known as a presentation), they intuitively expect a step that must be completed before moving back to the previous screen. If a screen comes in from the side (known as a push), they intuitively know they’ve moved on to the next step.

It’s choices like this that may be small on their own, but the summation of their parts as a whole create a consistent visual language and flow throughout your app – which is one of the main hallmarks of good design.

Nitpick the details

Details matter – an app should never have to come with a set of instructions in order for a user to know how to properly interact with it. It’s the small details that will provide your users with the hints and visual cues they need to navigate your app.

Subtly is key to mobile app design. Something as simple as a highlighted or muted color can imply a button’s functionality – if a button is a bright color, your users will expect it to accomplish something. If a button is a muted color, like grey, they will intuitively expect it to perform an action analog to a canceling function.

There’s a balance to these fine details, however. Keep your design as simple as possible – if the people you present your prototype to can’t figure out how to navigate your app in a few minutes (or ideally, 30 seconds), it’s time to go back to the drawing board and figure out how you can simplify things.

Understand the problem

That’s the most important part of mobile app design. It doesn’t matter if you’re not a designer yourself – knowing what your app needs to accomplish will dictate everything about it. It’s a quote I’ve used before, but I feel Frank Lloyd Wright’s words fit perfectly in reference to mobile design:

Form follows function – that has been misunderstood. Form and function should be one, joined in a spiritual union.