Development Terminology for non-Developers
Sometimes listening to a mobile app developer is like listening to someone speaking an unknown language. Special words and expressions used by a development team or a project manager might often be confusing for non-technical startup founders and entrepreneurs.
To understand the development process workflow and be sure that there is no ‘linguistic’ barrier, we’ve produced a basic list of key app development terms frequently used in the industry that you can use as a reference doc.
Common app development terminology:
ASO (App Store Optimization): stands for the process of optimizing your app to rank it higher in app store search results. The higher your app’s position in the rank is, the more visible it is to potential users/customers. ASO may include the following measures: optimization of app keywords and description, screenshots, and videos. Find out more here.
API: a set of functions that allows two software programs to communicate with each other. For better understanding, let’s imagine you want a Uber-like app. The main functionality of such app amounts to collecting of an accurate map data. In order to integrate location-specific functions, developers use Google Maps’ API.
Backend: put simply, it’s the ‘offstage’ of your app, all about how the app works and changes. It’s a service that connects a mobile application to cloud databases, providing user management, data storing, social integrations, push notifications and more.
Beacon devices: a wireless Bluetooth powered technology that transmits relevant, targeted messages to nearby mobile devices. Most commonly the beacon devices are used in retail, still, huge opportunities are hidden in other industries, like education, entertainment, banking, and finance, etc.
In-app purchases: one of the most widely used methods of earning extra income within the app. In-app purchasing feature can take many forms in different applications, e.g. paid content, feature, subscription or update.
IoT (Internet of things): simply put, this is the idea of the interconnected environment, where the objects embedded with software and network connectivity can exchange data with other connected devices. This includes everything from cellphones, washing machines, lamps, coffee makers, wearable devices, etc.
Iteration: stands for a single (usually small) development cycle. The duration of the period when the development process takes place varies from time to time. The breakdown of the project on iterations often make the communication between a business owner and a development team transparent and unchallenged.
Java: programming language and computing platform used for the development of native applications on the platform Android.
Monetization: a term used by developers and advertisers to specify the means of using mobile app as a medium of advertising and gaining profit.
Native app: a software developed for a certain platform (e.g. Android, iOS, Windows) that works only on definite devices. Native apps, in distinction from cross-platform and web apps, can fully take advantage of the operating system features and the devices’ hardware.
NDA: a legal contract between two parties, which obliges them to maintain the shared information in the secret under all the circumstances. The NDA is often signed by the business owner and the development agency in order to protect mobile app idea.
NFC (Near-Field Communication): a method of wireless data transfer, mostly related to mobile payments. Largely, it’s a way for your smartphone to communicate with another tech-device in close proximity without Wi-Fi, 3G, LTE or any other connection.
Objective C: programming language used by the developers to create native mobile applications on the platform iOS.
OS: an Operating System within which developers create your app. Most popular OS for mobile phones are iOS and Android.
iOS supports iPhone, iPad, Apple watch, etc devices. To create mobile apps for these devices, the developers work with the Swift or Objective-C languages.
Android is Google’s flagship OS. Building for Android, the developers use Java language.
Prototyping: the activity of creating prototypes of software applications, i.e. models of a product built to test how the app operates. Largely related to UX design.
Push-notifications: short messages that a mobile application can send to the users even when the app isn’t opened. Push notifications are a great way to keep the users more engaged with your app.
QA (Quality Assurance): the process of systematic monitoring and evaluation of various aspects of project developing, which is carried out in order to make sure that the project is completed on previously agreed specifications and requirements.
SDK (Software Development Kit): a set of development tools that the developers use to create an app for a certain OS, software platform, etc. An SDK typically includes one or several APIs, documentation, and programming tools.
Specification: a document that describes all the necessary information about the project before the development process actually starts. Specification usually includes the following information: timeline, budget, functional requirement and design.
Swift: programming language used by the developers to create native mobile applications on the platform iOS. This language is younger than Objective-C, still, it quickly starts replacing the former one.
UX (User Experience): the internal experience that a user has while they are interacting with the app.
UI (User Interface): is what users interact with directly, everything they see and touch in a mobile application.
Wireframe: a screen blueprint. It is a rough sketch of the mobile app’s architecture that is often considered to be a visual guide of the project.