Improving inventory and supply chain management with an internal business app

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

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

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

Common inventory management problems

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

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

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

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

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

Low product turnover

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

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

Excess inventory

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

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

Failure to keep track of stock

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

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

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

Poor service levels

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

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

Difficulty identifying demand patterns

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

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

Lack of visibility

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

Common supply chain management problems

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

Cost control

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

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

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

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

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

Supplier and partner relationship management

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

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

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

Finding talent

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

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

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

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

Apps aren’t just for consumers

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

How much does it cost to implement push notifications? – with Kumulos

Push notifications are a fantastic and proven strategy used to increase both user engagement and user retention – but are they worth the cost?

The short answer: most of the time. But let’s get into the reasons why.

The cost of implementing push notifications

Let’s start with the lowest cost option first – sending out push notifications on your own. In order to do this (at least for iOS), you’ll need to:

  1. Sign up for an Apple Developer Program Membership ($99)
  2. Set up a push notification certificate for your app ID (which you’ll get when you sign up for an ADPM)
  3. Download a push notification app from the App Store
  4. Set up a server from which to send push notifications to your users’ devices (costs for servers vary, and largely depend on your data loads)
  5. Use callbacks in the app to receive and handle push notifications

You should note that for iOS users to receive your push notifications, they must opt-in. For Android, it’s the opposite – users are automatically set up to receive push notifications when they download an app. Because of this, Android apps see a much higher opt-in rate than iOS – 91% compared to 43%.

Keep in mind, however, that iOS users tend to engage with apps more than Android users do. In addition to this, users who opt-in to push notifications engage with apps 88% more than those who don’t.

Also remember that just because you’re sending out push notifications yourself doesn’t mean that it’s free – if you’re the CEO of your company, you’re using your own time. If an employee of yours is sending them out, they’re using their own time – and time is money.

Sending a push notification, no matter if you’re supplying the backend infrastructure, is never truly free of cost. There’s also one glaring issue with sending out push notifications yourself – you lack the ability to study your push notification analytics.

Implementing push notifications through an analytics platform

If you’re invested in making a successful app, you’re most likely going to use an analytics platform in order to, well, analyze how users engage with your app. If you use these types of services, they might just have their own push notification service.

While this does cost more than sending out the push notifications on your own, successfully running an app without the support of an analytics platform is nigh impossible. So if you’re already utilizing a service like this, you might as well make the most of it.

There are a lot of analytics platforms, but we prefer Kumulos. A major reason for this is because through their platform, you can schedule, send out, and analyze your push notifications – as well as create segmented campaigns.

Bringing your analytical capabilities and your push notification campaigns together has an extra bonus – you’re able to study patterns of user behavior (like the day of the week, or hour of the day) that a user is most likely to open up your app. If they didn’t open up your app at their usual time yesterday, send them a push notification with a message that serves as a gentle reminder for them to engage with your app.

Now, we’ve stated this before, but we’ll say it again: it’s incredibly important to keep one fact in mind when sending out a push notification – you are interrupting your users’ daily lives. It’s the digital version of being handed a flier while you walk down the sidewalk – or being asked to write down your signature for a cause.

That’s why there are four key factors behind successful push notifications:

  1. Targeted
  2. Immediately beneficial to your users
  3. Attention-grabbing
  4. Billboard rule (less than ten words, ideally 7)

If your push notifications fall into the realm of “sales-y,” you actually run the risk of decreasing your app’s user engagement, and increase the chances of users abandoning your app in favor of one that doesn’t annoy them.

Bob Lawson, Founder, Kumulos says, “We 100% agree that push notifications are worth it, when done correctly. It’s far less expensive to retain existing app users than work on acquiring additional users. Having the ability to analyze the results of push notification campaigns is key to driving successful outcomes for any app.”

If you’re using a platform like Kumulos to both analyze user behavior and send out push notifications, you’re more likely to find the sweet spot between grabbing your users’ attention (for their own benefit), and interrupting them (for the benefit of your metrics). Users can easily tell which category your message falls into – and they’ll react accordingly.

This is why, even though it costs more (at least initially) to subscribe to an analytics platform with push notifications capabilities, it’s ultimately more economical to do so than going the “free” route.

