El exceso de software es un proceso por el cual las versiones sucesivas de un programa de computadora se vuelven perceptiblemente más lentas, usan más memoria, espacio en disco o potencia de procesamiento, o tienen requisitos de hardware más altos que la versión anterior, mientras que solo hacen mejoras dudosas perceptibles por el usuario o sufren de pérdida de características . El término no se aplica de manera coherente; Los usuarios finales lo utilizan a menudo como peyorativo (bloatware) para describir la interfaz de usuario no deseada .cambios incluso si esos cambios tuvieron poco o ningún efecto en los requisitos de hardware. En el software de larga duración, la hinchazón percibida puede ocurrir debido a que el software atiende a un mercado grande y diverso con muchos requisitos diferentes. La mayoría de los usuarios finales sentirán que solo necesitan un subconjunto limitado de las funciones disponibles, y considerarán las demás como un exceso innecesario, incluso si los usuarios finales con diferentes requisitos requieren esas funciones.
La hinchazón real (medible) puede ocurrir debido a restar importancia a la eficiencia algorítmica en favor de otras preocupaciones como la productividad del desarrollador, o posiblemente a través de la introducción de nuevas capas de abstracción como una máquina virtual u otro motor de scripting con fines de conveniencia cuando las limitaciones del desarrollador son reducido. La percepción de una productividad mejorada del desarrollador, en el caso de practicar el desarrollo dentro de entornos de máquinas virtuales, proviene de que los desarrolladores ya no tienen en cuenta las limitaciones de recursos y el uso durante el diseño y desarrollo; esto permite que el producto se complete más rápido pero da como resultado aumentos en los requisitos de hardware del usuario final para compensar.
El término "bloatware" también se utiliza para describir software preinstalado no deseado o programas empaquetados . [1]
Causas
Ineficiencia del software
Los desarrolladores de software involucrados en la industria durante la década de 1970 tenían severas limitaciones de espacio en disco y memoria. Se tuvo en cuenta cada byte y ciclo de reloj , y se trabajó mucho para adaptar los programas a los recursos disponibles. Lograr esta eficiencia era uno de los valores más altos de los programadores de computadoras, y los mejores programas a menudo se llamaban " elegantes ", un término utilizado por los matemáticos para describir una demostración ordenada, parsimoniosa y poderosa.
En el siglo XXI, la situación se había revertido. Los recursos se percibieron como baratos y la rapidez de codificación y las características de los titulares para el marketing se consideraron prioritarias. [2] En parte, esto se debe a que los avances tecnológicos han aumentado la capacidad de procesamiento y la densidad de almacenamiento en órdenes de magnitud, al tiempo que reducen los costos relativos en órdenes de magnitud similares (ver la ley de Moore ). Además, la expansión de las computadoras a todos los niveles de la vida empresarial y doméstica ha producido una industria del software mucho más grande que en la década de 1970. Los programas ahora suelen ser producidos por equipos, dirigidos por comités en estudios de desarrollo de software (también conocidos como casas de software o fábricas de software) donde cada programador trabaja solo en una parte del todo, en una o más subrutinas . [ cita requerida ]
Finalmente, las herramientas y enfoques de desarrollo de software a menudo dan como resultado cambios en todo el programa para adaptarse a cada función, lo que lleva a una inclusión a gran escala de código que afecta la operación principal del software, y es necesario para admitir funciones que en sí mismas pueden ser solo raramente usado. En particular, los avances en los recursos disponibles han llevado a herramientas que permiten un desarrollo más fácil del código, nuevamente con menos prioridad dada a la eficiencia final.
Otra causa de hinchazón son los estándares y productos que compiten de forma independiente, lo que puede crear una demanda de integración. Ahora hay más sistemas operativos, navegadores, protocolos y formatos de almacenamiento que antes, lo que provoca un exceso de programas debido a problemas de interoperabilidad. Por ejemplo, un programa que antes solo podía guardar en formato de texto ahora se exige que lo guarde en HTML, XML, XLS, CSV, PDF, DOC y otros formatos.
Niklaus Wirth ha resumido la situación en la ley de Wirth , que establece que la velocidad del software disminuye más rápidamente de lo que aumenta la velocidad del hardware.
En su ensayo de 2001 Strategy Letter IV: Bloatware and the 80/20 Myth , [3] Joel Spolsky sostiene que mientras que el 80% de los usuarios solo usa el 20% de las características (una variante del principio de Pareto ), cada una usa características diferentes . Por lo tanto, las ediciones de software "lite" resultan inútiles para la mayoría, ya que pierden una o dos características especiales que están presentes en la versión "hinchada". Spolsky resume el artículo con una cita de Jamie Zawinski refiriéndose a Mozilla Application Suite (que luego se convirtió en SeaMonkey ):
"Aunque sería conveniente si fuera cierto, Mozilla no es grande porque está lleno de basura inútil. Mozilla es grande porque tus necesidades son grandes. Tus necesidades son grandes porque Internet es grande. Hay muchos navegadores web pequeños y ajustados por ahí que, dicho sea de paso, no hacen casi nada útil. [...] Pero ser una joya brillante de la perfección no era un objetivo cuando escribimos Mozilla ". [4]
La hinchazón del software también puede ser un síntoma del efecto del segundo sistema , descrito por Fred Brooks en The Mythical Man-Month .
Bloatware
El término "bloatware" se puede aplicar al software que se ha hinchado debido a la ineficiencia o la acumulación de funciones como se describe anteriormente. [3] El término también se refiere comúnmente al software preinstalado en un dispositivo, generalmente por el fabricante del hardware, que en su mayoría no es deseado por el comprador.
El término también se puede aplicar a la acumulación de elementos de software no deseados y no utilizados que permanecen después de una desinstalación parcial e incompleta . Estos elementos pueden incluir programas completos, bibliotecas, información de configuración asociada u otros datos. El rendimiento puede deteriorarse en general como resultado de dichos abandonos, ya que el software o los componentes de software no deseados pueden ocupar memoria, perder tiempo de procesamiento, agregar E / S de disco , consumir almacenamiento y causar retrasos en el inicio y apagado del sistema. En el peor de los casos, el software sobrante puede interferir con el funcionamiento correcto del software deseado. [5] Bloatware se puede eliminar fácilmente si el usuario tiene acceso de root en su teléfono inteligente, aunque el proceso de root tiene sus propias ventajas y desventajas, [6] como anular la garantía del fabricante y que cierto software se niega a ejecutarse en root dispositivos. [ cita requerida ]
Ejemplos de
Versión de Windows | Procesador | Memoria | Disco duro |
---|---|---|---|
Windows 95 [7] | 25 MHz | 4 MB | ~ 50 MB |
Windows 98 [8] | 66 MHz | 16 MB | ~ 200 MB |
Windows 2000 [9] | 133 MHz | 32 MB | 650 MB |
Windows XP [10] (2001) | 233 MHz | 64 MB | 1,5 GB |
Windows Vista [11] (2007) | 800 MHz | 512 MB | 15 GB |
Windows 7 [12] (2009) | 1 GHz | 1 GB | 16 GB |
Windows 8 [13] (2012) | 1 GHz | 1 GB | 16 GB |
Windows 10 [14] (2015) | 1 GHz | 1 GB | 16 GB |
Manzana 's iTunes ha sido acusado de estar hinchado por los esfuerzos para convertir desde un sencillo reproductor multimedia a una plataforma de comercio electrónico y la publicidad, [15] [16] con el ex PC World editor Ed Bott acusando a la compañía de hipocresía en su publicidad ataques a Windows por prácticas similares. [17] En 2019, Apple anunció el cierre inminente del programa, un movimiento descrito por un comentarista de The Guardian como "muy retrasado", afirmando que el programa se había "vuelto barrocamente hinchado, una anomalía sorprendente para una empresa que se enorgullece de sí misma". en un diseño elegante y funcional ". [18]
Microsoft Windows también ha sido criticado por estar inflado - con referencia a Windows Vista y discutiendo los nuevos y reducidos componentes centrales de Windows 7, el ingeniero de Microsoft Eric Traut comentó que "Este es el núcleo de Windows 7. Esta es una colección de componentes que hemos sacado [ ¿cuál? ] . Mucha gente piensa en Windows como este sistema operativo realmente grande e hinchado, y esa puede ser una caracterización justa, debo admitir. Es grande. Contiene muchas cosas en pero en su esencia, el kernel y los componentes que conforman la esencia misma del sistema operativo en realidad están bastante optimizados ". [19] [20] Ed Bott también expresó su escepticismo, señalando que casi todos los sistemas operativos que Microsoft ha vendido alguna vez han sido criticados como "inflados" en el primer lanzamiento, incluso aquellos que ahora se consideran exactamente lo contrario, como MS-DOS . [21] Citando a Paul Thurrott, Bott estuvo de acuerdo en que la hinchazón proviene de numerosas características de nivel empresarial incluidas en el sistema operativo que eran en gran parte irrelevantes para el usuario doméstico promedio.
Las aplicaciones de grabación de CD y DVD, como Nero Burning ROM, han sido criticadas por estar infladas. [22] Las funciones superfluas que no están diseñadas específicamente para el usuario final a veces se instalan de forma predeterminada a través de configuraciones rápidas.
Varios blogs de tecnología también han abordado el problema del aumento de bloatware en los teléfonos móviles. Sin embargo, se refieren a un problema diferente, específicamente al de los proveedores de servicios inalámbricos que cargan los teléfonos con software que, en muchos casos, no se puede eliminar fácilmente, si es que se elimina. Esto se ha citado con mayor frecuencia con respecto a los dispositivos Android , aunque este fenómeno existe en teléfonos que ejecutan muchos otros sistemas operativos. [23] [24]
Algunas de las aplicaciones de mensajería actuales más populares , que anteriormente solo se centraban en la mensajería instantánea , han sido criticadas por estar infladas debido a la falta de funciones. [25] [26] [27] [28] WeChat agregó características adicionales como juegos, servicio de suscripción, billetera electrónica WeChat Pay , [25] agregador de noticias , centro de comercio electrónico , función de gobierno electrónico [26] , cine sistema de reservas, buscador de restaurantes y empresa de viajes compartidos , [28] que ha aumentado el tamaño de una aplicación de 2 MB en 2011 a 58 MB en 2018. [ cita requerida ] Facebook Messenger , que se ha separado de la aplicación de Facebook , es igualmente criticado por agregando funciones adicionales como juegos, bots y funciones que se copiaron de Snapchat como Messenger Day (Historias), filtros faciales, cámara con capacidad para editar fotos, dibujar garabatos y agregar emojis y pegatinas. [29] [30] En enero de 2018, el jefe de mensajería de Facebook, David A. Marcus , admitió que la aplicación en sí está extremadamente inflada y prometió rediseñar toda la aplicación para eliminar funciones innecesarias y optimizar la aplicación. [27] La aplicación Facebook Messenger rediseñada y optimizada se anunció en octubre de 2018, cuyas funciones se reducen solo a mensajes, historias, pestaña de descubrimiento y cámara. [31]
Alternativas
Algunas aplicaciones, como GIMP , y el software con funcionalidad adicional de los complementos , utilizan extensiones o complementos que se descargan por separado de la aplicación principal. Estos pueden ser creados por el desarrollador de software o por desarrolladores externos. Los complementos, extensiones y complementos agregan funcionalidad adicional que, de lo contrario, podría haberse empaquetado en el programa principal.
Permitir estos complementos, extensiones y / o complementos reduce el espacio utilizado en cualquier máquina, porque aunque la aplicación, la "interfaz del complemento" y todos los complementos combinados son más grandes que la misma funcionalidad compilado en una aplicación monolítica, permite a cada usuario instalar solo las características complementarias particulares que requieren, en lugar de obligar a cada usuario a instalar una aplicación monolítica mucho más grande que incluye todas las características disponibles. Esto da como resultado una aplicación "simplificada" o "lista para usar" que se entrega en un paquete compacto pero que está lista para que los usuarios agreguen cualquier funcionalidad que falte.
El software de código abierto puede utilizar una técnica similar utilizando directivas de preprocesador para incluir características en tiempo de compilación de forma selectiva. Esto es más fácil de implementar y más seguro que un sistema de complementos, pero tiene la desventaja de que un usuario que desee un conjunto específico de funciones debe compilar el programa desde la fuente.
A veces, el software se hincha debido a la "característica progresiva " [32] ( ley de Zawinski de la envoltura del software ). Una forma de reducir ese tipo de hinchazón se describe en la filosofía de Unix de "escribir programas que hacen una cosa y lo hacen bien", y dividir lo que sería una única y complicada pieza de software en numerosos componentes más simples que se pueden encadenar usando tuberías , scripts de shell u otras formas de comunicación entre aplicaciones .
Ver también
- Hinchazón de código
- Característica fluencia
- Software ligero
- Biblioteca GNU C
- Minimalismo (informática)
- Podredumbre de software
- Paquete de programas
- Deuda técnica
- Ley de Wirth
- Ley de envoltura de software de Zawinski
Referencias
- ^ whatisbloatware.com
- ^ Raymond, Eric S. (17 de septiembre de 2003). El arte de la programación Unix (1 ed.). Addison-Wesley Professional. ISBN 0131429019. Consultado el 16 de junio de 2007 .(Ver también: El arte de la programación Unix )
- ^ a b Spolsky, Joel (2001). "Carta de estrategia IV: Bloatware y el mito 80/20 - Joel en el software" . Consultado el 2 de octubre de 2006 .
- ^ Zawinski, Jamie (1998). "huevos de pascua" . Consultado el 9 de enero de 2008 .
- ^ Santo Domingo, Joel (13 de febrero de 2012). "Cómo quitar Bloatware" . Revista de PC .
- ^ Mukesh, Bhavesh (4 de marzo de 2016). "Ventajas y desventajas de rootear teléfonos inteligentes Android" . El portal de Android .
- ^ "Microsoft KB: requisitos de instalación de Windows 95" . Consultado el 22 de julio de 2007 .
- ^ "Microsoft KB: requisitos mínimos de hardware para una instalación de Windows 98" . Consultado el 22 de julio de 2007 .
- ^ "Introducción a Windows 2000 Server: Capítulo 3 - Planificación de la instalación de Windows 2000 Server" . Consultado el 29 de agosto de 2007 .
- ^ "Microsoft KB: requisitos del sistema para los sistemas operativos Windows XP" . Consultado el 22 de julio de 2007 .
- ^ "Microsoft KB: requisitos del sistema para Windows Vista" . Consultado el 22 de julio de 2007 .
- ^ "Microsoft: requisitos del sistema para Windows 7" . Consultado el 9 de octubre de 2009 .
- ^ "Imágenes ISO de vista previa de Windows 8" . Consultado el 12 de agosto de 2012 .
Windows 8 Release Preview funciona muy bien en el mismo hardware que utiliza Windows 7
- ^ "7 cosas para recordar si estás probando la vista previa de Windows 10" . www.computerworld.com . Consultado el 29 de marzo de 2015 .
- ^ Streza, Steve (7 de marzo de 2007). "¿Qué pasó con iTunes?" .
- ^ Buchanan, Matt (12 de octubre de 2009). "iTunes 9 será un monstruo social hinchado" . Gizmodo . Consultado el 14 de enero de 2010 .
- ^ Bott, Ed (3 de octubre de 2008). "Adelgazar el instalador de iTunes hinchado" . ZDNet . Consultado el 14 de enero de 2010 .
- ^ Naughton, John (9 de marzo de 2019). "Adiós, iTunes, y gracias por salvar a la industria de la música de sí misma" . The Guardian . Consultado el 10 de marzo de 2019 .
- ^ McDougall, Paul (28 de enero de 2008). "Software Tool Strips Windows Vista To Bare Bones" . informationweek.com .
- ^ Bott, Ed (31 de marzo de 2008). "¿MinWin es realmente el nuevo kernel de Windows 7?" .
- ^ Bott, Ed (13 de marzo de 2006). "¿Windows hinchado? Siempre ha sido así" .
- ^ Cassia, Fernando (27 de febrero de 2007). " ' Nero Lite' y 'Nero Micro': más pequeño a veces es mejor" . El indagador . Archivado desde el original el 2 de marzo de 2007 . Consultado el 7 de marzo de 2007 .
- ^ Gartenberg, Michael (12 de septiembre de 2010). "Inteligencia: ¿Los operadores destruirán la visión de Android?" . Engadget . Consultado el 21 de septiembre de 2010 .
- ^ Milian, Mark (15 de junio de 2010). " ' Junkware' viene de serie en los teléfonos inteligentes Verizon, T-Mobile" . Los Angeles Times . Consultado el 21 de septiembre de 2010 .
- ^ a b Bischoff, Paul (12 de febrero de 2014). "Lo que WeChat necesita aprender de Facebook" . Tecnología en Asia . Consultado el 16 de febrero de 2020 .
- ^ a b Chen, Laurie (22 de julio de 2018). "Por qué los millennials expertos en tecnología de China están abandonando WeChat" . Poste de la mañana del sur de China . Hong Kong . Consultado el 16 de febrero de 2020 .
- ^ a b Constine, Josh (16 de enero de 2018). "Facebook Messenger hinchado promete simplificar en 2018" . TechCrunch . Consultado el 16 de febrero de 2020 .
- ^ a b "Facebook abre Messenger a aplicaciones de terceros" . BBC . 25 de marzo de 2015 . Consultado el 16 de febrero de 2020 .
- ^ Brown, Aaron (7 de febrero de 2017). "Facebook casi arruina WhatsApp, y ahora arruina Messenger" . Expreso diario . Consultado el 16 de febrero de 2020 .
- ^ Welch, Chris (18 de mayo de 2017). "Cómo sustituir Facebook Messenger por una versión mucho más sencilla y ligera" . The Verge . Consultado el 16 de febrero de 2020 .
- ^ Price, Rob (23 de octubre de 2018). "Facebook le está dando a Messenger una revisión para intentar reducir la hinchazón y agregar un modo oscuro" . Business Insider . Consultado el 16 de febrero de 2020 .
- ^ Adams, Ernest (1 de mayo de 2007). "El Cuaderno del Diseñador:" la característica progresiva produce un lío hinchado y complicado " .