Ever feel like software developers are speaking a foreign language? Here’s an app development glossary to help you out.
“As a matter of fact, I know that everyone has to wrap it up at the moment.”
Actually, I could’ve written that: “AAMOF, IK E1 H2 WIU ATM.”
Just as abbreviations and acronyms are common in everyday conversations, discussions about software development are often filled with them.
If you are a non-technical startup founder or a newly minted product manager, you might find these acronyms and other jargon confusing or off-putting. Don’t worry, our handy app development glossary is here to save the day!
Here is a list of the essential terms and acronyms you need to know when building a mobile product. We hope this app development glossary will be useful for both novices and more experienced folks.
Operating Systems
OS
The OS is the Operating System within which you create your app. (Do not confuse it with Open Source!)
iOS
iOS is the OS created by Apple that supports the iPhone, iPad, Apple Watch, etc. In order to create an app, the developer will work with the Swift or Objective-C languages.
The most popular OS in the U.S., iOS is great for users because of its simple and elegant UI (see below for more on UI). It’s also great for developers because they only have to support a few devices.
Android
Android is Google’s flagship OS. Building for Android means using Java, a more common language.
Generally speaking, Android is considered a more accessible but less “prestigious” technology.
Windows Phone
Third in popularity, this technology is strongly supported by Microsoft and considered to be the most developer-friendly OS. This is because of the approachability of its dedicated tool called Visual Studio.
[For more information on the two most popular operating systems, iOS and Android, check out our previous coverage.]
Key Design Terms
UX
UX, standing for User Experience, refers to how a user perceives, reacts, or feels when interacting with your mobile app.
UX texting is done to evaluate the ease of use, practicality, and efficiency of the product.
UI
UI (User Interface) is the design of the mobile app with a focus on the experience of the user, keeping in mind the overall interaction.
It’s arguably the most important part of your app since it determines how easily a user can make the program do what he or she wants. Even a powerful idea with great technical execution has little value with a poorly designed UI.
[For more info on the differences between UX and UI, check out our guide.]
Mobile Interaction Design
To make sure you and your app’s users are on the same page, mobile interaction design focuses on satisfying the needs and desires of the majority of people who will use your product.
Mockups and Wireframes
A critical part of the design process is creating mockups, which are meant to show the end user what the app will look like without having to actually build the app or its underlying functionality.
Software UI mockups can range from very simple, hand-drawn screen layouts to realistic bitmaps and even semi-functional user interfaces. They are comparable to architects’ blueprints.
Wireframes are drafts used to present the proposed functions, structure, and content of an app. A wireframe separates the graphic elements of the app from the functional elements in such a way that developers can easily explain how users will interact with the app.
Key Development Terms
Backend
Backend development is typically talked about in terms of databases, which provide a way for developers to link to cloud-based storage.
These backend databases are most commonly used for push notifications, data storage, file storage, messaging queues, monitoring and configuration, and social integration.
Push Notification
A push notification is a short message that developers can send to app users even when said users don’t have their mobile applications open. The messages are displayed on the home screen of the device (even when locked).
[Push notifications can also be sent via Apple Watch apps. To learn more, check out our notifications tutorial.]
API
API stands for Application Programming Interface. Together with backend databases, APIs provide a set of fixed rules and specifications that define interactions between software components.
An API can be created for libraries, operating systems, and applications. A good API makes it easier and faster to develop an app by providing all of the “building blocks” for it.
APIs can also be a great marketing tool or can even be your core software product — just ask Seamless Planet.
SDK
SDK stands for Software Development Kit, which is a programming package that enables developers to create apps for a particular software platform or framework.
An SDK typically includes one or many APIs, programming tools, and documentation.
APK
An APK is an Android Application Package. It is a file format that is used to deliver mobile apps to Android devices.
JSON
JSON stands for JavaScript Object Notation. It is a lightweight data-interchange format that is easy for humans to read and write and for machines to parse and generate.
Although it was originally derived from the JavaScript language, JSON is a language-independent data format. Code for parsing and generating JSON data is readily available in many programming languages.
Fork
To fork means to split source code into different development directions (referred to as branches).
Forking leads to the development of different versions of a program. The central place where said data is stored and maintained is called a repository.
UDID
UDID is the Unique Device Identifier, a one-and-only alphanumeric that identifies a specific mobile device. Typically it’s assigned by the mobile device manufacturer.
You might need this info if you want to find out the list of mobile devices that have downloaded your app. Based on the details, you can then target them and decide which OS you want to focus on most.
The Development Process and Project Management
Agile Software Development
As we explained in a previous post:
“Agile development, as opposed to waterfall, focuses on building software iteratively, according to principles of the Agile Manifesto [which is illustrated above].
“The project is divided into small modules (the smaller, the better) and delivered in weekly or monthly sprints [more on sprints below].”
Epic
As the term implies, an epic is a relatively big body of work created during the agile development process.
User Stories
First, the product owner creates simple user stories, which are a number of sentences in simple language that outline the desired outcome without going into detailed requirements.
Scrum
Then, the team moves on to scrum, which is a strategy in which the team works as a unit to reach a common goal through daily communication among all team members and disciplines in the project.
Iterations
In agile, iterations are the basic units of time — the time boxes during which development takes place, the duration of which may vary from time to time.
Sprints
As mentioned above, the team will work in sprints, forecasting to complete a set of user stories during a fixed time period. Sprints can be one, two, or four weeks long.
Stand-Ups
Each day in this process starts with a stand-up, a brief meeting that allows participants to know about potential challenges as well as to coordinate efforts to resolve difficult or time-consuming issues.
Versions
Epics are almost always delivered over a set of sprints. As a team learns more about an epic through development and customer feedback, user stories will be added or removed to create the final product of the process.
These final products are known as versions (as in Version 1.0, Version 2.0, etc.), which are the actual releases of software to users.
Quality and Testing
QA
QA, short for quality assurance, is the process of systematic monitoring and evaluation, which is carried out in order to make sure that the project is completed based on previously agreed upon specifications, standards, and functionality requirements.
TDD
When testing, developers take up the TDD (test-driven development) approach, repeatedly performing unit testing on the source code.
Smoke Testing
Another aspect of the testing process is smoke testing, which applies mostly to hardware products.
The programmers’ joke is, if it is tried on a new piece of hardware for the first time and it does not catch on fire, it is a successful test. 🙂
Beta
Beta is the version of your app that undergoes beta testing (the process of testing a pre-release version of your app). In contrast to the alpha version, which may not be a complete one, the beta typically contains all of the features planned for release.
Beta testing is preceded by staging, which tests the app features in an environment that mirrors that of the production environment.
Bugs
Bugs are any sort of unintended behavior in your mobile app.
You know you’re working with a proven team of developers when your bug-fixing (the process of elimination of said defects) includes mostly change requests (a call for an adjustment of the system, so it fits your needs better) and code reviews (systematic examinations of code done by the developers to find and eliminate vulnerabilities overlooked in the initial development).
Concluding Thoughts
This app development glossary is a good starting point for non-technical founders or novice product managers who are starting to create their mobile app.
At ITEO, where I am a project manager, educating clients is a part of our standard agile process. So, during any project, you can expect our project managers and developers to guide you through all of the technical jargon.
If, however, you’re more of an independent learner (as most entrepreneurs are), you can find all the answers you could possibly need to iOS and Android mobile development in Apple and Google’s guides for developers.