Application software

Application software (app for short) is computer software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user. Examples of an application include a word processor, a spreadsheet, an accounting application, a web browser, a media player, an aeronautical flight simulator, a console game or a photo editor. The collective noun application software refers to all applications collectively.[1] This contrasts with system software, which is mainly involved with running the computer.

Applications may be bundled with the computer and its system software or published separately, and may be coded as proprietary, open-source or university projects.[2] Apps built for mobile platforms are called mobile apps.

Gimp-utility-window-hint
GNU Image Manipulation Program (GIMP), version 2.6, a freely distributed application

Terminology

In information technology, an application (app), application program or software application is a computer program designed to help people perform an activity. An application thus differs from an operating system (which runs a computer), a utility (which performs maintenance or general-purpose chores), and a programming tool (with which computer programs are created). Depending on the activity for which it was designed, an application can manipulate text, numbers, audio, graphics, or a combination of these elements. Some application packages focus on a single task, such as word processing; others, called integrated software include several applications.[3]

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.[4] 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", once used as an adjective, is not restricted to the "of or pertaining to application software" meaning.[5] 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 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[6]) 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 not alternative ways in order to order and 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.[7][8][9]

By purpose and output

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

  • 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.)
  • 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.[13]
  • 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.

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

  • Classroom management
  • Reference software
  • Sales readiness software
  • Survey management
  • encyclopedia software

Enterprise infrastructure software

Simulation software

Media development software

Product engineering software

Software engineering

See also

References

  1. ^ "Application software". PC Magazine. Ziff Davis.
  2. ^ 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.
  3. ^ Ceruzzi, Paul E. (2000). A History of Modern Computing. Cambridge, Massachusetts: MIT Press. ISBN 0-262-03255-4.
  4. ^ Ulrich, William. "Application Package Software: The Promise Vs. Reality". Cutter Consortium.
  5. ^ Application Package Software: The Promise Vs. Reality
  6. ^ The History of 'App' and the Demise of the Programmer
  7. ^ 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.
  8. ^ Frechette, Casey (2013-04-11). "What journalists need to know about the difference between Web apps and native apps". Poynter. Retrieved 2017-01-04.
  9. ^ Valums, Andrew (2010-02-10). "Web apps vs desktop apps". valums.com. Archived from the original on 2013-04-02. Retrieved 2013-07-14.
  10. ^ "What Is a Horizontal Application?".
  11. ^ "What Are Horizontal Services?". Archived from the original on 2013-10-31.
  12. ^ "What is Application Software & Its Types | eduCBA". eduCBA. 2015-12-21. Retrieved 2017-03-24.
  13. ^ Campbell-Kelly, Martin; Aspray, William (1996). Computer: A History of the Information Machine. New York: Basic Books. ISBN 0-465-02990-6.
Accounting software

Accounting software describes a type of application software that records and processes accounting transactions within functional modules such as accounts payable, accounts receivable, journal, general ledger, payroll, and trial balance. It functions as an accounting information system. It may be developed in-house by the organization using it, may be purchased from a third party, or may be a combination of a third-party application software package with local modifications. Accounting software may be on-line based, accessed anywhere at any time with any device which is Internet enabled, or may be desktop based. It varies greatly in its complexity and cost.The market has been undergoing considerable consolidation since the mid-1990s, with many suppliers ceasing to trade or being bought by larger groups.

AppStream

AppStream is an agreement between major Linux vendors (i.e. Red Hat, Canonical, SUSE, Debian, Mandriva, etc.) to create an infrastructure for application installers on Linux and sharing of metadata.The project describes itself as: "an initiative of cross-distro collaboration, which aims at creating an unified software metadata database, and also a centralized OCS (Open Collaboration Services) user-contributed content database, thus providing the best user experience."

With the 0.6 release, the scope of the project was expanded to include more metadata for other software components, such as fonts, codecs, input-methods and generic libraries, which will allow applications to query information about software which is available in a distribution in a distribution-independent way. This enhances the quality of data displayed in software-centers, but also makes it possible for 3rd-party application installers like Listaller to find the components a new application needs to run in the distribution's package database. Additionally, the new metadata allows easier installation of prerequisites needed to build software in the first place, as well as matching upstream applications with distribution packages and matching packages across distributions, which might improve the process of exchanging patches.

Application-release automation

Application-release automation (ARA) refers to the process of packaging and deploying an application or update of an application from development, across various environments, and ultimately to production. ARA solutions must combine the capabilities of deployment automation, environment management and modeling, and release coordination.

Computer program

A computer program is a collection of instructions that performs a specific task when executed by a computer. A computer requires programs to function.

