After some consideration - and keep in mind my complete lack of knowledge in music theory - I'd say that, for comparison's sake: frameworks, overall, are genres because they define some of the conventions for you (grid, [un]responsiveness, button shape etc.), and opinionated frameworks are like using - more or less - the recipe for the typical song in the given genre (like the infamous four-chord songs).Much like one might argue that music genres intrinsically inhibit creativity and judgement of what is good composition.
Okay, to help gather my thoughts I consulted with my brother who has a degree in design and who has been a UX Designer for the best part of decade. There's a couple of issues I have with your argument. The first is that when I made the distinction between web design and web development you said that's not the point. But I think that is the point. It's right there in big writing on the Bootstrap homepage (emphasis mine): Front-end frameworks are not built as design tools for web or UX designers. They are built as development tools to help developers. If people's designs are becoming hamstrung by frameworks, then that's an issue with the people themselves, not the tool. Now there's an argument that could be made that developers who otherwise have no idea about design take these tools and create functionally solid but generically designed products. There's certainly some truth in that. But it only serves to reiterate the point that it's about how the tool is used that matters. And as an aside, I'd much prefer to visit these stable but generic sites vs. stable sites that lack any semblance of design or consistency. Another point that cements this is that for every indetikit website created that has their foundations in Bootstrap, there's plenty of amazingly designed ones too. Ones with creativity and imagination. If your point about these opinionated frameworks being analogous with someone instructing you to compose a song using only a specific chord progression is to be upheld, surely this wouldn't have been possible? The second issue is that i'm unsure what you're constituting as an opinionated framework? Bootstrap is the primary name cropping up in this discussions. But like I stated before, you can heavily customise the implementation of Bootstrap to fit your specific purposes. Seriously, look at how many of the opinionated elements of it you can chose to completely remove. You could just have the grid if you wanted, with no CSS, pre-made components, or JavaScript at all. What's more, you can change the default values of that grid too. This seems to be the case with a lot of mainstream frameworks. Again, we return to the central point that these frameworks do no intrinsically promote bad design and taste. Rather, it is bad and/or lazy designers that promote bad design and taste. No designer worth their salt is looking at Bootstrap's default guidelines as a reference when they're designing a site. Sure, there's chance there's subconscious influence. But part of being a good practitioner in any field is being aware of the invisible forces and constraints that are pulling at you, and in turn working with and around them to create the best final product.Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.
First of all, let me say that I appreciate you holding up the discussion with the consistent respect to my arguments. I may have been too insistent on my being right in the past without doing much to prove it, which does not contribute to a discussion in any way. I've realized today that holding up a discussion with the point of advancing knowledge is all that really matters in communication. So, your argument is that because Bootstrap (as I keep emphasizing, though there are others) is a web development tool and not a web design tool, it doesn't deserve the criticism that I've expressed earlier. After giving it some thought, I'd say that a) Bootstrap, indeed, doesn't deserve that kind of criticism, b) no CSS framework does unless it explicitly states to retain the best qualities and design practices available while not holding up that standard. Moreover, it was unfair of me to pick on a single specimen of a wide array of CSS frameworks simply because it's the most well-known - something I've blamed other people for on Hubski recently. My blame of Bootstrap was motivated by the fact that I felt like it should somehow promote the idea that it's only a baseline for design while encouraging the user to move past it and into the territory of more elaborate, educated design - not simply learning more CSS, but also color theory, the holy grail design and other such things. It's not a fair premise, however: though it is not a bad practice to encourage others to learn and educate themselves for a better result, it's not a responsibility for those who promote design/development frameworks (and Bootstrap is a design framework, but only in part) available and aimed for the mass usage. Would have been cool if it were, but it isn't and it doesn't have to be. It doesn't kill you to have bad design, unlike, say, smoking cigarettes and drinking alcohol. I don't think Bootstrap is "heavily" customizable. I think it's versatile by its nature and that one could use their creativity to produce amazing and unorthodox results (I was going to prove my assessment with screenshots from the web, but Google has malfunctioned on me right as I tried to find some). In this respect, it's similar to LEGO: both are massive toolkits that could be flexible enough to produce a wide array of good results. That being said... Have you actually tried to download only the Grid component? I have. It includes normalize.css by default, with no option to opt out. That's "opinionated". Just how opinionated? Of the ~1000 lines of the main development .CSS file, something like 250 are normalize.css alone. To add insult to injury, it contains default classes I didn't ask for (like .img-rounded and .hidden), which adds up to about 75 lines. A third of Grid-only development .CSS file is something I didn't ask for and had no choice to opt out of. At least the theme .CSS is a separate file. Long story short: I wasn't justified in beating Bootstrap's drum as far as design practices are concerned. You're right in saying that it's on the user, not the toolmaker. However, I don't appreciate its bundleware status. No framework should tell user "You must use this with our product". Recommend? Knock yourself out - but don't put it into the package anyway without asking whether I want or need it first.The first is that when I made the distinction between web design and web development you said that's not the point.
The second issue is that i'm unsure what you're constituting as an opinionated framework? <...> You could just have the grid if you wanted, with no CSS, pre-made components, or JavaScript at all.
Likewise, I appreciate the patience whilst I finally got around to talking about what you were actually trying to discuss. I agree that it should ideally always be a person's aim to learn how and why the tools they're using work. That's the only way to become a true master of your medium. And if they don't, there's certainly cases where that tool will become a crutch rather than something used for its advantages. I can see that frameworks definitely have that risk attached to them. I will admit that I didn't try downloading just the Bootstrap grid. I simply looked at the customise screen and made an assumption. So it's good that you checked it out yourself and called me out on it. It's a bit lame to receive a substantial amount of unexpected and unwanted CSS.