Software bloat

Software bloat

Software bloat, also known as bloatware or elephantware [ [http://www.downloadsquad.com/2008/01/01/the-5-most-annoying-programs-on-your-pc/ The 5 most annoying programs on your PC - Download Squad ] ] , is a term used in both a neutral and disparaging sense, to describe the tendency of newer computer programs to be larger, or to use larger amounts of system resources (mass storage space, processing power or memory) than necessary for the same or similar benefits from older versions to its users. Additionally, the term bloatware is used in common language for pre-installed, huge software bundles, mostly consisting of demos and trial ware.

Background

Software developers involved in the industry during the 1970s had severe limitations on disk space and memory. Every byte and clock cycle counted, and much work went into fitting the programs into available resources.

This situation has now reversed. Resources are perceived as cheap, and rapidity of coding and headline features for marketing are seen as priorities. [Eric S. Raymond "The Art of Unix Programming", Addison-Wesley Professional, 1st edition (September 17, 2003) [http://www.catb.org/~esr/writings/taoup/html/why_not_c.html On-line HTML version] . Accessed 16 June 2007] In part, this is because technological advances have since multiplied processing capacity and storage density by orders of magnitude, while reducing the relative costs by similar orders of magnitude (see Moore's Law). 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.

Finally software development tools and approaches often result in changes throughout a program to accommodate each feature, leading to a large scale inclusion of code which affects the main operation of the software, and is required in order to support functions that themselves may be only rarely used. In particular, the advances in resources available has led to tools which allow easiest development of code, with less priority given to end efficiency.Fact|date=December 2007

Niklaus Wirth has summed up the situation in Wirth's Law, which states that software speed is decreasing more quickly than hardware speed is increasing.

Reasons for existence

In his 2001 essay "Strategy Letter IV: Bloatware and the 80/20 Myth" [ [http://www.joelonsoftware.com/articles/fog0000000020.html Strategy Letter IV: Bloatware and the 80/20 Myth - Joel on Software] ] , Joel Spolsky argues that while 80% of the users only use 20% of the features (a variant on the Pareto principle), each one uses different features. Thus, "lite" software editions turn out to be useless for most, as they miss that one or two special features that are present in the "bloated" version. Spolsky sums the article with a quote by Jamie Zawinski referring to Netscape:

"Convenient though it would be if it were true, Mozilla is not big because it's full of useless crap. Mozilla is big because your needs are big. Your needs are big because the Internet is big. There are lots of small, lean web browsers out there that, incidentally, do almost nothing useful. But being a shining jewel of perfection was not a goal when we wrote Mozilla." [ [http://www.jwz.org/doc/easter-eggs.html "easter eggs."] ]

Examples

Microsoft Windows has been accused of being bloated. For example, with reference to the most recent version, Windows Vista, Microsoft engineer Eric Traut commented that "A lot of people think of Windows as this large, bloated operating system, and that's maybe a fair characterization, I have to admit." He went on to say that, "at its core, the kernel, and the components that make up the very core of the operating system, is actually pretty streamlined.". [ [http://www.informationweek.com/news/showArticle.jhtml?articleID=205920302 informationweek.com] ] Former PC World editor Ed Bott has expressed skepticism, noting that almost every single operating system that Microsoft has ever sold had been criticized as 'bloated' when it first came out; even those now regarded as the exact opposite, such as MS-DOS. [cite web |url=http://blogs.zdnet.com/Bott/?p=18#more-18 |title=Windows bloat? It’s always been that way |author=Ed Bott]

CD- and DVD-burning applications such as Nero Burning ROM have become criticized for being bloated.cite news | url = http://www.theinquirer.net/default.aspx?article=37873 | title = 'Nero Lite' and 'Nero Micro': smaller sometimes is better | first = Fernando | last = Cassia |date=2007-02-27 | publisher = The Inquirer | accessdate = 2007-03-07 ] Superfluous features not specifically tailored to the end user are sometimes installed by default through express setups.

When AVG 8 came out, it was heavily accused of being bloated, relative to previous installments such as AVG 7.Fact|date=July 2008

Alternatives to software bloat

Some applications, such as Mozilla Firefox and Microsoft Office, package additional functionality in plug-ins, extensions or add-ons which are downloaded separately from the main application.These can be created by the software developer and often by third parties. Plug-ins enable extra functionality which might have otherwise been packaged in the main program.

Allowing extensions reduces the space used on any one machine, because even though the application plus the "plug-in interface" plus all the plug-ins is larger than the same functionality compiled into one monolithic application, it allows each user to install only the particular add-on features used by that user, rather than force every user to install a much larger monolithic application that includes 100% of the available features.

Open-source software may use a similar technique using preprocessor directives to selectively include features at compile time. This is easier to implement than a plugin system, but has the obvious disadvantage that a user who wants a specific set of features must compile the program from source.

Sometimes software becomes bloated because of "creeping featurism" [ [http://www.gamasutra.com/features/20070501/adams_01.shtml "The Designer’s Notebook"] : "creeping featurism produces a bloated, complicated mess"] (Zawinski's Law of Software Envelopment), also called bullet-point engineering.One way to reduce that kind of bloat is described by the Unix philosophy: "Write programs that do one thing and do it well".

ee also

* Code bloat
* Computing minimalism
* Featuritis
* Zawinski's Law of Software Envelopment
* Bullet-point engineering.

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Bloat (disambiguation) — Bloat may refer to: *Bloat, a veterinary condition also referred to as gastric torsion *Software bloat, an uncontrolled and damaging growth of a software system *Gas bloat syndrome, a surgery complication (see also Gastric volvulus)Bloat is also… …   Wikipedia

  • Software distribution — can refer to: The process of software distribution, from creator to the user, A collection of software, also referred to as a distribution, or a distro, which is set of software components built, assembled and configured so that it can be used… …   Wikipedia

  • Software pipelining — In computer science, software pipelining is a technique used to optimize loops, in a manner that parallels hardware pipelining. Software pipelining is a type of out of order execution, except that the reordering is done by a compiler (or in the… …   Wikipedia

  • Bloat — Die Artikel Featuritis und Bloatware überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein erst… …   Deutsch Wikipedia

  • Software framework — A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality.Frameworks are similar to software… …   Wikipedia

  • Code bloat — is the production of code that is perceived as unnecessarily long, slow, or otherwise wasteful of resources. Code bloat can be caused by inadequacies in the language in which the code is written, inadequacies in the compiler used to compile the… …   Wikipedia

  • Proprietary software — is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, but restricted from other uses, such as modification, further distribution, or… …   Wikipedia

  • Open-source software — The logo of the Open Source Initiative Open source software (OSS) is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license… …   Wikipedia

  • Commercial software — Not to be confused with Business software. Commercial software, or less commonly, payware, is computer software that is produced for sale[1] or that serves commercial purposes. Commercial software is most often proprietary software, but free… …   Wikipedia

  • Public domain software — is software that has been placed in the public domain, in other words there is absolutely no ownership (such as copyright) of the intellectual property that the software represents. Under the Berne Convention, which most countries have signed, an …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”