Rails creator: Silverlight may struggle

1 2 Page 2
Page 2 of 2

InfoWorld: When did you develop Ruby on Rails and why?
Hansson:
I started developing Ruby on Rails actually as part of the first Ruby project I did, which was Basecamp. The summer of 2003 was when I originally got into Ruby, and I had been doing PHP and some Java for about four or five years ahead of that. But I was getting fed up and tired with those environments and wanted to give something new a chance, so I stumbled over Ruby and started playing around with it. And within about a week of playing around with it, I knew there was no way I could go back to either PHP or Java or anything else I'd been doing before.

InfoWorld: Why is that?
Hansson:
Ruby just felt like such a great fit for my mind. So many things that I was frustrated about in previous environments I'd worked with just seemed to be solved incredibly beautifully in Ruby. And that was really one of the first things that I noticed that I intensely liked about Ruby, it was the aesthetics of the language. Ruby code is just inherently beautiful. Sure, you can write ugly code, but you can write incredibly beautiful code too.

InfoWorld: How did Rails come about?
Hansson:
It started out not wanting to be Rails. It started out just me wanting to implement Basecamp, this Web application for 37signals. And I started working on that, and Ruby at that time had some Web frameworks, but [they] weren't necessarily what I directly liked. I came into Ruby with a lot of preconceptions of what Web applications should be like and how they should be developed from all the work I'd been doing in PHP and Java. And I wanted to bring some of those ideas in. So I started working on a little bit to talk to the database, a little bit to run some templating language to get something in HTML displayed. And all of those small pieces started just getting built up more and more. And a few months into it, I realized that I now had a fairly sizable chunk of tooling that I'd built just for myself just to implement Basecamp in Ruby. Maybe I could actually share that. So around December 2003, I kind of got into the mode that, hey, I want to release this. I want to wrap this stuff up, these tools I'm doing, put it into a box and let others enjoy themselves with it. Because I was thinking, Ruby is kind of a hidden gem right now. And it's really a shame. There are so many Web developments out right now that are, in my mind, stuck in PHP or Java, which is what I was thinking about at the time. And if I could have so much fun as I was having with Ruby right now, it'd be a travesty if I just kept all that to myself. So around December of 2003, I made the decision to really make a framework out of it, but it wasn't until six months later that Rails was actually released for the first time. We released it I think June 24 of 2004, the release of Rails 0.5. 

InfoWorld: This is another weekend Ruby Conference.  Why are developers so excited about Ruby and Ruby on Rails?
Hansson:
Sure. I think a lot of developers are excited about Ruby on Rails because it allows them to focus and think about something as simple as the joy of programming. That's not just a side effect of working on real enterprise production systems, it's at the forefront of development [of] Ruby on Rails.  We really want developers to be happy about the programs they're working on, the tools that they're working with, and the environment they're living in as programmers. And I think that [we are] explicitly choosing to make that the center of development of how we go about developing Rails, making sure that the aesthetics are just right. It's not the traditional computer science attributes we're trying to optimize for like memory usage or performance. We naturally care about those things because if it's not fast enough, it's not going to make us happy. But primarily, we care about getting beautiful code and getting a development environment where people are just happy about their work. And there are plenty of things in most traditional development environment that make people miserable. We tried to find those pain spots and remove them.

InfoWorld: Could you just name a couple of them?
Hansson:
One of the things, for example, is how you configure your applications. A lot of environments, especially before Rails came around, had a notion that you basically started with a blank sheet of paper every single time. Everything had to be configured from scratch. How do I talk to the database? How do I map these fields between objects and records and rows and so on and so forth? You had to configure that explicitly every time, even though you might be doing the same thing over and over and over again. Like Groundhog Day, everything just started over and over and over again. So with Rails, we decided it's not going to be Groundhog Day. We're going to make some decisions and we're going to make them once. And once we've made those decisions, we're going to turn them into conventions, and we're going to teach you those conventions. And once you've learned them, it's done. Like we're no longer going to talk about what the primary key field in database tables are going to be called. They're going to be called ID, that's it. Now, [it's] done. Let's move on to the next decision. And like that we progressed through a ton of standard configuration points and literally removed them. We replaced them with conventions that said if you're just doing what most developers are doing the same [way] most of the time, you're going to get it for free. So they're going to be called ID. You don't care about that anyway. You shouldn't be caring about what the primary key fields are called, and if you can lift yourself above that and not care about it, you can get all this configuration stuff for free. So I think that's probably the biggest contribution we've made to thinking about frameworks. How can we get less configuration? How can we replace it with conventions instead?  And how can we get a lot of productivity out of that?

