Improving inventory and supply chain management with an internal business app

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

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

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

Common inventory management problems

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

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

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

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

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

Low product turnover

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

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

Excess inventory

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

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

Failure to keep track of stock

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

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

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

Poor service levels

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

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

Difficulty identifying demand patterns

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

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

Lack of visibility

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

Common supply chain management problems

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

Cost control

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

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

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

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

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

Supplier and partner relationship management

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

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

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

Finding talent

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

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

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

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

Apps aren’t just for consumers

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

How to build a mobile app: App lifecycle Management

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

Let’s explore ALM:

ALM

Step 1: Ideation

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

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

Step 2: Requirements gathering

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

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

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

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

Step 3: Design

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

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

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

Step 4: Develop

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

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

Step 5: Testing

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

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

Step 6: Soft launch (quality assurance)

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

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

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

Step 7: Deploy

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

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

Step 8: Analytical review

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

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

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

Step 9: Enhancements

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

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

The effects of not updating your app

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

Updating your app is important for the following reasons:

App Trends

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

Security

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

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

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

Bug Fixing

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

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

Android development: What you need to know

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

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

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

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

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

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

The tools available to developers

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

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

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

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

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

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

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

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

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

The hierarchy of Android

There are four layers to the Android OS:

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

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

The building blocks of an Android App

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

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

Activities

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

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

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

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

Intents

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

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

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

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

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

Services

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

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

Broadcast receivers

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

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

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

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

Content providers

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

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

The manifest file

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

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

Where to go from here?

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

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

Glossary of developer jargon:

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

App development pitfalls

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

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

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

Development pitfalls

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

Make on-boarding difficult

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

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

No alternate options for logging in

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

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

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

Asking for payment info too soon

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

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

Not conducting market research

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

More specifically about market research…

Not finding a niche

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

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

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

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

Copying competition

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

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

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

Trying to accomplish everything

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

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

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

Not considering the use case

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

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

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

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

Multi-platform launch

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

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

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

Not considering different markets on different platforms

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

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

Insufficient beta testing

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

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

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

Ignoring A/B testing

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

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

Speaking of…

Not checking analytics

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

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

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

Putting user acquisition over user retention

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

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

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

Not interacting/engaging/updating

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

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

No post development plan

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

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

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

Expecting immediate ROI

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

Not considering hidden costs

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

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

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

Follow your own path

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

How to build a mobile app: App design

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

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

Step 1: Find the problem

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Step 3 – Build your brand

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

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

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

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

Step 4 – Make it work

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

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

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

Some other prototyping tools you can use:

Platforms, themes, and user expectations

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

Android design principles

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

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

iOS design principles

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

Click here for the iOS style guide.

General app design principles

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

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

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

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

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

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

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

Nitpick the details

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

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

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

Understand the problem

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

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

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.

How to communicate with developers

We are recognized as a top App Design & Development Company on DesignRush.

The wind blew across the blue waves, and set the tone of the day: blue. There is a downed tree in their yard, I wonder when they’re going to take care of it? Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.

Language is an imprecise tool – especially when you’re attempting to communicate abstract, involved ideas and concepts. Language barriers aren’t just limited to foreign languages – they’re present amongst different professions as well.

Take, for example, the muddy waters of acronyms (which tech is rife with): A chemical engineer is talking to a software engineer about APIs. The chemical engineer thinks they’re speaking about Active Pharmaceutical Ingredients, and the software engineer is thinking Application Programming Interfaces – they’re both engineers (admittedly in very different fields) but they’re talking about completely different subjects, all while using the exact same acronym.

This game of telephone is compounded when two (or more) people who work within completely different schools of thought are communicating the intentions of their ideas. We’ve all been trained to think in different ways, depending on our type of profession: writers live and die by the five w’s and the upside down pyramid, while graphic designers think in the rule of thirds and adhere to visual hierarchy. Mechanical engineers live and breathe f=ma and deal with safety regulations while physicists work with… well, who really knows? You get the idea.

Okay, okay… just one more. A software engineer is sent to the grocery store with a set of instructions: “Buy a carton of milk, and if they have eggs, get six.” The engineer comes back with six cartons of milk. The person who sent them to the store asks, “why did you buy six cartons of milk?” The engineer replies, “They had eggs.”

