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

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.

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.

Features

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.

Updates

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

Why Custom POS Apps Are More Effective Than Legacy Systems

Virtually all restaurants use some type of point-of-sale (POS) system. Many systems are commercially available, but restaurant owners can also build their own POS apps for mobile devices.

The initial cost of developing an app is often offset by their long-term advantages over legacy systems like Aloha. Long terms benefits of POS apps for mobile devices include:

  • direct cost savings
  • customization
  • greater security
  • improved customer support

Costs

A custom POS app can incorporate the latest innovations in software technology, whereas legacy apps are primarily technology vendors.

Developing a new app allows you to invest in new technologies, features and security measures, while legacy POS systems primarily invest in services such as support contracts and upgrades. These services typically account for the majority of the cost of using a legacy system.

Although there is an upfront cost associated with custom apps, you actually own it once it’s developed. Legacy systems usually have an initial cost as well as a subscription fee that can cause the total cost of ownership for a commercial POS system to exceed the development cost of a custom app.

Developing an app specifically for the Android mobile operating system (OS) is less expensive than porting it over from another OS since Android has an open source.

Furthermore, a legacy POS system’s functionality doesn’t increase over time unless you pay for an upgrade, which may not provide any benefits for your business. You only pay for the features you need when you develop a custom app, allowing it to contribute to both the short and long-term financial success of your business.

Customization

Restaurants can vary greatly in their method of operation, from dedicated food service to businesses that provide other services such as cafes and nightclubs. This variety means that there is no single POS app that can meet the needs of every restaurant, which makes customization especially beneficial for these businesses.

Restaurants often require unique setups for their POS systems due to the range of possible hardware, menu configuration, and workflows. The increasing need to make changes in a POS system quickly also means that it’s more likely to be hosted on a cloud platform rather than a web browser’s backend. The right permissions on a cloud account allow you to manage your restaurant at any time and from any location so long as you have internet access.

Additionally, a cloud platform eliminates the need to update the POS system for each device individually. Changes to the system can be synchronized across multiple devices automatically, without the need for downtime that legacy systems typically require for updates.

The customizations needed in restaurant POS apps also include changes made by staff members, including…

  • changes in the specials
  • changes in item availability
  • end-of-day closeout
  • item modifiers

Customized apps can improve communications between the front and back-of-house operations by sending orders directly to the kitchen display while providing the appropriate notifications to the servers. This capability can lead to a one-house system, which is still quite rare for restaurants.

Additional customizations for POS apps include the ability for staff members and managers to provide guest experiences and other comments on individual orders.

Security

The primary security concern for POS systems is that they collect payment card information, so they need to comply with Payment Card Industry (PCI) regulations. A PCI-compliant POS app is therefore essential for protecting the personal information of guests.

Legacy systems that reside on a desktop fall out of PCI compliance periodically due regulatory changes, and the time needed to update these systems can be substantial due to their large size. These are also more vulnerable to malware, storage limitations and frequently send unencrypted credit card data to a local server.

Custom POS apps can encrypt sensitive data before transmitting it over a secure network and storing the data on a cloud-based server, thus avoiding the risk of an on-site data breach without sacrificing convenience.

Blind closeouts are another security feature that you can obtain with a custom POS app, which requires employees to reconcile cash at the end of their shift without knowing the amount they should have.

A cloud-based approach also makes it easier to integrate a POS app with other systems such as online ordering, gift cards, and customer loyalty programs.

Support

Legacy POS apps typically lock you into their customer support system with contracts that are difficult to break. These contracts make it hard to switch apps because you don’t want to lose the money you’ve already spent on support, even if you’re not in love with the system.

On the other hand, a custom app makes technical support easier because the same team that developed the app often provides the support, including installation and services.

Get ROI by Developing an App

Among the many methods businesses employ to increase their revenue is the development of mobile apps. The funds invested in apps can generate a substantial return, but only if they are built correctly and with the right objectives in mind. Skilled programming, UI and UX design, and overall functionality are key to getting a solid ROI.

Define Your Objectives

The first step to creating a mobile app is to define your objectives. This should be more specific than just “to generate ROI.” What are you hoping to accomplish with the app? Do you want it to sell for profit? Build loyalty? Provide a valuable service? The answers to these questions will inform the type, functionality, and format of your mobile app.

Generating Revenue

If your goal is to develop an app that generates revenue all on its own, then it’s probably going to look more like a game or paid tool than an actual promotion of your brand. If this is what will work with your business model, then go with it, but keep in mind that these types of apps have to hold up really well if you expect customers to pay for them.

Promote Your Brand

Some apps can be used to advertise directly to users. You can make a useful or entertaining app, release it for free, and then utilize it as a platform for advertising products that users may find valuable based on certain parameters you set. When it’s designed well, this can be a powerful tool for increasing sales.

Build Customer Loyalty

One of the more indirect uses of a mobile app is to build customer loyalty. If users find that your app helps them with certain tasks, they will be more likely to remain loyal to your brand. For instance, an app that tracks when certain types of maintenance may be due on an automobile will be valuable for people who don’t normally pay much attention to that sort of thing.

Provide a Service

Apps can be used to provide services. This could be something as simple as allowing someone to track a package or check their bank balance, to name a couple examples. Other services may generate income directly with Cost Per Action (CPA) services. These charge a certain amount to access certain functions within the app.

Improve Efficiency

Not all apps are strictly for customers. You may design something that will improve the efficiency of business operations. For instance, an app that integrates with existing business software can improve mobility and decrease the time spent on certain tasks, thereby improving ROI.

Think Long-Term

Unless you intend to develop a paid app, there is little chance that you’ll be able to an immediate return from it. The benefits of developing an app usually come long-term in the form of increased customer loyalty and subsequent reach to more clientele. These reach into middle to long term ROI as they improve the user’s opinion of the brand and increase the odds that they’ll turn to you to satisfy relevant needs.

Simply put, while apps with this goal in mind do not generate revenue directly, they can increase revenue through attracting more customers and generating more sales of your products or services.

Solid Design

Of course, in order to be successful, your app needs to be well designed. A poorly optimized or clunky application that thwarts people’s very attempts to use it will not get far, resulting in a loss rather than an increase in revenue (long term or short term). Some keys to sound app design are:

  • Ease of use—the UI needs to be easy to navigate
  • Optimization—the programming needs to be clean with quick load times
  • Compatibility—the app should work on the intended device
  • Valuable—the app’s functionality must not get in the way of its own usefulness

When designing an app for your business, you need to make sure the app’s design matches up with your objectives. To learn more about building ROI with a mobile app, check out our other resources or give us a call at 804-451-6016.