Fits on a Floppy - A Manifesto for Small Software
13 points by msangi
13 points by msangi
In a world where application are getting bigger and bigger seeing application that do something useful while still fitting in a floppy disk is remarkable.
To be fair, the apps linked there heavily use the iOS and macOS SDK, so the application itself is small but it still depends on a potentially bug amount of code.
While I generally support this, a lot depends on what your system already has. Dynamically linked binaries from C or Python scripts easily fit, because the runtimes are already on every computer. Statically linking (for portability) or because the runtime is less common (e.g. with Janet) runs way past this!
I'm inclined to agree. If you aren't writing a native application against a UI toolkit (among other reasonable dependencies) that is presumed to be available on the target operating system, you'll struggle to hit this metric. Even "small" libcs are routinely half a megabyte or more. Want to make a network request? LibCURL is several hundred kilobytes, as is BearSSL, so far as I can tell.
My project Decker takes pains to minimize external dependencies, but relies upon (and ships with) SDL and SDL_image for portability, weighing in at 6mb zipped for the current Apple Silicon release, of which roughly 4.6mb (zipped) are the SDL and SDL_image dylibs. Web builds (whose runtime also contributes to the size of the desktop release) start at about half a megabyte, with the assumption that the user already has a reasonably modern HTML5-capable web browser installed; otherwise that's hundreds of megabytes of dependencies. Raw deck files of useful applications and libraries may only weigh tens of kilobytes if you already have the runtime.
Love2d is in a similar situation- building on SDL and a collection of included batteries- and it's 10mb zipped, 25mb unzipped. Again, you can make useful applications on top of Love2d in tens of kilobytes of lua scripts and perhaps some vector graphics if you already have the runtime.
With unlimited development resources it would be a nice aspiration to avoid depending on SDL, but I fear that for most SDL-based projects the result would be entirely dropping support for less popular operating systems, which in my mind hardly makes up for shaving a few megabytes from an installer. Perspectives on whether this approach is "bloat" will vary.
As someone who's played games that came on 4+ floppies, and which still came with a hundred page paper manual that had all the actual dialog in the game, I really don't need this back.
Sounds kinda cool to have to assemble the game in your head out of three different mediums :-) What was your favorite from that era?
Gee, I can remember when I could get a Linux distribution on a single floppy (Tom's RootBoot Disk). It was great as a recovery system.