How to break through the barrier

The first thing to keep in mind (and this is very important) is that software engineers are people too. As much fun as it is to pretend like they’re robots, they have feelings just like you and me – and communicating with them as such is crucial to a successful development cycle.

The easiest way to get around miscommunication is to accept it will happen – and plan for it in your development schedule. There’s a lot going on during mobile app development – a UI designer will look at a project one way, while a programmer will look at it from a different lens, and a project manager will have a unique perspective as well.

Treat your people like people, and you’ll already be miles ahead.

Be organized

It doesn’t matter what tools your team uses to communicate with each other and keep tasks organized – all that matters is you do it. There’s a bunch of project management platforms out there for you to choose from, but it’s important to pick the one that fits your team’s needs and preferences the best.

We like to use Trello, as we can keep track of an entire sprint and the tasks that make up the sprint in an easily digestible format. Our project manager will break these tasks down into individual features that need to be implemented, with specific details of what the final product should be – the flow, the visuals, and the information that must be included.

It’s important to make a distinction here – a project manager doesn’t tell the software engineers how to implement a feature – just what features need to be implemented where. A good project manager can admit they aren’t as technically savvy as the software engineers (unless they were originally a programmer), and will communicate that to their dev team. A good project manager should also know every use case scenario, every step of the app’s process and it’s flow, and it’s entire feature set.

Our project manager rarely fields technical questions – most of the questions software engineers will ask are more about clarification than “how do I do this?” Questions you can expect from developers will be:

“Where should I place the quotations in the text field?” Or, “What font should I use?”

It’s best to provide every piece of information every time. Don’t worry about making your lists pretty – software engineers aren’t worried about that. What they’re concerned with is getting things to their exact specifications. If your project uses multiple fonts, denote which fonts should be used where for each and every task. If you need an to turn 50% opaque after being interacted with, include that information in the task.

There’s no such thing as “over describing” when it comes to code. Say what you mean in the simplest terms possible, repeat information whenever necessary, and communicate exactly what you want and expect. The less wiggle room, the better – be direct.

Code iterations can become repetitive – if you have a sneaking suspicion that you and a software developer are speaking about two different features, clarify. Programmers love clarification.

A picture is worth a thousand words

A prototype is worth a million. If your software engineers can actually analyze what the final product should look like, and how it should act, they’re much more likely to implement your concept correctly. Just like project management tools, there’s a lot of prototyping platforms out there. We prefer to use Invision.

It’s good practice to keep track of your assets by assigning a universal naming convention, i.e. “homescreen_header.svg” rather than just “header.svg”. This will help your developers keep track of what goes where. Checklists are a big help here.

Don’t be afraid to use sketches either – they don’t have to be pretty to get the idea across. Use every medium available to you to express your idea before development gets into the swing of things. Use flowcharts to help software engineers keep track of the flow of the app.

Know your project

Top to bottom, front to back. The more you know about your project – the better. Software engineers don’t have the answer to everything. The work they do might seem like magic, but a lot of programmers are very specialized – a front end developer might even have less knowledge about backend logic than you!

The key to good development is to build a good relationship with your software engineers – and this is achieved by clear and concise communication.

App Trends – If we were going to build an app, what would it be?

So, I’ve been writing content for NS804 for about six months now (congrats, me!), and for four of those months, I’ve had a singular question written at the top of my cubicle’s whiteboard:

What is the number one question people ask about making apps?

It’s a question I’ve been mulling over when I’m trying to sleep at night, and it’s something I try to consider during all of my content ideation. But it’s a pretty open-ended, context-subjective query.

I’m not even attempting to say I figured it out – I believe it’s an important question to continuously ask because it’s so chase-able and mutable. But I do think the subject of this blog post, at the very least, skims the surface.

The insider’s perspective

Just because I’ve only been creating content for NS804 for six months doesn’t mean I only have access to six months worth of mobile development experience – we’ve been around since 2012, after all.

I wanted to write a piece about app trends (which, if you’re looking for more content relating to current trends of the mobile market, check out this fantastic blog post by Kumulos’ Marketing Manager, Caroline McClelland). I also wanted to at least try to answer this question I’ve been chasing continuously.

