It’s been over two weeks since Rails Conf and I am only now finding time to write about it. Rails Conf is really the first technical conference I’ve attended and I must say that I found the whole experience invigorating. Watching the Rails community grow over the past two years has been quite an education for me. Getting a chance to meet in Chicago with so many of the people involved in the community will be something I long remember.
Probably the thing I valued most about the conference was the chance to hear more about the undergirding philosophies of Rails. This is what fascinates me about the Rails community. From the top to the bottom, the community is filled with people who are downright philosophical in their approach to software development. To people involved in the Rails community, software development shouldn’t be the complicated mess that characterizes so many projects. Code should be beautiful—-both in its utility and in its aesthetic. Rails developers’ guiding philosophy is a healthy mix of utilitarianism and idealism. In the Rails community it is called pragmatism.
Scott Raymond touched on this a bit in his talk on his work with Firewheel Design. He spoke about the principles of a man named Vitruvius who was an architect in the century before Christ. Vitruvius believed that there were three primary principles that governed good architecture (or design).
The first was firmitas. Firmitas is the latin word for firmness, stability; strength of mind, constancy. Vitruvius believed that the first principle of good design is that it must be structurally sound. What does it matter if the structure was beautiful if it collapsed because of poor construction? No, in order to be good the building must be structurally sound.
The second principle of Vitruvius was what he called utilitas. Utilitas is the latin for usefulness or utility. Today we might use the word usable and talk about the importance of usability. According to Vitruvius, a designer should strive to not only make the building structurally sound, but also useful. For if the building lasted a millennium, but was impractical for the purpose for which it was designed, what was the use?
The final princple of Vitruvius was venustas. The word venustas is from the same latin root that thename Venus comes from (Venus was the Roman goddess of love and beauty). Venustas means loveliness , charm, or attractiveness. According to Vitruvius a building failed to achieve the ideal if it was not also beautiful.
These three principles together (firmitas, utilitas, and venustas) form what I would call the Rails world view. The Rails community has a great focus on the utility of what they are doing. They are very conscious that code, particularly code that is introduced into the core, must have a clear purpose. They don’t spend a lot of time on features that people visualize as being merely “nice”. Every feature must help solve the practical problem at hand. At the same time the Rails community has spent a great deal of time developing a sense for the aesthetics of good design. So while focusing on the utility of what they are doing they don’t lose site of the ideal.
David spoke some about this a talk he gave at Snakes and Rubies back in December called Pursuing Beauty with Ruby on Rails. I heard echos of this throughout the conference. His keynote about incorporating a RESTful approach to Web services into Rails is a great example of this. On the one hand you have the ideal of the REST architecture and on the other you have the utilitarian question: Does it really make my life any easier? In his talk David discussed how he struggled with these two perspectives only to have it somewhat resolved as he realized that RESTful architecture often did lead to better, more robust design (which he went on to demonstrate).
I think that the great test for the Rails community in the coming months (and years) will be over whether we are able to maintain a healthy balance between beauty and utility. It was certainly fun to see this played out in the conference. I hope to be able to join in again next year.
© 2013 John W. Long