All about beta testing: When, why, and how

There’s no harsher reality than facing criticism about something you call your own, especially after investing time and resources into your brainchild. This is, however, a crucial step to the success of any business venture, and doubly so when it comes to the app development cycle – and by facing the music before launch, you can jumpstart your app on its path to success.

Marketing companies use focus groups, manufacturers meet standards with quality assurance, and software developers rely on beta testing.

What is beta testing?

There comes a time in every app’s cycle of development where it’s mostly put together, and it’s ready to test its wings. Before its inaugural flight, however, it’s a smart move to have a dress rehearsal in order to identify bugs. This is the purpose of a beta test; it’s a limited release of your app (as its most current, nearly-complete version) among a select audience, with the expectation of receiving constructive criticism about your app from that audience.

It’s an integral but over-looked facet of software development, and while this does add another step to the app development cycle, it ultimately reduces cost, cuts time spent debugging, and serves as a testing ground for future user acquisition and retention strategies.

Below, you’ll find a bunch of reasons detailing why beta testing is important, what you need to know in order to successfully run a beta test, and who to include in your app’s beta test.

Improve your app’s quality

Most developers have their own app testers, and software engineers and project managers will also test builds after every sprint, but there is one major issue when it comes to a dev team testing their own app: they know the ins and outs of the build, the exact specifications of the app’s intended use, and every aspect of the app’s flow. While it’s important to have the team test their own work, it’s virtually essential to bring in outside perspectives in order to catch every snag and bug.

Different testing environments: When you open your app to beta testing, you gain access to a wide variety of devices and usage environments through which to test your app. This is important because your app might not work or display the same way on a Galaxy when compared to a Pixel, just like how a website can look different depending on what browser you’re viewing it in. The actual environment a user is in can also affect the functionality of an app – especially if it requires a wi-fi connection. Your app must work the same everywhere, regardless if the user is in a sub way or a corn field.

Bug detection: The more people that are involved in testing, the greater a chance of a bug being caught. This is because the user base involved in the beta test won’t follow intended user paths as readily as your own dev team, due to lacking the familiarity your team has with the app from actually building it. Its like the difference between an artist explaining their work, versus someone else describing how it makes them feel – while the artist might have a more intimate connection to their piece, what really matters is how their audience feels about it.

There’s something to be said about making something yourself, whether it be a meal or piece of art. There’s nothing like coming up with an idea and executing it from inception to completion, all on your own.

A lot of developers will pay to have a dedicated tester for this very reason, and launching a beta test of your app is essentially adding hundreds (sometimes even thousands) of testers for free.

Improve user friendliness: Not everyone thinks the same way – and that’s a good thing when it comes to beta testing. By bringing in extra pairs of eyes into the testing of your app, you get a clearer picture about how your users will actually interact with your app. Steps in your apps flow might have seemed clear to your development team, but might not be to your beta test users, and it’s always better to rework your app’s flow before its true launch. Users are naturally more forgiving during beta tests than they are with finished products, so they are more likely to give feedback when confused, rather than just abandoning your app for another.

App performance (tech stack): During your beta test, you can analyze different aspects of your app’s performance, the first being the technical side of your app. By looking through multiple user scenarios, you can see what functionalities are used, and which are ignored. If possible, either take these ignored features out of your app entirely, or reduce them to the aspects that are actually being used. Reducing the overall size of your app is important, as 25% of smartphone users have deleted an app from their device solely to free up storage space.

You can also test for crashes and other app-breaking bugs, another big detractor from your app’s user retention.

App performance (user behavior): The second aspect of app performance you can analyze is your app’s user behavior. Despite mapping out the obvious aspects, like user flow within your app, you can analyze other trends, such as the daily, weekly, and monthly patterns of user retention. By figuring out the rate of engagement within your app, you can set a schedule of push notifications, and try it out, all during the beta testing. This will take away some of the burden of creating your ASO campaign.

Reduce cost

It might seem a little backwards, but adding in the extra step and taking the extra hours to conduct beta testing actually reduces the overall cost of making an app. This is for two main reasons:

  1. Speeds up the publishing and app launch process
  2. Reduces overall testing time

Both the App Store and Google Play have rules for publishing your app, and the App Store has an actual app review process. If your app doesn’t meet certain guidelines, it will be denied, and you’ll have to go through the process all over again, which delays your app’s launch, therefore increasing the chances of a competing app getting to market before yours does.

Beta testing also reduces your time spent testing your app – this is because you iron out all the kinks in one fell swoop – rather than testing being staggered and dispersed over the course of weeks, or sometimes even months. When you have your entire team (as well as a dedicated user base) focused on the testing of your app, you can dedicate more resources and developers to identifying and fixing issues before launch – rather than launching first, and then attempting to fix issues that are hurting your app’s reputation, all while working on the development of another app.

Increase your potential for growth

Beta testing can increase your app’s growth potential in two ways:

  1. Word of mouth advertising
  2. Boosting your app’s ASO by building a dedicated user base before its actual launch

When users are included in a beta test, it makes them feel special – it is exclusive, early access to the app, after all. Early adopters tend to be more engaged with apps than regular users, and are more likely to view your app favorably, as they will witness the app grow to accommodate their criticisms. If you listen carefully, and implement changes based off of your beta testers’ feedback, they’ll form a strong bond with your app, and are much more likely to advocate your app to their friends than if they found it naturally. Beta testers will sometimes tell their friends about a new app they get to use before everyone else, instilling feelings of envy among potential users. When your app is actually published, those users will immediately jump on board.

A huge portion of your app’s ranking on the App Store and Google Play is determined by user ratings and reviews. While users can’t review or rate your app during its beta testing phase, they’ll be ready to review and rate it on day one of its actual release. Rather than slowly building up ratings and reviews after launch, you’ll have multiple from the beginning, giving you an extra boost, and helping to differentiate your app from competitors. New users are much more likely to download an app if it already has ratings and reviews, giving you another leg up on increasing your user acquisition – which increases your app’s rank, and provides the foundation for an upward trend of growth.

You can also pay attention to the language beta testers use, and implement popular phrases or words as keywords for your ASO campaign.

Who you need

It’s important to include the right people in your beta test – you’ll want a mix of users who are well-versed with your app and those who are new to it, as well as technically proficient users, and not-so-technically savvy users. The most important audience to include, however, is the community you intend to engage the most with.

From your own development team, you’ll want to include:

  • Product managers
  • Sales staff
  • UX/UI designers (preferably those who haven’t worked on you app)
  • Quality managers
  • The developer’s dedicated app tester(s)

Externally, you’ll want to find:

  • Early adopters
  • The community your app is intended to engage with

Social media is a fantastic way to find (and engage) your app’s intended audience. Reddit is, perhaps, the best place to find your tribe, however. Say, for example, you want to run a beta test for AnswersNow, an app that connects autism experts with caretakers, and helps the caretakers provide better care by answering their questions in real-time.

By going to Reddit and searching “autism,” you can find r/autism, a ten-year-old community with a user base of over 40,000 subscribers. When you directly engage with a community like this, you’ll usually find more people signing up for your beta test than you have spots to fill, and the community will be especially forthcoming if you’re giving them early access to an app that provides a solution to a pain point in their daily lives like AnswersNow does.

When to beta test

There’s definitely a right and wrong time to beta test. Too early, and your testers will abandon your app due to lack of functionality. Too late, and there’s hardly any benefit to the actual testing – the more complete an app is, the more difficult it is to implement changes to its code, UI, and UX.

You’ll want to implement your beta testing when your app has enough functionality to test 90% of scenarios from start to completion. For example, if you’re running the beta test for AnswersNow, you’ll definitely want to make sure the chat functionality of your app works, as that’s the backbone of the app. Quality of life features and elements like graphic icons don’t necessarily have to be there yet – but your app should at least have a logo. Think about a dress rehearsal versus an actual play; during the dress rehearsal, costumes aren’t used, and every actor knows their lines, but they can always ask for help if they forget. During the actual play, everyone is dressed up and 100% ready to go.