So, in my best attempt to answer this previously posed question, I grabbed our CEO, Nick Jones, in our motivational poster-lined hall and asked, “If you were going to make an app, what would it be?”

Without hesitation, he responded with “On-Demand.” He’s a man of few, but pertinent words.

I also proposed the same question to our Business Development Manager, Jon Osborn. As his headphones blasted Biggie in the background (turn the volume down, Jon! Your poor ears!), he answered with:

“Enterprise AR, Process Consolidation (think a master platform), and games.”

So, let’s talk about those.

On-Demand apps

“Wait,” you might find yourself thinking. “On-demand isn’t trendy. Uber was 2009.”

And you’d be right about that – but just because the taxi service industry was flipped upside down a decade ago, doesn’t mean every industry has had its own shake-up. Both millennials and Gen Z have incredibly high purchasing power (in the billions), and love on-demand services – I might belong to the “industry-killing” millennial generation, but I would tout it’s much more accurate to say we like what we like, and we don’t what we don’t. I’ve always failed to see why “the customer is always right” doesn’t apply to millennials for some reason. The inability to adapt spelled the doom of the dinosaurs, just as it’ll spell the doom of Applebee’s. But, I’ve gone on a tangent.

There’s more ground to cover in the on-demand industry than just transportation and entertainment. The amount of service-based sectors that could evolve to work within an on-demand business model is truly staggering – and that’s why it’s expected to become a $335 billion industry by 2025.

The on-demand business model is the greatest boon to local and small businesses since, well, anything. On-demand services benefit from an intensely personal relationship to the consumer, so smaller companies actually have a leg up when compared to big box retailers and the like. Small companies with low overhead also have a strong potential to tailor their services to the demands of an on-demand business model, unlike their larger counterparts.

This isn’t to say large companies can implement their own on-demand services – just look at Kroger’s Pickup. The difference is, however, the potential for growth. If you’re a small business owner, this is the time to build an app to create an on-demand service within your business. It might seem like a heavy investment, but the payoff is worth it.

Millennials don’t like talking on the phone. It takes a lot of time, it’s not conducive to accurate dissemination of information, and it’s not on-demand enough. If your business uses phone calls to communicate with customers in any step of your funnel, you can implement an on-demand form of communication for booking, delivery, or any other service. If millennials are given the chance to place an order online or through an app versus over the phone, they’ll go with the online order every time – even if it takes a little longer.

Enterprise AR

This isn’t the first time I’ve written about AR at the enterprise level, and it certainly won’t be the last. Right now, with a lack of truly pervasive and useful wearables, AR or MxR isn’t entirely ready to make a splash. This is, however, soon to change; wearables are on the rise, and MxR headsets like Microsoft’s HoloLens 2 are soon going to be making waves in the manufacturing industry.

If you want to get ahead of the game with an evergreen, scalable app, go with AR. Once companies realize AR’s potential to dramatically cut training costs, improve worker efficiency, and increase quality, everyone is going to want an AR app to enhance their potential revenue.

Most of the logic behind AR apps is adaptable to many situations, so it’s incredibly scalable. If you build out your logic now, your business could focus on front end development for AR apps, and basically re-brand your backend to fit with the needs of your current client.

The “master platform” app

Time is money. That’s nothing new – but the potential to streamline a business’ internal processes has never been greater.

A master platform app is the perfect way to cut through the chaff of running a business – your accountants can access their books on their desktops, while your sales team can jot down and track leads through their phones, and your customer service reps can engage customers on their POS.

With one platform containing all of these different systems, it cuts down on training time, subscription fees, and time wasted transferring data between incompatible enterprise services.

The best part is, just like AR apps, the backend of a master platform app would largely be the same between one company or another, so it too is scalable.

Games

There’s nothing trendy about games, per se. Gaming trends come about with the advancement of technology – from mancala to jacks, to Pac Man and Flappybird.

There is a new trend coming about with mobile devices, however – foldable phones. This will be a huge boost for the UX of mobile games – right now, mobile games need to account for the fact that at least a quarter of the device’s screen will be blocked by the users’ thumbs. This will all change with foldable phones.

