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.
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.
There are now more operating systems, browsers, protocols, and storage formats than there were before, causing bloat in programs due to interoperability issues.
[6][7] By 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.
"[22][23] 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.
[24] 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.
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.
[28][29][30][31] WeChat during its transformation into a super-app added additional features such as games, subscription services, WeChat Pay e-wallet,[28] a news aggregator, an e-commerce hub, an e-government[29] feature, a cinema booking system, a restaurant finder and a ridesharing company,[31] which has increased the size of the app from 2 MB in 2011 to 58 MB in 2018.
[citation needed] 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.
[30] 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.
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.
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 pipes, shell scripts, or other forms of interapplication communication.
Software bloat may induce more vulnerabilities due to raise of difficulty in managing a large number of code and dependencies.