How to build a mobile app: Build cycles

Every business has a process, just like every recipe has a set order of steps – and, just like a recipe, if a business’ process is out of order or incomplete, the final product can end up tasting pretty bad.

Developing a mobile app is no different – missing (or incorrectly implementing) a single step of development can throw a wrench in the process, causing days or sometimes even weeks of delays and re-structuring code.

Every developer has their own tweaks and differences in their development process, but the overarching steps are generally universal in their order. You wouldn’t bake a cake and then put in the flour, after all.

The mobile development cycle

  1. Research
  2. Design
  3. Prototype
  4. Determine feasibility
  5. Program
  6. Test
  7. Publish
  8. ASO & app marketing

These steps, while ultimately implemented in this order, do share some give and take, especially between steps 5 and 6; a dev team will program and then test – and after finding bugs, may return to any point of the process depending on the problem that was discovered.

This method of coding, testing, and then coding again is what’s called agile development. Dev teams that work within an agile development cycle work in sprints – coders will build a feature or feature set usually over a period of one to two weeks (we like to work in one week sprints to really take advantage of agile’s full potential), test the build, debug, and then implement their current branch into the master branch of code.

But, before we get more into steps five and six, let’s talk about step one…


This is possibly the most important step of any business venture – without properly researching your target market, audience, and the competition you will face, there’s no foundation to build a solid structure upon. The story about the three little piggies? Yeah, it’s like that – but it’s your money being blown away, not straw. As we’ve gone over before, there are a few questions to ask that can help guide your research:

  • What do I want my app to accomplish?
  • What platform(s) do I want my app to be on?
  • What is my competition?
  • What is my time table?
  • What is my budget?

Some of these questions will lead the direction of your research, and others will be answered by your research. For instance, your findings about your target audience will dictate what platform(s) you will publish your app on, while knowing what you want your app to accomplish will determine the target audience you will want to tap into. If you want to build a productivity app, for example, your target audience will mostly be persons over the age of 25, while a mobile game might go after a target audience in their teens.

Other times, finding an untapped market might dictate what you want your app to accomplish – there’s a lot of research methodologies out there – but no matter what, every step you take should be to figure out the best way to solve your intended audience’s pain point.

What’s a pain point? Let’s pretend our target audience is… squirrels. Yeah, squirrels. You’ve seen a lot of the furry critters complaining on social media about always losing the acorns they’ve buried, and you’ve decided your going to build an app that helps them keep track of their acorn haul.

The pain point is squirrels are constantly losing acorns – your app, and everything it does, is intended to solve it.



Good design is the blending of both form and function to create a simultaneously visually pleasing and useful tool that provides the functions necessary to solving your users’ pain point.

In other words, don’t just make something that’s pretty – make it work for your users. A good way to go about getting into your users’ heads is to come up with user stories; a helpful tool for figuring out what design choices you should make, and how the functions of your app will flow together.

For example, our squirrel-based acorn finder app (which from now on will be referred to as Nutsapp) should have a pretty simple design, as it really only needs to accomplish a few functions to solve the squirrels’ pain point:

  1. Provide users with a map of the surrounding area using GPS
  2. Allow users to place geotags where they’ve buried acorns using location services
  3. Store the geotags in searchable lists – e.g. “acorns by proximity” or “acorns by date buried”

So, we have our user story; a squirrel buries an acorn, opens Nutsapp, places a geotag on their map, and eventually, searches a list to find it again. Based on that, we can create wireframes to determine how the information will be displayed on the squirrel’s mobile device, and based on those wireframes, we can build the UI of the app itself in a program like Sketch.

Then it’s on to the next step…


During this next phase of development, the designer of Nutsapp would build the prototype in a program like Invision. This is where UX is the main focus – prototyping is used to determine whether or not a design makes sense when actually used to solve the pain point of an app.

The development team should always keep in mind use case scenarios during this step – if the app’s flow doesn’t make sense, it’s time to go back to the design phase.

There’s a lot of back and forth between prototyping and design – and that’s a good thing. This is the first step that designers and programmers work with each other, and together, they can determine the next step of the development phase.


Once the programmers for Nutsapp have looked at the prototype, they can then determine the feasibility of its functionality. The programmers will look into whether the necessary back end integration is achievable or not, and determine what APIs will be used to provide users with the functions Nutsapp needs to work.

If a part of Nutsapp’s design isn’t feasible, the programmers will usually work with the designer to figure out a good way to achieve the necessary UX and functionality while still working within the realm of what’s possible to code.



Speaking of code, this is where the magic happens. Programmers will take the designed UI/UX and build based on the prototype provided (which is why it’s so important to nail down look, feel, and feasibility of the prototype before moving to this step).

Usually, devs will:

  1. Build the UI
  2. Connect the UI to the code that makes it actually function
  3. Define the data model (the structure of information in the app)

If the dev team is working within the agile method, after each sprint, the team would meet up, discuss their progress, test the functionality, and determine the goal of the next sprint based on the findings of the testing. This cycle is repeated until the app is completely built.


While Nutsapp’s dev team has been testing after each sprint, after the app has been fully coded, it’s time to move on to beta testing. This is an important step, because it gives you the chance to see how someone who has no knowledge of the inner workings of Nutsapp interacts with and navigates the functions within the app.

It might feel a little disheartening, but do your best to try to break your app. Push every button you can faster than a squirrel normally would, attempt to complete steps out of order, and see what happens when information is input incorrectly.

When you find bugs – and most likely, you will – go back to the programming phase, and fix them. It’s always better to find and fix bugs before launch, even if this delays the launch of your app. Squirrels, just like users, are skittish, and any hiccup in the UX of an app can cause your target audience to abandon your service.


After (throughly) testing and de-bugging your app, it’s time to move on to publishing. Both the App Store and Google Play have different publishing rules, and if you’re searching for a quick rundown, look no further than our How much does it cost to make an app? blog.

ASO & app marketing

We’ve gone over ASO and app marketing before (multiple times, in fact), so if you want to go over both the basics and the nitty gritty, visit all three of those blogs.

Your ASO and app marketing campaign are mostly based off of your findings from the first step of the development process – research, and as such, your ASO and marketing campaign should be developed over the course of the entire process. The reason we’ve listed this step last is because ASO and app marketing never end.

Your competition is constantly changing, along with the needs of your users and the trends they expect to be followed. A few ASO rules to always follow are:

  • Update your app frequently, but not unnecessarily
  • Use A/B testing on your app’s page on the App Store (or Google Play) to determine what works best to capture your audience’s attention
  • Keywords, keywords, keywords – look at what keywords your competitors are using, see what you can do to beat them, and figure out keywords they aren’t using to their full advantage to capture an untapped segment of potential users

Your ASO and app marketing efforts should work in tandem – people generally use the search feature of both the App Store and search engines like Google in the same way. If a squirrel is searching for “acorn finder” in Google, they’re most likely going to search for the same thing on the App Store.

Some sections of your app’s page on the App Store don’t rank for keywords, so consider putting your most important and strategic keywords in your app’s title, after the actual name of your app. In the case of Nutsapp, this would look like: “Nutsapp – Acorn Finder.”

Agile development fits its namesake

It’s called agile, because that’s what app development needs to be – adaptive to the issues every development cycle will face, and quick to respond and fix those problems.

How & when to monetize your app

When we’re speaking with clients about their app, there’s one question that pops up more than platforms, UX, features, and maybe even development cost: How will my app make money?

For good reason too – it’s an important question to ask – apps need to make money somehow. Fortunately, there’s lots of ways to monetize your app:

  • Advertising
  • Initial install cost
  • Freemium content
  • Subscriptions
  • In-app purchasing
  • In-app currency
  • Sponsorships