Targeting the needs of your users, and providing them with a pertinent CTA is how you increase your user engagement. Shouting into the void, or asking your users to do something for your app while providing no benefit in return is how you lose users.

Here’s an example of a bad push notification:

Hi! This is _______! We’d love it if you could review and rate ______, the app you love, in the app store! Here’s a link to share us on social media: [link]

And here’s an example of a push notification that accomplishes the same thing, but in a way that’s beneficial for both your app and your users:

One month free for rating ______: [Link]

Now, that might seem like a low effort sales pitch, but what’s less of an interruption? “Here’s the thing,” versus “Hi! Here’s this great thing we’d like you to know about! If you want to act upon this thing, visit here!”

The second example also provides users with an immediate benefit: “one month free.” Don’t bury the lead.

There are other strategies for getting the most from push notifications, namely Proximity Marketing. If you’d like to learn more about that, check out our guest blog from Kumulos’ Caroline McClelland.

The last thing we want to cover is that sometimes push notifications aren’t the best way to go about increasing your user engagement and retention. Like anything in this world, context is key to success.

Understand how your users’ interact with your app, and if that interaction could receive benefit from push notifications. If there’s no benefit they could provide your app, don’t use them.

So, how much do push notifications cost?

As much as you want them to. Just remember; the more investment you put into analyzing your users’ needs and usage patterns, the more targeted (and segmented) of a push notification campaign you can make – which in turn results in better responses to your push notifications.

Don’t be the seedy car sales representative. Be the friend who wants their friend group to know about the cool thing.

How much does it cost to add a GPS & mapping API?

How much does it cost to include a GPS and mapping API in your app?

Depending on what you want your app to achieve, the answer can vary drastically. It also depends on the API you want to use, the type of app you’re making, and the functionality you want your map to provide.

Let’s go over the cost of some of the more popular GPS and mapping APIs, starting with the most well-known of all:

Google Maps

First of all, if your app is free (as in no cost to download, no ad revenue, and no subscription fee) Google Maps is free to use. This includes all of their API’s functionality – directions, routing, street view, and all the other functionalities.

Google Maps also provides app developers with the ability to customize their map – this includes colors, information presented, and much more. The customized map can then be copied as simple Javascript to be implemented into your app – this works with both Android and iOS platforms.

Google Maps’ costs are as follows:

  • Embed Advance: $14 per month
  • Static Maps: $2.00 per month
  • Dynamic Maps: $7.00 per month
  • Static Street View: $7.00 per month
  • Dynamic Street View: $14.00 per month

For more information, visit Google Map’s pricing page.

Keep in mind that even if you’re on a free plan for Google’s API (or any API for that matter), it still takes time and costs money for developers to implement that API into your app. Most APIs also require a backend through which they access data, which adds to your costs. Backend service pricing varies wildly.

USE OUR APP COST CALCULATOR TO ESTIMATE THE COST TO BUILD YOUR APP

Mapbox

Another GPS and mapping API, Mapbox is free-to-implement as long as you stay below the magic number of 50,000 views/requests/users a month. Mapbox gives developers the ability to provide users with real-time navigation, augmented reality, and data visualization. Their API is customizable, and their tools for visualizing data can be used on the web, mobile, and desktop.

If you go over that magic number of 50,000, the price moves up to fifty cents per 1,000 map views, geocoding requests, directions requests, matrix elements, and Tilequery requests. If you’re building an enterprise app, you can get a volume discount if your numbers are over 5 million for the same categories.

Mapbox can be implemented for both Android and iOS apps.

For more information, visit Mapbox’s pricing page.

 

SCHEDULE A CONSULTATION WITH AN APP DEVELOPMENT EXPERT TO GET A CUSTOMIZED QUOTE!

Tom Tom

Tom Tom is yet another mapping API – rather than providing a pricing plan based on interactions per month, Tom Tom offers you 2,500 API transactions on a daily basis. This number is reset each day. Keep in mind that a transaction isn’t a user opening your app, using the map functionality, and then closing it. For their maps API and traffic tiles, one transaction is equal to fifteen requests.

