Mobile App Development Glossary
Written by
Tim Bornholdt Tim Bornholdt
And
Jenny Karkowski Jenny Karkowski
Published on April 13, 2023
Mobile App Development Glossary

This article was originally published in 2017 and has been updated in 2023 to include new tech terms.


Mobile app development is full of complex jargon and annoying acronyms. One of our core beliefs at the Jed Mahonis Group is to demystify software development and make it approachable for everybody, so in that spirit, we present to you our digital product development glossary!


While you could easily do a search for any of these acronyms and phrases, we wanted to take it a step further and explain items in layman’s terms, complete with examples to better illustrate some of the more complex concepts.


This is a living document, and as we come across new acronyms and phrases that would stand to benefit from a simplistic definition, we’ll add them here. If you come across something that we missed or needs updating, please reach out to us!


AJAX = Asynchronous JavaScript And XML


AJAX is what allows a website to save and load information without needing to refresh a page. It seems like pretty obvious functionality, but when AJAX was first released, it set the stage for much more dynamic and interactive websites like Facebook and YouTube to exist.


Here’s how an AJAX request works: When you type “facebook.com” into Chrome, you ask Facebook for a bunch of initial information which lays out the page. After the page has fully loaded in your browser, Facebook then makes a bunch of little requests such as “Give me this user’s notifications” and “Load this user’s news feed.”


When you post a new status on Facebook, the page doesn’t fully reload itself; instead, a little spinner pops up on the screen, then disappears, and then your post is on your feed. In reality, what happened is that Facebook took your status update, packaged it up in an AJAX request, sent it to their servers, waited for confirmation that everything was saved properly, and then added the post to your page (all without reloading your window!).


API = Application Program Interface


An API is a set of rules dictating how you can get/update/delete data that is stored in an app’s backend. An API is typically used in two cases:


Case 1: You are building both the front end and the backend of an app, and you want the two to talk to each other.


Case 2: Your app needs to connect to another app, such as Facebook or Google, to perform a function.


In both cases, the API creator will give you a way to connect to it, along with a list of calls you can make to get data out of it.


APK = Android Package Kit


An APK is the file format for Android.


If you are a Windows user, you’ve probably seen a file that ends in .EXE, which is an app file for Windows.


Because Android allows sideloading, developers often deliver beta versions as APKs.


AWS = Amazon Web Services


AWS is a set of tools provided by Amazon that help developers build backends for websites and apps. Many startups and large organizations use AWS for its strong performance, reliability, and scalability.


AWS is powerful, but it can also be complex for developers to implement. AWS also bills you based on usage, so if you experience a quick growth in users, your costs will grow astronomically in proportion to that growth.


Backend


The “backend" refers to the behind-the-scenes brains of an app. While the front end is what a user sees when they launch your app, the backend is what technically powers it. This would include things like your app’s API, CMS, and databases.


Beta


Beta is used to describe software that is not yet ready for general public use.


A beta build of your app would include new features or fixes to existing bugs. Someone performing QA on your app would install a beta version and test it to ensure the new code performs as expected.


BLE = Bluetooth Low Energy


BLE is how most Bluetooth-enabled devices connect to mobile phones because, as its name implies, the connection uses low energy.


A hardware vendor might use an older version of Bluetooth if there are specific use cases for it, but generally, if you want to build an app that interacts with a physical device of some sort, you’d use BLE as the connection.


Close to the Metal


At its core, a computer only really understands binary, which is a series of ones and zeros.


However, humans aren’t so great at telling the computer what to do using ones and zeros, so they invented programming languages. These languages allow humans to express themselves in a way that more closely resembles English. They then use a compiler to translate their code into machine-readable code.


Programming languages that are closer to machine code (such as assembly) are considered to be “lower-level” languages. When you are working with a lower-level language, you’re responsible for things like memory management and other performance concerns.


