1 Punkte von GN⁺ 3 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • Software-Bloat beschreibt die Entwicklung, dass Apps, die früher auf eine einzelne Floppy passten, heute Gigabytes an Speicherplatz und lange Wartezeiten verlangen
  • Die 1,44-MB-Diskette ist keine scherzhafte Beschränkung, sondern ein Maßstab für Zurückhaltung und die Annahme, dass sich auch Werkzeuge mit nur einem klaren Zweck klein genug bauen lassen
  • Kleine Software zielt auf schnelles Herunterladen, sofortiges Starten, geringe Speicher- und CPU-Nutzung, lange Akkulaufzeit und Unterstützung für ältere Systeme
  • Betont wird das Prinzip, nur Native-Technologien zu verwenden, aufgeblähte Abhängigkeiten zu vermeiden und dafür zu sorgen, dass jeder Code seine Existenzberechtigung hat
  • Das Floppy-Badge wird an Apps vergeben, deren gesamte Downloadgröße unter 1,44 MB liegt; entscheidend ist nicht Nostalgie, sondern eine Haltung beim Entwickeln, die jedes Byte wertschätzt

Maßstab für kleine Software

  • Durch Software-Bloat verlangen Apps, die früher auf eine einzelne Floppy-Disk passten, heute Gigabytes an Speicherplatz, lange Wartezeiten und übermäßige Geduld
  • Die 1,44-MB-Diskette dient nicht als scherzhafte Begrenzung, sondern als Maßstab für Zurückhaltung
  • Wenn früher Software, die ganze Unternehmen betrieb, in diese Größe passte, dann können auch moderne, fokussierte Werkzeuge mit einem einzigen Zweck klein genug gebaut werden
  • Kleine Software soll schnell heruntergeladen werden können, sofort starten und unnötige Ladezeiten verringern
  • Sie respektiert die Geräte der Nutzerinnen und Nutzer durch geringen Speicher- und CPU-Verbrauch, längere Akkulaufzeit und Unterstützung älterer Systeme
  • Es wird betont, nur Native-Technologien zu verwenden, Dependency-Bloat zu vermeiden und sicherzustellen, dass jeder Code einen Grund für seine Existenz hat
  • Software, die eine Sache gut macht, hat fokussiertere Funktionen, weniger Bugs und kann länger Bestand haben

Messmethode und Absicht

  • Das Floppy-Badge wird an Apps vergeben, deren gesamte Downloadgröße unter 1,44 MB liegt, also unter der Kapazität einer standardmäßigen 3,5-Zoll-Diskette
  • Die auf der Diskette angegebene Größe basiert auf der von der Distributionsplattform des Entwicklers gemeldeten Universal-Binary-Größe
  • Die tatsächlich auf das Gerät heruntergeladene Größe kann durch Platform Thinning kleiner sein als die angezeigte Größe, weil nur die für die jeweilige Hardware nötigen Bestandteile ausgeliefert werden
  • Entscheidend ist nicht die Nostalgie für die Floppy-Disk selbst, sondern eine Haltung beim Entwickeln, in der jedes Byte zählt, Einschränkungen Kreativität erzeugen und Software leichtgewichtig sein sollte
  • Als Beispiel ist der Bericht zur Produktion des preisgekrönten 39-KB-Spiels YOYOZO verlinkt

