Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Software bloat
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Situation of degraded computer performance}} {{Use dmy dates|date=October 2024}} {{More footnotes|date=November 2024}} '''Software bloat''' is a process whereby successive versions of a [[computer program]] become perceptibly slower, use more memory, [[Computer data storage|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 user]]s, 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 [[Potentially unwanted program|bundled programs]].<ref>whatisbloatware.com</ref> ==Types of bloat== {{expand section|more on the topic: these are not the only forms of bloat|date=July 2024}} ===Program bloat=== {{Main|Code bloat}} 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=== {{Main|Feature creep}} 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. ==Causes== ===Software inefficiency=== [[Programmer|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.<ref>{{cite book |first=Eric S. |last=Raymond |title=The Art of Unix Programming |publisher=Addison-Wesley Professional |edition=1 |date=17 September 2003 |url=http://www.catb.org/~esr/writings/taoup/html/why_not_c.html |isbn=0131429019| access-date=16 June 2007}} (See also: [[The Art of Unix Programming]])</ref> 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]]). 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 [[subroutine]]s.{{Citation needed|date=May 2015}} 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 have led to tools which allow easier development of code, again with less priority given to end efficiency. Another cause of bloat is independently competing standards and products, which can create a demand for integration. There are now more operating systems, browsers, protocols, and storage formats than there were before, causing bloat in programs due to interoperability issues. For example, a program that once could only save in text format is now required to save in HTML, XML, XLS, CSV, PDF, DOC, and other formats. [[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. In his 2001 essay ''Strategy Letter IV: Bloatware and the 80/20 Myth'',<ref name="Spolsky">{{cite web |url=http://www.joelonsoftware.com/articles/fog0000000020.html |title=Strategy Letter IV: Bloatware and the 80/20 Myth - Joel on Software |first=Joel |last=Spolsky |author-link=Joel Spolsky |year=2001 |access-date=2 October 2006}}</ref> [[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 the one or two special features that are present in the "bloated" version. Spolsky sums the article with a quote by [[Jamie Zawinski]] referring to the [[Mozilla Application Suite]] (ultimately debloated as separate apps, of which the [[Firefox]] web browser is the only significant survivor): <blockquote>"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."<ref>{{cite web |url=http://www.jwz.org/doc/easter-eggs.html |title=easter eggs. |year=1998 |first=Jamie |last=Zawinski |access-date=9 January 2008}}</ref></blockquote> Software bloat may also be a symptom of the [[second-system effect]], described by [[Fred Brooks]] in ''[[The Mythical Man-Month]].'' ===Bloatware=== โBloatware" is software that has become bloated through inefficiency or accretion of features as outlined above.<ref name="Spolsky"/> The term is also commonly used for [[preinstalled software]] bundled on a device, usually by the hardware manufacturer, that is mostly unwanted by the purchaser. The term may also be applied to the accumulation of unwanted and unused software elements that remain after partial and incomplete [[Uninstaller|uninstallation]]. These elements may include whole programs, libraries, associated configuration information, or other data. Performance may deteriorate overall as a result of such remnants, as the unwanted software or software components can occupy both hard disk memory and RAM, waste processing time, add disk [[I/O]], and cause delays at system startup and shutdown. In the worst cases, the leftover software may interfere with the correct operation of wanted software.<ref>{{cite news |url=https://www.pcmag.com/article2/0,2817,2400136,00.asp|title=How to Remove Bloatware |magazine=PC Magazine | first=Joel |last=Santo Domingo |date=13 February 2012}}</ref> On [[Android (operating system)|Android]] devices some of the bloatware can be hidden from a user account with [[Android Debug Bridge|ADB]], although this doesn't remove the application and will still take disk space, it won't run and slow down the system.<ref>{{Cite web |title=ADB Reference |url=https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/wiki/ADB-Reference |access-date=2024-08-11 |website=GitHub |language=en}}</ref><ref>{{Cite web |last=Conway |first=Adam |date=2021-08-25 |title=How to uninstall carrier/OEM bloatware without root access |url=https://www.xda-developers.com/uninstall-carrier-oem-bloatware-without-root-access/ |access-date=2024-08-11 |website=XDA |language=en}}</ref> By [[Bootloader unlocking|unlocking the bootloader]], users can remove the bloatware's files, install a custom firmware or gain root privileges which allows the app to be fully uninstalled.<ref>{{Cite web |last=Elmore |first=John |date=2024-01-10 |title=What are the Benefits of Unlocking Bootloader: Exploring the Advantages & User-Freedom |url=https://thetechylife.com/what-are-the-benefits-of-unlocking-bootloader/ |access-date=2024-08-11 |language=en-US}}</ref> ==Examples== {| class="wikitable" style="float: right" |+ Comparison of [[Microsoft Windows]] minimum hardware requirements (for [[IA-32]] [until Windows 11]) |- ! Windows version ! Processor ! Memory ! Hard disk |- | [[Windows 95]]<ref>{{cite web|url=http://support.microsoft.com/kb/138349/| title=Microsoft KB: Windows 95 Installation Requirements |access-date=22 July 2007 }}</ref> (1995) | 25 MHz | 4 MB | ~50 MB |- | [[Windows 98]]<ref>{{cite web|url=http://support.microsoft.com/kb/182751/| title=Microsoft KB: Minimum Hardware Requirements for a Windows 98 Installation |access-date=22 July 2007}}</ref> (1998) | 66 MHz | 16 MB | ~200 MB |- | [[Windows 2000]]<ref>{{cite web|url=http://www.microsoft.com/technet/prodtechnol/windows2000serv/proddocs/srvgs/sgsch03.mspx#EMD| title=Windows 2000 Server Getting Started: Chapter 3 - Planning Your Windows 2000 Server Installation | website=[[Microsoft]] |access-date=29 August 2007}}</ref> (1999) | 133 MHz | 32 MB | 650 MB |- | [[Windows XP]]<ref>{{cite web|url=http://support.microsoft.com/kb/314865/en-us| title=Microsoft KB: System requirements for Windows XP operating systems |access-date=22 July 2007}}</ref> (2001) | 233 MHz | 64 MB | 1.5 GB |- | [[Windows Vista]]<ref>{{cite web|url=http://support.microsoft.com/kb/919183/| title=Microsoft KB: System requirements for Windows Vista |access-date=22 July 2007}}</ref> (2006) | 800 MHz | 512 MB | 15 GB |- | [[Windows 7]]<ref>{{cite web|url=http://windows.microsoft.com/en-us/windows7/products/system-requirements| title=Microsoft: System requirements for Windows 7 |access-date=9 October 2009}}</ref> (2009) | 1 GHz | 1 GB | 16 GB |- | [[Windows 8]]<ref>{{cite web|url=http://windows.microsoft.com/en-US/windows-8/download| title=Windows 8 Release Preview ISO images| quote="Windows 8 Release Preview works great on the same hardware that powers Windows 7"|access-date=12 August 2012}}</ref> (2012) | 1 GHz | 1 GB | 16 GB |- | [[Windows 10]]<ref>{{cite web |date= |title=Check Windows 10 System requirement & Specs |url=http://www.computerworld.com/article/2690817/7-things-to-remember-if-youre-trying-out-the-windows-10-preview.html |access-date=12 March 2025 |website=[[Microsoft]] |publisher=}}</ref> (2015) | 1 GHz | 1 GB | 32 GB |- | [[Windows 11]]<ref>{{cite news | last = Lawler | first = Richard | date = 2021-06-24 | title = Microsoft is changing the Windows 11 minimum requirements | url = https://www.theverge.com/microsoft/22544171/microsoft-windows-11-system-requirements-hardware | work = [[The Verge]] | access-date = 2021-06-25 }}</ref> (2021) | 1 GHz<br>64-bit<br>Dual-Core | 4 GB | 64 GB |} [[Apple Inc.|Apple]]'s [[iTunes]] has been accused of being bloated by efforts to turn it from a simple media player to an e-commerce and advertising platform,<ref>{{cite web |url=http://stevestreza.com/2007/03/07/what-happened-to-itunes/ |title=What happened to iTunes? |first=Steve |last=Streza |date=7 March 2007}}</ref><ref>{{cite web | url = https://gizmodo.com/5335754/itunes-9-will-be-a-bloated-social-monster | title = iTunes 9 Will Be a Bloated Social Monster | first = Matt | last = Buchanan |date=12 October 2009 | website = [[Gizmodo]] | access-date = 14 January 2010 }}</ref> with former ''[[PC World]]'' editor Ed Bott accusing the company of hypocrisy in its advertising attacks on Windows for similar practices.<ref>{{cite news | url = https://www.zdnet.com/article/slimming-down-the-bloated-itunes-installer/ | title = Slimming down the bloated iTunes installer | first = Ed | last = Bott |date=3 October 2008 | work = [[ZDNet]] | access-date = 14 January 2010 }}</ref> In 2019, Apple announced the impending closure of the program, a move described by a commentator from ''[[The Guardian]]'' as being "long overdue", stating that the program had "become baroquely bloated, a striking anomaly for a company that prides itself on elegant and functional design."<ref>{{cite news|url=https://www.theguardian.com/commentisfree/2019/jun/09/farewell-itunes-thanks-for-saving-music-industry-from-itself|title=Farewell then, iTunes, and thanks for saving the music industry from itself|first=John|last=Naughton|date=9 March 2019|access-date=10 March 2019|newspaper=[[The Guardian]]}}</ref> [[Microsoft Windows]] has also been criticized as being bloated โ with reference to [[Windows Vista]] and discussing the new, greatly slimmed down [[Windows 7]] core components, Microsoft engineer [[Eric Traut]] commented that "This is the core of [[Windows 7]]. This is a collection of components that we've taken out. A lot of people think of Windows as this really large, bloated operating system, and that may be a fair characterization, I have to admit. It is large. It contains a lot of stuff in it. But at its core, the kernel and the components that make up the very core of the operating system actually is pretty streamlined."<ref>{{cite news |url=http://www.informationweek.com/news/showArticle.jhtml?articleID=205920302 |title=Software Tool Strips Windows Vista To Bare Bones|magazine=informationweek.com |first=Paul |last=McDougall |date=28 January 2008}}</ref><ref>{{cite web |url=https://www.zdnet.com/article/is-minwin-really-the-new-windows-7-kernel/ |title=Is MinWin really the new Windows 7 kernel? |first=Ed |last=Bott |website=[[ZDNet]] |date=31 March 2008}}</ref> Ed Bott also expressed skepticism, noting that nearly every operating system that Microsoft has ever sold has been criticized as "bloated" on first release, even those now regarded as the exact opposite, such as [[MS-DOS]].<ref>{{cite web |url=https://www.zdnet.com/article/windows-bloat-its-always-been-that-way/ |title=Windows bloat? It's always been that way |first=Ed |last=Bott |website=[[ZDNet]] |date=13 March 2006}}</ref> Quoting Paul Thurrott, Bott agreed that the bloat stems from numerous enterprise-level features included in the operating system that were largely irrelevant to the average home user. CD- and DVD-burning applications such as [[Nero Burning ROM]] have become criticized for being bloated.<ref name="theinquirer">{{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=27 February 2007 |publisher=[[The Inquirer]] |access-date=7 March 2007 |url-status=unfit |archive-url=https://web.archive.org/web/20070302073052/http://www.theinquirer.net/default.aspx?article=37873 |archive-date=2 March 2007 }}</ref> Superfluous features not specifically tailored to the end user are sometimes installed by default through express setups. A number of technology blogs have also covered the issue of increased bloatware on cell phones. However, they refer to a different issue, specifically that of wireless carriers loading phones with software that, in many cases, cannot be easily, if at all, deleted. This has been most frequently cited with respect to [[Android (operating system)|Android]] devices, although this phenomenon exists on phones running many other operating systems.<ref name="Engadget2010-09-12" /><ref name="LATimes2010-09-21" /> Some of the most popular current [[messaging apps]], which were previously only focused on [[instant messaging]], have been criticized for being bloated due to feature creep.<ref name = "TIAWeChat">{{cite news | last = Bischoff | first = Paul | date = 12 February 2014 | title = What WeChat needs to learn from Facebook | url = https://www.techinasia.com/wechat-learn-facebook | work = Tech in Asia | access-date = 16 February 2020 }}</ref><ref name = "SCMPWeChat">{{cite news | last = Chen | first = Laurie | date = 22 July 2018 | title = Why China's tech-savvy millennials are quitting WeChat | url = https://www.scmp.com/news/china/society/article/2156297/how-growing-privacy-fears-china-are-driving-wechat-users-away | work = [[South China Morning Post]] | location = [[Hong Kong]] | access-date = 16 February 2020 }}</ref><ref name = "TCFBMessenger">{{cite news | last = Constine | first = Josh | date = 16 January 2018 | title = Bloated Facebook Messenger promises to simplify in 2018 | url = https://techcrunch.com/2018/01/16/messengrrrr/ | work = [[TechCrunch]] | access-date = 16 February 2020 }}</ref><ref name = "BBCFB">{{cite news | date = 25 March 2015 | title = Facebook opens up Messenger to third-party apps | url = https://www.bbc.com/news/technology-32036322 | work = [[BBC]] | access-date = 16 February 2020 }}</ref> [[WeChat]] during its transformation into a [[super-app]] added additional features such as games, subscription services, [[WeChat Pay]] [[e-wallet]],<ref name = "TIAWeChat" /> a [[news aggregator]], an [[e-commerce]] hub, an [[e-government]]<ref name = "SCMPWeChat" /> feature, a cinema booking system, a restaurant finder and a [[ridesharing company]],<ref name = "BBCFB" /> which has increased the size of the app from 2 MB in 2011 to 58 MB in 2018.{{citation needed|date=October 2020}} [[Facebook Messenger]], which has been separated from the [[Facebook]] app, is similarly criticized for adding additional features such as games, bots and features which copied from [[Snapchat]] such as Messenger Day (Stories), face filters, a camera with the ability to edit photos, doodle draw and added [[emojis]] and stickers.<ref>{{cite news | last = Brown | first = Aaron | date = 7 February 2017 | title = Facebook almost ruined WhatsApp, and now it has ruined Messenger | url = https://www.express.co.uk/life-style/science-technology/763053/Facebook-Login-Messenger-vs-WhatsApp | work = [[Daily Express]] | access-date = 16 February 2020 }}</ref><ref>{{cite news | last = Welch | first = Chris | date = 18 May 2017 | title = How to replace Facebook Messenger with a much simpler, lighter version | url = https://www.theverge.com/2017/5/18/15659414/facebook-messenger-lite-how-to-install | work = [[The Verge]] | access-date = 16 February 2020 }}</ref> In January 2018, the head of Facebook Messaging, [[David A. Marcus]], admitted that the app itself is extremely bloated and promised to redesign the whole app to remove unnecessary features and streamline it.<ref name = "TCFBMessenger" /> The redesigned and streamlined [[Facebook]] Messenger app was announced in October 2018, in which its features are reduced to messaging, stories, discover tab and camera.<ref>{{cite news | last = Price | first = Rob | date = 23 October 2018 | title = Facebook is giving Messenger an overhaul to try and cut down on bloat โ and adding a dark mode | url = https://www.businessinsider.my/facebook-redesigns-messenger-dark-mode-2018-10/?r=US&IR=T | work = [[Business Insider]] | access-date = 16 February 2020 }}</ref> ==Alternatives== {{More citations needed|section|date=August 2021}} Some applications, such as [[GIMP]], and software with additional functionality from [[Plug-in (computing)|plug-ins]], use extensions or add-ons which are downloaded separately from the main application. These can be created by either the software developer or by third-party developers. Plug-ins, extensions, and add-ons add extra functionality which might have otherwise been packaged in the main program. Allowing these plug-ins, extensions, and/or add-ons reduces the space used on any one machine, because even though the application, the "plug-in interface", and all the plug-ins combined are larger than the same functionality compiled into one monolithic application, it allows each user to install only the particular add-on features they require, rather than forcing every user to install a much larger monolithic application that includes all of the available features. This results in a "stripped-down" or "out-of-the-box" application that is delivered in a compact package yet is ready for users to add any missing functionality. [[Open source software]] may use a similar technique using [[preprocessor directives]] to include features at compile time selectively. This is easier to implement and more secure than a plugin system, but has the disadvantage that a user who wants a specific set of features must compile the program from source. Sometimes software becomes bloated because of "[[feature creep|creeping featurism]]"<ref>{{cite web |url=http://www.gamasutra.com/features/20070501/adams_01.shtml |archive-url=https://web.archive.org/web/20070503021230/http://www.gamasutra.com/features/20070501/adams_01.shtml |url-status=dead |archive-date=3 May 2007 |title=The Designer's Notebook: "creeping featurism produces a bloated, complicated mess |first=Ernest |last=Adams |date=1 May 2007}}</ref> ([[Zawinski's law of software envelopment]]). One way to reduce that kind of bloat is described by the [[Unix philosophy]] of "writing programs that do one thing and do it well," and breaking what would be a single, complicated piece of software into numerous simpler components which can be chained together using [[Pipelining (software)|pipes]], [[shell script]]s, or other forms of [[interapplication communication]]. ==Security Risk== ===Software bloat as a vulnerability=== Software bloat may induce more [[Vulnerability (computer security)|vulnerabilities]] due to raise of difficulty in managing a large number of code and dependencies. Furthermore, it may make software developer difficulty to understand the code they ship, increasing the difficulty for spot and fix vulnerabilities.<ref>{{cite web|url=https://spectrum.ieee.org/lean-software-development|title=Why Bloat Is Still Software's Biggest Vulnerability|author=Bert Hubert|publisher=[[IEEE]]}}</ref><ref>{{cite journal|url=https://ieeexplore.ieee.org/document/10491389|title=Why Bloat is Still Software's Biggest Vulnerability: A 2024 plea for lean software|journal=IEEE|author=Bert Hubert|date=2024 |volume=61 |issue=4 |pages=22โ50 |doi=10.1109/MSPEC.2024.10491389 |url-access=subscription }}</ref> === Bloatware as a vulnerability === Although bloatware is not a form of [[malware]] and is not designed for malicious purposes, bloatware may introduce some vulnerabilities unintentionally and may cause the user's computer to have a higher risk for infection by [[computer virus]]es or [[ransomware]].<ref>{{cite web|url=https://www.fortinet.com/resources/cyberglossary/bloatware|title=Bloatware Definition|publisher=[[Fortinet]]|quote= Some bloatware also introduces vulnerabilities into your computer that can make it easier to infect with malware, including ransomware or scareware.}}</ref><ref>{{cite web|url=https://usa.kaspersky.com/resource-center/definitions/what-is-bloatware|title=What is Bloatware and How Do You Remove It?|date=25 October 2017 |publisher=[[Kaspersky]]}}</ref> ==See also== * [[Code bloat]] * [[Software cruft]] * [[Feature creep]] * [[Lightweight software]] * [[GNU C library#Use in small devices|GNU C library]] * [[Minimalism (computing)]] * [[Shovelware]] * [[Software rot]] * [[Software suite]] * [[Technical debt|Technical Debt]] * [[Wirth's law]] * [[Jamie Zawinski#Zawinski's Law|Zawinski's law of software envelopment]] * [[Ubuntu]] * [[Debian]] ==References== {{Reflist |30em | refs = <ref name="Engadget2010-09-12"> {{cite web | last = Gartenberg | first = Michael | title = Entelligence: Will carriers destroy the Android vision? | date = 12 September 2010 | work = Engadget | url = https://www.engadget.com/2010/09/12/entelligence-will-carriers-destroy-the-android-vision/ | access-date = 21 September 2010 }} </ref> <ref name="LATimes2010-09-21"> {{cite news | last = Milian | first = Mark | title = 'Junkware' comes standard on Verizon, T-Mobile smart phones | date = 15 June 2010 | newspaper = Los Angeles Times | url = http://latimesblogs.latimes.com/technology/2010/07/android-junkware.html | access-date = 21 September 2010 }} </ref> }} {{Authority control}} {{DEFAULTSORT:Software Bloat}} [[Category:Software quality]] [[Category:Bundled products or services]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Expand section
(
edit
)
Template:Main
(
edit
)
Template:More citations needed
(
edit
)
Template:More footnotes
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)