InfoWorld: How does Ruby on Rails compare to Java framework like Spring?
Hansson:
I think one of the big differentiators is definitely that notion of convention over configuration. Java frameworks in particular have been peculiarly fond of XML for wiring pretty much everything together, and in some sense, it sounds great. You get ultimate flexibility, you get the opportunity to wire everything together exactly like you want it, but most people don't really care. That amount of flexibility is not worth the tradeoff.  And I think that's the fallacy of a lot of frameworks, especially in Java, they thought flexibility was free. Flexibility is not free. It's overrated. And if you trade that flexibility in for some constraints, you get a lot of complexity removed from the equation, you get a lot of productivity back from all the stuff you don't have to do. So that's one of the reasons that Rails is different from something like Spring or Struts and so on.  Another thing is just the aspects of something like Ruby. The Ruby programming language is just an amazing programming language to be able to work with, and we choose to employ it across the stack. So everything is written in Ruby. We write the views in Ruby, we write the models in Ruby, we write the controllers in Ruby. We try to keep everything as Ruby as we can instead of mixing something up with XML this or configuration files that.

InfoWorld: Could you name a couple of the major Web applications or Web sites that have been developed with Ruby on Rails?
Hansson:
Sure. So my own company, 37signals, has been kind of the poster child for some time, it's the original, the first Rails applications. We have something called Basecamp, a project collaboration tool. We have something called Highrise, just managing context online. But there's a ton of other companies out there too. I especially like 43things.com, which is like a social networking site about the goals you want to achieve in life. There's shopify.com, which is a really cool e-commerce marketplace where you can create a beautiful-looking shop in very little effort at all and start selling merchandise for very little up-front cost. 

InfoWorld:  Are you following any of the Ruby and Ruby on Rails tools that are being released, such as Ruby In Steel from SapphireSteel, CodeGear's upcoming Ruby offering, and the FiveRuns's Management Suite for Rails?
Hansson:
I am. And I'm very pleased to see all that work going on. One of the things that I've wanted from day one for Ruby on Rails was to create an economic ecosystem around it because I think that's one of the factors that make sure that something like a framework like Rails will stick around. When people start depending on this for their jobs, when people start depending on this for their paycheck, it'll ensure a long life for the framework. And that happened early on with consultants who shifted to making Ruby on Rails projects instead of whatever they were using before, and now it's happening in second tier. People were building up businesses around selling tools to Rails developers, and I think that's just -- it's such an important point in the evolution of the ecosystem and a great milestone for Ruby on Rails.

InfoWorld: What do you think of Sun Microsystems' recently announced JavaFX Script for content creation? Is the world ready for yet another scripting language?
Hansson:
I think there's always room for new ideas, but I don't think that the whole fuss that's currently going on about RIA, rich Internet applications, is justified. I think we've been through this cycle so many times before that it in some ways amazes me how history seems to be ignored. We went through this with Java applets, they were going to rule the Web. Everything was going to be in a Java applet. HTML and CSS is history. And Flash came around, and Flash started focusing on applications. Now Flash is going to rule the Web and HTML and so on is yesterday. Now, Silverlight, Apollo, JavaFX, they're all bidding to take over the JavaScript, HTML and CSS [spaces], and I just don't buy it. I don't buy that developers by and large are going to jump into a proprietary technology and replace what HTML and CSS has given them.