We’re going to get into each of these methods in a second, but first, we need to ask another important question: When is the right time to monetize your app? We’ll look into that after we go over the different ways you can monetize your app.


If implemented correctly, ads can bring a lot of profit to your mobile app. This is the most common form of monetization within apps, and for those with large user bases, it can be remarkably profitable. There’s a lot more methods to advertising than the classic banner ad:

  • Interstitial – Fullscreen ads that appear during natural transition points, usually between two different screens in an app
  • Video
  • Native – These are ads that appear to be built into (or native content of) the app – like LinkedIn’s in-feed advertising
  • Rewarded ads

The trick to advertising within your app is making sure the ads both demand a user’s attention and mesh with the UX simultaneously. This can be achieved in a number of ways, a classic example being only selling ad space on your app to companies that offer services or goods your users would be interested in.

Possibly one of the most interesting forms of advertising is rewarded ads. With an eCPM of $16 on iOS, these ads have a very low CPC compared to other methods of advertising. Rewarded ads accept that users really don’t want to be bothered or interrupted by ads – and because of this awareness, they reward the user for viewing them with in-app currency, discounts, extra content, and many other digital rewards. Due to their self-aware nature, rewarded ads see the highest engagement and conversions when compared to other forms of advertising.

Initial install cost

For a lot of apps, an up-front install cost is going to stifle your growth. There are a few types of apps users are willing to pay for, however:

  • Health and wellness
  • Fitness
  • Productivity
  • Specialized services

ASO plays a huge role in convincing users to pay to download your app. As we’ve gone over before, keywords are your key to success on the App Store and Google Play. Your in-store efforts should work in tandem with your website’s SEO and Adwords campaign – utilizing the same keywords for both SEO and ASO gives you a better chance at capturing and funneling users into download conversions.

One thing to keep in mind is that if this is the only method of monetization your app utilizes, your user base must continually grow, or your profits will stagnate. Only the top performing apps really see a huge profit from downloads. For example, in Q1 of 2018, almost 20% of apps on Android saw 10-50 downloads total, while the top 0.1% saw over 5 million – a huge discrepancy.

Freemium content & subscriptions

Both of these methods of monetization work using the same general idea; show your users what there is to offer, get them hooked, and then ask them to pay for more. It’s try before you buy with apps.

Free trials that allow users to explore an app for a set amount of days work well for both consumer facing and internal business apps. If your app’s UX is strong and solves your users’ pain point (and they’ve had enough time to associate your app as the solution), getting them to subscribe is easier than you’d think. You can even have different levels of subscriptions, to catch a wider range of users – some may not need a “premium” package, but still want to use other features in your app.

Subscription based apps are great for audiences that might not grow, but engage. If your app has less than a thousand users, but every user is paying $10 a month, that’s a lot better than one thousand 99 cent downloads.

Freemium content can be a little trickier. This is a careful balancing act – your app must have enough free features to draw users in, and show your app’s value in their lives, but leave them wanting more. Just enough to keep them coming back, but with the promise of a better UX if they pay for it. This is a popular way to monetize your app – 64% of users of freemium mobile games make a purchase every month.

This method works very well with consumer facing apps like mobile games – a few levels or missions can be offered as a demo of sorts, which gets your users hooked by the gameplay or storyline, and then (when the app holds perceived value with the user), you offer them more.

In-app purchasing & in-app currency

Both in-app purchases and in-app currency are fantastic ways to monetize consumer-facing apps, especially games. One great aspect of in-app purchases is that they actually rank for keywords in the App Store, which can be a tremendous boost to your ASO efforts.

In-app purchases can be a one-time deal, or last throughout the user’s lifetime of engaging with the app. For example, a user could purchase a new costume or skin for their character that would be available to switch out at any time, or they could purchase actual in-game items that are depleted once used. Both are very tempting options for gamers.

In-app currency works much in the same manner – but these purchases are only consumable – meaning once they’re purchased and then used, they’re gone. Think $10 = 1000 coins, or whatever conversion rate makes sense for your mobile game. Just like tiered subscriptions, offering multiple packages at different price ranges is a great way to catch more conversions.


If your app has a decent sized user base with high engagement, but is still struggling to turn a profit, you might want to consider sponsorships. Unlike ads – which are constantly changing, utilize different tactics to grab attention, and sometimes interrupt the UX and flow of an app – sponsorships are an unobtrusive way to advertise a company’s brand.

This is what happened with Runkeeper, an app that tracks workouts and rewards runners based on their fitness goals. Asics, seeing the value of the engagement users had with the app, sponsored it, giving them a continuous stream of users associating their brand with an app that was a part of their daily lives, and brought a great method of monetization to Runkeeper.

When to monetize your app

This is the most important question of all when coming up with ways to monetize your app. And, unfortunately, like most important questions, there’s no concrete answer. Users are fickle, and they’re more likely to delete your app than engage with it. Put yourself in your users’ shoes; would the method of monetization you’re considering interrupt the UX? Would it tarnish their relationship with your app? Do the ads bring extra value to the solution your app provides? Is your monetization pertinent to your app? Do you expect to grow rapidly, or slowly, but with high user engagement?

These are all great questions to ask, and one of the best ways to find out is with A/B testing. What happens to user retention when you add a sponsor to your app? Do users exit your app after being presented with an interstitial ad?

Don’t be afraid to test out different methods – but make sure they make sense.

How (not) to build an app with Appy Pie

There’s something to be said about making something yourself, whether it be a meal or a piece of art. There’s nothing like coming up with an idea and executing it from inception to completion, all on your own.

For the self-driven individual, an app WYSIWYG (What You See Is What You Get) editor sounds like a dream – they can work pretty well for websites, so why not apps? Wouldn’t it be cheaper to make it on your own anyway?

It makes sense that a service like Appy Pie would be tempting for any appreneur with an eye for design and a small budget – or maybe a CTO in the same situation. But – and this is my honest opinion – I think it would be easier to design an app in Sketch, prototype it in Invision, teach yourself Swift, and build in Xcode, than it would be to create a successful app using a service like Appy Pie.

I have come to form this opinion because I tried to make an app using Appy Pie. I originally intended this to be a fairly benign chapter of our How to Build a Mobile App: The Ultimate Guide, detailing the best options to use and a short how-to guide for the appreneur who does not have the funding to hire an app developer; but almost as soon as I started testing the user experience of Appy Pie, I knew that wasn’t going to happen.

Because; skipping (for now – I’m going to get to these later) the un-organized creation system, limited options, and inescapable cookie-cutter feel – it’s not you making your app. It’s Appy Pie.

Now, I feel like I need to put a little disclaimer before we go any further; I don’t hate you, Appy Pie. This isn’t a vendetta against you personally. It’s just WYSIWYG doesn’t work with app creation. This isn’t even really about Appy Pie – it’s about any service that provides a way to make apps without coding them.

Making an app with Appy Pie

Appy Pie

At first, I was intrigued. “Create an app for free in 3 easy steps? That sounds awesome!” I was interested in how it would work; I had built a website that didn’t need to accomplish much using a WYSIWYG creator in my first year of exploring web dev, and it had honestly taught me a few things, and the site really wasn’t half bad (for what it was intended to do). So, I had hope that there would be an equivalent for apps..

What I’m trying to say, is that I went into this with an open mind; I didn’t intend to write a piece touting the benefits of hiring a mobile developer over using a service like Appy Pie. It’s just how it naturally transpired.

Appy Pie

One of the first questions Apps Pie asks is on point: What’s the purpose of your app? As we’ve gone over in the past, knowing the purpose of your app is one of the most important questions to answer before doing anything else. At this point, I was hopeful.

And then came “Step 2.”

Appy Pie

