5.3. SoftwareApplication Software [src] |
||
General DescriptionApplication software, also known as a program, an application or just an "app", is computer software designed to help the user to perform a single specific task, such as create a presentation. Examples of applications include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with documents. Apps may be bundled with the computer and its system software, or may be purchased separately. (And, of course, some is free.) Application software is contrasted with system software, which manages and integrates a computer's capabilities, but typically does not directly apply them to the direct benefit of the user. The system software serves the application, which in turn serves the user. Similar relationships apply in other fields. For example, a shopping mall does not provide the merchandise a shopper is seeking, but provides space and services for retailers that serve the shopper. Rail tracks similarly support trains, allowing the train service (or company) to transport passengers. Application software applies the power of a particular computing platform (system software + hardware) to a particular purpose. Some apps such as Microsoft Office are available in versions for several different platforms; others have narrower requirements and are thus called, for example, a Geography application for Windows or an Android application for education or Linux gaming. 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. |
gretl is an open-source statistical package, mainly for econometrics By Alexged (Own work) [CC-BY-SA-3.0 or GFDL], via Wikimedia Commons OpenGL User Interface Library (GLUI) See page for author [GFDL], via Wikimedia Commons mp3blaster on Linux KDE By Rafael Ortega Díaz (Own work) [GFDL, CC-BY-SA-3.0 or CC-BY-SA-2.5-2.0-1.0], via Wikimedia Commons |
|
Kinds of softwareApplication software falls into two general categories; horizontal applications and vertical applications. Horizontal applications, like Microsoft's Office Suite, are the most popular and are widely spread in departments or companies. This is the type of "boxed software" that was commonly sold in electronics or office supply stores, i.e., software that anyone might buy. Vertical Applications are designed for a particular type of business or for a specific division in a company. The degree audit software used by universities to track student progress is of this type, as it is of little use to others. Another basic classification is determined by the kind of user interface provided. Most applications provide Graphical User Interfaces (GUIs), like Windows and Mac OS. Other applications may be menu based or command line based interfaces. |
Linux command line interface By The GNU Dev team, and the Arch Linux Dev team (for the Pacman command in the example) (Own work) [GPL], via Wikimedia Commons KDE 3.4.2 running on Gentoo Linux See page for author [GPL], via Wikimedia Commons |
|
Application SuitesAn 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 office applications (productivity software) often come in suites, e.g. Microsoft Office, OpenOffice and iWork, which each bundle together a word processor, a spreadsheet, etc.. (You may wish to look at: 5 free open source alternatives to Microsoft Office.) Suites of software are available for other purposes, as well, e.g. graphics or music. |
OpenOffice Suite (Free!) See page for author [GPL or FAL], via Wikimedia Commons |
|
Enterprise SoftwareEnterprise software addresses the needs of organization processes and data flow, often in a large distributed environment. Examples include financial systems, customer relationship management (CRM) systems and supply-chain management software. Note that 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.) |
Jumper 2.0 for collaborative search and knowledge management See page for author [GPL or CC-BY-3.0], via Wikimedia Commons |
|
Information worker softwareInformation worker software addresses the needs of individuals to create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation, analytical, and collaborative tools. Word processors, spreadsheets (any productivity software), email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks. |
Mozilla Thunderbird 3.1.9 Email Interface By Mozilla Foundation (Mozilla Thunderbird 3.1.9) [GFDL or CC-BY-SA-3.0-2.5-2.0-1.0], via Wikimedia Commons |
|
Content access softwareContent access software is software 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, Help browsers and Games. Content access management is also used to control who can see or change information in the workplace. An example you may have used is Google Docs, where a group may develop a project, but only group members have access. |
Mozilla Firefox web browser By Own work (Wikipedia) [GPL or LGPL], via Wikimedia Commons |
|
Educational softwareEducational software is related to content access software, but has the content and/or features adapted for use by educators or students. For example, it may deliver evaluations (tests), track progress through material, or include collaborative capabilities. Students or parents may be able to look up assignments and/or grades. A system such as D2L is sometimes called a (course) content management system. |
Moodle Learning Management System By Myself (http://demo.moodle.net/course/view.php?id=615) [GPL], via Wikimedia Commons |
|
Simulation softwareSimulation software is computer software for the simulation of physical or abstract systems and is often used for research, training, or entertainment purposes. We frequently see the results of such such software when we view weather reports which often predict future conditions. Simulations tend to require a lot of computing power and may be run mainframes or supercomputers. You may have noted that when warnings of a hurricane are given, the actual path and strength are approximate. These predictions are based on multiple models (or simulations), each with there own, independent, results. The utility and accuracy of the results of any simulation, depend largely on:
|
48 hour weather simulation of Typhoon Mawar By Typhoon_Mawar_2005_computer_simulation.gif: Atmozderivative work: Atmoz (Typhoon_Mawar_2005_computer_simulation.gif) [CC-BY-SA-3.0], via Wikimedia Commons Driving public domain image |
|
Media development softwareMedia development software addresses the needs of individuals who generate printed media and create 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. |
Audacity sound editor Uploaded by Gh. Licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. |
|
Product engineering softwareProduct 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. I was sorely tempted to say that this is the domain of computer geeks, but that isn't really true now, if it ever was. First the stereotype is wrong. Second, many non-computer science, non-software engineers now program at some level. Third, except perhaps for the perceived value of the end product, how is this any different than, say, media developent software. |
Nonlinear statistics analysis of a 3D structure subjected to plastic deformations with Code-Aster By Joël Cugnoni (http://www.caelinux.com) [GPL], via Wikimedia Commons |
|
System RequirementsWhen software was sold from boxes in stores, the box had a list of system requirements that had to be met in order for the software to work properly. The sales clerk would generally point out unusual requirements. Today, we buy much of our software online, but it still won't work if we fail to meet the system requirements. Always check for these. Common system requirements are:
|
||
Some systems will require more unique system hardware, for example the Nunchuk controller, zapper, shotgun, and yoga mat are only a few of the specialized UI devices available for a Wii. One would expect a yoga "game" to require the yoga mat. |
Wii system in use public domain image |
|
Mobile applicationsMobile applications (mobile apps) run on hand-held devices such as smart phones, tablet computers, portable media players, personal digital assistants and enterprise digital assistants. They are typically purchased & distributed through a network specific for the device (family), but may still have requirements such as a particular OS version. Mobile app development is one of the hotest growth areas in programming right now. |
iPhone Uploaded by Ausis. Source blakeburris (Flickr). |
|
Web Applications [src]A web application is an application that is accessed over a network such as the Internet. (I think of this as the start of cloud computing.) Web applications are popular due to the ubiquity of web browsers, and the convenience of using a web browser as a client, sometimes called a thin client. The ability to update and maintain web applications without distributing and installing software on potentially thousands of client computers is a key reason for their popularity, as is the inherent support for cross-platform compatibility. Common web applications include webmail, online retail sales, online auctions, wikis and many other functions. |
Screenshot of Horde's portal view By The Horde Project (http://www.horde.org/webmail/screenshots) [LGPL], via Wikimedia Commons |
|
Cloud Computing (Applications) [src]Cloud computing is a type of Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources (e.g., computer networks, servers, storage, applications and services), which can be rapidly provisioned and released with minimal management effort. Cloud computing and storage solutions provide users and enterprises with various capabilities to store and process their data in third-party data centers that may be located far from the user – ranging in distance from across a city to across the world. Cloud computing relies on sharing of resources to achieve coherence and economy of scale, similar to a utility (like the electricity grid) over an electricity network. Advocates claim that cloud computing allows companies to avoid up-front infrastructure costs (e.g., purchasing servers). As well, it enables organizations to focus on their core businesses instead of spending time and money on computer infrastructure. Proponents also claim that cloud computing allows enterprises to get their applications up and running faster, with improved manageability and less maintenance, and enables Information technology (IT) teams to more rapidly adjust resources to meet fluctuating and unpredictable business demand. Cloud providers typically use a "pay as you go" model. This will lead to unexpectedly high charges if administrators do not adapt to the cloud pricing model. Cloud apps store their data in the cloud but it can be cached locally, allowing full use offline, unlike web apps that must be used online. Web apps always use a browser, while cloud apps may allow the use of a browser but allow alternative access methods. |
Created by Sam Johnston using OmniGroup's OmniGraffle and Inkscape (includes Computer.svg by Sasa Stefanovic) #216 Computing in the Cloud Pros and Cons Cloud app vs. web app: Understanding the differences |
|
Third party server side applicationA third party server side application is an app that the user may choose to install in his or her account on a social media site or other Web 2.0 web site, for example a Facebook app. With these apps, privacy may be a concern for users. As they are not written or distributed by the host site, they have their own privacy policies that control what information they may collect, trade, or sell about the user. |
||
Widgets [src]A software widget is a generic type of software application comprising portable code intended for one or more different software platforms. The term often implies that either the application, user interface, or both, are light, meaning relatively simple and easy to use, as exemplified by a desk accessory or applet, as opposed to a more complete software package such as a spreadsheet or word processor. Widgets often take the form of on-screen tools (clocks, event count downs, auction-tickers, stock market tickers, flight arrival information, daily weather etc).[src] |
Widgets under KDE 4.2 and Kubuntu 9.04. By Canonical, KDE (selbst erstellt/taken myself) [GPL], via Wikimedia Commons |
|
#85 Installing legacy software on new OS | ||