InfoWorld: I think Sun is saying JavaFX is open source. I'm not sure if JavaFX Script is focused exclusively on Web development. I think it's just one function that can be done with it, and I'm not even sure if it does it that well at this point.
Hansson:
That might be true, and I think that HTML and CSS [are] focused on Web development.  And I think that there are misconceptions going on from people who are pushing these alternative delivery platforms that somehow Web developers are hungry for richer and richer experiences, that they're really unhappy working with HTML and CSS.  And that's just not true. We're not clamoring to re-create the desktop on the Web.

InfoWorld: We don't need a new mousetrap?
Hansson:
No, we don't. HTML and CSS is actually a wonderful development environment, and a good number of computer scientists or people who have been around for a long time might consider them hacks or dirty or whatever, but they work.

InfoWorld: But you do use those on Ruby on Rails?
Hansson:
Totally. HTML, CSS, and JavaScript are the key components of how you get Rails applications to a user. And I don't see that changing.

InfoWorld: But not Ruby?
Hansson:
Ruby generates those things, so HTML, CSS, and JavaScript are delivery mechanisms.

InfoWorld: Do you think Java is being displaced by scripting languages like Ruby or some of the others that are out there?
Hansson:
I think Java and C# and other languages of that type [are] definitely being replaced by leaner and lighter approaches. I think Ruby and Python and SmallTalk and other languages in that sphere [are] gaining rapid ground just by people realizing that they would much rather have an enjoyable, productive environment [rather than] buy into these arguments for safety or bad things that will come down if you don't have types and so on and so forth. So I'm absolutely seeing the market share of these languages going down as more and more people just realize that they didn't die by using [the] scripting languages.

InfoWorld: What do you think of .Net and Windows development and Microsoft enabling its Common Language Runtime to run on the Macintosh platform?
Hansson:
In some ways I don't really care. I don't follow it very closely. The Microsoft ecosystem is not that interesting to me. It's a very different world from the world that I inhabit, which is one of open standards, open source, and so on and so forth. It's not to say that they don't do interesting stuff. I definitely do think that they have some interesting thoughts, [such as] LINQ (Language Integrated Query), which is very interesting. There's definitely a good number of things that the open-source world could learn from some of those initiatives, but wholesale jumping into the Microsoft boat has just never appealed to the kind of work I do.

InfoWorld: Can Microsoft succeed with Silverlight, or are AJAX and Flash the major players for rich Internet application development as it relates to multimedia?
Hansson:
I think Microsoft can succeed selling Silverlight to people who already use Microsoft. If you're already using ASP.Net and other Microsoft techniques, that really in lot of ways were trying just to re-create the desktop online, then I totally think that these people will jump all over Silverlight. I do not think that people currently working in open source and with open standards like HTML, CSS, and JavaScript are going to fall off their chairs in pursuit of adopting Silverlight.

InfoWorld: Why not?
Hansson:
I think that we don't need that additional complexity, we don't need that "richer experience."  It's being sold as it's just universally something better than what we have with HTML and CSS and JavaScript. And I think a lot of the success of the Web has been in the constraints that those standards gave us. A lot of the success of the Web came with the standardization of just having a few tools that you really have to be clever about how to use in an effective way. You didn't have all the opportunities of the world, so you could create one crazy use interface after another. And I think that's often what "rich" means. It means wild or out there or fun. And that's totally fine -- if you're creating a game, then something like Flash is awesome. If you're creating yet another information application, which is the bulk of applications out there, then I think HMTL, CSS, and JavaScript [do] just fine.

InfoWorld: Microsoft is adding support for IronRuby and IronPython to the Dynamic Language Runtime (DLR). What's your take on that?
Hansson:
I enjoy the fact that more people can get to experience Ruby by getting it in the side door somehow, that Ruby can be used in shops [that are] predominantly Microsoft shops. But I hope that those are more planting seeds for people to then get out. I'm not seeing that Ruby on the DLR or whatever is going to convince a lot of people currently using Ruby to jump in the arms of Microsoft. But I do see it the other way around. I do see people who were traditionally using Microsoft technologies being exposed to languages like Python and Ruby and then realizing that hey, maybe I actually don't need the Microsoft part.

InfoWorld: So then it can have an opposite effect. Do you think Microsoft is just blowing smoke with its threats against Linux that they talked about this week regarding alleged [patent] violations or is there something to it?

