Ruby on Rails creator
David Heinemeier Hansson
– named Hacker of the Year in 2005 - talks about the web development framework’s growing popularity among businesses (including E-consultancy – we have a new Rails-powered site under development) and the problems of managing an open source community.
Can you give us a snapshot of the types of organisations that are adopting Rails?
We’ve had the traditional curve of early adopters – small companies and innovative consultants that have less red tape to cut through to adopt new technologies. They were the first people to jump on board. Then there was the second wave of people who weren’t majorly focused on new technologies but were happy enough to adopt them.
We’re entering a new phase now, which basically includes everybody. Big companies and big consulting firms now see Rails as more of an established technology and are adopting it in a bigger way now. The biggest story in terms of recent adoption is big business – although it is not something we ever pro-actively pursued.
They are coming to Rails on their own terms – we are not trying to woo enterprises with legacy systems or what have you.
How difficult has it been to manage its popularity?
Rails adoption has been on a really steep sloping curve – as much as it can be. I think we don’t want to accelerate that too much further – we have to control the way Rails is being adopted in a way that people coming in can be adopted into the community.
It’s very easy to be flooded with people coming from other development cultures, and it’s very prudent that we make sure the community can withstand the influx of new people.
How, typically, are businesses using it?
There is a lot of stuff going on. There are a lot of applications that perhaps wouldn’t have got done otherwise. Applications where someone in the department would ask how long they would take to do, and the IT/Java team would say 18 months. Now, the consulting team tells them that they would take three months in Rails.
There is also a fair number of start-ups with big money behind them that are choosing to go with Rails. People like Jobster – corporations that have lots of people and are choosing to base their stuff on Rails.
A lot of it, also, is in internal applications where companies can test it out, and where they feel if it doesn’t work out there won’t be this big public debacle.
Apart from Basecamp, what’s the best thing you’ve seen produced on Rails?
It’s kind of hard to say – there has been very good stuff developed in pretty much every area. I personally like a site called 43things.com, which is an inspirational site where you can track your life goals.
I also like Shopify.com, which is an incredibly cool shopping marketplace area where someone with very little expertise can set up a web shop that doesn’t look like crap, which they usually do.
Do you have any advice for anyone thinking about adopting it?
The best way is to try it out. It’s very easy to download the framework and get things set up in a day. It’s free and it’s fast. Get a feel for how it would work for you and your organisation by looking at it on your own. Take a tiny feature or application and try to develop it in Rails.
You can read all you want and throw the pros and cons back and forth, but if you just try it it can be a revelation for people. It’s less of a change than I think people suggest.
For a novice, what level of skills do you need?
As long as you have a bit of an understanding of core programming, Rails is a great starting point to take your skills to the next level.
I find that a lot of newbies have trouble developing in Rails if they just try to learn it from examples. The best way to learn Rails is to just pick up a project and try to develop it in Rails.
What are going to be the main changes with Rails 2.0?
The main objective for Rails 2.0 is to streamline some of the baggage we’ve been collecting along the way. We’re taking some things out of Rails – experiments that either didn’t work out too well, or didn’t live up to the primary goal of developing the Rails framework; offering things that people need most of the time.
There are also a number of components that are slightly too high level and we’ll take those out. We’ll also be putting in a bunch of small fixes and improvements.
The main focus is cementing our allegiance with the REST community – using HTTP in a plain, vanilla form to create web services, rather than using something like SOAP. We’re going to de-bundle the Rails components that dealt with SOAP and include a large number of tools to help you develop REST services instead.
When do you think it will be ready?
We’ve been working on it for quite a while now and currently the objective is to get it out this year. We don’t really have a roadmap to follow though – we just work on Rails when we have the motivation and inclination to do so.
With 37Signals, how has your distributed, low-overhead way of working worked out? What thoughts do you have on remote working?
It’s worked out very well for us. One thing we realised very early on was the danger of interruptions – interruptions are the biggest killer of productivity, and the best place to get interrupted a lot is sitting next to your co-workers in an office.
We have the notion of open collaboration, where we have a distributed team using modern tools like Basecamp to keep on top of projects, and some sort of real-time communication tool, something like Campfire, which can keep everyone on the same page at the same time. I only go to the office about once a week – even when we have the chance to be together we choose not to.
More companies will realise that, and that the technology that is out there to assist remote working is really mature now. You can get a lot of work done, and people also really like it. They enjoy flexible schedules. We don’t really care where and when work is being done, just so long as it is being done.
We wanted to ask about your famous post on why people think they should be connected 24/7. What do you think of hybrid desktop/web frameworks like Microsoft’s Silverlight and Google Gears? Are they solving a problem that doesn’t exist?
I think so. I think they are solving a problem that people like to think they have. They like to think they are 24/7 businesspeople travelling all over the place, and if they aren’t in communication with the outside world at every moment of the day it’s a big disaster. I really think that’s bullshit.
I recognise there are some use cases for travelling salespeople and so on, but I think most people sit at their desk in front of a computer with an internet connection all day, and when they’re not doing that, it’s probably a good thing that they’re not connected.
What about 37Signals – you’re not going to target these people?
I wouldn’t really rule anything out. Our position right now is that it’s much over-hyped.