If you’re going to go above those 2,500 free transactions per day, you can check out Tom Tom’s pricing page here. For 50,000 transactions, the price is $25.00, and for ten million the price is $4,199.00 – as you can see, depending on how many users you expect, your costs can vary significantly.

So just what are GPS and mapping APIs?

First, let’s cover the basics – API, just in case you aren’t familiar with the acronym, stands for Application Programming Interface. Basically, an API provides a developer with set of functionalities and protocols that define how pieces of software interact with each other.

In regards to an what an API call (also referred to as an API request) is, it’s essentially a piece of software in an app connecting to a server in order to transmit data between the server and the app. This is all made possible by backend integration.

This is how GPS and mapping APIs are able to update users with directions, or can display (and react to) traffic conditions. Every time your users interact with the mapping API your app uses (for instance, finding the nearest gas station) they are guided by directions that are provided by multiple API calls.

The app communicates to the server where it is, and the server uses that data to correctly display the next step in their route. This process is continued until the user has reached their destination.

This is why most GPS and mapping APIs offer different options from which to mix and match – and why you should choose which features you want to include carefully. While mapping APIs are designed to scale with your usage volume, they do become more expensive as your user base grows.

It’s always easier to add functionalities than it is to take them away – your users will be disappointed and dissatisfied if they notice a feature that was available to them is no longer there.

That’s why we recommend starting out your app as an MVP.

 

How to build a mobile app: App lifecycle Management

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

Let’s explore ALM:

ALM

Step 1: Ideation

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

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

Step 2: Requirements gathering

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

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

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

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

Step 3: Design

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

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

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

Step 4: Develop

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

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

Step 5: Testing

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

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

Step 6: Soft launch (quality assurance)

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

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

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

Step 7: Deploy

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

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

Step 8: Analytical review

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

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

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

Step 9: Enhancements

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

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

The effects of not updating your app

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

Updating your app is important for the following reasons:

App Trends

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

Security

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

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

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

Bug Fixing

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

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

Android development: What you need to know

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

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

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

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

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

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

The tools available to developers

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

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

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

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

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

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

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

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

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

The hierarchy of Android

There are four layers to the Android OS:

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

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

The building blocks of an Android App

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

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

Activities

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

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

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

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

Intents

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

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

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

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

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

Services

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

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

Broadcast receivers

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

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

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

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

Content providers

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

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

The manifest file

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

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

Where to go from here?

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

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

Glossary of developer jargon:

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

App development pitfalls

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

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

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

Development pitfalls

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

Make on-boarding difficult

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

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

No alternate options for logging in

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

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

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

Asking for payment info too soon

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

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

Not conducting market research

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

More specifically about market research…

Not finding a niche

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

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

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

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

Copying competition

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

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

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

Trying to accomplish everything

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

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

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

Not considering the use case

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

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

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

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

Multi-platform launch

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

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

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

Not considering different markets on different platforms

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

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

Insufficient beta testing

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

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

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

Ignoring A/B testing

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

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

Speaking of…

Not checking analytics

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

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

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

Putting user acquisition over user retention

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

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

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

Not interacting/engaging/updating

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

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

No post development plan

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

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

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

Expecting immediate ROI

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

Not considering hidden costs

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

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

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

Follow your own path

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

How to build a mobile app: App design

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

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

Step 1: Find the problem

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Step 3 – Build your brand

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

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

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

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

Step 4 – Make it work

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

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

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

Some other prototyping tools you can use:

Platforms, themes, and user expectations

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

Android design principles

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

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

iOS design principles

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

Click here for the iOS style guide.

General app design principles

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

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

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

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

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

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

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

Nitpick the details

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

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

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

Understand the problem

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

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

How to build a mobile app: Actionable apps

Did you know that within the first three days of an app being downloaded, 77% of the users who downloaded it have already deleted it from their device?

It doesn’t get any better with time, either – after a month, 90% of users will have abandoned the app. There’s many reasons for this – ranging from the app taking up too much storage space, to unresolved bugs like crashes causing users frustration, enough of which leads to the users switching to another, more reliable app.

For a lot of app publishers however, the problem isn’t user acquisition – it’s user retention. Sometimes it’s for the reasons listed above, but unfortunately, it’s quite often due to the app not providing anything solid for its users to act upon.

