Less is more for Ruby on Rails, inventor says

David Heinemeier Hansson is updating his Web application framework as much by removing some features and making them optional plug-ins as by adding new features

Don't expect much to be added to Ruby On Rails this year. When David Heinemeier Hansson gives an update on version 2.0 of his Web application framework at its user conference in September, he's as likely to talk about what's coming out as what's going in.

The goal is to keep Ruby on Rails fast, lightweight, and easy to use, characteristics that have helped it become a trendy alternative to Sun's Java and Microsoft's .Net and led to a raft of companies offering Rails development services for businesses.

"We're going to pull out a fair number of elements, features that aren't a good fit for what people want to do most of the time, and make them plug-ins instead," Heinemeier Hansson said in an interview. "If your application absolutely depends on them, you won't be stranded, you'll be able to get the plug-ins easily."

Among the elements to go will be Action Web Service, for creating Web service APIs using SOAP, Heinemeier Hansson said. It's a way of steering developers towards using REST (representational state transfer), his preferred method for linking applications in Rails.

"We don't want to turn into Java -- this pack rat that just holds onto any possession. We're not afraid to take out stuff that's not relevant or that we plain don't like," he said.

There will be some additions -- the Rails team has some "pent up stuff" in the repository that it's keen to push out, he said. But the focus of Rails 2.0 is to "consolidate and sharpen" what's already there.

Keeping the framework light and simple comes at a price, however, and many companies are jumping in to offer Ruby on Rails packages that bundle tools and plug-ins to make the framework more suitable for demanding business needs. Many of those products will be on show at RailsConf 2007 in Berlin in two weeks.

Borland Software's CodeGear division is expected to release its Ruby on Rails Java IDE at the show, Heinemeier Hansson said. The product is based on the Eclipse platform and has been in beta since May. Sun will likely give an update on JRuby, an implementation of Ruby for Java environments.

The vendor support helps quell jitters among corporate users that Ruby on Rails is not backed by a large company. If the prominent support of Oracle and IBM helped get Linux in the door at big enterprises, the support from Sun and IBM for Rails could do the same.

Java and .Net have become "bloatware" as vendors add features for every possible business need, causing companies to look at alternatives, according to Cyndi Mitchell, managing director for ThoughtWorks Studios, which offers software and services for Rails development.

The rise of Rails is as much a matter of timing as anything, she said. "This bloatware stuff has just ground to a halt and the alpha geeks are veering away from anything they don't need to get their work done. At the same time, the IT business cycle is picking up, and people are willing to invest again in new things," she said.

Her clients are telecom, media, and finance companies looking for a fast turnaround for new applications. Most are deploying in native Ruby environments, but it helps that Sun is supporting JRuby, she said, which lets companies deploy Rails applications on existing Java servers.

Jonathan Siegel, founder of Rails consulting company ELC Technologies, said applications that would take eight to 10 months to develop in .Net can be up and running in four to six months using Ruby on Rails.

Still, at three years old, Rails is a young platform and has limitations. One high-profile user, the Twitter social networking site, caused a stink earlier this year by complaining that Rails didn't scale well across multiple databases and that the underlying Ruby language is slow. The open-source community responded by developing a plug-in to address the scaling issue.

Some also say that both Ruby and Ruby on Rails need a stronger hand to steer them to prevent multiple implementations leading to compatibility issues. "The major risk for the future and longevity of Ruby, and by association Rails, is whether or not the platform gets splintered," Mitchell said.

Siegel said: "I believe Ruby on Rails will overcome a key milestone when the deployment teams at larger organizations feel at home with the deployment side of a Rails application. In my view, that's having a deployment procedure that's as easy to maintain and monitor as for a .Net or a J2EE application."

Heinemeier Hansson is nonchalant about the demands. He developed Rails for his own use and not to make money, he says, and if enterprises want to use his framework, it is they who should adjust, not he.

"We're not trying to bend Ruby on Rails to fit the enterprise, we're encouraging enterprises to bend to Ruby on Rails," he said. "Come if you like it, stay away if you don't."

Copyright © 2007 IDG Communications, Inc.