1 Kommentare

 
GN⁺ 3 시간 전
Lobste.rs-Kommentare
  • Ich stimme größtenteils zu, aber es hängt stark davon ab, was bereits auf dem System installiert ist. Dynamisch gelinkte Binärdateien in C oder Python-Skripte passen leicht in dieses Raster, weil die Runtime auf fast allen Computern vorhanden ist
    Wenn man dagegen für Portabilität statisch linkt oder eine Sprache mit weniger verbreiteter Runtime wie Janet verwendet, überschreitet man diese Grenze schnell
    • Stimme ich eher zu. Wenn man keine native Anwendung auf vernünftigen Abhängigkeiten wie einem UI-Toolkit aufbaut, von dem man annehmen kann, dass es auf dem Zielbetriebssystem bereits vorhanden ist, ist es schwer, diese Größenanforderung einzuhalten. Selbst eine „kleine“ libc ist meist über 0,5 MB groß, und für Netzwerkanfragen braucht man LibCURL mit mehreren hundert KB, BearSSL scheint ähnlich groß zu sein
      Mein Projekt Decker versucht, externe Abhängigkeiten zu minimieren, hängt für die Portabilität aber von SDL und SDL_image ab und liefert sie mit aus. Das aktuelle Apple-Silicon-Release ist komprimiert 6 MB groß, davon sind etwa 4,6 MB die SDL- und SDL_image-dylibs. Der Web-Build startet bei etwa 0,5 MB, unter der Annahme, dass der Benutzer bereits einen hinreichend modernen HTML5-Browser hat, aber wenn man den Browser selbst mitzählt, liegen die Abhängigkeiten bei mehreren hundert MB
      Die Rohdateien von decks mit nützlichen Anwendungen und Bibliotheken können wenn die Runtime bereits vorhanden ist auf einige zehn KB begrenzt sein. Love2d ist ein ähnlicher Fall, da es auf SDL und mehreren eingebauten Komponenten aufsetzt, und ist komprimiert 10 MB, entpackt 25 MB groß. Auf Love2d kann man mit nur Lua-Skripten und Vektorgrafik nützliche Apps mit einigen zehn KB bauen, aber auch das gilt nur, wenn die Runtime schon vorhanden ist
      Wenn Entwicklungsressourcen unbegrenzt wären, wäre es ein schönes Ziel, die SDL-Abhängigkeit zu vermeiden. Bei den meisten SDL-basierten Projekten würde das jedoch wahrscheinlich bedeuten, die Unterstützung weniger populärer Betriebssysteme ganz aufzugeben, statt nur ein paar MB beim Installer zu sparen. Ob man das als Bloat ansieht, ist wohl eine Frage der Perspektive
  • Es ist gut, zu vermeiden, dass Software größer wird, aber die meisten großen Anwendungen sind eher wegen ihrer Asset-Dateien groß als wegen der Software selbst. Die Display-Auflösungen sind gestiegen, und man achtet heute stärker auf die Benutzererfahrung als früher
    Früher war nur Text noch eine vernünftige Lösung, heute ist das selten. Von der genannten Motivationsliste ist nur der erste Punkt direkt mit der tatsächlichen Rohgröße einer Binärdatei verbunden, der Rest sind eher separate Vorteile, die nett zu haben sind
    Außerdem verwendet die Seite selbst etwa 200.000 Bytes, um ein 1.600-Byte-Manifest zu übertragen
  • Ich habe Spiele gespielt, die auf mehr als 4 Disketten ausgeliefert wurden, und ich habe noch die Zeit erlebt, in der sogar ein gedrucktes Handbuch mit 100 Seiten beilag, das den gesamten Dialog enthielt. So etwas muss wirklich nicht zurückkommen
    • Die Vorstellung, ein Spiel im Kopf aus drei verschiedenen Medien zusammenzusetzen, klingt irgendwie auch cool :-) Was war damals dein Lieblingsspiel?
  • Kommt mir bekannt vor https://fosstodon.org/@dillo/113913161923323567
    https://cdn.fosstodon.org/media_attachments/files/…
  • Als jemand, der als Kind Zeit damit verbracht hat, Spiele von Disketten zu installieren, habe ich schon etwas Nostalgie dafür, aber das ist einfach reine Nostalgie
    Nutzer heute merken nicht, ob ein Download 1,44 MB, 2,88 MB oder größer ist, und beim Ausführen der Datei spüren sie ebenfalls keinen Unterschied
  • Die Aussage „Früher passten Apps auf eine einzige Diskette, heute verlangen sie mehrere GB Speicherplatz, mehrere Minuten Zeit und viel zu viel Geduld“ ist übertrieben
    Es gab Anwendungen, die auf eine einzelne Diskette passten, aber die meiste ernsthafte Software der 80er und 90er wurde auf mehrere Disketten verteilt. Zum Beispiel Microsoft Word v2.0 auf 7 Disketten mit 2 Zusatzdisketten, Lotus 1-2-3 auf 13 Disketten, und selbst Doom war auf 4 Disketten
    Die Idee, dass etwas auf eine einzige Diskette passt, war selbst in der Disketten-Ära nicht allgemein üblich, und jeder wusste, dass man größere Software eben auf mehreren Disketten auslieferte
  • Ich erinnere mich an die Zeit, als Linux-Distributionen auf eine einzelne Diskette passten. Tom's RootBoot Disk war ein großartiges Rettungssystem
  • Moment mal, heißt das, man darf nicht 2 KB Lovecraft-Zitate in jede Binärdatei packen?
  • Ich benutze diesen Bildschirmschoner seit ein bis zwei Wochen und finde ihn großartig. Zur Hälfte fliegende Toaster, zur anderen Hälfte dieses Gefühl von „Oh, diese Disk kenne ich“
  • Neulich schaute meine Familie eine Quizshow, in der gefragt wurde, wie viel auf eine Standard-Diskette passt. Mein 23-jähriges Kind hatte in seinem ganzen Leben noch nie eine Diskette gesehen und weiß trotzdem deutlich mehr über Computer als Gleichaltrige