Actions speak louder than words

There are many tools you can use to drive user engagement through action – too many to cover completely. And for a lot of apps, the pain points they solve are unique, and therefore use toolsets tailor-made to the particular problem they are designed to solve.

There are, however, general categories of CTAs you can use to drive your app’s user engagement:

  • Tools
  • Push notifications
  • Empowerment
  • Limited time offers and other classic CTAs

Actionable tools

Sometimes, the only thing you need to make an actionable app is a good idea. These can come in many forms – apps like Uber solve a particular pain point brilliantly, Instagram gives users the tools to make every photo look good, and games like long-gone Flappybird toe the line perfectly between simplistic, eye-catching, and just downright fun.

All of these apps listed above are million dollar ideas, or to be more accurate, multi-million (or even billion) dollar ideas. If you’ve come up with a truly ground breaking solution that effects a wide ranging audience before anyone else, or you solve a common pain point better than anyone else, your app fits into this category. After acquisition, you’ve got little to worry about – your app will drive it’s own user engagement.

Not every app built from a good idea will achieve this rockstar status, however – and shouldn’t be compared to giants like Uber. Taxis have been a widespread thing in even the smallest of towns for a long time – Uber just provided a smoother user experience. The whole ride share industry is booming due to its enormous demand – everyone needs some form of transportation, whether it’s a car, bike, or scooter.

Some good ideas focus on smaller market segments – and that’s not a bad thing. A smaller market segment means a close-knit tribe to engage with. Take, for example, Whystle. It’s an app that provides its users with alerts about product and safety recalls announced from government agencies like the FDA or FTC, and the industries they regulate.

While an app like that won’t appeal to as many people as an app like Instagram, Whystle solves a pain point facing many users – health and safety conscious consumers no longer have to scour a multitude of websites for news about recalls – they can just open up Whystle and scroll through a list in a matter of seconds.

Creating an inherently actionable app is the hardest type of actionable app to achieve; but the best way to go about this isn’t to search for a moment of inspiration – it’s all about doing market research, identifying a pain point that has yet to be solved by an app, and then figuring out how to make an app that provides the solution.

For more tips about app ideation, check out our blog on the topic.

On the other side of the coin, you can look at what apps are doing well, and then provide the same tools for a different segment of that market. Think of Uber vs. Lyft.

The equation behind any successful app that serves users as a tool is: pain point + solution + user experience + ASO = high user retention and acquisition.

Push notifications

Push notifications are a powerful CTA tool – they can increase user retention by up to 180%, and users that opt in to push notifications engage with apps 88% more than those who don’t.

The trick is to remember that a push notification will almost 100% of the time be seen as an interruption to your users – the only time it wouldn’t be is if the user is currently navigating to open up your app.

Due to their inherently disruptive nature, push notifications must always have at least one of the following traits (and optimally, both):

  • Provides an immediately tangible benefit
  • Is a personalized reminder or offer

Sending spammy or plain broadcasted push notifications to your users doesn’t have the same impact as personalized ones – broadcasted push notifications have an engagement rate of 15%, while personalized more than triple that with an engagement rate of 54%. Take the time to analyze your user data and craft personalized messages for push notifications – it will pay off.

Look at user metrics like the time of day they engage with your app, the countries they live in, the device they use, the products or content they click on, and then make messages specific to those interests. If you have a segment of users that live in Portugal, craft them messages in Portuguese. If they’ve looked at a specific product a few times and then left their session, send them a push notification with a 5% off code for that product.

The more personal the better. They can also be used to make the most out of a bad situation – for instance, if a user experiences a crash while using your app, send them a push notification apologizing for the issue, and that you’re working to fix it. This kind of personal engagement gives you a much better chance at retaining the user after a bad experience.

An easy way to keep track and make sense of personalized user data is with an analytics platform like Kumulos. Kumulos also gives you a platform to both send out and analyze the results of personalized push notifications.

Due to geofencing and location services, push notifications can now be more personalized and poignant than ever with proximity marketing. These can be used to engage users when they are near a physical location pertinent to your app; for example, if you ran an e-bike service, you could send a user a push notification when they are within two blocks from a bike station.