This is where it all starts to fall apart. The above screenshot is what you’re greeted with, and while Appy Pie’s UI is pretty straightforward to navigate, I found it extremely difficult to visualize what I was creating. Now, not every app developer has the same process, but a simplified overview usually looks like this:

  • Designing the UI in Sketch
  • Planning the flow in Invision
  • And then coding based upon the Invision file

Appy Pie seems to take this process and condense it into one step. While this may seem like the service has just streamlined the app building process, they’ve instead muddied the waters. There’s a lot to keep track of when planning and building an app, and one scrollable list isn’t the most efficient way to go about it.

Take, for instance, what an app’s UI design looks like in Sketch:


Every rectangle you see above is the design for each screen of a single app. These screens are then put into Invision and linked together to plan out the app’s flow and UX. During the design and prototyping phase, our UI/UX team gets into the nitty gritty details of each screen, working in tandem with our programmers to determine everything from screen transitions to the exact pixel dimensions for each button, field, and image.

Our developers can then take the Invision file, and code based on that – providing them with easy access to all the necessary information, from hex colors and fonts to UX and flow.

Now, imagine doing all of that, but with this UI acting as your tech doc, your design editor, your prototype, and your code:

Appy Pie

Yes, it’s visually simple. But take a look at that Sketch screenshot again. Now imagine bringing that level of detail into a system like Appy Pie’s. This system condenses the intricate and detailed process of creating feature sets, UI/UX design, and app flow into:

  • Choose feature
  • Design feature
  • Choose another feature
  • Design that feature
  • Repeat ad nauseam

This is a great way to produce an unorganized app. It’s akin to not only building a house without a blueprint – but building a fully functional and furnished kitchen with plumbing, appliances, lighting, table and cabinets, and a coat of paint – and then moving on to the living room’s wooden frame. Doing this, it’s unlikely you’ll build a structurally sound home.

This isn’t even mentioning the cookie-cutter feel this system is sure to produce. Take a look at the options given to you for layout and design:

Appy Pie

Appy Pie

With limited options and methods of implementation, your app is bound to feel just like someone else’s.

This muddied method for app creation has another negative compounding factor: You don’t know how anything fits together. Sure, “Step 2” has a live preview of each page on the right side of Appy Pie’s UI:

Appy Pie

But all too often, I would be met with this message:

Appy Pie

Which brings us to development cycles. We’ve covered some dev cycles before, but overall, most developers will use what’s called agile. Basically, the steps to an agile development cycle are as follows:

  1. Identify and set goal for issue
  2. Work on issue
  3. Meet up after a set amount of time to discuss and test process on issue
  4. Iterate until complete

This process can take anywhere from a day to two weeks, and it largely depends on the developer – but (and this is a very important but) – each issue (another word for feature) is tested independently before it’s implemented. This is because (as we’ve covered in our Swift development piece) programmers will build their code in a branch, test that branch independently from the rest of the code, debug, and then merge their branch with the master branch.

This serves two very important functions: compartmentalizing bugs, and reducing the risk to the overall codebase. It’s much simpler to look over 100 lines of code and find the problem with your app than it is to look over 10,000 lines. By testing each feature by itself, developers are able to cut down on overall time spent testing the app – measure twice, cut once.

And this is where things really start to go downhill. I had made a gallery linked to my Flickr account, and I wanted to test it on a phone to see what it would actually be like to use this app on a device. So, I downloaded the app, and this is what I saw:

Appy Pie

Honestly, not bad. All the work I had to do was select the grid layout, and I had played around a bit with some of Appy Pie’s default backgrounds. The scrolling, albeit a little janky, worked, and switching between the “Donate” and “Photo” bottom menu options worked. There were a few problems though – scrolling just stopped loading new images after a certain point, and I wanted to take away the “Sets” tab, along with changing the typeface the gallery used.

So, I set those as goals to fix – much in the same way developers will test, find a bug, and fix it. I went back into Appy Pie to edit the gallery, and I was met with this:

Appy Pie

I couldn’t edit. I had downloaded the app to a device in order to test a feature set, and I couldn’t make changes (not until I paid, at least) based on my findings from testing.

How to make an app with Appy Pie: v1.1

With this newfound information, I present the fool-proof guide on how to make an app in Appy Pie “for free in 3 easy steps”:

  1. Make an Appy Pie account
  2. Design, plan, and implement your entire app all at once (perfectly too, no testing allowed)
  3. Publish your app

It’s just that easy!

When I started researching Appy Pie’s service, I really didn’t expect to end up writing something with as much snark – but my plan was forced to change. I tested an outline against my actual experience, found they didn’t work together, and then edited the outline to make it fit with what actually happened. A process Appy Pie can’t seem to replicate – for free, at least.

There’s so much more to a successful app than just making it too; ASO is a huge factor for your app’s success. For any sort of analytics, you’re paying $50 per month per app, and that app can only be stored on a maximum of 600 MB of space.

There are entire companies dedicated to analytics and building keyword campaigns for apps, and when you build an app with Appy Pie, you’re expected to do all of it yourself, while paying a platform for allowing you to do so.

If you’re a self-driven individual set on making your own app, we think that’s great. Our senior Swift developer is self-taught, and we believe some of the best coders come from the evolution of hobbyist to professional – but keep in mind, if a service’s “Create an app for free in 3 easy steps” claim seems a little too good to be true, that’s because, more than likely, it is.

Android vs. iOS – How do I decide which platform to launch on?

This is a question we covered a bit in our piece about how to find a mobile developer, but I felt like there was more to talk about; we were recently discussing in a meeting why some clients seem to favor one platform over the other, and what the benefits are to launching on iOS versus Android.

First, I think it’s important to distinguish what I mean when I say platforms – this isn’t just limited to Android and iOS, after all. There’s other facets of these OSs; AppleWatch and AppleTV; while Android is currently supported on SmartTVs and wearables like the MOTO ACTV, and is already making headway with smart glasses, home appliances, cars, and even SmartMirrors. Apple itself is of course supporting their own ventures into these new implementations of smart tech, with their own projects like Titan, for example.

But how do you decide what platform is best for your idea? Before we get into the what the future holds for Apple, Android, and all the other tech giants, let’s get a clear picture as to what the current field looks like today:

Just the facts

  • In the U.S., Android owns 54.6% of the market, and iOS owns 44.4% (Android is the top performer globally)
  • More iOS users download purchasable apps than Android users (11.82% vs. 5.76%)
  • iOS apps have a higher retention rate than Android (1% to 3% higher)
  • Android has a lower publishing cost than iOS (Android has a one-time-fee, iOS is yearly)
  • iOS development is cheaper than Android (by about 30%)

A few things to keep in mind: Android’s market share, while larger than iOS, is skewed by the fact that Android comes with many pre-paid phone options, while there are no pre-paid iPhone options. While the larger percentage of market share should indicate apps that are hosted on both Google Play and the App Store would see more total downloads from Android users, we have, in fact, witnessed the opposite.

Three apps that we have published to both the App Store and Google Play are the perfect example of this. Out of these three apps, one has an audience centered in the U.S., one is centered internationally, and one has an audience split almost evenly between the U.S. and international markets.

  • The app with users mainly from the U.S. has seen 76% of it’s downloads come from iOS users.
  • The app with mostly international users (remember, Android boasts a very high market share internationally) has seen 46% of its downloads come from iOS users.
  • The app with an even split between U.S. based and international users has seen 65% of its downloads come from iOS.

As of Q4 in 2017, Google Play hosted 3.5 million apps, while the App Store had an offering of over 2 million. Users have downloaded apps 19.2 billion times from Google Play, and 8.2 billion times from the App Store.

iPhone users tend to be younger (by only a few years, but still a noticeable difference), and are described as “power users,” meaning they engage with more categories of apps more frequently, and on a regular basis, when compared to their Android counterparts. While iPhone users are more likely to engage with apps than Android users, they also represent a smaller audience when compared to Android.

