Rails too much focused on technical details?

A new release of Ruby on Rails is imminent, and i am worried. I am worried the focus is too much on attaining nerdvana and not enough on actual productivity. Will Rails still be useful in six months?

Ruby on Rails is, as labeled on the box, a full-stack web framework focused on sustainable productivity. A new version is about to come out, version 2.3. I have been running the framework since version 0.9 and love every aspect of it. It’s given me so much joy developing web apps, and it’s immensely increased my productivity and the quality of my work.

Lately though I have been noticing a worrying trend. Rails is very much focusing on highly technical bits such as Rack integration, API bliss, database adapter perfection and the most ideally engineered internals from a code perspective. This is all very positive and good. But what I feel has been lacking, has been the actual focus on getting web apps out the door.

I do care very much about the internals of a framework I am using, but I care even more about building templates, forms, buttons, links (simply put: “web pages”) quickly and effortlessly. This means I want world-class support for all the HTML widgets in the spec. I even want support for the html widgets in the coming spec (say, HTML5). Sadly, these things have instead been taken out of rails. For instance, a standard list with countries I can use in a dropdown has been completely ripped out because there was some discussion about names of certain countries.

I feel this is a sad direction Rails is taking. I can understand why, and I love the polish all the internals are receiving. But as an app developer, it really is of limited value to me. It does not take less time to build a web app in Rails 2.3 than it did in Rails 2.0. So from that perspective, there has been no growth.

When I look at the competition, I do see improvement. A framework like Django offers standard admin interface and kick-ass template framework. Sure, any Rails folk will happily bash Django, but deep down inside they must know that it has very real merits. In many cases Django gets a job done easier and faster. It might not be as clean as Rails is now, but franky me and my clients don’t care so much about that.

I realise I am a member of the Rails community like most other regular members, so the power to change this is in my hands as well. But when useful objects get taken out of the framework with no room for discussion, and when the discourse becomes ever more focused on technical refactoring for the sake of übercleanliness, I worry that it’s already too late. What about actually building cool apps, guys? What about providing actual tools for us construction workers to get brilliant apps out the door quickly? Rails 0.9 was cool in that it introduced me to Scriptaculous, Prototype, simple Ajax, DOM scripting, logical web forms, a managable database and user-friendly URLs. There has been stagnation on those fronts. I really hope some developments in the UI department are brewing inside Rails, and I will gladly jump on board of projects underway. If you know of any, you know where to reach me.