Rails and the PC Convergence

Rails and Rails-related tools need to work on the PC. Due to a variety of circumstances, I have ended up functioning as a multi-OS developer, and I'm often appalled at the disregard accorded to PC-based Rails development. I will explain why I think it's not just important that the Rails community support the PC, I think it's vital.

Compared to most Rails developers, I'm in a unique situation. I develop on a Mac for my side activities, such as supporting the RubyNation Conference which I co-founded. But I live in the Washington DC metropolitan area, and I work for a large government contractor. I'm doing Ruby on Rails development using a full-on agile methodology for a government project. But we're mandated to do all of our development work on PC's.

That's not negotiable. It's not going to change.

Jumping the Chasm

What's happening now is that a lot of large, conservative organizations are hearing about Rails, and agile development and the benefits that can ensue from them. This includes government agencies.

There's a phrase for this. It's called "jumping the chasm." It means that Rails is starting to be seen as a viable technology by mainstream organizations.

Why is this important?

Well, there are a LOT more projects in the mainstream that there are in the edges where Rails has traditionally been operating. So, we all know you can use Rails effectively to create green field applications. But now Rails is being picked for larger enterprise projects by larger, well-established and more conservative companies.

Let me be blunt. These larger and more conservative companies may not be as nimble as your typical green field Internet startup...but they have money. They have a LOT of money. And they often need many more developers for their large enterprise apps than startups do.

They're important if Ruby is going to continue its expansion. Slamming the door in their face and saying that Rails won't support Windows, or that it's perfectly acceptable for a gem to not function properly under Windows is self-defeating.

Truthfully, most of these companies are fine with deploying to Linux production environments. But they'll still prefer PC's for development boxes.

The New Rails Newbies

On another tack, where do you think new Rails developers are going to come from?

According the famed Rubyist Dr. Nic in his keynote for RubyNation 2011, there is a parallel progression for Ruby/Rails experts. As they go from Beginner to Intermediate to Expert, they also tend to progress from the PC to the Mac. Over time, this has resulted in a much lower level of support for the PC realm, since most Experts, by virtue of progressing to Expert level, have left that environment.

Increasingly however, new Rails developers are coming from the PC realm. If their first exposure to Rails is the obsolete InstantRails package, how likely are they to be stopped in their tracks? The expansion of our community, for which many of us depend on for our revenue, requires new blood.

We need these newbies. We should provide better support for them.


Let me sum up why I think the PC market is important to the Rails community:

  1. Rails will be increasingly adopted by large, conservative organizations, including government agencies, that are more comfortable with PC's. If you want to play with them, then you're going to have to play in the sandbox they're comfortable with, the PC.

  2. New Rails developers will increasingly come from the ranks of PC-based developers. Not all of these developers will have the latitude to adopt Macs as their platform of choice.

  3. Other technologies like Java, Python and PHP work effectively in all environments. If Ruby and Rails are going to compete effectively with these technologies, they need to operate on PCs as well.

Since I am now a multi-OS Ruby developer, I will be producing a series of blog entries over the next few months to help PC-based Rubyists work with Ruby and Rails. Keep checking back for new blog entries.


No comments yet. Be the first.

Leave a Comment

Comments are moderated and will not appear on the site until reviewed.

(not displayed)