With the ability to interact with two screens, one can be dedicated to controls, opening up the possibility for more intricate or challenging game design. Visuals will also be enhanced as an entire screen can now be dedicated solely to display, rather than acting as a hybrid between visuals and control schemes.

The clamshell design is the optimal design for mobile (what was previously called hand-held) gaming – Nintendo adopted this style with the Gameboy SP in 2003, and with the release of the first generation DS three years later, solidified the UX of this design. Nintendo has been creating addicting games that utilize two screens in truly inspiring ways – and now mobile gaming will have the ability to do the same.

If you’ve been considering making a mobile game, but have been overwhelmed by the amount of saturation in the mobile gaming market, think about what you could do with a foldable phone. Many existent games will attempt to adapt their current UI to foldable phones, but it’ll be the games that were made with two screens in mind that will truly shine.

Think about the user

Trends are called trends for a reason – they’re not permanent, nor fool-proof rules. Whenever you’re in the process of ideation for a mobile app, always focus on achieving one goal – solving your users’ pain point. Nothing is as powerful (or profitable) as an app that creates a positive change in your users’ lives, and that’s not a trend – it’s human nature.

Measuring your app’s success – with Kumulos

For the past couple of months we’ve been going over both the basic theory of, and different strategies for the implementation of a successful ASO campaign. But one (very important) part we haven’t covered is how to actually measure your app’s growth.

There are many different ways to go about measuring your app’s success, but we’re going do a virtual tour of our favorite app analytics platform – Kumulos.

Before we do, we’re (really quickly) going to go over the absolute basics of ASO, and why it’s just as important to keep track of your ASO campaign as it is to come up with one.

ASO: Just the facts

  • ASO stands for App Store Optimization, and is the process of improving the visibility of an app through the means provided in the App Store or Google Play
  • Keywords are the basis of ASO – just like SEO
  • ASO isn’t just limited to the App Store or Google Play – it ties in with your SEO, as well as the UX of your app itself
  • The rules and trends of ASO are ever changing – just like SEO

Why you need to keep track of your app’s performance

Just because a keyword works well one week doesn’t mean it will perform well the next – staying on top of keyword trends requires close observation of your install rates when changes occur. Also, a powerful tool, A/B testing, can provide a big boost to your app’s rankings – but only if you analyze the data your changes bring.

Keeping track of your competitors performance is just as important as analyzing your own app’s success, and we’ll cover how to do just that a little bit later in this blog. To put it simply, if you’re not analyzing your app’s (and your competitors’) performance, you’re flying blind – and your ASO efforts will eventually hit a wall.

Measuring your app’s success – with Kumulos