For more information about proximity marketing check out our guest blog on the topic by Kumulos Marketing Manager Caroline McClelland.

Empowerment

These are apps that somewhat fall into the tool category, but rather than providing a service or tool, give users encouragement to complete tasks. This can be achieved in many different ways; an exercise app can keep track of a users gains or times in order to demonstrate their accomplishments, or a sandwich shop can use an app to keep track of how many lunches a customer has had, and reward them for every tenth meal purchased.

Apps that empower their users like this will often see high engagement – they give users a goal to continuously strive towards – whether it’s losing weight or buying that tenth turkey club. In order to check their progress, users have to open up your app, which consequently leads to higher engagement.

Limited time offers and other classic CTAs

Most marketing and sales tactics are transferrable to apps, and the most common channel for these strategies is through push notifications. Let’s revisit that proximity marketing example – not only can you alert a user that your service is close to their current location, you can make the offer even more enticing by adding fear of loss into the mix: Hey, we noticed you’re close to one of our scooter stations, but there’s only 2 left! Hurry before they’re all gone!

These tactics don’t have to be applied to only push notifications, however. Other digital mediums like newsletters, social media, the app store, and any other channel you engage users through can be used to promote limited time offers.

Personalization and user benefit

Those two features are the bottom line to creating an actionable app. Create pertinent CTAs that provide users with an immediate benefit – whether it’s through the tools your app provides, push notifications, or encouraging the completion of goals. Remember to specifically tailor your CTAs to both your brand and the users you’re engaging with, and don’t be afraid to try new things, as long as you follow the golden rule of user engagement – engage users like friends, not like customers.

Improving your business operations and culture with an internal app

Very rarely does a change in your business’ process relate to a boost throughout the entirety of your company’s systems and departments – and you’d be right to be wary of anyone claiming to be able to facilitate such sweeping reform.

But there is one change you can make that will increase your company’s efficiency, communication, collaboration, training, and employee retention, as well as inventory management, accounting, service, and sales – all of these facets of your business can be improved simultaneously by creating an internal mobile app for your employees and operations.

Most companies understand the power of reaching out to their audiences using a consumer-facing mobile app. Global mobile traffic hovers at around 50% of all internet usage, and 82% of all mobile users in the U.S. made at least one online purchase through their mobile device as of December 2017. Out of all that mobile traffic, 90% comes from time spent using apps.

Stats like these are compelling – and make for good figures to show to board rooms. But here’s another stat to consider: A study conducted by the Society of Human Resource Management found that large corporations (~100,000 employees) reported an average loss of $62.4 million per year due to miscommunication, and small companies (<100 employees) on average report a loss of $420,000 a year for the same reason.

Those are the direct opposite of insignificant figures. Let’s look into the various ways a mobile app can boost your business’ bottom line and employee culture at the same time.

Improve your employees’ communication consistency

Have you ever called an employee’s phone, and not gotten an answer? Of course you have. Does your team struggle to keep on top of emails from other team members? More than likely, at least sometimes.

With your own internal app, you can keep all communication under one roof – a good way to ensure employees with multiple emails or phone numbers are kept in the loop. This also helps keep past conversations organized, which makes referencing data supplied by co-workers a much faster process for employees working on a project or being trained, lessening the amount of interruption in workflow they face on a daily, hourly, or even minute-by-minute basis.

Workers switching between programs or even devices might not seem like the massive time sink that it actually is – but consider the decision of UPS to not make left turns; they invested in a software that mapped the United States (as well as most of the world), in order to nearly eradicate left turns from their parcel delivery truck routes. This decision ended up saving the company over 20 million gallons of fuel every year – those seconds it takes to make a left turn add up, and the same is for employees waiting for that one program that always takes so long to boot up.

Email is the left turn of inter-office communication. An app keeps everyone, at all times (at least during work hours), in real-time communication with each other – no delays or time spent finding someone.

Your internal app doesn’t have to be limited to the four walls of your office, either – we actually include our clients in their own specific channel in order to ensure clear and quick communication, as well as transparency in the development process. Our business developer regularly sends us photos of cool things happening in the city during his client meet ups – or a photo of his passenger seat laden with donuts on their way back to the office.