As you move away from the metal, your compiler typically deals with these issues. However, if you move too far away from the metal, you risk not being able to optimize your code in ways that make your app slow or overly reliant on third-party frameworks.


When choosing the technologies for your mobile app, you need to strike a balance between how close to the metal you get. The languages we use at The Jed Mahonis Group are as close to metal as we can get without directly writing to memory, such as Objective-C/Swift and Java/Kotlin.


CMS = Content Management System


A CMS is a platform that allows you to dynamically update your website or app.


If you made an app that displays the news, you would use a CMS to add a new article to the app. The CMS would then store that information on the backend, and your app would read it to retrieve your latest article.


Corner Case


A corner case is a condition that doesn’t follow the typical or expected flow of a user inside your app.


Let’s say you have an app that requires registration using email. You would make sure that a user can register with a .com, .net, or .org email address. However, thanks to the new TLDs announced over the past few years, let’s say a user tried to register an email address like bruce@lee.ninja. That would be considered a corner case, which the developers would need to handle correctly.


Corner cases increase dramatically as an app grows in complexity.


For more detailed information, check out our blog post regarding corner cases.


CRM = Customer Relationship Management


CRMs are tools businesses use to manage interactions with customers and potential customers in their pipeline. A CRM system typically includes tools for collecting and analyzing customer data, tracking customer interactions and sales activities, managing leads and marketing campaigns, and providing customer support.


By helping businesses better understand their customers’ needs and preferences, they provide more personalized and effective service, increase sales, streamline processes, and improve customer loyalty and retention.


Popular CRM solutions include Salesforce, HubSpot, and Microsoft Dynamics 365.


When companies hit the limitations of an off-the-shelf CRM solution or want to eliminate CRM subscription fees, they turn to building a custom CRM that fits their business’s unique processes and goals.


CRUD = Create, Read, Update, Delete


CRUD is an acronym that applies to two areas of app development:



  1. Database: These are the four basic operations you can perform on data in a database.

  2. User Interface: Let’s say you are building a calendar app. In the app, you can add a new appointment (Create), retrieve information about an appointment (Read), change the time of an existing appointment (Update), or delete an appointment you are no longer attending (Delete).


Frequently, developers will say something like “I have the CRUD in place.” Using the calendar app example, if a backend developer says this, it means the database can successfully perform those 4 basic operations. If a front-end developer says it, that means you can use the app to create and modify events.


CSS = Cascading Style Sheet


CSS is a way to describe how elements on a web page should be laid out visually. You would combine CSS with HTML and JavaScript in order to fully create a website.


CSV = Comma-Separated Values


A CSV file is a quick-and-dirty way to send data from one place to another. You typically use CSV when you want to get the contents of a spreadsheet into a database.


Picture an Excel spreadsheet with 6 columns of data (name, email, address, city, state, zip). If you were to export that spreadsheet as a CSV, it would look something like this:


name,email,address,city,state,zip

Tim,tim@yo.net,123 Fake Street,Minneapolis,MN,55401
Rob,rob@yo.net,100 Any Ave,St. Paul,MN,55404

DNS = Domain Name Service


