Rudxain (talk | contribs)
link to UADNG definition of "OEM" in "See also"
Rudxain (talk | contribs)
Tools are user-side (for now)
 
(59 intermediate revisions by 7 users not shown)
Line 1: Line 1:
There are several definitions, and even within those defs it's still open to subjectivity:
'''Bloatware''' can be defined in 2 main classes:


*[[wikipedia:Software_bloat#Bloatware|Pre-installed software]] that's not required by the OS to work
*[[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]].
*Redundant or duplicate apps installed on a device
*[[wikipedia:Potentially_unwanted_program|Undesirable programs]] that were [https://www.deceptive.design/types/sneaking never requested by the user]
*Software that has [[wikipedia:Software_bloat|become bloated over time]]
*Software that has [[wikipedia:Software_bloat|become bloated over time]]


This is a problem because 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) {{Citation needed}}.
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.


== See also ==
==How it works==
[https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/wiki/Glossary#oem UAD-NG definition of OEM]
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==
 
===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.
 
===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 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
*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==
 
*[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://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://tonsky.me/blog/js-bloat Javascript bloat in 2024]
*[https://tonsky.me/blog/disenchantment "Software disenchantment"]
*[https://github.com/gorhill/uBlock/wiki/Who-cares-about-efficiency,-I-have-8-GB-RAM-and%7Cor-a-quad-core-CPU uBlock-wiki counterpoint to "Who cares about efficiency, I have 8 GB RAM and|or a quad core CPU"]
*[https://randomascii.wordpress.com/2022/09/29/why-modern-software-is-slow-windows-voice-recorder/ Why Modern Software is Slow–Windows Voice Recorder]
 
==References==
<references />
 
[[Category:Common terms]]
[[Category:Theme]]