A computer program is usually written by a computer programmer in a programming language. From the program in its human-readable form of source code, a compiler can derive machine code—a form consisting of instructions that the computer can directly execute. Alternatively, a computer program may be executed with the aid of an interpreter.

A collection of computer programs, libraries, and related data are referred to as software. Computer programs may be categorized along functional lines, such as application software and system software. The underlying method used for some calculation or manipulation is known as an algorithm.

Enterprise software

Enterprise software, also known as enterprise application software (EAS), is computer software used to satisfy the needs of an organization rather than individual users. Such organizations include businesses, schools, interest-based user groups, clubs, charities, and governments. Enterprise software is an integral part of a (computer-based) information system.

Services provided by enterprise software are typically business-oriented tools, such as online shopping, and online payment processing, interactive product catalogue, automated billing systems, security, Business Process Management, enterprise content management, IT Service Management, customer relationship management, enterprise resource planning, business intelligence, project management, collaboration, human resource management, manufacturing, occupational health and safety, enterprise application integration, and enterprise forms automation.

As enterprises have similar departments and systems in common, enterprise software is often available as a suite of customizable programs. Generally, the complexity of these tools requires specialist capabilities and specific knowledge. Enterprise computing is the information technology (IT) tools that businesses use for efficient production operations and back office support. These IT tools cover database management, customer relationship management, supply chain management, business process management and so on.

Google mobile services

Google Mobile Services (GMS) is not a part of Android Open Source Project (AOSP). Which means an Android manufacturer needs to obtain license from Google in order to get a right to install GMS on an Android device. License is provided by Google without any license fee.

GMS consist of two parts; popular bundle package and other bundle package. In order to gain a license for GMS, popular bundle package need to be preinstalled by Android device manufactures, usually called pre-loaded apps.

Mathematical software

Mathematical software is software used to model, analyze or calculate numeric, symbolic or geometric data.It is a type of application software which is used for solving mathematical problems or mathematical study. There are various views to what is the mathematics, so there is various views of the category of mathematical software which used for them, over from narrow to wide sense.

A type of mathematical software (math library) also used by built in the part of another scientific software. A most primary them (for example, to calculate elementary function by floating point arithmetic) may be in the category of mathematical software. They are often usually built in the general purpose systems as middleware. So to speak, mathematical software is not only an application software but also basis of another scientific software. And that is its one of the characteristic of mathematical software as that mean.

Several mathematical software often have good user interface for educational purpose (see educational math software). But the core parts of solver of them direct dependent to the algorism by the mathematical knowledge. So it may be common sense that it does not process if it not well solved on mathematical construction at least. (There is physical limitation of hardware.) That is typical difference of mathematical software for another application software.

Specially, It may be sure common sense that to the attention that there is a such as next case in mathematical software using:

That is not always solvable.# That may be solved theoritically, but most hard to solve actually or physically by computer caused by not in the polynomial time.Encryption software apply the second case.

Media player (software)

A media player is a computer program/software for playing multimedia files like audios, videos, movies and music. Media players commonly display standard media control icons known from physical devices such as tape recorders and CD players, such as play (  ), pause (  ), fastforward, backforward, and stop (  ) buttons. In addition, they generally have progress bars (or "playback bars") to locate the current position in the duration of the media file.

Mainstream operating systems have at least one built-in media player. For example, Windows comes with Windows Media Player while macOS comes with QuickTime Player and iTunes. Linux distributions may also come with a media player, such as SMPlayer, Amarok, Audacious, Banshee, MPlayer, mpv, Rhythmbox, Totem, VLC Media Player, and xine. Android OS comes with Google Play Music as default media player and many apps like Poweramp, Beautiful Music Player, VLC Media Player.

Mobile app

A mobile app or mobile application 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.

In 2009, technology columnist David Pogue said that newer smartphones could be nicknamed "app phones" to distinguish them from earlier less-sophisticated smartphones. The term "app", short for "software application", has since become very popular; in 2010, it was listed as "Word of the Year" by the American Dialect Society.

Software

Computer software, or simply software, is a collection of data or computer instructions that tell the 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, 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.

At the lowest programming level, executable code consists of machine language instructions supported by an individual processor—typically a central processing unit (CPU) or a graphics processing unit (GPU). A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. For example, an instruction may change the value stored in a particular storage location in the computer—an effect that is not directly observable to the user. An instruction may also invoke one of many input or output operations, for example displaying some text on a computer screen; causing state changes which should be visible to the user. The processor executes the instructions in the order they are provided, unless it is instructed to "jump" to a different instruction, or is interrupted by the operating system. As of 2015, most personal computers, smartphone devices and servers have processors with multiple execution units or multiple processors performing computation together, and computing has become a much more concurrent activity than in the past.

