Application software

Last updated

An application program (app or application for short) is a computer program designed to carry out a specific task other than one relating to the operation of the computer itself, [1] typically to be used by end-users. Word processors, media players, and accounting software are examples. The collective noun refers to all applications collectively. [2] The other principal classifications of software are system software, relating to the operation of the computer, and utility software ("utilities").

Contents

Applications may be bundled with the computer and its system software or published separately and may be coded as proprietary, open-source, or projects. [3] The term "app" often refers to applications for mobile devices such as phones.

Terminology

In information technology, an application (app), application program or application software is a computer program designed to help people perform an activity. Depending on the activity for which it was designed, an application can manipulate text, numbers, audio, graphics, and a combination of these elements. Some application packages focus on a single task, such as word processing; others, called integrated software include several applications. [4]

User-written software tailors systems to meet the user's specific needs. User-written software includes spreadsheet templates, word processor macros, scientific simulations, audio, graphics, and animation scripts. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is.

The delineation between system software such as operating systems and application software is not exact, however, and is occasionally the object of controversy. [5] For example, one of the key questions in the United States v. Microsoft Corp. antitrust trial was whether Microsoft's Internet Explorer web browser was part of its Windows operating system or a separable piece of application software. As another example, the GNU/Linux naming controversy is, in part, due to disagreement about the relationship between the Linux kernel and the operating systems built over this kernel. In some types of embedded systems, the application software and the operating system software may be indistinguishable to the user, as in the case of software used to control a VCR, DVD player, or microwave oven. The above definitions may exclude some applications that may exist on some computers in large organizations. For an alternative definition of an app: see Application Portfolio Management.

Metonymy

The word "application" used as an adjective is not restricted to the "of or pertaining to application software" meaning. [6] For example, concepts such as application programming interface (API), application server, application virtualization, application lifecycle management and portable application apply to all computer programs alike, not just application software.

Apps and killer apps

Some applications are available in versions for several different platforms; others only work on one and are thus called, for example, a geography application for Microsoft Windows , or an Android application for education, or a Linux game. Sometimes a new and popular application arises which only runs on one platform, increasing the desirability of that platform. This is called a killer application or killer app. For example, VisiCalc was the first modern spreadsheet software for the Apple II and helped selling the then-new personal computers into offices. For Blackberry it was their email software.

In recent years, the shortened term "app" (coined in 1981 or earlier [7] ) has become popular to refer to applications for mobile devices such as smartphones and tablets, the shortened form matching their typically smaller scope compared to applications on PCs. Even more recently, the shortened version is used for desktop application software as well.

Classification

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 property and use rights

Application software is usually distinguished among two main classes: closed source vs open source software applications, and among free or proprietary software applications.

Proprietary software is placed under the exclusive copyright, and a software license grants limited usage rights. The open-closed principle states that software may be "open only for extension, but not for modification". Such applications can only get add-on by third-parties.

Free and open-source software shall be run, distributed, sold or extended for any purpose, and -being open- shall be modified or reversed in the same way.

FOSS software applications released under a free license may be perpetual and also royalty-free. Perhaps, the owner, the holder or third-party enforcer of any right (copyright, trademark, patent, or ius in re aliena ) are entitled to add exceptions, limitations, time decays or expiring dates to the license terms of use.

Public-domain software is a type of FOSS, which is royalty-free and - openly or reservedly- can be run, distributed, modified, reversed, republished or created in derivative works without any copyright attribution and therefore revocation. It can even be sold, but without transferring the public domain property to other single subjects. Public-domain SW can be released under an (un)licensing legal statement, which enforces those terms and conditions for an indefinite duration (for a lifetime, or forever).

By coding language

Since the development and near-universal adoption of the web, an important distinction that has emerged, has been between web applications written with HTML, JavaScript and other web-native technologies and typically requiring one to be online and running a web browser and the more traditional native applications written in whatever languages are available for one's particular type of computer. There has been a contentious debate in the computing community regarding web applications replacing native applications for many purposes, especially on mobile devices such as smartphones and tablets. Web apps have indeed greatly increased in popularity for some uses, but the advantages of applications make them unlikely to disappear soon, if ever. Furthermore, the two can be complementary, and even integrated. [8] [9] [10]

By purpose and output

Application software can also be seen as being either horizontal or vertical. [11] [12] 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.

There are many types of application software: [13]

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.

Information worker software

Entertainment software

Educational software

Enterprise infrastructure software

Simulation software

Media development software

Product engineering software

Software engineering

See also

Related Research Articles

Software Non-tangible executable component of a computer

Software is a collection of instructions and data that tell a computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, including programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.

A computer program is a collection of instructions that can be executed by a computer to perform a specific task.

Graphical user interface User interface allowing interaction through graphical icons and visual indicators

The graphical user interface is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, instead of text-based user interfaces, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

Thin client Non-powerful computer optimized for remote server access

In computer networking, a thin client is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a fat client or a conventional personal computer; the former is also intended for working in a client–server model but has significant local processing power, while the latter aims to perform its function mostly locally.

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

Web application Application that uses a web browser as a client

A web application is application software that runs on a web server, unlike computer-based software programs that are run locally on the operating system (OS) of the device. Web applications are accessed by the user through a web browser with an active network connection. These applications are programmed using a client–server modeled structure—the user ("client") is provided services through an off-site server that is hosted by a third-party. Examples of commonly-used web applications include: web-mail, online retail sales, online banking, and online auctions.

