The analogy here can be seen with the emergence of powerful and wonderful frameworks like Django and Ruby on Rails at the beginning of the "Web 2.0" era. These frameworks not only provided the designs necessary to build "web 2.0" style applications, they taught users to *think* in them.