The majority of software is written in high-level programming languages. They are easier and more efficient for programmers because they are closer to natural languages than machine languages. High-level languages are translated into machine language using a compiler or an interpreter or a combination of the two. Software may also be written in a low-level assembly language, which has strong correspondence to the computer's machine language instructions and is translated into machine language using an assembler.

Software categories

Software categories are groups of software. They allow software to be understood in terms of those categories instead of the particularities of each package. Different classification schemes consider different aspects of software.

Software development

Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.Software can be developed for a variety of purposes, the three most common being to meet specific needs of a specific client/business (the case with custom software), to meet a perceived need of some set of potential users (the case with commercial and open source software), or for personal use (e.g. a scientist may write software to automate a mundane task). Embedded software development, that is, the development of embedded software, such as used for controlling consumer products, requires the development process to be integrated with the development of the controlled physical product. System software underlies applications and the programming process itself, and is often developed separately.

The need for better quality control of the software development process has given rise to the discipline of software engineering, which aims to apply the systematic approach exemplified in the engineering paradigm to the process of software development.

There are many approaches to software project management, known as software development life cycle models, methodologies, processes, or models. The waterfall model is a traditional version, contrasted with the more recent innovation of agile software development.

Software suite

A software suite or application suite is a collection of computer programs —usually application software or programming software— of related functionality, often sharing a similar user interface and the ability to easily exchange data with each other.

System software

System software is software designed to provide a platform to other software. Examples of system software include operating systems like macOS and Windows, computational science software, game engines, industrial automation, and software as a service applications.In contrast to system software, software that allow users to do user-oriented tasks such as create text documents, play games, listen to music, or browse the web are collectively referred to as application software.In the early days of computing most application software was custom-written by computer users to fit their specific hardware and requirements. In contrast, system software was usually supplied by the manufacturer of the computer hardware and was intended to be used by most or all users of that system.

The line where the distinction should be drawn is not always clear. Many operating systems bundle application software. Such software is not considered system software when it can be uninstalled usually without affecting the functioning of other software. Exceptions could be e.g. web browsers such as Internet Explorer where Microsoft argued in court that it was system software that could not be uninstalled. Later examples are Chrome OS and Firefox OS where the browser functions as the only user interface and the only way to run programs (and other web browsers can not be installed in their place), then they can well be argued to be (part of) the operating system and hence system software.

Another borderline example is cloud-based software. This software provides services to a software client (usually a web browser or a JavaScript application running in the web browser), not to the user directly, and is therefore systems software. It is also developed using system programming methodologies and systems programming languages. Yet from the perspective of functionality there is little difference between a word processing application and word processing web application.

TVPlayer

TVPlayer is an Internet television company serving the United Kingdom, offering access to free live television channel streams using a web browser or application software via big screen and small screen mobile devices. Alongside the free service, TVPlayer offers multiple no contract monthly subscriptions each carrying different premium live television channel streams. TVPlayer was launched as Android and Apple iOS smartphone apps on 19 December 2013, compatible apps for Android tablet computers and the Apple iPad were released on 30 January 2014. Company representatives reported that TVPlayer had received 250,000 application software downloads within 28 days of launching. On 30 January 2017, TVPlayer announced it had launched compatibility for all Windows 10 devices. As of January 2017, TVPlayer application software had been downloaded 2.5 million times since inception and boasted over one million active viewers.

Tinder (app)

Tinder is a location-based social search mobile app that allows users to like (swipe right) or dislike (swipe left) other users, and allows users to chat if both parties liked each other in the app (a "match"). The app is often used as a dating site. Information available to the users is based on pictures from Facebook, a short bio that users write themselves, and optionally, a linked Instagram or Spotify account.Originally developed by Hatch Labs, the app was launched in 2012. By 2014, it was registering about one billion "swipes" per day. Tinder is among the first "swiping apps", whose users employ a swiping motion to choose photos of other users, swiping right for potentially good matches and swiping left on a photo to move to the next one.

Tinderbox (application software)

Tinderbox is a personal content management system and personal knowledge base.

It is a tool for storing, arranging, exploring, and publishing data.

User space

A modern computer operating system usually segregates virtual memory into kernel space and user space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour.

Kernel space is strictly reserved for running a privileged operating system kernel, kernel extensions, and most device drivers. In contrast, user space is the memory area where application software and some drivers execute.

Writer2epub

Writer2ePub (W2E) is a free extension for the various implementations of the Writer text processor to create EPUB-formatted e-Books "from any file format that Writer can read". A text to be exported as EPUB has to be saved as OpenDocument (ODT)-formatted text document. Writer2epub is written in OpenOffice Basic. The author of Writer2ePub is Luca “Luke” Calcinai.

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.