Chapter 1: An Introduction to App Development Terminology
It is no secret that to ensure the success of a business, you must constantly look for new opportunities to grow and find unique ways to deliver services to customers. According to App Annie, between 2015 and 2020 the global mobile app store downloads will more than double, reaching up to 284 billion downloads, because of the use of smartphones in emerging markets. With this data in mind, it is clear that mobile applications are a current technological trend with businesses jumping on board to create an app for their brand to increase interest from existing customers as well as drawing in more attention from future potential consumers.
Because it can be intimidating being faced with all the technical language associated with app development, the act of actually creating an app may seem very complicated to you. You might be thinking to yourself that maybe you aren’t tech savvy enough to take on such a project. Have no fear, because it is possible to understand app development without a background in tech or programming.
This is the first chapter in a series of blog posts surrounding the theme of app development for the non-tech savvy. This chapter will go over introducing some terminology to help you through the app development process including learning about MVP, API, SDK, MBaaS, UX and UI. Don’t let these terms make you uneasy, we are here to help, so let’s dive in!
First and Foremost: What is an MVP?
If you weren’t already aware, in business, MVP stands for minimum viable product, which according to Eric Ries, the author of Lean Startup, this can be defined as “a version of a new product which allows a team to collect the maximum amount of validated learnings about customers with the least effort.
Essentially, an MVP is a new product developed with enough features and value to appease early customers into using or buying it. All final features of your product are only designed, developed and completed after feedback is given from the product’s early users. In terms of mobile app development, your MVP includes the necessary features needed to help solve a problem for users which can then be released on the market.
Now that you have an understanding of the definition, you may be wondering what the purpose is for having an MVP. What’s the big deal? A minimum viable product is a great learning experience to help you gain insight about the market you want to go into and learn about the potential consumers who will use your product. It gives you the chance to get feedback from your users, prove the business potential of your product and allow for future stages of development of your MVP.
Criteria to Know Before Launching an MVP
However, before throwing yourself into developing an MVP, there are a few things you should consider:
- Know your target. Have a focus on what market you are getting into and know your demographic.
- Your app has to be specific. If it’s too generic or broad it won’t attract very many people. Not as many customers will care or identify with it. For example, an app that sells women’s yoga clothing has a specific target audience.
- Ask yourself questions. You must be able to confidently answer these questions: what makes your app unique? Why should people care about it? There is a problem if you have a difficult time coming up with answers.
- Find a market need. Did you know that 42% of startups fail because of lack of market need? If the app does not provide a solution to a problem, it is likely customers won’t be interested. There needs to not only be a market need for your app but customers have to want it as well.
- Be goal oriented. Write down a long-term goal. Ask yourself “Why am I doing this?
What is the Difference Between SDK and API?
Now that we have introduced the definition, purpose and criteria of an MVP, let’s move on to the next couple of app development terms on the list: SDK and API. What are these two acronyms you ask?
Let’s begin with explaining SDK, which stands for Software Development Kit and is also often referred to as a devkit. This is a set of tools developers use, think of it as a sort of toolbox containing the necessary tools, visual editors and pieces of code to build software applications on different platforms. A simple way to put it would be that a devkit is like a box of premade cake mix containing all the dry ingredients you need to bake a cake.
You are probably now wondering about API, which stands for Application Programming Interface. Think of a restaurant and how you want to order food. How do you communicate what you want to the kitchen? Through a waiter of course. The waiter comes to take your order and relays what you want to the kitchen. Then, when your food is ready, the waiter brings it from the kitchen to you. The waiter in this analogy signifies the API.
An API is a messenger that takes requests for what you want to do and relays it to a system, then the API comes back to you with a response. This allows one piece of software to talk to another, whether it’s between data, applications or devices.
Let’s go over some real-world API examples to help with your understanding of the topic. While using Yelp, you decide you want to find the best Italian restaurants in your neighbourhood. Yelp’s API will then search this for you and come back with the results. Another example would be if you are using a website like Booking.com or Expedia.ca to book a flight, the API will search the deals with different airlines (Air Canada, Air France, Air Transat, etc…) and come back to you with a list of different options. And finally, an example of how devices and apps can communicate with each other would be how you can sign into different apps using your Facebook or Google account. As you can see, based on these examples, different API components and features can be added to enhance your app.
Why is a Mobile Backend as a Service Important?
A Mobile Backend as a Service (MBaaS) plays a role in the app development process and utilizes both APIs and SDKs. An MBaaS connects mobile apps to servers or cloud services using Application Programming Interfaces (API) and Software Development Kits (SDK).
A Mobile Backend as a Service helps move along the development process of your application and aids in growing the product experience by enhancing it with features and services like storage, push notifications, analytics, social networking, location services, data privacy and security, and user management. There are many different MBaaS providers to choose from, each offering different features. The top providers are:
- Helps with securing online and offline Android and iOS apps for tablets smartphones and web browsers.
- Features: built-in security and compliance, built-in operational intelligence and mobilizing enterprise data
- Supports iOS and Android
- Offers 3 products: Parse Core (run apps in their cloud, store data and connect with social networks), Parse Push (push notification platform) and Parse Analytics (measure user retention and engagement)
- “Firebase lets you build more powerful, secure and scalable apps, using world-class infrastructure.”
- Features: store and sync data between users and devices, secure authentication using email and passwords, cloud storage for images, audio and video.
- Supports Android, iOS and web
- Features: secure authentication (user sign-in), storing and syncing data such as user profiles, photos, game progress and other settings, collect data on how customers are using your application and send in-app push notifications.
- Supports iOS (does not support Android)
- “The CloudKit framework provides interfaces for moving data between your app and your iCloud containers. You use CloudKit to take your app’s existing data and store it in the cloud so that the user can access it on multiple devices. You can also store data in a public area where all users can access it.”
- “Microsoft Azure is an ever-expanding set of cloud services to help your organization meet your business challenges. It’s the freedom to build, manage, and deploy applications on a massive, global network using your favorite tools and frameworks.”
- Accessible to small, large, old and new businesses
- Features: authentication, data storage, artificial intelligence services and push notification services
- Provides infrastructure for Internet of Things (IoT) applications and mobile games
- Available to businesses of all sizes
- Features: easily onboard and authenticate users through social networks, email and passwords, monitors usage and security, sends push notifications (updates and alerts for users), provides geolocation, A/B testing and app analytics (how your app is being used across platforms).
Knowing the Difference Between UX and UI
With all this technological terminology under your belt, it’s time to look at the user experience (UX) and the user interface (UI) and how they both play a large role in the development process of an app. It is important to note that one cannot function without the other. They each perform very different tasks, but they need each other to ensure a product’s success.
The user experience involves the internal experience a customer has with the app, including how the user interacts with a company’s products and services. The goal for the UX is to map it so it’s user-friendly, ensuring the ease of use between a customer and a product (i.e. your phone). You want to make it as easy as possible for customers to complete their desired tasks, focusing on the optimization of the product, making sure it’s enjoyable to use.
On the other hand, the user interface involves the user’s visual experience and the aesthetics and cosmetics of the app. This includes the look, feel and interactivity of a product. The goal is to make it attractive to users through the elements you use to interact with the device like screens, pages and visual elements like buttons and icons.
Learning About the Usability of an App
The level of usability of an app and the user experience come hand in hand. As we mentioned before, the user experience ensures that the customer is happy while using the app and that they had a pleasant experience with your product. It’s all about enhancing the relationship between the customers and the brand and analysing system performance and interactivity behaviour from users.
Three of the main characteristics to describe usability include effectiveness, efficiency and satisfaction. Its importance is building an app that is easy to use and making it possible for customers to achieve their goals while interacting with the product. A good question to ask when thinking about usability: can the user accomplish their goal? If the answer is yes, then you are on the right track to your app’s success.
The Core Principles of Mobile App Usability
Now that you have an understanding as to how the user experience, user interface and the usability of a mobile app work together, let’s take a look at some core elements of mobile usability. After all, the goal is to make sure all your users are happy with their app experience and following these principles is a step in the right direction.
- Holding the device. Know how your users hold the device because not everyone is the same (for example some people use it in landscape mode, while others use it in portrait mode). A way to find out this information is by using analytics or user surveys to know which devices are used and for what activities they are using them for.
- Where people use the device. Understand how and where people are using the device because chances are consumers are not using an application with their full attention, they are probably doing other things like taking the bus, watching television or sitting at a restaurant. You must ask yourself if users can move around freely while using the app.
- Accessible for thumbs. Users navigate apps using mostly their thumbs, which means everything on the screen should be easily accessible and within reach for a thumb without having to change fingers or using two hands.
- Placing content. Take into consideration that the most important content is placed in the center of the screen so it is within a user’s line of sight and the content is not blocked by their thumb.
- Do not overwhelm. You don’t want to bombard users by showing all the content in one place. You want to give them the basics and then provide users with navigation controls to allow them to dig a little deeper into the app if they want. You don’t want to overwhelm users with too much content on a small screen space.
- Keep it simple. Keep navigation in the app simple, make it concise to users and clear when links have been activated.
- Minimize user input. The less a user has to mess around with their phone and the app, the better and more enjoyable it will be for them. For example, allowing for a permanent login instead of them having to log in every time they want to use the app.
How to Analyse your Mobile App Usability
With all this mobile app usability information in mind, how can you analyse it and monitor the users’ experiences? This can be done through both qualitative and quantitative analytics. Quantitative analytics is numerical data, for instance, it may show that your app has a daily crash rate of 70%, but this data won’t necessarily show you why this is happening. This is where qualitative analytics come into play when information can’t be evaluated using numerical data. With usability being so subjective and unique, it can be difficult to measure it with numbers.
There are a couple of tools you can use to help acquire qualitative data. Touch heatmaps and user recordings can provide the analytics to measure mobile app usability to see how users are behaving and interacting with your app. It can help you understand what works and what doesn’t. For example, using qualitative analytics might help you realize that a certain feature in your app is frustrating for customers to use.
Touch heatmaps are tools that monitor all the different gestures done in your app whether it be taps, swipes, double taps or pinches. The heatmap is layered on top of the app so that you can see how users are interacting with it. These interactions are shown in a colour frequency from blue to red, with blue showing the lowest interactions and red showing the highest. This can help reveal which features on your app are the most and least popular.
With a heatmap you can see if there are any unresponsive gestures coming from your app, this means when user interactions and gestures with the app are left unanswered. For example, this could be a bug in the app leaving some of the buttons unusable or unresponsive. You could see maybe a lot of users are constantly quitting out of a particular screen and then investigate as to why that is happening.
Another tool we mentioned earlier is to apply user recordings in your app. This is pretty self-explanatory where everything the user is doing with your app is recorded, following your users through their app journey. This gives you insight into the user’s experience, whether anything needs to be fixed and if they are experiencing any particular problems.
Platforms like Google Analytics and Mixpanel can also both aid in tracking web and mobile traffic. Google Analytics is a free tool offered by Google which collects data related to actions by users, individual app visits, individual page visits as well as button clicks and video views. Mixpanel has the same idea where the goal is to track user interactions with web and mobile applications to better understand how users engage with your product.
Finally, one last tool to help you analyse mobile app usability would be to allow your users to provide in-app feedback. Besides just using email, your users need an efficient way to voice their experiences with your brand such as chats, phone numbers, etc.
Discover the Different Types of Apps
After going through all that app development terminology, it is important to note the different categories of apps that exist. We have come up with a list of the different types of apps to help you decide which kind will be the best fit for your brand if you ever decide to develop your own:
- B2B or business-to-business: business conducted between companies. B2B apps that help manage businesses include Google Analytics, which helps track everything on your website and monitor who is visiting, and DocuSign which is a platform where digital contracts with vendors, clients and employees can be signed.
- B2C or business-to-consumer: transactions conducted between a company and consumers. For example, the Starbucks app helps with mobile payments and skipping long lineups by ordering ahead of time.
- B2E or business-to-employee: providing products and services to employees. B2E apps can let employees fill out company surveys, contribute company feedback, communicate with other employees and provide training.
- SaaS (Software as a service): Allows people to use and connect to cloud-based apps over the internet like calendars, emails and other office tools like Microsoft Office 365. You pay as you go, renting the app for your business or organization. For example, Slack is a messaging platform for business communication in the workplace. This includes direct one-on-one private messaging between colleagues or it can be used for team conversations. The messaging platform also shares files, documents and spreadsheets between colleagues.
- Loyalty App: Rewarding long-term or new customers with coupons, cash back, discounts, gift cards, freebies and points. For example, with the Sephora app, members of the loyalty program get free birthday gifts and beauty classes. The Starbucks app also has a rewards program where stars are collected with the goal of redeeming rewards like getting a free drink.
- Social Media: Supports publishing and sharing text, video, audio and photo, building personal profiles and connecting with other communities. Examples: WhatsApp, Instagram, Facebook, Snapchat, Twitter, Skype, Pinterest, LinkedIn
- Games: These include games designed for mobile devices. They can be anywhere from basic games like Solitaire to more advanced 3D augmented reality games like Pokémon Go. Often games have connectivity features like Wi-Fi or Bluetooth making it possible for multiplayer games (two or more players).
- IoT (Internet of Things) Apps: IoT involves connecting physical devices to the internet. This includes using apps to connect to objects. For example, Amazon Go allows you to leave a store without going through the checkout. You use the Amazon Go app to enter the store and when you leave, the items you took with you will be charged to your Amazon account.
- POS (point of sales): A point of sale is the time and place of a completed retail transaction, but in this case, we are talking about how business owners can install apps on their mobile devices to accept credit card payments as well as track business sales and inventory. These systems can also send receipts, complete refunds and exchanges and track customer information. For example, Square is a free POS app which is good for startups and small businesses which includes features like credit card processing and business management tools.
To finish off the chapter, we have provided you with a glossary of some app-related terms which will help you better understand technical jargon:
A/B testing: This is a way to test two different versions of an app to see which works and performs best.
ASO: Stands for App Store Optimization and involves the process of helping mobile apps rank higher in app store search results.
Backend: What goes on behind the scenes of how your app functions, such as updates.
Bounce rate: The rate of people visiting your website without interacting with the page (not clicking on anything on the page they entered the site on).
Bug: These can cause apps to crash due to an error or flaw in the application.
CMS: Stands for Content Management System. CMS makes it possible to manage, edit and add digital content on an app.
Debugging: The process of identifying and removing flaws (bugs) from an application.
End-Users: The targeted users your app was intended for.
Frontend: The parts of your app you can interact with like contact forms, buttons and drop-down menus.
Hybrid app: One app built to run on multiple platforms and devices.
iOS: Operating system used for Apple devices like iPods, iPhones and iPads.
Native app: An app built specifically for one platform or device.
Push notifications: Alerts and messages sent from the app to the user on their home or lock screen (for example, update reminders).
Retention: The users that consistently use your mobile app.
Specification (spec): A document showing all the necessary information about an app before building it. This includes the target audience, budget, design, etc…
Wireframes: A blueprint that shows the functionality and navigation of your app
If you want to see a more extensive list of technological terms, you can consult this mobile app dictionary or this app development jargon glossary.
As you can see, there is a lot to learn before jumping straight into developing an app. With an introduction to MVPs, SDKs, APIs, MBaaS, UX and UI, you should be a little bit more self-assured in your technological knowledge. Chapter two will focus on knowing the difference between native and hybrid apps, understanding the pros and cons of choosing both options and the different programming languages used in iOS and Android to develop both types of apps. Be sure to check it out in an upcoming post!