If you work in collaboration with any outside teams, agencies, or freelancers, or have a sales or service team in the field, a mobile app keeps them in constant communication as well.

Communication is the key to a strong & collaborative culture

Everyone likes being heard – and from reasons ranging from remote workers to introverted employees, it can be difficult for some of your employees’ voices to be recognized. According to a Gallup poll, 70% of the work force is disengaged – and reasons reported include:

  • Lack of feedback or direction from their manager
  • Lack of socialization with their team
  • Lack of understanding of their company’s mission and values
  • Lack of proper communication between them and their manager

All of these issues can easily be solved with an internal business app. For example, a few months ago, I experienced a death in my family; in the following weeks, the messages and encouragement I would receive from our CEO and my team members were enormously beneficial to my productivity, my well being, and my connection to NS804.

All of our communication is done through this channel. The connection it provides is the backbone of our culture – it’s surprising how empty even a small office can feel without some form of instant communication available.

Our CEO can randomly quiz us on our core principles, and give out rewards to the person who responds the fastest; non-punitive competitions like this help keep employees engaged with your core values, promote healthy, lighthearted conversations between managers and employees, and empower introverted team members that might not be comfortable shouting out “Humble, passionate, unified, grateful, service!” in the conference room.

It’s a level playing field for all types of communication, and keeps employees focused on your goals, and engaged with the work necessary to achieve them. Remember that figure of 70% of the work force being disengaged from their employer? They cost organizations $450 – $500 billion annually – with an internal business app, those organizations could re-engage with a portion of that 70%. Even an employee engagement rate increase of 10% would be equivalent to a $50 billion increase in revenue for those organizations.

That’s not a paltry sum.

Efficiency

An internal business app doesn’t just provide your employees with a new way to talk to each other – it gives them the knowledge and tools of your entire company – and it’s all just a few inputs away.

There’s one word that will make any retail or manufacturing company shiver: inventory.

Between your accounting, sales, and service departments, there’s bound to be a discrepancy in numbers eventually – or, for example, a service employee could grab a part from your stock for a customer in your store, but accounting isn’t made aware of it in time to warn your sales rep that they can only guarantee that new client of yours 49 parts instead of the 50 they were just promised.

An internal business app can stop those handshakes from happening. With an internal business app, your business developer will never again make promise your company can’t keep because you’re one part short from a full order – instead, they’ll impress their client with: “Oh, looks like we just had another sale from that lot. I can get you the partial order right now for a discounted price, or get that order to you in full tomorrow.”

When a client sees that your business developer is that in tune with your company, and that knowledgeable about your capabilities, they are subtly shown that your company will be the most attentive to their needs. Rather than saying, “We take care of our clients,” you can show them in real time.

Internal business apps give these systems (inventory management, accounting, service, and sales) the ability to work off of the same number sets, the same SKUs, and the same reports. If your service department accesses inventory, accounting, sales, and the inventory manager are made aware of the change instantly. With the growing on-demand economy, the ability to report accurate numbers in real time will be imperative to your growth and success.

Internal business apps boost your workflow, make you more adaptable, and improve your client and customer relations

Mobile apps have undoubtably had an enormous impact on the way customers and clients engage with businesses – the companies that migrated to mobile engagement are reaping the rewards right now. The same will be true for companies that utilize internal business apps – they will be more efficient, providing a better customer experience, and they’ll boost employee retention and culture.

A company that boasts high customer and employee satisfaction? That’s one that I’d bet on.

The end of the tech sector?

Name an industry that hasn’t been changed by tech. I’ve been sitting here for the past twenty minutes trying to think of one, and I haven’t been able come up with anything. Even linguistics aren’t immune – the preface “smart” is even more pervasive than “HD” was in the late 00’s and early 10’s. Smartphones, smartwatches, smartTVs, smart locks, smart cars, Smart Water, smart homes…

The tech sector has never been stronger (when weighing its economic and cultural impact both) – and yet, the next few years may just be the end of it. Not because companies like Amazon are a trend that will fizzle out as predicted by economists in the early 00’s, but because companies like Amazon aren’t just online retailers anymore. Google isn’t just a search engine for the web – it’s a search engine for everything.

