Bloatware: Difference between revisions
m add danluu web-bloat to external-links |
Added archive URLs for 8 citation(s) using CRWCitationBot |
||
| Line 8: | Line 8: | ||
*Software that has [[wikipedia:Software_bloat|become bloated over time]] | *Software that has [[wikipedia:Software_bloat|become bloated over time]] | ||
While the term "bloatware" is commonly ascribed to software, ''hardware'' bloat exists.<ref>{{Cite web |last=Ionescu |first=Bogdan |date=2025-09-13 |title=Hosting a WebSite on a Disposable Vape |url=https://bogdanthegeek.github.io/blog/projects/vapeserver/ |access-date=2026-01-15 |website=BogdanTheGeek's Blog}}</ref> See [[Internet_of_things|IoT devices]], for examples. | While the term "bloatware" is commonly ascribed to software, ''hardware'' bloat exists.<ref>{{Cite web |last=Ionescu |first=Bogdan |date=2025-09-13 |title=Hosting a WebSite on a Disposable Vape |url=https://bogdanthegeek.github.io/blog/projects/vapeserver/ |access-date=2026-01-15 |website=BogdanTheGeek's Blog |url-status=live |archive-url=http://web.archive.org/web/20260209021718/https://bogdanthegeek.github.io/blog/projects/vapeserver/ |archive-date=9 Feb 2026}}</ref> See [[Internet_of_things|IoT devices]], for examples. | ||
Often, bloat is a symptom of [[enshittification]] | Often, bloat is a symptom of [[enshittification]] | ||
==Why it is a problem== | ==Why it is a problem== | ||
Most bloatware tends to be pre-installed because the device manufacturer (OEM) has a contract or partnership with another corporation who's interested in "getting exposure" (actually, to advertise itself and collect user data).<ref>https://www.researchgate.net/publication/332932516_An_Analysis_of_Pre-installed_Android_Software</ref> | Most bloatware tends to be pre-installed because the device manufacturer (OEM) has a contract or partnership with another corporation who's interested in "getting exposure" (actually, to advertise itself and collect user data).<ref>https://www.researchgate.net/publication/332932516_An_Analysis_of_Pre-installed_Android_Software ([http://web.archive.org/web/20251130162318/https://www.researchgate.net/publication/332932516_An_Analysis_of_Pre-installed_Android_Software Archived])</ref> | ||
Bloat, in any of its forms, raises privacy and security concerns<ref>{{Cite web |last=Hubert |first=Bert |date=2024-02-08 |title=Why Bloat Is Still Software’s Biggest Vulnerability |url=https://spectrum.ieee.org/lean-software-development |access-date=2025-11-21 |website=IEEE Spectrum}}</ref>. As a rule of thumb, every added branch of code can make a program exponentially harder to prove for correctness<ref>https://gavinhoward.com/2024/03/what-computers-cannot-do-the-consequences-of-turing-completeness/#infinite-state</ref> (ignoring the nuance that some code can aid [[wikipedia:Static_program_analysis|static analysis]] or even completely enforce [[wikipedia:Invariant_(mathematics)|invariants]]<ref>{{Cite web |last=Biffle |first=Cliff |date=2019-06-05 |title=The Typestate Pattern in Rust |url=https://cliffle.com/blog/rust-typestate/ |access-date=2026-01-15 |website=Cliffle}}</ref>), making it impractical (hopeless) to verify that a program is not malicious (such as [[spyware]]) or has an exploitable [[wikipedia:Software_vulnerabilities|vulnerability]]. The problem is exacerbated if the app is not [[wikipedia:Open-source_software|open-source]] (or at least, [[wikipedia:Source-available_software|source-available]]), since [[wikipedia:Reverse_engineering|reverse engineering]] is hard and (in many cases) illegal, forcing the user to be at the mercy of the developers and distributors of the app. | Bloat, in any of its forms, raises privacy and security concerns<ref>{{Cite web |last=Hubert |first=Bert |date=2024-02-08 |title=Why Bloat Is Still Software’s Biggest Vulnerability |url=https://spectrum.ieee.org/lean-software-development |access-date=2025-11-21 |website=IEEE Spectrum |url-status=live |archive-url=http://web.archive.org/web/20260131190126/https://spectrum.ieee.org/lean-software-development |archive-date=31 Jan 2026}}</ref>. As a rule of thumb, every added branch of code can make a program exponentially harder to prove for correctness<ref>https://gavinhoward.com/2024/03/what-computers-cannot-do-the-consequences-of-turing-completeness/#infinite-state ([http://web.archive.org/web/20251214082939/https://gavinhoward.com/2024/03/what-computers-cannot-do-the-consequences-of-turing-completeness/ Archived])</ref> (ignoring the nuance that some code can aid [[wikipedia:Static_program_analysis|static analysis]] or even completely enforce [[wikipedia:Invariant_(mathematics)|invariants]]<ref>{{Cite web |last=Biffle |first=Cliff |date=2019-06-05 |title=The Typestate Pattern in Rust |url=https://cliffle.com/blog/rust-typestate/ |access-date=2026-01-15 |website=Cliffle |url-status=live |archive-url=http://web.archive.org/web/20260130171909/https://cliffle.com/blog/rust-typestate/ |archive-date=30 Jan 2026}}</ref>), making it impractical (hopeless) to verify that a program is not malicious (such as [[spyware]]) or has an exploitable [[wikipedia:Software_vulnerabilities|vulnerability]]. The problem is exacerbated if the app is not [[wikipedia:Open-source_software|open-source]] (or at least, [[wikipedia:Source-available_software|source-available]]), since [[wikipedia:Reverse_engineering|reverse engineering]] is hard and (in many cases) illegal, forcing the user to be at the mercy of the developers and distributors of the app. | ||
Bloat is known for causing sub-par [[wikipedia:User_experience|user-experience]]: | Bloat is known for causing sub-par [[wikipedia:User_experience|user-experience]]: | ||
*Slowness makes users want to exit the website<ref>https://developer.mozilla.org/en-US/docs/Web/Performance</ref> or uninstall the program | *Slowness makes users want to exit the website<ref>https://developer.mozilla.org/en-US/docs/Web/Performance ([http://web.archive.org/web/20260211103730/https://developer.mozilla.org/en-US/docs/Web/Performance Archived])</ref> or uninstall the program | ||
*High memory use prevents users from multitasking; and even if they can multitask, the system will be considerably slow<ref>https://en.wikipedia.org/wiki/Thrashing_(computer_science)</ref> | *High memory use prevents users from multitasking; and even if they can multitask, the system will be considerably slow<ref>https://en.wikipedia.org/wiki/Thrashing_(computer_science) ([http://web.archive.org/web/20260207194502/https://en.wikipedia.org/wiki/Thrashing_(computer_science) Archived])</ref> | ||
*High power usage increases energy bills and reduces battery lifespan | *High power usage increases energy bills and reduces battery lifespan | ||
*Overly relying on network connections (such as internet) prevents users from accessing data that could've been cached locally<ref>{{Cite web |year=2019 |title=Local-first software: You own your data, in spite of the cloud |url=https://www.inkandswitch.com/essay/local-first |url-status=live |website=Ink & Switch}}</ref>, and can increase cellular-data billing | *Overly relying on network connections (such as internet) prevents users from accessing data that could've been cached locally<ref>{{Cite web |year=2019 |title=Local-first software: You own your data, in spite of the cloud |url=https://www.inkandswitch.com/essay/local-first |url-status=live |website=Ink & Switch |url-status=live |archive-url=http://web.archive.org/web/20260130001648/https://www.inkandswitch.com/essay/local-first/ |archive-date=30 Jan 2026}}</ref>, and can increase cellular-data billing | ||
*Big code-bases are harder to test and verify, leading to instability and unreliability issues | *Big code-bases are harder to test and verify, leading to instability and unreliability issues | ||
Revision as of 01:33, 16 February 2026
❗Article Status Notice: This Article is a stub
This article is underdeveloped, and needs additional work to meet the wiki's Content Guidelines and be in line with our Mission Statement for comprehensive coverage of consumer protection issues. Learn more ▼
There are several definitions, even within the context of software (ignoring hardware bloat), and even within those definitions it's still open to subjectivity:
- Pre-installed software that's not required by a system to work
- Redundant or duplicate features included on a device (physical or digital)
- Undesirable programs that were never requested by the user
- Software that has become bloated over time
While the term "bloatware" is commonly ascribed to software, hardware bloat exists.[1] See IoT devices, for examples.
Often, bloat is a symptom of enshittification
Why it is a problem
Most bloatware tends to be pre-installed because the device manufacturer (OEM) has a contract or partnership with another corporation who's interested in "getting exposure" (actually, to advertise itself and collect user data).[2]
Bloat, in any of its forms, raises privacy and security concerns[3]. As a rule of thumb, every added branch of code can make a program exponentially harder to prove for correctness[4] (ignoring the nuance that some code can aid static analysis or even completely enforce invariants[5]), making it impractical (hopeless) to verify that a program is not malicious (such as spyware) or has an exploitable vulnerability. The problem is exacerbated if the app is not open-source (or at least, source-available), since reverse engineering is hard and (in many cases) illegal, forcing the user to be at the mercy of the developers and distributors of the app.
Bloat is known for causing sub-par user-experience:
- Slowness makes users want to exit the website[6] or uninstall the program
- High memory use prevents users from multitasking; and even if they can multitask, the system will be considerably slow[7]
- High power usage increases energy bills and reduces battery lifespan
- Overly relying on network connections (such as internet) prevents users from accessing data that could've been cached locally[8], and can increase cellular-data billing
- Big code-bases are harder to test and verify, leading to instability and unreliability issues
If an energy source isn't "clean", bloat can worsen climate change. This is true for excessive processing (CPU, GPU, etc...) and network abuse (such as AI training)
External links
- "The Thirty Million Line Problem" by Casey Muratori on "Molly Rocket" channel
- "Web Obesity Crisis"
- How web bloat impacts users with slow connections
- The Growth of Web Page Size
- Javascript bloat in 2024
- "Software disenchantment"
- uBlock-wiki counterpoint to "Who cares about efficiency, I have 8 GB RAM and|or a quad core CPU"
- Why Modern Software is Slow–Windows Voice Recorder
References
- ↑ Ionescu, Bogdan (2025-09-13). "Hosting a WebSite on a Disposable Vape". BogdanTheGeek's Blog. Archived from the original on 9 Feb 2026. Retrieved 2026-01-15.
- ↑ https://www.researchgate.net/publication/332932516_An_Analysis_of_Pre-installed_Android_Software (Archived)
- ↑ Hubert, Bert (2024-02-08). "Why Bloat Is Still Software's Biggest Vulnerability". IEEE Spectrum. Archived from the original on 31 Jan 2026. Retrieved 2025-11-21.
- ↑ https://gavinhoward.com/2024/03/what-computers-cannot-do-the-consequences-of-turing-completeness/#infinite-state (Archived)
- ↑ Biffle, Cliff (2019-06-05). "The Typestate Pattern in Rust". Cliffle. Archived from the original on 30 Jan 2026. Retrieved 2026-01-15.
- ↑ https://developer.mozilla.org/en-US/docs/Web/Performance (Archived)
- ↑ https://en.wikipedia.org/wiki/Thrashing_(computer_science) (Archived)
- ↑ "Local-first software: You own your data, in spite of the cloud". Ink & Switch. 2019. Archived from the original on 30 Jan 2026.