Software bloat
Software bloat
Main page

Software bloat

logo
Community Hub0 subscribers
What are your thoughts?
Be the first to start a discussion here.
Be the first to start a discussion here.
Software bloat

Software bloat is a process whereby successive versions of a computer program become perceptibly slower, use more memory, disk space or processing power, or have higher hardware requirements than the previous version, while making only dubious user-perceptible improvements or suffering from feature creep. The term is not applied consistently; it is often used as a pejorative by end users, including to describe undesired user interface changes even if those changes had little or no effect on the hardware requirements. In long-lived software, bloat can occur from the software servicing a large, diverse marketplace with many differing requirements. Most end users will feel they only need some limited subset of the available functions, and will regard the others as unnecessary bloat, even if end users with different requirements require those functions.

Actual (measurable) bloat can occur due to de-emphasising algorithmic efficiency in favour of other concerns like developer productivity, or possibly through the introduction of new layers of abstraction like a virtual machine or other scripting engine for the purposes of convenience when developer constraints are reduced. The perception of improved developer productivity, in the case of practising development within virtual machine environments, comes from the developers no longer taking resource constraints and usage into consideration during design and development; this allows the product to be completed faster but it results in increases to the end user's hardware requirements and/or compromised performance as a result.

The term "bloatware" is also used to describe unwanted pre-installed software or bundled programs.

In computer programming, code bloat refers to the presence of program code (source code or machine code) that is unnecessarily long, slow, or otherwise wasteful of resources.

Feature creep is the tendency for a product, project, or system to gradually expand beyond its original scope by adding more and more features over time. In the context of computer programs, this can result in excessive disk space usage, loss of performance and the program being harder to use and understand by most end users.

Bloatware is the name for pre-installed software or bundled programs on computers and devices, installed at the factory by original equipment manufacturers (OEMs). The OEMs claim these programs are added for user convenience, but often the OEMs are paid by the software sellers of the bloatware to package their products and thus are not concerned whether or not the programs are desired or used by the consumer. Bloatware programs take up storage space on new devices, can slow down performance, and may be uninstallable.

Software developers involved in the industry during the 1970s had severe limitations on processing power, disk space and memory. Every byte and clock cycle was taken into account, and much work went into fitting the programs into available resources. Achieving this efficiency was one of the highest values of computer programmers, and the best programs were often called "elegant", a term used by mathematicians to describe a proof which is tidy, parsimonious and powerful.

By the 21st century, the situation had reversed. Resources were perceived as cheap, and rapidity of coding and headline features for marketing seen as priorities. In part, this is because technological advances have since increased processing capacity and storage density by orders of magnitude, while reducing the relative costs by similar orders of magnitude (see Moore's law and Jevons paradox). Additionally, the spread of computers through all levels of business and home life has produced a software industry many times larger than it was in the 1970s. Programs are now usually churned out by teams, directed by committees in software development studios (also known as software houses or software factories) where each programmer works on only a part of the whole, on one or more subroutines.[citation needed]

See all
User Avatar
No comments yet.