Today I shipped 20 apps and a screensaver, and 18 of the 21 items are small enough to fit on a floppy disk. So I thought it would be fun to make this approach to software development into a manifesto!
I like this manifesto a lot, short and simple, and a cause I admire in a world of hopelessly bloated software! I have an odd request: many Web 1.0-style "small web" sites which embrace technical...
I like this manifesto a lot, short and simple, and a cause I admire in a world of hopelessly bloated software!
I have an odd request: many Web 1.0-style "small web" sites which embrace technical simplicity – and which I therefore think your manifesto might have a decent level of ideological overlap with – still embrace these 88x31 animated Gif icons that were all the rage on Geocities and such a couple of decades ago. Would you be willing to make an "official" 'fits on a floppy' icon in this format? It would be really cool to have one which, when clicked, links to your manifesto!
Even though of course anyone could make one for this purpose, I feel like the creator should get right of first refusal at making such a thing!
Fun idea! I'll put it on my list. Back in the day (~1996/7) I created some of those for the burgeoning emulation scene using, if memory serves, Microsoft GIF Animator....
Fun idea! I'll put it on my list. Back in the day (~1996/7) I created some of those for the burgeoning emulation scene using, if memory serves, Microsoft GIF Animator. https://en.wikipedia.org/wiki/Microsoft_GIF_Animator
I remember making edgy animated GIFs in junior high '98 with these software, fun times! Do you mind if I try making an icon too? I'd love to explore the idea.
I remember making edgy animated GIFs in junior high '98 with these software, fun times!
Do you mind if I try making an icon too? I'd love to explore the idea.
Sure! Though I can't promise I will use it. Here are some of my old ones: https://www.gingerbeardman.com/archive/pompeypirates/lgd.gif https://www.gingerbeardman.com/archive/pompeypirates/bee.gif...
I remember using Jasc Animation Shop 3 (I think it was 3) around 2000 or so. Honestly, even to this day I imagine it's better than most software specifically for animated GIFs. It was easy to use...
I remember using Jasc Animation Shop 3 (I think it was 3) around 2000 or so. Honestly, even to this day I imagine it's better than most software specifically for animated GIFs. It was easy to use and actually gave you a lot of control! I feel like the only thing it's missing in a modern context is support for modern video formats for importing (obviously) and the color/dithering options were very limited.
I've tangentially thought about this recently. Although a smaller binary does not necessarily mean lower requirements, it is a good eval I feel. With agentic coding lowering software dev costs, I...
I've tangentially thought about this recently. Although a smaller binary does not necessarily mean lower requirements, it is a good eval I feel.
With agentic coding lowering software dev costs, I think open-source developer effort should be directing their agent focus on optimization and minimizing bloat. We've always had this mindset that hardware outpaces software but I think we are at the opposite point now. We will have shortages of hardware, energy, and compute in general, so let's tweak the other side of the equation. Make existing hardware more capable via software.
I'm thinking exploiting efficiency gains from specificity of applications. There will be more software overall but the coding agents would make it easier to execute.
The externalities are also great: less power consumption, less e-waste, more jobs (IT is one function, not THE function of an org), and less tech mega corps (cost barrier of entry for in-house dev is lowered)
Just need better open weight models that can run on consumer hardware and we are free finally
I hope people and/or machines start doing it. It's not that difficult once you decide you want to do it. What I would say is that it should be a relatively easy transfer of knowledge from "which...
I hope people and/or machines start doing it. It's not that difficult once you decide you want to do it. What I would say is that it should be a relatively easy transfer of knowledge from "which package can do that" to "which system frameworks can do that". Anybody or anything can glean that easily from the docs.
The single biggest win with me creating apps to replace some old cruft in my login items was that my computer boots to desktop in about half the time.
I like this a lot! I've long been a proponent of small software. There are 0 reasons for apps to be multiple hundred megabytes! However, this particular line got me thinking: What do we call...
I like this a lot! I've long been a proponent of small software. There are 0 reasons for apps to be multiple hundred megabytes!
However, this particular line got me thinking:
Native only. No dependency bloat [...]
What do we call native? What libraries on the system can you rely on? For GUI stuff, I suppose on iOS you can expect the UI libraries to be available everywhere, so I suppose those don't count?
What if I'm targeting the Gnome distribution on Linux, which comes with the Gnome UI framework (GTK/Adwaita), can I omit those in my size calculation, since they're not part of my binary, they're on the system already?
What if I'm using SQLite in my app? The library is available on virtually every system, but its .so file is larger than a floppy already.
I would like some clarification :P I would love to add the Fits on a floppy label to my apps, but want to be sure that I'm using it correctly.
It's up to you, I guess. As soon as you start using dependencies you're unlikely to fit on a floppy. On macOS and iOS in almost all my apps I use only system frameworks, ie. Apple frameworks. Your...
It's up to you, I guess. As soon as you start using dependencies you're unlikely to fit on a floppy. On macOS and iOS in almost all my apps I use only system frameworks, ie. Apple frameworks. Your final binary is what you are measuring. If you have to ship anything with your app then it counts, if you don't then it doesn't. Don't overthink it, try to fit on a floppy and go from there. And most of all, have fun!
Thanks! For iOS it's a bit easier since there's at least a framework you can rely on. For linux, pretty much nothing is guaranteed to be on the system and there's no real OS-wide standard, so I...
Thanks! For iOS it's a bit easier since there's at least a framework you can rely on. For linux, pretty much nothing is guaranteed to be on the system and there's no real OS-wide standard, so I was wondering where the line is drawn.
I dont really care about file size, per se, but I like the idea of having your code being a complete repository that doesnt rely on fetching external sources or libraries. I want a single zip file...
I dont really care about file size, per se, but I like the idea of having your code being a complete repository that doesnt rely on fetching external sources or libraries. I want a single zip file that I can run GCC or whatever and thats all I need. If I have a laptop with no internet access or I need an airgapped system, I want the source to be still usable.
I hear you. There are valid reasons for using frameworks and dependencies. For example I use a web server dependency in my web server management in my app. But I think because the are so ready to...
I hear you. There are valid reasons for using frameworks and dependencies. For example I use a web server dependency in my web server management in my app. But I think because the are so ready to add and use they are being overused.
It's called specialism. I picked Apple 25 years ago and have developing for their technology ever since. I have made the odd Android and Linux thing, but they never made any money. Given that this...
It's called specialism. I picked Apple 25 years ago and have developing for their technology ever since. I have made the odd Android and Linux thing, but they never made any money. Given that this is my job, that's a pretty important thing.
I didn't mean you - you are free to choose your biases based on any rational, commercial and whatever other reason yourself. I was just surprised to see "a manifesto for small software" - title...
I didn't mean you - you are free to choose your biases based on any rational, commercial and whatever other reason yourself. I was just surprised to see "a manifesto for small software" - title sounding quite general - focusing strictly on apple.
Today I shipped 20 apps and a screensaver, and 18 of the 21 items are small enough to fit on a floppy disk.
So I thought it would be fun to make this approach to software development into a manifesto!
I like this manifesto a lot, short and simple, and a cause I admire in a world of hopelessly bloated software!
I have an odd request: many Web 1.0-style "small web" sites which embrace technical simplicity – and which I therefore think your manifesto might have a decent level of ideological overlap with – still embrace these 88x31 animated Gif icons that were all the rage on Geocities and such a couple of decades ago. Would you be willing to make an "official" 'fits on a floppy' icon in this format? It would be really cool to have one which, when clicked, links to your manifesto!
Even though of course anyone could make one for this purpose, I feel like the creator should get right of first refusal at making such a thing!
Fun idea! I'll put it on my list. Back in the day (~1996/7) I created some of those for the burgeoning emulation scene using, if memory serves, Microsoft GIF Animator. https://en.wikipedia.org/wiki/Microsoft_GIF_Animator
I remember making edgy animated GIFs in junior high '98 with these software, fun times!
Do you mind if I try making an icon too? I'd love to explore the idea.
Sure! Though I can't promise I will use it.
Here are some of my old ones:
those are pretty cool!!! I miss the wild west times of the internet, geocities, webrings, tripod sites...
I remember using Jasc Animation Shop 3 (I think it was 3) around 2000 or so. Honestly, even to this day I imagine it's better than most software specifically for animated GIFs. It was easy to use and actually gave you a lot of control! I feel like the only thing it's missing in a modern context is support for modern video formats for importing (obviously) and the color/dithering options were very limited.
I've tangentially thought about this recently. Although a smaller binary does not necessarily mean lower requirements, it is a good eval I feel.
With agentic coding lowering software dev costs, I think open-source developer effort should be directing their agent focus on optimization and minimizing bloat. We've always had this mindset that hardware outpaces software but I think we are at the opposite point now. We will have shortages of hardware, energy, and compute in general, so let's tweak the other side of the equation. Make existing hardware more capable via software.
I'm thinking exploiting efficiency gains from specificity of applications. There will be more software overall but the coding agents would make it easier to execute.
The externalities are also great: less power consumption, less e-waste, more jobs (IT is one function, not THE function of an org), and less tech mega corps (cost barrier of entry for in-house dev is lowered)
Just need better open weight models that can run on consumer hardware and we are free finally
I hope people and/or machines start doing it. It's not that difficult once you decide you want to do it. What I would say is that it should be a relatively easy transfer of knowledge from "which package can do that" to "which system frameworks can do that". Anybody or anything can glean that easily from the docs.
The single biggest win with me creating apps to replace some old cruft in my login items was that my computer boots to desktop in about half the time.
I like this a lot! I've long been a proponent of small software. There are 0 reasons for apps to be multiple hundred megabytes!
However, this particular line got me thinking:
What do we call native? What libraries on the system can you rely on? For GUI stuff, I suppose on iOS you can expect the UI libraries to be available everywhere, so I suppose those don't count?
What if I'm targeting the Gnome distribution on Linux, which comes with the Gnome UI framework (GTK/Adwaita), can I omit those in my size calculation, since they're not part of my binary, they're on the system already?
What if I'm using SQLite in my app? The library is available on virtually every system, but its
.sofile is larger than a floppy already.I would like some clarification :P I would love to add the Fits on a floppy label to my apps, but want to be sure that I'm using it correctly.
It's up to you, I guess. As soon as you start using dependencies you're unlikely to fit on a floppy. On macOS and iOS in almost all my apps I use only system frameworks, ie. Apple frameworks. Your final binary is what you are measuring. If you have to ship anything with your app then it counts, if you don't then it doesn't. Don't overthink it, try to fit on a floppy and go from there. And most of all, have fun!
Thanks! For iOS it's a bit easier since there's at least a framework you can rely on. For linux, pretty much nothing is guaranteed to be on the system and there's no real OS-wide standard, so I was wondering where the line is drawn.
Really cool idea! Cheers!
I dont really care about file size, per se, but I like the idea of having your code being a complete repository that doesnt rely on fetching external sources or libraries. I want a single zip file that I can run GCC or whatever and thats all I need. If I have a laptop with no internet access or I need an airgapped system, I want the source to be still usable.
I hear you. There are valid reasons for using frameworks and dependencies. For example I use a web server dependency in my web server management in my app. But I think because the are so ready to add and use they are being overused.
Why the apple bias? Small Linux or Android apps don't count?
It's called specialism. I picked Apple 25 years ago and have developing for their technology ever since. I have made the odd Android and Linux thing, but they never made any money. Given that this is my job, that's a pretty important thing.
I didn't mean you - you are free to choose your biases based on any rational, commercial and whatever other reason yourself. I was just surprised to see "a manifesto for small software" - title sounding quite general - focusing strictly on apple.
I see, thank you.
(a propos of nothing, this revived an old memory of cramming more than 1.44mb onto a floppy -- thank you for that 😊)
Yes! I used to format with 80 tracks and 10 sectors on Atari ST to get ~800 KB an extra 80 KB over the standard 720 KB (80x2x9x512).
Every byte matters! Thanks for this. It's so hard to make something great in a world where pretty much everyone will settle for "good enough".
Right, it's a hard constraint to push for if people don't care one way or the other.