An Application, often shortened to app, is a program or set of programs that allows end users to perform particular functions. For example, e-commerce companies provide applications to customers to facilitate purchases and service. An application is also a type of software, and in fact, is sometimes called application software. Like other software, an application is made of a program, or set of programs, but not every type of software or program is an application. What makes an application unique is that it’s designed to interact with the end user of the computer or device; it helps the user perform certain tasks. Because applications are built for users, they have a graphical user interface — where the user interacts with the application.
Classification of Applications
There are many different and alternative ways in order to classify application software. By the legal point of view, application software is mainly classified with a black box approach, in relation to the rights of its final end-users or subscribers (with eventual intermediate and tiered subscription levels). Software applications are also classified in respect of the programming language in which the source code is written or executed, and respect of their purpose and outputs.
- By Purpose and Output: Application software can also be seen as being either horizontal or vertical. Horizontal applications are more popular and widespread, because they are general purpose, for example word processors or databases. Vertical applications are niche products, designed for a particular type of industry or business, or department within an organization. Integrated suites of software will try to handle every specific aspect possible of, for example, manufacturing or banking worker, or accounting, or customer service.
- Applications can also be classified by computing platform such as a particular operating system, delivery network such as in cloud computing and Web 2.0 applications, or delivery devices such as mobile apps for mobile devices. The operating system itself can be considered application software when performing simple calculating, measuring, rendering, and word processing tasks not used to control hardware via command-line interface or graphical user interface. This does not include application software bundled within operating systems such as a software calculator or text editor.
Types of Application Software
There are many types of application software:
- An application suite consists of multiple applications bundled together. They usually have related functions, features and user interfaces, and may be able to interact with each other, e.g. open each other's files. Business applications often come in suites, e.g. Microsoft Office, LibreOffice and iWork, which bundle together a word processor, a spreadsheet, etc.; but suites exist for other purposes, e.g. graphics or music.
- Enterprise software addresses the needs of an entire organization's processes and data flows, across several departments, often in a large distributed environment. Examples include enterprise resource planning systems, customer relationship management (CRM) systems and supply chain management software. Departmental Software is a sub-type of enterprise software with a focus on smaller organizations or groups within a large organization. (Examples include travel expense management and IT Helpdesk.)
- Enterprise infrastructure software provides common capabilities needed to support enterprise software systems. (Examples include databases, email servers, and systems for managing networks and security.)
- Application platform as a service (aPaaS) is a cloud computing service that offers development and deployment environments for application services.
- Information worker software lets users create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, analytical, collaborative and documentation tools. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks.
- Content access software is used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include media players, web browsers, and help browsers.)
- Educational software is related to content access software, but has the content or features adapted for use in by educators or students. For example, it may deliver evaluations (tests), track progress through material, or include collaborative capabilities.
- Simulation software simulates physical or abstract systems for either research, training or entertainment purposes.
- Media development software generates print and electronic media for others to consume, most often in a commercial or educational setting. This includes graphic-art software, desktop publishing software, multimedia development software, HTML editors, digital-animation editors, digital audio and video composition, and many others.
- Product engineering software is used in developing hardware and software products. This includes computer-aided design (CAD), computer-aided engineering (CAE), computer language editing and compiling tools, integrated development environments, and application programmer interfaces.
- Entertainment Software can refer to video games, screen savers, programs to display motion pictures or play recorded music, and other forms of entertainment which can be experienced through use of a computing device.
Application Delivery Mechanisms
Developers have many different options for getting their applications to end users. In decades past, nearly all applications were installed directly on the users' PCs and/or servers.
Today, many applications are delivered as Web applications. The code for these applications resides on a Web server, and users access the application via a Web browser. Common examples of Web applications include Web-based email, social media platforms, wikis and online auctions.
The distinctions between Web applications and websites can be a bit fuzzy. However, in general, websites have primarily static content with few interactive elements, while Web applications have primarily dynamic content and are designed for user interaction.
A third type, software-as-a-service (SaaS) applications, is closely related to Web applications. As with Web applications, users generally access SaaS applications via a Web browser. However, some SaaS applications can also be accessed via a native mobile app on a device like a smartphone or a tablet. Also, user data for a SaaS application is stored in a cloud computing environment (which may or may not be the case for Web applications), and many SaaS applications charge a subscription fee, which is less common for Web applications.
Well-known examples of SaaS applications include Salesforce.com, Microsoft Office 365 and Adobe Creative Cloud.
App Versus Application
Many people use the words app and application interchangeably, but purists will tell you that the two are slightly different. App is used to describe a type of application that has a single functionality, whereas an application may handle a number of functions. Apps, says Gartner, are not applications: “The defining characteristic of an app is its reduced functional presence. Apps do less than applications. That is their goal.”1 In other words, what began as mere shorthand for most of us has come to represent a different design paradigm altogether.
How do we separate the usage of the terms? The distinction is driven primarily by the device. Big screen, full keyboard, unlimited power, etc.? That’s the playground for applications. Small touch screen, small keyboard, limited battery, limited bandwidth? That’s where apps thrive.
While some folks may quibble with this distinction (“But my Mac runs apps too!”), this kind of hair-splitting doesn’t really take us anywhere useful. It is the “artificial constraint” of mobile device form factors that has given rise to the creative simplicity of apps.
Understandably, for many companies the app/application difference remains hidden or misunderstood. Shedding our legacy thinking about what an application is for, or what makes one good, isn’t easy. But it’s central to any winning mobile strategy. Why? Because grasping the distinction affects not just how we design the user interface, but how we architect and what we need from our software infrastructure. It’s these cumulative differences that inform what users have come to expect from the mobile experience.
Applications vs. System Software
Unlike application software, system software programs operate in the background and do not directly interface with the computer user. System software manages the operation of a computer or instance and typically includes the OS, hypervisor and drivers. These are generally low-level or basic programs as compared to end-user facing applications.
Applications use system software for access to basic hardware resources, such as memory, storage and other utilities. For example, an application relies on system software for access to the file system to manage and store files.
Application-Capability Reference Model (ARM)
Application Channel Technology and Industry (ACT I)
Application Delivery Controller (ADC)
Application Infrastructure Suite (AIS)
Application Life Cycle Management Platform as a Service (ALM PaaS)
Application Lifecycle Framework
Application Lifecycle Management (ALM)
Application Management Outsourcing (AMO)
Application Management Services Framework (AMSF)
Application Modernization Services
Application Performance Management (APM)
Application Performance Monitoring (APM)
Application Platform as a Service (aPaaS)
Application Portability Profile (APP)
Application Portfolio Management (APM)
Application Program Interface (API)
Application Release Automation (ARA)
Application Service Management (ASM)
Application Service Provider (ASP)
Application Software Services
Application Specific Integrated Circuit (ASIC)
Application Specific Standard Product (ASSP)
Applications Portfolio Analysis (APA)
Advanced Business Application Programming (ABAP)
Architected Rapid Application Development (ARAD)
Business Application Programming Interface (BAPI)
Mobile Application Management (MAM)
Gartner's PACE Layered Application Strategy
Insurance Application Architecture (IAA)
Integrated Application Lifecycle Management
Rapid Application Development (RAD)
MAPI (Messaging Application Programming Interface)
Network Based Application Recognition (NBAR)
Enterprise Application Integration (EAI)