Soon (given the current rate of innovation), the tech sector will cease to exist because it won’t just be a sector, but rather the economy itself.

The user experience

The melding of the tech sector with other industries has been both sudden and violent, and yet intrinsic to the success of the current leaders of the economy today. Just as other industries benefit from the inclusion of tech, so to does tech benefit from partnering with those industries; it’s the natural avenue of progression for tech’s growth.

Surface features, like refrigerators and mirrors enhanced with LCD screens that tell you the weather is an obvious inclusion of tech – but these changes are superficial. The screen on your refrigerator isn’t the end game – it’s part of a system that’s been in the making for the past decade.

The overarching theme in any user-facing software is to provide good UX by focusing on solving a pain point with an easy to use tool that takes the stress out of solving the user’s problem. No one was ever asking to check stocks in the bathroom mirror – but they were showing companies (by the products they purchase) that they like universal services.

When smartphones went from something everyone wanted to something everyone had, mobile traffic very rapidly took over half the share of internet usage, and is now the leading source of all internet traffic.

This wasn’t because there was a new device with a screen on it, it’s because people wanted to use the internet everywhere, and all of a sudden, they could. We just happen to spend a lot of our day not in front of a desktop, laptop or tablet – and when you’re standing in front of the mirror combing your hair, or opening the fridge to grab a snack, your hands are usually occupied. No one appreciates a weather-telling refrigerator, but they do appreciate one that gives them the ability to continue taking in visual information while interacting with their Google Assistant, or Alexa, or HomePod, or whatever name Facebook will come up with, when their hands are otherwise occupied.

There’s a comforting feeling you get (at least I do) when using tech to solve problems, due to the user experience that’s been baked in since the dawn of the internet.

Yesterday, when chatting with a Grubhub customer service representative, I noticed something; I didn’t feel the usual anxiety of talking over a phone. If they didn’t have a chat feature, I probably wouldn’t have even communicated the issue I had with their service – I wasn’t as much dissatisfied as I was confused, and the interaction over the phone wouldn’t have been worth the emotional investment – but the interaction I had with Grubhub through the chat feature ended up increasing my brand loyalty by providing customer service through a channel I preferred.

Companies are always looking for new ways to communicate with their customers – especially those that provide a service. Tech has the added benefit (and upper hand) of it’s main point of interaction remaining with the customer at all times.

This is why Amazon can afford to open up physical book stores and buy out Whole Foods. Why Google is entering the video game industry with the Stadia – because they’re better built to work within the still emerging digital economy, and like water, economic growth will seek the path of least resistance – and for tech, that direction is towards home services and beyond.

The new vertical integration

Tesla might be a car company – but they don’t just make cars. They write auto-pilot software, build batteries and energy storage facilities, and supply the charging stations that keep their cars running. But this is the usual, time-honored vertical integration we all know.

Google and Amazon are competing to provide both customers and companies with fully integrated customer acquisition funnels. Customers can use their Alexa or Google Home to find a company that provides a service, while companies can use ad platforms provided by Google and Amazon to reach the customers. Google and Amazon provide the cloud storage the other companies use to host their website and app, provide the analytics of their platforms’ user acquisition, and provide companies with customers’ data.

Amazon buys food, sells that food in a physical location and through a digital platform, handles the transportation of the food (from either factory-to-store, or store-to-customer), and uses the data from what the customer bought to sell to advertisers and create more pertinent targeted ads.

Google will give users the ability to control almost every aspect of their home; through Google Home, you’ll be able to find and book, for example, a furnace repair service, without worrying if you’ll even be there. Your Google Home could use the porch camera to verify the technician was their at the scheduled time, open the smart locks, and record the entire visit.

Tech has evolved

It isn’t web dev or apps or blockchain or VR – tech is rapidly becoming the way we want to interact with everything. The words “user” and “customer” have almost become synonymous, and as such, brands are expected to provide a user experience that is unique, searchable, and unified within the system that is the internet of things. Companies like Alphabet, Amazon, Facebook, and Apple all stand to benefit greatly from the coming customer acquisition revolution.