3 ms·
Increasingly for me it comes down to "principle". If you try to support all the features that could be supported, you will end up buried in the bottommost laye
by megameter 6y ago
Increasingly for me it comes down to "principle".
If you try to support all the features that could be supported, you will end up buried in the bottommost layers of the tech stack, because that is how these things always turn out.
If you try to make life as easy as possible, in contrast, you most likely end up sucked into the Web stack and limited by what the browser does.
If you try to make the project "minimal" you may end up boiling the water into an empty pot - it does nothing because it wasn't trying to do anything.
But if you have other principles in mind as you start the project you can evaluate the stack in terms of whether it facilitates study of each principle. "Minimal" is just the principle people tend to grab when they lack for others - add others and minimalism has the intended clarifying effect. There are still tradeoffs to that, but they are much less deleterious.
What other principles can be applied to software? You have many options: Ethical concepts, of course, center the good for society. Cosmology often has ideas for the specific design paradigms. And artistic ideas like improvisation, remix, and so on suggest the mode of use. Most software tends to assume Taylorism by default: Automating for speed and productivity along a few measurable axes. If you relax that assumption you can often streamline the features.
In any case, having a set of principles in hand lets you shop for tech purposefully: From principles you end up with rules, and from rules, specifications. That makes evaluation easy.