All computers on the Internet are represented by an IP address. For example, Instagram’s [backend](#backend) is represented by the IP address 54.173.226.9.


However, humans aren’t that great at memorizing 4 sets of digits. It would get pretty obnoxious if you needed to type http://31.13.71.36 every time you wanted to check your Facebook news feed.


Enter DNS! DNS is the service that translates “jedmahonisgroup.com” into “50.116.16.82”. Think of it as a phone book for websites (although that analogy is a bit oversimplified and, well, unintelligible to anyone under the age of 20).


Dogfooding


Dogfooding is a term used to describe the act of someone using the product they create.


When it comes to software, dogfooding is when you use the apps you build for yourself. Dogfooding is a great way to put yourself in a user's perspective because it forces you to identify areas that could be improved or optimized.


DRY = Don’t Repeat Yourself


DRY is a development principle that aims to reduce the amount of code written in an app. Less code is typically seen as better, as you’ll have fewer corner cases to test for. When a project is DRY, developers write functions to be simple so an app can reuse those pieces in multiple areas.


Edge Case


An edge case occurs when a user pushes the boundaries of your app to an extreme.


For example, you’re building a news feed app that reads RSS feeds. While designing it, you may only expect a user to include a few dozen feeds, but what if you get a true news junky who subscribes to hundreds of feeds? Or thousands?


Edge cases often lead to bugs and crashes in your app, so you’ll want to account for them when designing.


For more detailed information, check out our blog post regarding edge cases.


FB = Facebook


Sometimes, developers get too lazy to type out “Facebook", so they abbreviate it as FB.


Feature Complete


Software that is feature-complete but not production-ready has all the necessary features but still needs refinement, such as bug fixes, performance improvements, security enhancements, and usability testing.


Fragmentation


Fragmentation is a term used to describe the inefficient use of resources.


In the mobile app world, developers use the word “fragmentation” to describe the large number of Android versions that need to be supported.


Apple is aggressive in both ensuring their latest operating system works on older devices and pushing their users to stay current with the most recently released version. As a result, most iOS users are within one or two versions of the most current, which means developers can phase out support for older versions more quickly. This results in fewer testing hours, which in turn leads to lower development costs.


On the other hand, because of Android's open-source nature, device manufacturers have ported it to tens of thousands of different devices over the years. Since hardware manufacturers would prefer you buy new hardware rather than continually upgrade the software on existing devices, a large number of active Android users are running older versions of the operating system.


The “fragmentation” of Android versions that need to be supported is a concern when deciding how many of those users you wish to support.


Front End


The “front end" refers to the face of an app. Any part of your app that a user can touch and interact with is generally considered the front end.


GIF = Graphics Interchange Format


GIFs were an easy way to display images on webpages in the early days of the internet, and they have remained popular for their ability to animate. Even though animated GIF files are large and a pain for developers to support, websites like Tumblr and GIPHY have kept the format alive and well.


Also, it’s pronounced with a hard G (e.g. “gift”), not a soft G (e.g. “jif”).


GPS = Global Positioning System


GPS is a system that can provide a user’s geo coordinates anywhere on earth to within 3-5 meters. It was built and is still maintained by the United States military.


While GPS is the most popular radionavigation system in the world, other nations operate alternative systems. For example, GLONASS is an alternative service provided by Russia that can identify users to within 2 meters, and BeiDou-2 is a Chinese service that can provide military users with a user’s location to within 10 centimeters.


One thing to note: GPS works best outdoors because it depends on your line of sight to the satellites in the sky. If you are indoors, GPS can’t easily triangulate your position, so it becomes much less accurate.


GUI = Graphical User Interface


The GUI is how users interact with most modern apps. The GUI is the nice design that sits on top of the brains of your app, comprising both pictures and text.


HIG = Human Interface Guidelines


The HIG provides a set of standards for developers and designers to follow when developing iOS apps. Following the HIG will make your app fits into a user’s expectations for how an app should work, which leads to a better UX.


HTML = Hypertext Markup Language


HTML is the language of web pages. If you were to right-click on this page and click “View Source", you would be presented with a large block of HTML. HTML is used with JavaScript and CSS in order to create webpages.


HTTP = Hypertext Transfer Protocol


To fully understand the part HTTP plays in networks, you’d need to understand the OSI model of networks. In a nutshell, HTTP is the protocol used to package information for transmission between computers over the Internet.


HTTP isn’t the only protocol you can use to send data across the internet. You may have heard of FTP, SSH, IMAP, or maybe even Gopher (hometown pride forces us to include that one on this list).


The nice thing about building apps and websites today is that the HTTP layer is more or less “done”. There are improvements happening to it under the hood (notably HTTP/2), but as an app owner, you typically don’t need to worry about these types of changes, much like you wouldn’t be worried about Time Warner installing a new cable line or a user purchasing a new router for their house.


HTTPS = Hypertext Transfer Protocol Secure


HTTPS doesn’t mean “several HTTPs". Instead, it’s a secure version of the Hypertext Transfer Protocol.


Just as we mentioned with HTTP, you generally don’t need to worry about this acronym as an app owner. The only time you’ll need to think about HTTPS is when you initially configure a server, or when you need to update your SSL certificate. Otherwise, once you configure HTTPS, you can generally let it run in the background.


Hybrid App Development


Hybrid App Development is the process of developing an app to run on multiple OSes. This is the opposite of Native App Development, which is what JMG uses.


Proponents of Hybrid App Development claim that using a hybrid approach saves you money up front, as you are able to write your code once and target iOS, Android, and any other mobile operating system you choose.


Opponents argue that hybrid development leads to a poorer UX, as hybrid apps tend to be slower and not “feel” like native apps. In addition, writing an app using a hybrid solution like Xamarin requires developers to wait for Xamarin's manufacturers to provide support for new OS releases.


IAP = In-App Purchase


An IAP is a way to charge users for features or in-app unlocks. These are segmented into two types:



  1. Consumable IAPs are one-time purchases. These are used for things like buying extra lives or weapons inside a game.

  2. Non-consumable IAPs are intended to unlock a feature permanently.


IDE = Integrated Development Environment


An IDE is a tool that allows you to build apps for a specific purpose. An IDE usually includes other tools to help write apps, such as debuggers and automation support. On iOS, developers can use an IDE called Xcode to write and publish apps to the iTunes App Store. If you were developing an Android app, you would use the Android Studio IDE.


IP Address


An IP Address is the number assigned to any device connected to the Internet.


In IPv4, this address is made up of 4 groups of 3 digits, separated by periods (e.g., 255.255.255.255).


In IPv6, this address is represented as eight groups of four numbers or letters, separated by colons (e.g., 2001:0db8:0a0b:12f0:0000:0000:0000:0001).


IPA = iOS App Store Package


An IPA is the file format for executable iOS apps.


You probably won’t ever deal with these, since it’s rather cumbersome (if not nearly impossible) to sideload apps onto an iOS device.


IPA also stands for India Pale Ale, which is typically necessary for software development.


IoT = Internet of Things


The Internet of Things is a catch-all term to describe the interaction of physical “real-world" items with the Internet. Bluetooth Beacons, smart light bulbs, and Internet-connected laundry machines are all examples of technology that exist within the Internet of Things.


Java


Java is a programming language used all throughout software development, but for our purposes, we typically use it to develop Android applications. It is not the same thing as JavaScript.


JMG = Jed Mahonis Group


Toy Story Shameless Self Promotion


We’re a digital product development company based in Minneapolis, MN. We build on-demand apps, websites, APIs and dashboards for businesses throughout the U.S. Learn more about what it’s like to work with us! 


JS = JavaScript


JavaScript is a language used to bring interactivity to websites. It’s the third technology used to build modern websites alongside HTML and CSS.


JSON = JavaScript Object Notation


JSON is a standard format that APIs use to send data back and forth between different device types. It allows an iOS app (written in Swift), an Android app (written in Java), and a server API (written in Ruby) to all communicate with each other in a standard format.


Kotlin


Kotlin is a modern programming language that is used to build native Android applications.


LAMP = Linux, Apache, MySQL, PHP


LAMP is an acronym for 4 technologies commonly used to build backends. Linux is the operating system, Apache is the web server, MySQL is the database, and PHP is the language used to create webpages.


Local


Developers will refer to their own computer as their "local" environment, as opposed to a staging or production environment.


Low-Code/No-Code


Low-code development requires some coding and technical expertise, while no-code development is designed for non-technical users who want to create applications without programming skills.


Low-code development uses a platform with prebuilt components to quickly build and deploy applications. Developers can drag and drop components and rely on prebuilt functionality; however, low-code development still requires some level of coding expertise, as they must configure and customize prebuilt components to suit their specific needs.


Some popular low-code platforms include Microsoft Power Apps, Salesforce Lightning, OutSystems, Appian, Mendix, and K2, among others.


No-code development platforms provide visual interfaces and templates that allow users with no coding experience to build apps simply by selecting pre-built components and configuring them via drag-and-drop. No-code development platforms are often used to create basic websites and simple mobile apps, and can be limited in the complexity and functionality they offer.


Common no-code platforms include Bubble, Wix, Webflow, Airtable, Glide, Adalo, and more.


Material Design


Material Design is the set of standards that apps use to provide a consistent interface on Android. You can read through the Material Design principles here.


MVP = Minimum Viable Product


In the Agile methodology of project management, MVP represents the minimum product that you could put into a customer’s hands.


If you were to describe a vehicle to transport a human across town, the minimum viable product to complete that might be something like a skateboard. Once you’ve shipped a skateboard, you might add on a steering mechanism and produce a scooter. After you get those mechanics worked out, you may attach a motor to it and produce a moped. Stepping up the ladder, you might produce a motorcycle, and then ultimately, a car.


Native App Development


Native App Development is the process of building an app for a specific platform. This is the opposite of Hybrid Apps, which are designed to run on multiple platforms (like both Android and iOS).


Native App Development allows you to build features and user interfaces which are specific to each platform, which results in a higher-quality user experience.


Objc = Objective-C


Objective-C is one of two languages in which you can write apps for iOS (the other being Swift).


Open Graph


Open Graph was created by Facebook and allows website owners to specify metadata they want displayed when their web pages appear on social media platforms.


Open Source


Open source refers to the source code of software. Part of its licensing agreement can allow anyone to examine, change, and improve upon the code.


We like to say that incorporating open source software into your own proprietary software is like standing on the shoulders of giants. Most (if not all) software used on the Internet is built in part using open-source software. App developers use open-source software to speed up the app development process by incorporating common components across apps.


For example, if you are reading this page using HTTPS, the server that sent you this page did so using a library called OpenSSL. You could download the OpenSSL source code and see exactly how the data was encrypted and sent to your browser. If we had to write our own cryptographic communication library to do this, we would probably still be working on it instead of writing this blog post.


OS = Operating System


The Operating System is software that acts as a buffer between your device's hardware and software components. On desktop systems, this could be Windows, macOS, or some variant of Linux. On mobile devices, this could be iOS or Android.


PHP = PHP: Hypertext Preprocessor


PHP is a common, robust, and battle-tested backend programming language. WordPress, which is the largest blog publishing platform on the internet, is written in PHP.


PNG = Portable Network Graphics


PNGs are one way to distribute graphics over the Internet. PNG images work well for icons and simple graphics inside applications that require transparency.


Production


Your production environment is the configuration of your server that is visible to the world. When a developer says “we’re pushing the app to production," this means that a new feature or bug fix will be made visible to all of your users.


PWA = Progressive Web App


A Progressive Web App is a website that can be saved to your phone for offline use. This allows it to operate like a Native App, complete with some "native-only" features like push notifications and geolocation.


PWAs are a subset of Hybrid Apps. Instead of being built with proprietary technology meant to emulate a native app, they are built with web technologies and can run on any device with a modern web browser.


QA = Quality Assurance


A QA person or team is responsible for testing an application. Generally, the team tests for high-quality User Experience and ensures the app is as bug-free as possible.


Race Condition


A race condition occurs when your app tries to perform two actions at the same time, but they must be done in a specific order.


For example, let’s say you are building a notes app, and you are working on a feature where two people can change notes at the same time. Let’s also say that User A created a note called “pick up the cheese”. Now, let’s say User B decided to change the word “cheese” to “provolone cheese”, and User A also decided to change “cheese” to “limburger cheese”. The app now must decide which user is correct.


Should the app say ‘provolone cheese’? Should it say ‘Limburger cheese’? Should it create a new item so that it has both provolone and Limburger as options?


Solving race conditions can be difficult, and it is up to the developer to implement an appropriate solution for each use case.


React Native


React Native is an open-source framework that allows developers to build mobile applications for iOS, Android, and other platforms using a single codebase in JavaScript and React.


One of the main advantages of React Native is that it allows developers to reuse the same codebase across platforms, reducing the time and effort required to develop and maintain applications for multiple platforms.


React Native applications are compiled into native code, which means that they can access most native features and APIs, such as camera, GPS, and push notifications. This makes it possible to build high-performance mobile applications with a native look and feel, but it has its limitations.


Because React Native uses a JavaScript bridge to communicate between the native code and the JavaScript code, it can introduce some performance latency, and while React Native provides access to a large number of native APIs and features, there are some features that may not be available or fully supported, causing developers to write custom native code to access these features.


React Native relies heavily on third-party libraries and dependencies, which can introduce issues with compatibility, stability, and security. Debugging React Native applications can be challenging, especially when issues arise in native code.


RoR = Ruby on Rails


Ruby on Rails is a framework for building backends. RoR encourages developers to follow a few common conventions, such as DRY, to speed up development and make code easier to read and understand. JMG uses RoR to build backends for its mobile apps.


RSS = Really Simple Syndication


RSS is a format used to distribute content (such as podcasts and blog posts) across the Internet.


RWD = Responsive Web Design


Because the Internet can be viewed on a wide variety of screens, a website designed with RWD principles ensures it looks fantastic on every screen.


SaaS = Software as a Service


SaaS (pronounced like “sass") is a business model companies use to distribute software.


Back in the day, if you created version 1.0 of your app, you would put it on a disk, put it in a box, and set it on a shelf at Best Buy or CompUSA. Your customer would then purchase it and run it on their own system. To receive more money from that customer or provide updates to the app, you would create version 2.0 and repeat the same process.


In a SaaS model, the software is hosted on your own servers and distributed over the internet (usually as a website or an app), which makes it easier to add new features and improve the app. Instead of paying for your software up front, your customers pay a regular subscription fee.


Many apps follow the SaaS model, including Netflix, Google Apps, Slack, and Dropbox.


SDK = Software Development Kit


An SDK allows you to create applications for a specific platform. In the case of iOS, Apple routinely publishes new SDKs for each new version of its operating system. Each updated SDK enables new functionality that developers can utilize in their own apps.


Sideload


When you are installing apps on your phone, you almost always do so through the Apple App Store or the Google Play Store.


If you are installing a beta build from a developer, they typically provide an APK or IPA file, and you would “sideload” it onto your device. You typically tell the device you trust files from a third party, and then install the file.


SQL = Structured Query Language


SQL is the language you use to interact with a database. In a nutshell, you formulate a query (“give me all the records where a user is from Minneapolis") using SQL, and any records matching that query are returned to you. SQL is used on the backend of an app. There are many flavors of SQL, but most people in the mobile app development space will use MySQL or Postgres.


SSL = Secure Sockets Layer


SSL is a technical procedure that allows browsers and apps to communicate securely with backends.


At a high level, it’s an agreement between you, a server, and an independent third party who can vouch for the identity of that server.


Let’s imagine I run a server you wish to speak with securely. Before we even begin speaking to each other, a company would need to exist that can vouch for our security. This is called a Certificate Authority (CA). I (as the server owner) request and receive an SSL certificate from a CA.


Now, let’s say you want to begin a secure session with me. First, you would send me a request saying, “Tell me who you are.” I would send back a copy of that SSL certificate, which includes a little bit of information to help encrypt messages.


You would take that certificate and make sure you can trust it. If you do trust it, you would send me another message saying, “Alright, I trust you.” I would then send another message with a key saying, “Okay, here’s a key we can use to encrypt this information.” You then would send one more message saying, “Here’s an encrypted message with that key. If you can read this, then we can go.” I, of course, would say, “Yep, I got this, let’s go!”


From then on, when you send me data, you would run it through an encryption algorithm using that key. Only you and I have that key, so if someone tried to decrypt your message to me without it, all they would see back is garbage and nonsense.


Staging


Unlike a production environment, the staging (or sandbox) environment is where you can test new features or improvements to your app without risking breaking the live version. It’s a near-exact replica of the production environment, which gives you a chance to see how a new feature may work once it is deployed to all users.


Swift


Swift is a programming language used for developing iOS apps. It is the newer of the two languages Apple offers (the older being Objective-C and is typically used when starting a project from scratch.


SVG = Scalable Vector Graphics


SVGs are one way to distribute images over the Internet. Unlike a "bitmapped" image format like PNG, an SVG can be scaled to any size while maintaining the highest possible image quality. SVGs work best for icons and logos.


Technical Debt


Technical debt is a concept used in software development to describe the effects of taking a shortcut now to save money or time, rather than using a different approach that would take longer or cost more.


Much like a monetary form of debt, technical debt accumulates “interest” over time. The longer you take to pay off the debt, the harder it will be to address it later.


Not all technical debt is bad, and more often than not, it can be necessary to take on technical debt to move a project forward.


Even though you may intentionally take on the debt, you still need to get a plan in place for “paying it off”, which is generally refactoring code to perform the right way. If your product has too much technical debt, your development team will spend more time struggling to add new features, leading to burnout and slower release cycles.


TF = TestFlight


TestFlight is what developers use to distribute beta versions of an iOS app. TestFlight is officially supported by Apple, making it relatively simple for developers to get a test version of an app into users' hands.


TLD = Top Level Domain


The TLD of a URL is the last part of it (e.g., “.com", “.net", or “.org"). While those three were the most common for a long time, there are now thousands of TLDs, including .beer and .ninja.


Fun fact: The reason they’re called TLDs is that they’re the first part of a DNS lookup. When you type in “facebook.com”, your DNS will look for “COM”, then look for an entry called “FACEBOOK”.


UAT = User Acceptance Testing


User Acceptance Testing is an important step in the software development lifecycle.


UAT helps ensure that a software product meets users' expectations before it is released to the public by having a group of users test it in real-world scenarios. Testers provide feedback on any issues or bugs they encounter during testing so they may be addressed before its release.


UI = User Interface


The UI describes the way your user interacts with your app. While the most common way to interact with a mobile app is through graphics, there are other forms of UI, such as voice (interacting with Siri or Alexa), gestures (using VoiceOver on your iOS device), or text (the ol’ green-and-black screen on old computers).


Unicode


Unicode is an international standard used to encode letters, digits, and symbols in a format computers can understand. Each character is represented by a byte sequence, so, for example, the `A` letter is represented by `U+0041`, and the number `9` is represented by `U+0039`.


Unicode, like many of the definitions on this page, is probably not something you will run across in development, except when supporting emoji. Emoji is not just a picture; it’s part of the Unicode standard and is implemented at an OS level. Emoji is represented just like the letter A or the number 9 is rendered above (so 😂 is represented by U+1F602).


UX = User Experience


User Experience is the overall experience your users have while using your app. A good app development company will place a strong emphasis on ensuring your app meets high UX standards.


When most people think of UX, they think of QA and performing regular testing. However, UX is more about ensuring your users can use your app to accomplish a task. Part of UX is also making sure your app fits into common app paradigms like the HIG and Material Design.


Wireframe


A wireframe is a blueprint for an app's user interface and user experience.


Wireframes offer a basic overview of an app's screens and how they tie together. It is a framework you and your development team can use to ensure you are on the same page about how your app should work.

Want to Read More?