A question you should ask yourself (and this is largely dependent on what type of app you’re making) is: what is more important for my app? Reach, or engagement?

iPhone users are more likely to engage in “m-commerce” (online purchasing through their mobile device), and are also more likely to retain their position as Apple customers, as 80% of iPhone users have perviously owned another iPhone.

While iPhone users tend to favor retail and social media, Android users tend to gravitate towards (and purchase more frequently) utility and productivity apps. iPhone users tend to value simplicity and consistency, while Android users place great import on the customizable nature of their apps; likewise, iPhone users usually identify as extroverts, while Android users are mainly introverts.

These findings, of course, are not set in stone – there are most definitely introverted, low-engagement iPhone users just as there are extroverted, high-engagement Android users; some Android users exemplify the epitome of brand loyalty, while some iPhone users are disillusioned by their experiences with iOS.

But the trends are noticeable, and when deciding which platform is most important to focus on, this is data that should be considered carefully.

For more information, check out our Android and iOS dev pages.

Development options

Android vs iOS Development

As we’ve discussed previously, it’s always better to develop your app natively. This does come with one main detractor, however; cost. A great way to offset this is by focusing on one platform initially, and using the MVP model of development. We believe the best platform for an MVP is iOS, mainly due to the platform’s high user engagement. Since users are more likely to engage with, and spend more time using their apps, iOS early adopters provide higher quality feedback than Android.

In fact, one of the most successful apps on the market today, Snapchat, has mainly focused on developing their app for iOS. Now, with the benefit of a (much) larger budget, they are bringing Android up to par with their iOS version.

This is not to say that Android apps won’t work as MVPs; rather that iOS user behavior lends itself to the user engagement necessary to build a successful MVP.

The future of apps and their platforms

There’s no way to be sure what advancements in tech will look like, and predictions about the future rarely come to fruition as we expect, but there is one trend that has remained throughout the explosive growth of the internet of things; people use more, want more, and expect more.

If you’re in the ideation stage of app development, consider what you’d like to see happen. Wearables are expected to represent a $34 billion industry by next year, and right now, mainly focus on health and fitness apps. As of now, in 2019, AppleWatch is the leader of the pack when it comes to smart watches, but this could very easily change.

Android, and Google, by proxy, have cast a very wide net when it comes to exploring new avenues for devices through which to engage users, and Apple, like usual, tends to focus in on a few products to perfect.

There’s no right or wrong platform for any app, but there’s sometimes a better fit. Like any venture, it’s important to do your own market research, and plan based on your own findings. For any appreneur or CTO, the best steps you can take to build a successful app is to know your competition, know what makes your app different, and to do it better than anyone else.

How to Build a Mobile App: ASO 101

By now, you’ve probably heard the term “ASO” come up in workplace conversations, whether at a company meeting or from your office’s resident tech expert. We’ve written a few pieces about the topic already – but if you’re a CTO or appreneur that wants to brush up on the basics of ASO without digging through boring dev and publisher guides, you’ve come to the right place!

What is ASO?

It’s an idea that’s been around since the early 2010’s, but don’t be embarrassed if you don’t know too much about it – six years ago App Store Optimization was in its fledgling stage, and it wasn’t until recently that ASO became a necessity like other facets of digital marketing (social media, and SEO for example).

It’s an ever-evolving field, as Apple and Android have spent the past decade revamping and refurbishing their respective app stores – much I the same way Google has updated the parameters and functionality of SEO.

ASO, at it’s heart, is powered by keywords, just like SEO – except with a limited amount of available characters. Think of the difference between ASO and SEO like the difference between Twitter and Facebook; just as tweets must be short, quippy, and straight-forward, so too must be your ASO efforts.

The two fronts of an ASO campaign

User acquisition, and user retention, in that order. These can be broken down into sub-categories:

User acquisition:

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

User retention:

  1. User reviews and ratings
  2. Time users actually engage with the app
  3. 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:

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

Tip: Use keywords consistently throughout your app’s title, subtitle, and description. This will help you gain ground as you launch. Don’t be afraid to borrow ideas from your competitors too; if it works, it works. Research is key to your success – consider the consequences of either using the keywords your competition is using, or finding another set of keywords to focus on. Which is more likely to get you traffic? If you believe you can compete, do that. If you’re not so sure, try to catch another segment of your target audience, and slowly build up to where your app can compete with the top performers.

For more info on keyword research, check out our piece on the topic.

The app’s build and compatibility

These are considerations that you should take into account before publishing your app to the App Store – in fact, even before development begins. This is a balancing act, as increasing the number of platforms an app will run on also increases its development cost, but simultaneously increases its potential audience.

Some questions you should ask yourself are:

  • Is my app compatible with the latest devices?
  • What platforms does my app belong on? (iPhone, iPad, AppleWatch, etc.)

Tip: Another big (and often overlooked) factor is your app’s footprint on a device’s storage space. According to this study by The Manifest, 25% of mobile users have deleted an app purely based on the need for extra storage space. The smaller your app is, the less likely this is to happen.

The App Store

Whystle App Store Profile

Above: An example of what an app looks like on the App Store.

This is where all of your ASO efforts come to a head. Your app’s page on the App Store is powered by metadata:

  • Title (limited to 30 characters)
  • Subtitle (limited to 30 characters)
  • Promotional text (limited to 170 characters)
  • Description
  • Up to 3 preview videos
  • Up to 20 promoted in-app purchases

Your app’s icon and preview images also effect how people interact with your app on the App Store – think of these as your app’s visual branding elements.

You app’s title, subtitle, and in-app purchases rank for keywords, while your promotional text, description, and visual elements don’t rank in searches. Every section is important to your user acquisition, however – make sure you give each section its due. This is your app’s brand, storefront, and demo space all wrapped into one – any missing or underutilized section will immediately turn off users from downloading your app.

Tip: A powerful method for improving user acquisition is A/B testing. Don’t be afraid to play around with elements like your app’s icon or description – just make sure you analyze data before and after changes so you can study their impact on conversion rates. If you notice a dip in your numbers, you can always change them back. Subtitles, for instance, are a great place to capitalize on trending phrases. For more info about keeping up with trends, check out our piece written for The Manifest.

User reviews and ratings

Whystle Ratings and Reviews

Above: An example of user ratings and reviews.

Your app’s user reviews and ratings are the middle ground between user acquisition and retention, as they affect (or are effected by) both. If your app has good ratings and reviews, it’ll most likely have high download numbers (or at least higher than if its ratings and reviews were mediocre), and good ratings and reviews usually stem from proper user retention practices.

Apple (and the App Store, by proxy) take your app’s rating and reviews seriously, and they have a direct effect on your app’s ranking – the better reviews and ratings you have, the better of a spot your app will receive when users search for keywords your app is ranking for

Tip: Take heed of users’ reviews, and act upon them. Use updates to your advantage – you’d be surprised at the impact listening to (and implementing) a user’s suggestions can have on your app’s retention.

Time spent engaging with your app

