1 puntos por GN⁺ 3 시간 전 | 1 comentarios | Compartir por WhatsApp
  • La hinchazón del software es el cambio por el cual apps que antes cabían en un solo disquete ahora exigen gigabytes de almacenamiento y largos tiempos de espera
  • El disquete de 1.44MB no es un límite juguetón, sino un criterio de moderación y la premisa de que incluso una herramienta de propósito único puede hacerse lo suficientemente pequeña
  • El software pequeño busca descargas rápidas y ejecución inmediata, bajo uso de memoria y CPU, mayor duración de batería y soporte para sistemas antiguos
  • Enfatiza el principio de usar solo nativo, evitar la hinchazón por dependencias y que todo el código debe tener una razón de existir
  • La insignia Floppy se coloca en apps cuyo tamaño total de descarga es menor a 1.44MB, y el punto clave no es la nostalgia sino una actitud de desarrollo que valora cada byte

Criterios del software pequeño

  • Debido a la hinchazón del software, apps que antes cabían en un solo disquete ahora requieren gigabytes de almacenamiento, largos tiempos de espera y una paciencia excesiva
  • El disquete de 1.44MB se usa no como una limitación en broma, sino como un criterio de moderación
  • Si antes software capaz de operar negocios completos cabía en ese tamaño, entonces las herramientas modernas, enfocadas y de propósito único, también pueden ser lo suficientemente pequeñas
  • El software pequeño apunta a descargarse rápido, ejecutarse de inmediato y reducir las cargas innecesarias
  • Respeta el dispositivo del usuario al incluir bajo uso de memoria y CPU, mayor duración de batería y compatibilidad con sistemas antiguos
  • Debe usar solo nativo, evitar la hinchazón de dependencias y asegurar que todo el código tenga una razón de existir
  • El software que hace bien una sola cosa puede tener funciones más enfocadas, menos errores y durar más tiempo

Forma de medición e intención

  • La insignia Floppy se coloca en apps cuyo tamaño total de descarga es menor a 1.44MB, la capacidad estándar de un disquete de 3.5 pulgadas
  • El tamaño mostrado en el disco se basa en el tamaño del binario universal reportado por la plataforma de distribución del desarrollador
  • El tamaño real descargado al dispositivo puede ser menor que el tamaño mostrado, porque el platform thinning entrega solo las partes necesarias para el hardware específico
  • El punto central no es la nostalgia por el disquete en sí, sino una actitud de desarrollo donde cada byte importa, las restricciones generan creatividad y el software debe ser ligero
  • Como ejemplo relacionado, se enlaza la historia de desarrollo del premiado juego de 39KB YOYOZO

1 comentarios

 
GN⁺ 3 시간 전
Comentarios en Lobste.rs
  • En general estoy de acuerdo, pero depende mucho de qué esté ya instalado en el sistema. Un binario enlazado dinámicamente hecho en C o un script de Python pueden caber fácilmente porque el runtime está en casi cualquier computadora
    En cambio, si haces enlace estático por portabilidad o usas un lenguaje con un runtime menos común, como Janet, te pasas de este criterio con facilidad
    • También tiendo a estar de acuerdo. A menos que estés construyendo una aplicación nativa sobre dependencias razonables, como un toolkit de UI que ya puedes asumir que existe en el sistema operativo de destino, es difícil cumplir con ese límite de tamaño. Incluso una libc “pequeña” suele superar los 0.5 MB, y si quieres hacer solicitudes de red, LibCURL también pesa cientos de KB, y BearSSL parece andar por algo similar
      Mi proyecto Decker intenta reducir las dependencias externas, pero por portabilidad depende de SDL y SDL_image y los distribuye juntos. La release actual para Apple Silicon pesa 6 MB comprimida, de los cuales unos 4.6 MB son los dylib de SDL y SDL_image. La build web arranca en alrededor de 0.5 MB bajo la suposición de que el usuario ya tiene un navegador HTML5 razonablemente moderno, pero si incluyes el navegador, la dependencia pasa a ser de cientos de MB
      Los archivos deck en bruto de aplicaciones y librerías útiles pueden quedarse en decenas de KB si el runtime ya existe. Love2d está en una situación parecida, montado sobre SDL y varios componentes integrados, y pesa 10 MB comprimido, 25 MB descomprimido. Sobre Love2d puedes hacer aplicaciones útiles de decenas de KB usando solo scripts Lua y gráficos vectoriales, pero, de nuevo, eso es solo si el runtime ya está ahí
      Si los recursos de desarrollo fueran ilimitados, evitar la dependencia de SDL sería una meta genial, pero en la mayoría de los proyectos basados en SDL eso probablemente significaría renunciar por completo al soporte para sistemas operativos menos populares a cambio de ahorrar unos pocos MB en el instalador. Que eso cuente como hinchazón o no depende del punto de vista
  • Está bien evitar que el software crezca demasiado, pero la mayoría de las aplicaciones grandes lo son más por los archivos de recursos que por el software en sí. La resolución de las pantallas aumentó y ahora se presta mucha más atención a la experiencia de usuario que antes
    Antes era razonable hacer las cosas solo con texto, pero hoy eso es raro. De la lista de motivaciones propuesta, solo la primera se conecta de forma directa con el tamaño real del binario en bruto; las demás son más bien ventajas separadas que estaría bien tener
    Además, ese mismo sitio usa unos 200,000 bytes para entregar un manifiesto de 1,600 bytes
  • Jugué juegos que venían en más de 4 disquetes, y viví la época en la que además traían un manual impreso de 100 páginas con todos los diálogos del juego, así que no siento ninguna necesidad de que eso regrese
    • Tener que ensamblar el juego en tu cabeza a partir de tres medios distintos hasta suena un poco genial :-) ¿Cuál era tu juego favorito de esa época?
  • Suena familiar: https://fosstodon.org/@dillo/113913161923323567
    https://cdn.fosstodon.org/media_attachments/files/…
  • Como alguien que de niño pasaba tiempo instalando juegos desde disquetes, siento nostalgia, pero esto es simplemente nostalgia pura
    Hoy en día el usuario no nota si la descarga pesa 1.44 MB, 2.88 MB o más, y tampoco percibe diferencia al ejecutar el binario
  • La frase “antes una app cabía en un solo disquete y ahora exige varios GB de almacenamiento, varios minutos de tiempo y demasiada paciencia” es una exageración
    Sí había aplicaciones de un solo disquete, pero la mayoría del software serio de los 80 y 90 se distribuía en varios discos. Por ejemplo, Microsoft Word v2.0 en 7 discos con 2 discos suplementarios, Lotus 1-2-3 en 13 disquetes, e incluso Doom venía en 4 disquetes
    La idea de que algo cabe en un solo disquete no era algo común ni siquiera en la era del disquete, y todo el mundo entendía que el software más grande simplemente se distribuía en varios discos
  • Recuerdo la época en la que una distro de Linux podía caber en un solo disquete. Tom's RootBoot Disk era excelente como sistema de recuperación
  • Espera, ¿me estás diciendo que no se puede meter una cita de Lovecraft de 2 KB en cada binario?
  • Llevo 1 o 2 semanas usando este protector de pantalla y es una delicia. Mitad tostadoras voladoras, mitad “ah, ese disco sí lo conozco”
  • Hace poco mi familia estaba viendo un concurso y salió una pregunta sobre cuánto se puede guardar en un disquete estándar. Mi hijo de 23 años jamás ha visto un disquete en su vida, y aun así tiene muchos más conocimientos de computación que la mayoría de la gente de su edad