Mobile computing Human–computer interaction in which a computer is expected to be transported during normal usage

Mobile computing is human–computer interaction in which a computer is expected to be transported during normal usage, which allows for the transmission of data, voice, and video. Mobile computing involves mobile communication, mobile hardware, and mobile software. Communication issues include ad hoc networks and infrastructure networks as well as communication properties, protocols, data formats, and concrete technologies. Hardware includes mobile devices or device components. Mobile software deals with the characteristics and requirements of mobile applications.

Mobile app development is the act or process by which a mobile app is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing to provide an "application-like" experience within a Web browser. Application software developers also must consider a long array of screen sizes, hardware specifications, and configurations because of intense competition in mobile software and changes within each of the platforms. Mobile app development has been steadily growing, in revenues and jobs created. A 2013 analyst report estimates there are 529,000 direct app economy jobs within the EU then 28 members, 60 percent of which are mobile app developers.

End-user development (EUD) or end-user programming (EUP) refers to activities and tools that allow end-users – people who are not professional software developers – to program computers. People who are not professional developers can use EUD tools to create or modify software artifacts and complex data objects without significant knowledge of a programming language. In 2005 it was estimated that by 2012 there would be more than 55 million end-user developers in the United States, compared with fewer than 3 million professional programmers. Various EUD approaches exist, and it is an active research topic within the field of computer science and human-computer interaction. Examples include natural language programming, spreadsheets, scripting languages, visual programming, trigger-action programming and programming by example.

Personal computer Computer intended for use by an individual person

A personal computer (PC) is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or technician. Unlike large, costly minicomputers and mainframes, time-sharing by many people at the same time is not used with personal computers.

The following outline is provided as an overview of and topical guide to software:

Mobile Business Intelligence is defined as “Mobile BI is a system comprising both technical and organizational elements that present historical and/or real-time information to its users for analysis on mobile devices such as smartphones and tablets, to enable effective decision-making and management support, for the overall purpose of increasing firm performance.”. Business intelligence (BI) refers to computer-based techniques used in spotting, digging-out, and analyzing business data, such as sales revenue by products and/or departments or associated costs and incomes.

Productivity software is application software used for producing information. Its names arose from the fact that it increases productivity, especially of individual office workers, from typists to knowledge workers, although its scope is now wider than that. Office suites, which brought word processing, spreadsheet, and relational database programs to the desktop in the 1980s, are the core example of productivity software. They revolutionized the office with the magnitude of the productivity increase they brought as compared with the pre-1980s office environments of typewriters, paper filing, and handwritten lists and ledgers. In the United States, some 78% of "middle-skill" occupations now require the use of productivity software. In the 2010s, productivity software has become even more consumerized than it already was, as computing becomes ever more integrated into daily personal life.

A list of BlackBerry-related topics

A mobile application, also referred to as a mobile app or simply an app, is a computer program or software application designed to run on a mobile device such as a phone, tablet, or watch. Apps were originally intended for productivity assistance such as email, calendar, and contact databases, but the public demand for apps caused rapid expansion into other areas such as mobile games, factory automation, GPS and location-based services, order-tracking, and ticket purchases, so that there are now millions of apps available. Apps are generally downloaded from application distribution platforms which are operated by the owner of the mobile operating system, such as the App Store (iOS) or Google Play Store. Some apps are free, and others have a price, with the profit being split between the application's creator and the distribution platform. Mobile applications often stand in contrast to desktop applications which are designed to run on desktop computers, and web applications which run in mobile web browsers rather than directly on the mobile device.

References

  1. "application software" . Oxford English Dictionary (Online ed.). Oxford University Press. (Subscription or participating institution membership required.)
  2. "Application software". PC Magazine . Ziff Davis.
  3. Ryan, Thorne (2013-03-14). "Caffeine and computer screens: student programmers endure weekend long appathon". The Arbiter. Archived from the original on 2016-07-09. Retrieved 2015-10-12.
  4. Ceruzzi, Paul E. (2000). A History of Modern Computing. Cambridge, Massachusetts: MIT Press. ISBN   0-262-03255-4.
  5. Ulrich, William. "Application Package Software: The Promise Vs. Reality". Cutter Consortium.
  6. Application Package Software: The Promise Vs. Reality
  7. The History of 'App' and the Demise of the Programmer
  8. Gassée, Jean-Louis (2012-09-17). "The Silly Web vs. Native Apps Debate". The Silly Web vs. Native Apps Debate. Archived from the original on 2016-04-15. Retrieved 2013-07-14.
  9. Frechette, Casey (2013-04-11). "What journalists need to know about the difference between Web apps and native apps". Poynter. Retrieved 2017-01-04.
  10. Valums, Andrew (2010-02-10). "Web apps vs desktop apps". valums.com. Archived from the original on 2013-04-02. Retrieved 2013-07-14.
  11. "What Is a Horizontal Application?".
  12. "What Are Horizontal Services?". Archived from the original on 2013-10-31.
  13. "What is Application Software & Its Types | eduCBA". eduCBA. 2015-12-21. Retrieved 2017-03-24.
  14. Campbell-Kelly, Martin; Aspray, William (1996). Computer: A History of the Information Machine. New York: Basic Books. ISBN   0-465-02990-6.