Just as keywords are the driving force behind your app’s user acquisition, the time users spend engaging with your app is the primary factor the App Store uses to determine your user retention. There is no set of guidelines to achieve high user retention, but some determining factors are:

  • Your app’s UI/UX (for novel ideas on how to improve user acquisition through UI/UX, check out our post on the topic.)
  • The way your app was developed (Hybrid vs. Native development)
  • The implementation of retention strategies (Push-notifications and regular updates

There are a lot of different services to help keep track of how users interact with your app (we tend to use Kumulos.) These help with determining what features your users spend the most time interacting with, how they use your app, and can also be used to track crashes, or where in your app users stop their sessions (usually due to slow load times or visual errors.)

Tip: Never underestimate the power of an update. Updates, unlike most push-notifications or requests to rate an app, promote a sense of curiosity in your users; they will be drawn to open your app to see what’s new.

The long and short of it

ASO is the culmination of directly-managed deliverables. Through proper keyword research, utilization, and implementation, good UI/UX, and strategies to engage users within your app, you can turn your ASO campaign into the driving force behind your business. Don’t be afraid to play around with your app’s page on the app store, as trending topics can lead to a surge in your conversion rates, and changes that decrease your app’s performance can always be switched back.

Good luck, and happy ASOing!

How to find the perfect mobile app developer

So, you’re an appreneur (or a CTO), and you want to make an app. Great! Do you already have a development partner? If yes, even better!

If you answered “no,” don’t worry. We’re going to go over everything you need to know and do to find the perfect developer, just for your specific needs.

Before you get into the trenches and start your search for a developer, it’s important to ask yourself a few questions:

  1. What do I want my app to accomplish?
  2. What platform(s) do I want my app to be on?
  3. What is my competition?
  4. What is my time table?
  5. What is my budget?

Once you can answer these questions, you’re ready to move to the next step – finding a development partner. But first, let’s delve into the reasoning behind these questions.

What do I want my app to accomplish?

This is probably the most important question you can ask yourself, as it sets the stage for all the questions that follow. You should be able to describe what your app does in no more than two sentences. For example:

I want to make an AR app that expedites the training of my technicians and assists them with diagnostics while on the job-site.

What platforms do I want my app to be on?

This question is important to ask; as development, publishing, available markets, and user behavior can (and does) vary wildly between the two main platforms, Android and iOS.

While this question is largely based upon what you want your app to accomplish, there are a few factors to consider when deciding the best answer to this question:

  • In the U.S., Android owns 54.6% of the market, and iOS owns 44.4% (Android is the clear winner globally)
  • More iOS users purchase apps than Android users (11.82% vs. 5.76%)
  • iOS apps have a higher retention rate than Android (1% to 3% higher)
  • Android has a lower publishing cost than iOS (Android has a one-time-fee, iOS is yearly)
  • iOS development is cheaper than Android (by about 30%)

For more information, check out our Android and iOS dev pages, as well as a deep look into iOS development (we’ll be going over Android development soon).

What is my competition?

Knowledge is power. Knowing what you’re up against is a huge boost for your app – while researching your competitors, you can see what works for them, tailor it to your app’s brand, and do it better. If one of your competitors has a high user rating score and good reviews, download it. Take the time to use their app, and take note of features you’d like to include in your own, as well as ways to improve upon your competitor’s flow.

If you’ve searched and found no competition, you might want to consider starting with an MVP, to capitalize on your untapped market.

What is my time table?

The answer to this question is largely dependent on what you want your app to accomplish. A simple app can take less than six months to develop from inception to launch, while a complex app can take upwards of a year.

If you want to get to market ASAP, your best bet is an MVP.

What is my budget?

Again, this is largely dependent on what you want your app to accomplish. A complex app usually costs over $500,000, and simple apps can cost less that $37,500. A few things to keep in mind before setting your budget are:

  • Each feature adds to the overall cost
  • Certain features, like backend integration or heavy graphics have a higher cost
  • Simple apps on average take 250 hours to develop, medium take 1,000, and a complex apps’ development time can take 5,000 hours.

For more information about how to formulate a budget, check out our blog post on the topic. For a personalized estimate for your own app idea, use our mobile app cost calculator.

All of these questions are necessary to answer before you speak to a developer. This will help you communicate more effectively with your developer, and they’ll be able to give you a more accurate estimate about time and cost based upon your answers.

For example, let’s say you want that AR diagnostic app to include a backend data set linked to a server so you can access system data in real time, but you only have a budget of $50,000. Your developer would be able to address these issues before making headway into the project, reducing the chance of wasted, sunken costs.

Don’t use Google to find developers

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

If you’re already working with a developer who’s not ranked on Clutch or The Manifest, and they’re a good partner, don’t fret – personal experiences should always be weighed over site rankings. You might, however, want to tell your development partner about these sites, as they are just as beneficial for developers as they are for clients.

Using Clutch

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

Clutch Profile

Shown above is an example from our Clutch profile of how information is presented on the site

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.

Clutch Badges

Shown above is an example of our Clutch badges

Using The Manifest

The Manifest operates in largely the same manner as Clutch. The Manifest offers industry leader shortlists, and a blog (that we’ve been featured on!) hosting great thought pieces and business advice.

The Manifest listing

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 developer 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.

UI/UX and user retention – Strategies for success

There’s a quote from one of the founding fathers of modern architecture that perfectly describes what good UI/UX is.

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

Frank Lloyd Wright may have been speaking to the principles of good design in architecture, but his words could just as easily be used to describe robust mobile UI/UX design. I doubt the architect had ever dreamed of this quote being attributed to smartphones and mobile apps, but this idea forms a solid foundation of what good UI/UX should be.

He was speaking of the Guggenheim, but his work that most masterfully portrayed this school of thought was Falling Water. But – you may be asking yourself – what does a mid-century home in Pennsylvania have to do with UI/UX?

When a user opens your app, they should feel like they’re going home.

There is no precise, set in stone, foolproof method for ensuring your app’s UI/UX is successful – but there are steps you can take to help achieve this.

What to expect:

  • A look into the blending of UI/UX and user retention
  • Steps you can take during development to help ensure strong user retention

Minimum Viable Product

Speaking of solid foundations, its always best if your app starts with one. The easiest way to ensure this is to begin your development with an MVP (minimum viable product).

MVPs are the epitome of KISS (keep it simple, stupid) and are designed to provide the answer to your users’ pain point – and nothing else. Take a look, for example, at BrewTrader, an app we made. It’s designed to provide one function – to connect craft beer enthusiasts and provide a platform for them through which to trade brews. Each feature exists to provide a single part of the solution, and together as a whole, work synchronously to achieve the goal of craft beer switching hands.

When you are only focused on one goal, your UI inherently builds itself to achieve that goal – and with less tangential features to consider, clean and concise design will most likely come to fruition as a result.

It’s important to note that UI is directly responsible for the vast majority of your app’s UX, and is a significant factor that users will consider when they ask themselves the question; “Do I like this app?”

It might seem counter-intuitive to send out an app to market that isn’t fully complete – but as long as the inner workings are there to solve your users’ singular, crucial pain point, they’ll be pleased. A good MVPs incompleteness isn’t noticeable – and your users shouldn’t be aware they were missing something until after you add it.

As long as BrewTrader keeps the craft beer flowing, users are happy. When tangential, quality-of-life features (like user rating systems, or location services) are added later, users won’t feel like they were short-changed in the beginning – they’ll be grateful for an enhanced UX, and as such, be more likely to continue using the app.

Once your MVP is ready, you can move on to testing.


App Testing

Testing is one of the hardest steps for any developer – large testbeds are an organizational nightmare for project managers, software engineers are plagued with re-writes, and CTOs are frustrated by the inevitable technical issues that will undoubtably rear their ugly head.

But if there’s one way to ensure good UX, it’s user testing.

There isn’t much to say about this other than to just do it. Testing is used to diagnose flaws in your app – which, while not fun for the devs, is crucial to good UX.

After the first three days of a download, 77% of users have already deleted that app from their device. After 30 days, 90% of active users will have stopped using the app. The lesson here? The odds are always stacked against your app when it comes to user retention. This can be attributed to a litany of reasons, the most common culprits being slow load times, freezing/crashing, janky animations, and even taking up too much device storage.

One of the most demoralizing aspects of testing is that your testers will rarely go into detail about features and UI they liked. It’s much more difficult to express what makes up a well-designed UI than it is to criticize; but take to heart that if your UI isn’t receiving any feedback, it’s most likely because it’s already doing its job. There’s always room for improvement (as with anything in this world) but remember that an app’s UI isn’t a painting – its design should be bold enough to demand attention, simple enough to rely on your users’ intuition, and robust enough to allow additions and updates down the line.

The best way to increase your app’s chance at successfully capturing a regularly returning user base is to throughly test it. By using user stories, you can determine where the trouble spots are – and then hone in and fix the issues. There’s probably never been (and never will be) a bug-free app, but the closer you can get to a perfect app before launch, the greater your user retention numbers will be off-the-bat.


Ever had your device’s keyboard lag while you’re texting? It’s disconcerting when the key you pressed doesn’t appear above your thumb, and it’s hardly noticeable when it works correctly. That’s the sign of a good feature.

A well-implemented feature doesn’t announce its presence every time it appears on a screen; it quietly enhances the user’s experience within the app. In short, your features should flow into one another.

These visual, quality-of-life features that interact with a user’s inputs are called motion design, and are a very simple way to increase your user retention, as they act as visual indicators as to what step the user is on in your app at any given time. Your users should never feel lost – they should feel at home – and one of the easiest ways to provide that comfort is with motion design.

A feature should always serve to enhance the solution to your users’ pain point, so when determining your app’s tech stack, consider; “Does this help my users?”

If it does, great! If it doesn’t, it’s time to go back to the drawing board. There aren’t many features that are directly responsible for increasing user retention (other than push notifications, which 60% of iPhone users disable anyway), but they rather act as a whole to present a polished, useful package for your users.

Don’t be worried if your app isn’t making use of every feature available – if your app doesn’t need location services, for example, it will function better without it. App bloat is real, and less is more.

The most important step you can take when it comes to increasing user retention through features is to make sure each feature works perfectly, and flows into the next.


Updating your app frequently serves three important purposes:

  • It reminds your users that your app exists
  • It keeps your app’s security up to date
  • It shows your users that you care, and are invested in improving their experiences

Updates are, I would argue, a more effective call-to-action than push notifications. Not only does the notification to update your app serve the same purpose of reminding a user to open your app, it implicitly tells your users there is either something new, or something has been improved.

Keeping your users personal information secure is a no-brainer – any user that notices their information has been compromised by your app will undoubtedly stop using your app and delete it. A large chunk of app conversions come from word-of-mouth; and dissatisfied customers are much more likely to complain about your app than a happy user is to praise it. Never underestimate how damaging a low user review or score can be on your app’s rank within the App Store or Google Play.

Updates that improve your app’s UI, or fix bugs, show your users that you care about their experience. People like feeling cared for – just think about the difference between eating at a fast-food restaurant and dining at a sit-down eatery. We even have different words to describe these culinary experiences – “eating” versus “dining.”

Start with an app that gives your users an experience to dine on, rather than just eat. Then, update it frequently to ensure your menu is consistently fresh and robust.

Users are fickle, until they’re not

There doesn’t seem to be much middle-ground here; if a user hasn’t deleted your app, they’ll either open it once a month, or make it part of their daily lives. In fact, the average mobile user in the US will spend 90% of their time using their top five apps.

There is no set of rules for ensuring high user retention numbers, but clean and responsive UI, through testing, synchronous features, and pertinent updates will greatly increase your app’s chances of success.

iOS Development and Swift Code – What you need to know

Everyone knows the two major players on the mobile platform market – Apple and Android – but what makes these platforms tick?

If you’re an iPhone user, your phone runs on iOS, which utilizes the programming language Swift. Swift was released in October of 2014, and is currently in its fourth iteration, aptly named Swift4. As our third installment of How to Build a Mobile App: the Ultimate Guide, we’ll go over what you need to know in order to make informed decisions about iOS development, and key terminology that will help you better communicate with (and understand) Swift developers.

Disclaimer: If you’re a developer or software engineer, there might not be any new information for you to find here. For a more in-depth discussion about app development, check out our addition to the native vs. hybrid debate.

If you’re a CFO, business developer, or appreneur who’s trying to figure out what a software engineer is talking about when they say “back-end integration,” or want to know just what exactly is an API, you’ve come to the right place.

As of June 2018, iOS accounts for 44.5% of the worldwide mobile market – a growth of 15% since January of 2012. In the US, iOS boasted a market share of 63% in 2018. With over 2.1 million apps on the App Store, Swift can be used to create programs on all of Apple’s platforms – iOS, macOS, watchOS, and tvOS.

Swift is based on and emulates the functionality of the C family of programming languages, including Objective C and C++, with an open source community of developers at Swift’s open source code is hosted on Github, an online community of over 28 million developers for hosting and reviewing code.

Due to the open source nature of Swift, the Swift community has compiled libraries to share with other developers. These libraries are resources of generic, useful code that can run on all platforms supported by Swift, and include character sets, support for dates and times, interaction with the file system, and many more functionalities. Swift comes with a default library, but these extended libraries, named the Swift Core Libraries, are continuously updated by the open source Swift community – allowing developers to utilize the newest innovations in Swift code (without writing it themselves). This code can then be customized to fit any need.

Swift can also be used on a Linux distro to build both libraries and applications, and the open source community is currently working together to bring Swift to other computer platforms.

The tools available to developers

While coding, Swift developers use XCode to write, and can use playgrounds to view their code’s outcome in real time. While working collaboratively, developers will use organizational tools such as beanstalk, which are used to keep track of code and current projects. These organizational tools are especially important when collaborating on a project, as any difference in a line of code between two workspaces will result in a merge conflict. When this happens, both lines of code must be compared in order to identify the merge conflict, adding extra time to the debugging process.

Coding best practices dictate it’s always better for a software engineer to work in an isolated branch to avoid merge conflicts altogether.

Developers can use a git client such as Sourcetree to check code in and out of collaborative databases. Think of it like Google Drive – it’s a shared workspace for multiple developers to remotely access code from the same database.

The Swift process

Android Pie and iPhone 12.1.2

The overarching structure of a simplistic app designed in Swift is:

  • 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.

In order to do this, developers:

  • Start with building the basic UI (user interface)
  • Connect the UI to their code
  • Work within the view controllers (different screens will have different views)
  • Define the data model (the structure of information in the app)

First, a software engineer will layout the screens of an app in a storyboard. This acts as the roadmap for what the completed app should look like, and individual elements on the screen are then connected to code. These elements are referred to as classes, and the code inside these classes controls everything that element does, and how it behaves. For example, a class could be set to darken whenever an element is interacted with by the user, or set to cycle through images at specific time intervals. Classes can be coded to act in almost any way the software engineer can imagine. As classes are built, the UI is connected to the code.

Next, the de-bugging process starts. This is where pull requests come into play. When individual software engineers write code, they work on a branch (a section of the apps’ code) separate from the master branch, in order to minimize the risk of depleting the robustness of the app’s original code. Before implementing the code they are working on into the master branch, a software engineer will make a pull request based on their individual branch versus the master branch. This pull request is in essence a review process – having a second pair of eyes look over code is a great way to catch bugs before they are implemented. The branch is tested, and after its final iteration, is implemented into the master branch.

Developers will repeat this process for every view controller until the app is completed.

The next step in development is beta testing, which we will cover in detail later down the road. After the app is thoroughly tested, the app is submitted to the App Store for review by Apple. During this step, you set your app’s availability (what regions it is available for purchase in) and pricing, and then after approval from Apple, the app goes to the marketplace.

Adding an app to the App Store costs $99 per year, and Apple keeps 30% of each sale. For more information about how much it costs to build an app, check out our blog post on this topic.

Down the line, we’ll go over Android development, so if you’re looking forward to that, don’t worry.

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.
  • Control: This is a type of view that responds to a user’s input, like our example of a button turning dark after interaction.
  • Enumeration: Referred to by developers as “enums,” an enumeration defines a common type for a group of related values, and allows you to work on these values in a safe way within the code.
  • Front end: This is the layer of the app that users interact with.
  • Adaptive interface: An app that adapts to the available screen resolution. Essentially the same idea as a responsive web page.
  • Function: A function is a reusable (and named) piece of code that can be referenced from many places in a program.
  • Iterate: To perform a certain task or function repeatedly.
  • Method: Like a function, a method is a reusable, named piece of code that’s associated with a particular class, structure, or enumeration.
  • 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.
  • Structure: When written in Swift, structures are designated by the keyword “struct.” Structs allow developers to store data in the form of properties and 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.

How to Build a Mobile App: The Ultimate Guide

It’s no secret that smartphones are quickly becoming intrinsic multi-tools that enhance our productivity, our access to information, and pretty much everything else in our daily lives. The meteoric rise of mobile devices is indeed a shake-up to an already volatile and new industry itself; it’s almost difficult to believe that mobile devices account for 63% of all internet traffic, a 6% rise from 2017.

Out of that 63% of mobile internet traffic, a whopping 90% was spent using apps. Just like the total increase of mobile traffic, app usage grew by 6% from 2017 to 2018 – a dip from the 11% between 2016 to 2017 – but still a significant amount of growth nonetheless, especially when accounting for certain app genres, like games, which are seeing users spending both more time and money on their interactions.

This is a trend that isn’t expected to stop any time soon, and if you’re an entrepreneur, or the CEO of a fortune 500 company, and you don’t have an app to enhance your business (or engage your customers), it’s time to get one.

Chapter 1: Native vs. Hybrid Development

Chapter 2: iOS Development and Swift Code

Chapter 3: How to find the perfect mobile app developer

Chapter 4: ASO 101

So, how do you go about making an app?

Building an app

Before we get into the intricacies of app creation, let’s go over what we’re going to cover in our How to Build a Mobile App: The Ultimate Guide.

  • The platforms available to you, and the code that makes them work
  • How to properly design your app
  • How to find and communicate with developers
  • Different types of development
  • App Store Optimization and how users engage with the App Store
  • Usage, keyword, and design trends
  • How to measure, grow, and ensure your app’s chance of success over its lifetime

For the next 22 weeks we’re going to dive deep into every facet of app development, from the very basics and first steps, to user retention and acquisition strategies. This is the How to Build a Mobile App: The Ultimate Guide after all, so strap yourself in for a five-month-long ride down the app creation highway.

For now, here’s an introduction to each topic:

The platforms available to you, and the code that makes them work

Mobile Platforms

When it comes to platforms, there are two main players; iOS and Android. Each has its own benefits and drawbacks when comparing the two – iOS provides greater stability and Android allows for more customization.

Apps that run on iOS are programmed using Swift, the most current iteration of the language being Swift 4. Swift can be used to code for iOS, macOS, watchOS, and tvOS. This is handy, as it gives you the ability to code for all Apple products while only requiring the knowledge of one language, but it limits your potential audience.

When programming for Android, there are many languages available to you: Java, C and C++, Go, and Kotlin – the most popular being Java. Android is open source, which gives you free reign to modify and distribute Android’s code at no charge. Android is used on a wide variety of mobile devices, which gives you the potential to open up a greater range of revenue streams, but this can also slow down your app’s development.

When it comes to choosing a platform for your app, there isn’t a right or wrong option – and frequently, the best answer is both. In the future, we’ll be looking more into the intricacies of developing for both iOS and Android.

How to properly design your app

App Design

App design is like butter on toast; not enough, and you’re in for a bland experience – too much, and you’re not sure whether you should eat it or throw it out to give your arteries a break. Due to user experience (UX) being so entwined with user retention and acquisition rates (as well as user ratings) an app’s design can make or break its chances of success.

Design trends are changing all the time, so it’s important to update your app to not only keep it secure, but to also ensure it stays relevant. User reviews are a great source to pay attention to when planning your app’s design – but always err on the side of caution when designing your app – if you can scrape some butter off of that toast without sacrificing flavor, get rid of the unneeded butter.

In the future, we’re going to cover app design principles from the ground up.

How to find and communicate with developers

Finding App Developers

There’s a multitude of developers out there, so how do you figure out which one is the best for you?

Rather than searching Google, it’s best to start with Clutch. Clutch is a website dedicated to providing a platform for entrepreneurs and businesses to search for developers that fit their specific needs, and is a great resource for vetting teams when deciding on a development partner.

As we cover development pitfalls and best practices, we’ll go into detail about how to ensure time spent building your app is never wasted, as well as tips on how to communicate effectively with your development team.

Different types of development

App Development

There’s plenty of fish in the sea, just as there’s a myriad of methods to structuring and planning your app’s development. The most common are Skyscraper, Agile, and Minimum Viable Product (MVP).

In short, the Skyscraper method relies on heavy planning and market research, Agile focuses on utilizing an adaptive, responsive method of development, and MVPs are used to quickly and efficiently produce a bear-bones, but workable app, intended to be enhanced upon after being brought to market.

In the future, we’ll cover how to figure out which development style will work best for you.

App Store Optimization and how users engage with the App Store

App Store

App Store Optimization (ASO) is crucial to your app’s chance of success. Just like SEO, ASO relies on utilizing keywords that users regularly search for, which are then paired with your app’s total downloads, user retention, user ratings, and user reviews, which culminate to form your app’s ranking in the App Store or Google Play. Apps with higher scores in these categories will be listed above lower-scoring apps during searches, giving them access to a wider audience.

Most app downloads come directly from the App Store’s search function. The two largest discovery channels in the App Store are the search function, coming in at 20%, and word-of-mouth, coming in at 15%. This exemplifies the importance of both keywords and UX, as users are much more likely to recommend an app to a friend if their experiences using the app are positive, as opposed to negative or even mediocre. Interestingly enough, negative word-of-mouth spreads much faster than positive, doubling the importance of your app’s UX.

In our How to Build a Mobile App: The Ultimate Guide, we’ll spend a lot of time covering ASO best practices, pitfalls, and proven user acquisition and retention strategies.

Usage, keyword, and design trends

User trends

Your app’s ranking, design, and user experience aren’t set in stone. Trends can make or break your app’s growth, so knowing the resources and options available to you in order to stay at the crest of these trends is crucial to your app’s success.

Your customer’s usage patterns will morph based on a plethora of factors, from simply-recognized time-of-day patterns to seasonal usage patterns influenced by weather, or even geographical differences. For example, productivity apps are used more during the day, while mobile games are used more during the evening. An app that tracks waves for surfers to catch will perform well in costal areas, while a snow-plow service app would perform better in cold regions during the winter.

ASO is ever changing – for example, certain keywords (especially those that are holiday related) can perform better during certain seasons, and should be implemented only at particular times. Keyword trends are forever changing, and it’s imperative to keep up with those trends to maintain your audience’s engagement and growth.

Even the design of your app is expected to change over time – mobile devices are constantly improving and changing, and your design must follow suit to compensate with larger screen resolutions and more powerful processors. There are trends in mobile design as well, which evolve frequently, and paying attention to the UX innovations of your competitors can give you an edge on how to do it better (simpler is always better), and stay up to date.

In the future, we’ll go into more detail about the methods and resources available to help you stay on top of upcoming keyword and design trends.

How to measure, grow, and ensure your app’s chance of success over its lifetime

App Growth

There’s never a fool-proof method to ensure a 100% success rate with any app, let alone any facet of life, but there are tools and options available to you to help ensure your app is successful in the marketplace.

There are tons of analytical services to choose from, ranging from touchscreen heat mapping and user session tracking and recording, to crash monitoring and realtime alerts.

If you’re keeping up with your ASO, and providing users with regular updates to stay on top of trends, you’re already headed in the right direction. Partnering with the right developer can spell either the success or failure of your app as well, so knowing how to shop for and speak with development teams is a crucial step in providing yourself with a stable foundation to build upon.

Over the next few months, we’ll dive deep into all of these topics, covering app creation from start to finish. Next week, we’ll cover tips on how to be a successful appreneur.