There’s a lot you can do through Kumulos:

    Keep track of your ASO campaigns on both the App Store and Google Play – from your app’s description to when you last updated it, and everything in between

  1. Analyze (and create) reports on user acquisition and retention, as well as audience engagement, conversion rates, and your API performance
  2. Explore and analyze events
  3. Keep track of your backend: API use, current SDKs, tables, and more
  4. View reports that are updated every 5 minutes covering app issues, crashes, and other monitoring checks
  5. Last but not least- schedule, implement, and analyze push notifications
  6. Managing your ASO with Kumulos

    Kumulos

    This is the screen you will see after opening your app’s ASO tab. From here you can view all of the information your app displays on the App Store and Google play.

    From the ASO tab, you can compare both your App Store and Google Play efforts. This keeps the access of this information in one place, making it easy for developers to keep track of both campaigns – and allows for simple synchronization, or differentiation, depending on how users on both platforms respond to your ASO campaign implementations.

    Kumulos

    When you click on a specific tab under ASO, Kumulos will give you a detailed breakdown of all pertinent data

    Not only does Kumulos keep track of your keyword rankings, it also helps you figure out how your competitors are doing as well:

    Kumulos

    By clicking the gear highlighted above, you can find a lot of information on your own keywords, and your competition’s:

    Kumulos

    Knowing what keywords your competition is ranking for can help you decide where to focus – consider the following when strategizing your keywords:

    • Just because everyone else is competing for a certain keyword or phrase, doesn’t mean it’s the best
    • Try putting high-competition keywords in the title of your app. For example, “Brew Trader – Trade Beer Better”
    • Mix in low-competition keywords to catch potential users, such as “Beer Trader” versus the more popular “Beer Swap”
    • Make sure most of your keywords and phrases are as specific as possible – while it is important to rank for generic keywords like “beer,” you’ll achieve higher rankings by getting specific with your keywords

    Kumulos also keeps track of your app’s user ranking and user reviews, so you never have to leave the Kumulos portal to analyze the entirety of your ASO.

    Tracking analytics with Kumulos

    Kumulos

    This is where things start to get really cool – as you can see above, there’s a lot you can do with the analytics tab.

    1. Acquisition

    Kumulos

    By clicking the menu button highlighted above, you can select specific items to visualize

    Some things to keep in mind when looking at your app’s acquisition:

    • Retention is an important stat if you app has a demand for daily use – if it doesn’t, you don’t need to worry about it too much
    • Daily users and monthly installs are key metrics to keep track of
    • Look for power users (users who log in continually and daily)
    • Your acquisition report is your key to A/B testing – this is where you’ll find out if the change you made (such as switching your app’s icon or swapping a keyword) had a positive or negative impact on your conversion rates.

      Under acquisition, you’ll also find:

      Kumulos

      How your rankings have changed over time, compared to your competitors.

      2. Audience

      Kumulos

      You’ll use this tab to figure out where you users are coming from, as well as:

      Kumulos

      Breakdowns of which users are using which platform (sorted by version), and which version of your app they are using.

      Use this section to help plan your acquisition campaigns, and keep track of the OS users are on – if a large portion of your users are on older versions of an OS, you’ll want to make sure your updates don’t ruin their UX (such as reducing the compatibility with smaller screen resolutions).

      3. Engagement

      The first thing you’ll see under engagement is this:

      Kumulos

      By studying your session distribution chart, you can figure out the best times to send out push notifications. There are two ways to go about scheduling push notifications:

      1. Send notifications on a busy day right before a peak usage time (in order to maximize the number of users in a given span of time)
      2. Or, send notifications on slower days to boost retention on low volume days

      You can always mix and match to get the most from your push notifications, but we’ll get more into that later.

      Reports via Kumulos

      My favorite Kumulos feature is the report tab. You can generate an interactive PDF based on a range of dates that will provide a breakdown of all the information you’ll need to make strategic decisions for your ASO campaign.

      Kumulos

      Push

      Kumulos

      Under the push tab, you can keep track of who is subscribing to your push notifications. You can also schedule and automate notifications, as well as target specific groups of users, and analyze who’s opening what.

      Kumulos

      Kumulos does a fantastic job of organizing a facet of ASO that is difficult to keep track of, especially with the “sent” tab. Here, you can look back through your app’s history of campaign-driven and event-driven notifications in order to keep track of where you are within a campaign.

      Backend

      Kumulos

      Here you can find everything you need to keep track of your app’s backend: API use, SDKs, API performance, Hookup connection, and all of your application’s details.

      Diagnostics

      Kumulos

      This is a tab you should visit at least once a day – the effects of crashes or app issues on your app’s ASO can quickly spiral out of control. Kumulos helps you keep track by continuously updating this tab every five minutes, so you know as soon as something happens.

      Kumulos is an all-in-one app analytics platform

      Not only does Kumulos provide a complete hub of all your ASO information, it’s very user friendly – this is especially due to the report feature, which allows you to send all the analytics of a campaign in an auto-populated PDF for easy dissemination of information. We love sending these reports to clients, as the data breakdowns are simple enough for anyone to digest – whether or not they know the theory behind ASO.

      The push feature is great as well – not only does Kumulos keep track of all your analytics, it actually provides an actionable service. This is a powerful inclusion in the platform, as it gives you the ability to directly analyze user opening trends, and create a new push campaign based on your analytics, all without ever leaving their service!

      Anyway, I just want to say a thank you to the folks over at Kumulos for their help with this blog – and if you’re interested in getting started with Kumulos, drop by and give them a ring! They’re all fantastic people!