Bloatware: Difference between revisions
Removed 1 duplicate url-status parameter(s) from 1 citation(s) using CRWCitationBot |
Tools are user-side (for now) |
||
| (41 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
'''Bloatware''' can be defined in 2 main classes: | |||
*[[wikipedia:Pre-installed_software|Pre-installed]] or [[Dark pattern#Sneaking and information hiding|bundled]]: features not required by a system (physical or digital) to work properly, and/or [[wikipedia:Potentially_unwanted_program|undesirable programs]]. | |||
*Software that has [[wikipedia:Software_bloat|become bloated over time]] | |||
While the term "bloatware" is commonly ascribed to software, ''hardware'' bloat also 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. | |||
==How it works== | |||
Bundled features often arise as pre-installed software and applications, because the device manufacturer (OEM) has a contract or partnership with another corporation. The terms and processes leading to these partnerships, however, lack transparency. | |||
Software that gets bloated across updates typically happens because of [[wikipedia:Negligence|negligence]], but can also arise due to lack of resources (time, money, etc...) and external factors (such as [[wikipedia:Library_(computing)|libraries]] with [[wikipedia:Feature_creep|feature creep]]). | |||
Bloat can be a symptom of a decline in quality of devices and services, colloquially referred to as [[enshittification]]. | |||
==Why it is a problem== | ==Why it is a problem== | ||
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 | ===Non-removable=== | ||
All major [[wikipedia:Operating_system|OSes]] ([[iOS]], [[Microsoft Windows|Windows]], [[Android]], etc...) don't allow removing, uninstalling, or disabling, bloatware; they only allow disabling a very narrow set of apps. | |||
Many Android device manufactures have taken extreme measures to prevent users from disabling trivial apps, even via [[wikipedia:Android_Debug_Bridge|ADB]] (a tool designed for developers and power-users). Some OEMs, such as [[Samsung]], are known to artificially introduce bogus dependencies between apps, so that if a user disables an undesired app it also breaks basic features of the system.{{Citation needed|reason=unfounded accusation}} | |||
[[Microsoft|MS]] Windows is well-known for preventing the disabling of apps such as [[wikipedia:Internet_Explorer|Internet Explorer]] and [[Microsoft Edge|Edge]], even when the user already has an alternative browser installed. | |||
===Tracking and advertising=== | |||
One study determined that personal data collection and user tracking was prevalent in pre-installed apps, with the data collection including [[wikipedia:Personal_data|personally identifying info]] (PII) and geo-location data, personal email and phone call metadata, contacts, behavioral and usage statistics as well as isolated malware samples.<ref>''J. Gamba, M. Rashed, A. Razaghpanah, J. Tapiador and N. Vallina-Rodriguez, "An Analysis of Pre-installed Android Software," 2020 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 2020, pp. 1039-1055, doi: 10.1109/SP40000.2020.00013.'' https://ieeexplore.ieee.org/document/9152633 Accessed 2''6 Feb 2026.'' ([http://web.archive.org/web/20251130162318/https://www.researchgate.net/publication/332932516_An_Analysis_of_Pre-installed_Android_Software Archived])</ref> | |||
===Unsafety=== | |||
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>.<!-- These concerns should be detailed and explained --> As a rule of thumb, every added branch of code can make a program exponentially harder to prove for correctness<ref>{{Cite web |last=Howard |first=Gavin |date=2024-03-26 |title=What Computers Cannot Do: The Consequences of Turing-Completeness |url=https://gavinhoward.com/2024/03/what-computers-cannot-do-the-consequences-of-turing-completeness#infinite-state |url-status=dead |archive-url=http://web.archive.org/web/20251214082939/https://gavinhoward.com/2024/03/what-computers-cannot-do-the-consequences-of-turing-completeness#infinite-state |archive-date=2025-12-14 |access-date=2026-01-06 |website=Gavin D. Howard}}</ref>, making it impractical or impossible 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 source-code of the app is not [[wikipedia:Source-available_software|available]], since [[wikipedia:Reverse_engineering|reverse engineering]] is difficult and (in some cases) illegal. This means that user is unable to control or ensure the safety of their devices. | |||
Bloat is known for causing sub-par [[wikipedia:User_experience|user | ===Poor performance=== | ||
Bloat is known for causing sub-par [[wikipedia:User_experience|user experience]] (UX): | |||
* | *Increased latency, "slowness", when using programs and applications<ref>{{Cite web |title=Web performance |url=https://developer.mozilla.org/en-US/docs/Web/Performance |url-status=live |website=[[MDN]]}} ([http://web.archive.org/web/20260211103730/https://developer.mozilla.org/en-US/docs/Web/Performance Archived])</ref> | ||
*High memory use prevents | *High memory use prevents or impedes multitasking<ref>{{Cite web |title=Thrashing (computer science) |url=https://en.wikipedia.org/wiki/Thrashing_(computer_science) |url-status=live |website=[[Wikipedia]]}} ([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 | ||
* | *Over reliance on network connections (e.g., internet) preventing data from being 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 |archive-url=http://web.archive.org/web/20260130001648/https://www.inkandswitch.com/essay/local-first/ |archive-date=30 Jan 2026}}</ref>, which can both impede access as well as increase cellular-data billing | ||
* | *Instability issues due to difficulty in testing and verifying big code-bases<ref>{{Cite web |last=Muratori |first=Casey |date=2018-05-12 |title=The Thirty Million Line Problem |url=https://youtu.be/kZRE7HIO3vk |url-status=live |access-date=2026-03-15 |website=Molly Rocket |via=YouTube}}</ref> | ||
===Ecosystem damage=== | |||
If non-sustainable energy sources are used to power these devices with bloatware, bloat can contribute to [[wikipedia:Climate_change|climate change]]. This is true for any excessive processing (CPU, GPU, etc.) and network abuse (such as [[Artificial_intelligence/training|AI training]]). Hardware bloat can increase [[wikipedia:Electronic_waste|e-waste]]. | |||
===Ethical and moral concerns=== | |||
Bloated software can be prohibitively expensive to use on [[wikipedia:Developing_country|developing countries]], which marginalizes poor people.<ref>{{Cite web |last=Luu |first=Dan |title=How web bloat impacts users with slow connections |url=https://danluu.com/web-bloat/ |url-status=live |access-date=2026-03-24}}</ref><ref>{{Cite web |last=Luu |first=Dan |title=How web bloat impacts users with slow devices |url=https://danluu.com/slow-device/ |url-status=live |access-date=2026-03-24}}</ref> Bloated software and hardware can have such a low performance (or have high instability) that it can't effectively help the user achieve the task that the product was designed for, such as scheduling a session with a therapist.<ref>{{Cite web |last=Bailey |first=Eric |date=2023-02-01 |title=Modern Health, frameworks, performance, and harm |url=https://ericwbailey.website/published/modern-health-frameworks-performance-and-harm/ |url-status=live |archive-url=https://web.archive.org/web/20260208052928/https://ericwbailey.website/published/modern-health-frameworks-performance-and-harm/ |archive-date=2026-02-08 |access-date=2026-03-24}}</ref> | |||
==Examples== | |||
*Examples of "desirable" software with much feature-creep are modern [[wikipedia:Graphical_user_interface|GUI]] web-browsers.<ref>{{Cite web |last=DeVault |first=Drew |date=2020-03-18 |title=The reckless, infinite scope of web browsers |url=https://drewdevault.com/blog/Reckless-limitless-scope/ |access-date=2026-04-21}}</ref> This has lead to alternative "web-space" projects being created, such as [[wikipedia:Gemini_(protocol)|Gemini]].<ref>{{Cite web |date=2 Sep 2023 |title=Project Gemini FAQ § Why not just use a subset of HTTP and HTML? |url=https://geminiprotocol.net/docs/faq-section-7.gmi#79-why-not-just-use-a-subset-of-http-and-html |access-date=2026-04-21}}</ref> | |||
*The most popular example on Windows is Candy Crush, which is either preinstalled or pseudo-installed (only the icon is shown, but the app must be downloaded). MS also allows OEMs to bundle extra apps. | |||
*On Android, while many users use the main [[Facebook]] app, most devices come with several hidden "stubs" such as "Facebook App Installer", "Facebook Services", "Facebook App Manager", etc... Some of those run in the background regardless of whether the user is logged-in or has the main app enabled.<ref>https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/644b30ae73c0f86fb5b99173c88132fc4bb1e1b8/resources/assets/uad_lists.json#L13903-L13942</ref> | |||
*Many Samsung devices have 3rd-party integration with GIF and "sticker" providers in the Keyboard app, such as Bitmoji and Giphy.<ref>https://news.samsung.com/global/samsung-breathes-new-life-into-emojis-with-the-galaxy-s9-and-s9-plus</ref> | |||
==Tools to deal with bloat== | |||
<!-- not guide, just suggestions --> | |||
This is a list of tools that can be used (or are primarily used) to reduce bloat: | |||
*[[wikipedia:UBlock_Origin|uBlock Origin]] (uBO). A general-purpose content blocker for web-browsers. It's worth noting that its "Cosmetic Filtering" (element hiding) can, in rare cases (such as animated elements), improve performance.<ref>{{Cite web |date=2016-02-03 |title=html - Does hiding an animated GIF with CSS conserve browser resources? |url=https://stackoverflow.com/questions/33762652/does-hiding-an-animated-gif-with-css-conserve-browser-resources/35169688#35169688 |url-status=live |archive-url=https://web.archive.org/web/20251215062718/https://stackoverflow.com/questions/33762652/does-hiding-an-animated-gif-with-css-conserve-browser-resources/35169688#35169688 |archive-date=2025-12-15 |access-date=2026-03-15 |website=Stack Overflow}}</ref> | |||
*[[wikipedia:Noscript|NoScript]]. Much more specialized than uBO, as it only deals with [[JavaScript]]. | |||
*[https://libredirect.github.io/ LibRedirect]. On-browser (client-side) redirector of popular websites to privacy-respecting alternatives (alts). Most of those alts are lightweight, so it can be used to ''avoid'' bloat rather than ''remove'' bloat. | |||
*<code>[https://privacy.sexy/ privacy.sexy]</code>. A tool for improving security and privacy on popular operating-systems, it also serves as a "debloater". | |||
*[[Android]] debloaters: | |||
**[https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation Universal Android Debloater Next Generation] (UAD-NG). A [[wikipedia:Desktop_computer|desktop]] app that uses [[wikipedia:Android_Debug_Bridge|ADB]] to disable (or "freeze") and pseudo-uninstall almost (OEMs block some) any app (including system packages) without [[Jailbreak|root]]-access. | |||
**[https://github.com/samolego/Canta Canta]. An Android app that uses UAD-NG's bloat-lists as its knowledge-base (KB), and [https://shizuku.rikka.app/ Shizuku] as ADB replacement. | |||
**[https://github.com/MuntashirAkon/AppManager AppManager]. An "all-in-one"/general-purpose package manager that runs on Android. It uses a derivative of UAD's lists as its KB. It can show '''a lot''' of hidden info about apps, which can sometimes be used for reverse-engineering. | |||
**[https://github.com/lavafroth/droidrunco Droidrunco], superseded by [https://github.com/lavafroth/zilch Zilch] | |||
*[https://github.com/M66B/NetGuard NetGuard]. An app that uses [https://developer.android.com/develop/connectivity/vpn the local Android VPN API] to filter internet traffic (like a [[wikipedia:Firewall_(computing)|firewall]]). It can be used as an on-device [[Pi-hole]] to [[Ad block|block ads]] using [[wikipedia:Hosts_(file)|<code>hosts</code>-files]] as rules.<ref>{{Cite web |last=Bokhorst |first=Marcel |date=2016-03-20 |title=Ad Blocking with NetGuard |url=https://github.com/M66B/NetGuard/blob/7308869411ff87649bf3a46a9c7c08f1e5353801/ADBLOCKING.md |url-status=live |access-date=2026-03-15 |website=GitHub}}</ref> | |||
*[https://github.com/celzero/rethink-app Rethink], [[wikipedia:Domain_Name_System|DNS]] + Firewall + [[wikipedia:Virtual_private_network|VPN]] for Android. Can use local and remote DNS. | |||
*[[wikipedia:Youtube-dl|youtube-dl]] & [https://github.com/yt-dlp/yt-dlp YT-DLP]. Audio/Video downloaders or "[[wikipedia:Ripping|rippers]]". Similarly to LibRedirect, it can be used to avoid bloat, by simply downloading the main content of a page. There's also <code>--get-url</code>/<code>--print urls</code> options that can be used to open the URL of the media in a browser, effectively streaming it, without a customized player | |||
Note that those tools only help ''users'', they don't reduce bloat on the ''development'' side. | |||
==External links== | ==External links== | ||
*[https:// | *[https://thatshubham.com/blog/news-audit "The 49MB Web Page"]; a study on popular news/journalism sites. They also talk about cognitive-load and silent automated bidding, criticizing the degraded UX and privacy violations. | ||
*[https://idlewords.com/talks/website_obesity.htm "Web Obesity Crisis"] | *[https://idlewords.com/talks/website_obesity.htm "Web Obesity Crisis"] | ||
*[https:// | *[https://httparchive.org/reports/page-weight HTTP Archive: Page Weight] | ||
*[https://www.keycdn.com/support/the-growth-of-web-page-size The Growth of Web Page Size] | *[https://www.keycdn.com/support/the-growth-of-web-page-size The Growth of Web Page Size] | ||
*[https://tonsky.me/blog/js-bloat Javascript bloat in 2024] | *[https://tonsky.me/blog/js-bloat Javascript bloat in 2024] | ||
| Line 42: | Line 83: | ||
[[Category:Common terms]] | [[Category:Common terms]] | ||
[[Category:Theme]] | |||