Minimal Viable Programs (2014)
This is a useful concept. I also thought these lines were insightful:<p><i>New features mean new sales opportunities, good for the company but not good for the user.</i><p><i>The problem with adding features to MVP is that when we ship more complex products like complete operating systems that are packed with programs, the complexity of the individual programs contributes to the complexity of the whole.</i><p>Not sure how to solve that particular problem though.<p>This made me think of a blogpost linked on Hacker News when Joe passed away: <a href="https://github.com/lukego/blog/issues/32" rel="nofollow">https://github.com/lukego/blog/issues/32</a>. This part seems relevant here:<p><i>Joe wrote amazingly simple programs and he did so in a peculiar way. First he wrote down the program any old way just to get it out of his head. Then once it worked he would then immediately create a new directory program2 and write it again. He would repeat this process five or six times (program5, program6, ...) and each time he would understand the problem a little better and sense which parts of the program were essential enough to re-type. He thought this was the most natural thing in the world: of course you throw away the first few implementations, you didn't understand the problem when you wrote those!</i>