Hansson:
I think they're doing the techniques that they've used successfully in the past. I think FUD'ing people up and making them insecure -- is Linux going to be sued out of existence? Am I wrong to base my entire infrastructure on open source? Creating all that fear, doubt and uncertainty is what Microsoft does really well. And that's, of course, seeing something like this, it's got to be so frustrating to people, the good forces within Microsoft who do understand open source and do want to get developers who are sympathetic to the open-source movement to get involved with their technologies. How persuasive an argument is it going to be now that Silverlight is this open platform and you can come play, and by the way we're suing everything else you build your business on? It's not going to be very persuasive. And I think it really sends so many mixed messages, and it seems like there's a war going on inside Microsoft. Like [Microsoft CEO Steve] Ballmer on one side pushing this FUD line against Linux and other open-source and open standards, and then you have somebody like [Microsoft Chief Software Architect] Ray Ozzie, who seems to be more with the times in getting that Microsoft can't invent its own universe forever and just ask people to come over. So I do hope that the Ray Ozzie side of a more open approach, a more inclusive strategy, is going to work.

InfoWorld: What's your take on JRuby, which runs the Ruby language on the Java Virtual Machine, and how does that tie into Ruby on Rails?
Hansson:
I think it's fascinating. I have to be honest. One year ago I didn't have a whole lot of faith in the JRuby project, and that's mostly just from the experience of seeing other languages being re-implemented on other platforms. It seems mostly to have been curiosities. But I've got to say I'm hugely impressed about the work that the JRuby team has been doing, how fast they've been progressing, how fast they're catching up both in features and in speed. And as it stands right now, where they're actually able to run a good number of Ruby on Rails applications, it's marvelous. I think it opens a whole new avenue for Ruby into enterprise strongholds that would otherwise not [have] considered Ruby and Rails because that they didn't run on their existing infrastructure. So I think it's awesome, and I am really looking forward to seeing more about it. I still have some concerns or skepticism about -- is this really going to be something that appeals to regular long-term Ruby users? Would I run JRuby in a year from now? I am certainly not convinced of that fact. But I am certainly open to them coming up with something great, if they can turn JRuby into being say five, 10 times faster than the C-based Ruby, hey, who am I to say what we're going to run two or three years from now?

InfoWorld: Ruby on Rails is an open-source Web framework, as in you don't sell it. Are you making money from the project just the same through consulting? How do you monetize it?
Hansson:
In a lot of ways I don't need to monetize it, I have a job. I work at 37signals, and we make money selling products. But we still in a large sense make money off it primarily through saving money. So we get to collaborate with a lot of other people around the world that then they'll pick up part of the work we would otherwise have to do. So that's the great thing about open source. You get to collaborate, and you get to share contributions and swap. So there's a lot of bartering going on that saves us a ton of development time.  But there are also direct influences [in that] we get now a talent pool who know exactly the kind of technology we're working on, so it's much easier for us to hire new people.  We've gotten a great amount of press out of it.

InfoWorld: What exactly does 37signals do?
Hansson:
37signals is a producer of collaboration and communication tools online. We use Ruby on Rails for everything. We have six products now. Three of them are paid products, the others are free products.  They're all developed with Ruby on Rails.

InfoWorld: Any other points you wanted to raise?
Hansson:
I think now that we're here at RailsConf, I'm really just immensely impressed about how far we've gotten in such a short period of time. Rails really took about a year to get going. The first year it was only über geeks getting involved and getting excited about it. The first book didn't come out until a year after. And so the first book is even just two years old. Today we have more than 20 titles, I believe, and we have a conference with 1,600 people showing up. It's fantastic to me to see the kind of impact that a grassroots initiative can have on the software industry in general. And that's not just my contributions, it's the contributions of everybody who's been involved with the Ruby on Rails project. There are so many people who have contributed to it, so many people who have evangelized it.

This story, "Rails creator: Silverlight may struggle" was originally published by InfoWorld.

Copyright © 2007 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
It’s time to break the ChatGPT habit
Shop Tech Products at Amazon