Application
An application, often shortened to app, is a program designed to help a person carry out a specific task, such as writing a document, browsing the web, editing photographs, keeping accounts or chatting with friends, as opposed to the system software that runs the machine itself. A word processor and a spreadsheet are applications; the operating system, the kernel and the device drivers that they rely on are not, because they exist to serve other programs and the hardware rather than to accomplish a user's own goal.
The line between applications and system software is defined by purpose and by privilege. System software manages resources and runs with high privilege; an application runs as an ordinary user-mode process, requests memory, files and network access through the operating system's programming interfaces, and can be installed, updated and removed without touching the operating system. Because every application on a platform must be built against the same interfaces, the operating system functions as a platform that makes it worthwhile for third parties to write software: a program compiled for Windows runs on Windows, and a program built for iOS or Android must use that system's frameworks. The set of low-level conventions a compiled application depends on is called the application binary interface.
Applications drove the commercial history of personal computers. VisiCalc, the first electronic spreadsheet for the Apple II, appeared in 1979 and is often called the original killer app, an application so valuable that people bought a computer just to run it. It was followed by word processors like WordStar and spreadsheets such as Lotus 1-2-3 on the IBM PC, and by the desktop publishing and office suites that defined the following decades. The short form "app" was popularized by Apple's App Store, opened in 2008 with the iPhone, which created a mass market for small, sandboxed programs distributed through a single catalogue and made the idea of installing software a routine consumer activity.
Applications come in several delivery models that trade convenience against control. A native application is compiled for one operating system and has the best access to hardware and performance. A web application runs in the browser against a server, needs no installation and updates instantly for everyone, but depends on connectivity and the browser's limits. Cross-platform approaches such as Electron bundle a web engine with the application's own code, which is why many desktop programs now carry their own copy of a browser and consume memory accordingly. Mobile applications are sandboxed by the operating system, asking for permission before accessing the camera, contacts or location, a model that has increasingly been adopted by desktop systems as well.
Modern applications are increasingly thin front ends over remote services and models. A chat assistant, a translation tool or a photo app that removes backgrounds typically sends the task to a server where a large machine-learning model does the work, while the application handles the user interface, authentication and presentation. For developers, an application is also the unit of packaging and deployment: it is shipped as an installer, an app bundle, a container image or a store package, together with libraries it depends on, and software supply-chain attacks target exactly this layer, by tampering with a dependency or an update channel rather than the application's visible code.
A few misconceptions are worth correcting. An application is not the same as its window: closing the window may leave a background process running, as many macOS and mobile apps do, and some applications, such as a database server or a mail daemon, have no window at all. An application is also not the same as a file, since the executable is only one part of it alongside libraries, settings, caches and data, which is why dragging one icon to the trash may leave settings behind. And "program", "application", "software" and "app" overlap but are not synonyms: software is the broadest category, a program is any executable instruction set, and an application is one that serves an end user's task.
Read an application as the part of a computer that serves a person's purpose: the hardware, kernel and drivers supply capability, but the application is where that capability is shaped into something specific enough, such as a spreadsheet, a map or a chat, to be worth running at all.