A constant theme in HCI and computer-supported cooperative work (CSCW) is how hard it is to get a group of people to adopt and support new technology — being technically superior is not nearly enough. One good example, interestingly enough, is in the area of web application frameworks.
For example, in my favorite language Python, there are a bajillion web frameworks but no clear leader. Meanwhile, one open source web application framework written in Ruby has been getting a lot of buzz lately. The users of Ruby on Rails rave about its ease of use and simplicity. This is causing some consternation in the Python community, to the point that some are creating a clone of Rails in Python called Subway.
But simply copying the framework itself won’t generate the same excitement. There are other reasons Ruby on Rails is getting so much attention. The creators of RoR have evangelized it very effectively and have created good documentation so that others can jump in. Also, the library was extracted from an existing application, so the creators had a real sense for what was useful and what wasn’t. It reminds me of Papier-Mâché, a toolkit for creating tangible user interfaces by Scott Klemmer, who designed and implemented two tangible UI apps before designing the toolkit.
However, all is not lost in Pythonland. Thanks to Robert Scoble I just found out about a Python web framework that seems to hold great promise. Django was also extracted from an existing application, and its creators seem to understand the importance of good marketing and documentation. I’m hoping it succeeds.