Sunday, January 13, 2008

Rails on the Orient Express: First Stop - Singapore

Rails developers are quite a busy bunch but fortunately I've come across developers who were willing to share their time and views which impact the spread of Ruby on Rails in Asia.

First, let us have our friend from Singapore share to us his views. His names is Sau and he is quite the practicing Ruby on Rails programmer and is one of its active proponents in his country. He together with some colleagues and friends have formed a Ruby on Rails Brigade, which is informal ( and he prefers it that way, I agree) and would soon connect to form a bigger ASEAN Rails group that is currently busy organizing what might be their first organized and formal RoR meetup.

I've sent this through email with his full answers following after each of the questions: (Emphasis are mine, though)

1. Personally, what makes Rails special?
I believe Rails is very much hyped up as a web framework. Ruby is the engine that powers much of the ‘magic’ behind Rails, which unfortunately I believe today is not nearly as much discussed (or appreciated) as Rails. Rails is a great framework, no doubt and many of the ideas are very well implemented and executed. However it’s not as innovative as it is marketed to me. A lot of the ideas came from various sources like existing Java frameworks (some of which tried and succeeded but many of which failed, which is also a good lesson to show what it shouldn’t be) or frameworks from other languages like Python and even PHP.

What’s so special about Rails? I believe it’s the marketing push, the well-implemented framework and especially the strength of Ruby backing it up. The other factor would probably be tiredness of empty promises of existing Java frameworks. Another factor could be that it is a framework that is easily worked with by web designers. At least 50% of Rails programmers I know have a web design background (which makes me feel pretty left behind since I come from a computer engineering background and is generally sucky at UI design).

2. Are there barriers towards a broader Rails adoption?
While Rails is picking up rapidly especially in US, it’s not nearly as popular as what Java or Windows programming is today and is unlikely going to be. In any case, it’s still very much web-based/Internet-based technology and there are limits to what applications are suitable for a web-based or Internet-based platform. The only other ways that it can expand is through either:

(1) being a web front for Ruby, that is a much more universal ‘glue’ for applications. For one, Ruby is already a pretty good tool to put together various Windows applications through its Win32 interface, or through its OLE bridge.
(2) Jruby, which already brings a lot of promise to tie in various existing libraries, APIs and applications that are running in Java.

I see that these 2 directions are the more probably ways that Rails can extend itself, otherwise it will always remain a web-based or Internet-based platform.

Another barrier which some might find disturbing is the "open-ness" of Ruby, because its source code is readily readable by everyone. Of course these are just details which can be resolved at a later point in time but at this moment I believe it’s an obstacle to overcome. For one it’s pretty tough to sell software that the customer can read all its source code, for good or bad. Copyright aside, the customer can readily change the code and point out and publish bugs, which can be an embarrassment and a loss of revenue (software patches and maintenance revenue is nothing to be sneered at)

3. What are the things you would like to see happening as a member of the Rails community in Singapore?
For me I’m pretty happy with the way Rails is happening in Singapore though I would like it to be better organized. Personally I prefer a more informal and loose organization where people just swap war stories and help each other in their implementation rather than being a formal one but I think for many beginners, formality helps esp if there is guidance involved.

What Sau has shared made me think of how beautiful Ruby (despite or because of its open-ness) is and yet somewhat under appreciated while Rails hugs the spotlight. Maybe its worth emphasizing that it is still 'Ruby on Rails' and not Rails alone that is making things work.

Another thing that grabbed me is how most Asian developers prefer using others since RoR is still primarily web-based. But then again, based on developments and directions, the web is sure being harnessed in ways we've never seen before. Sure there remains other projects out there for developers in other languages but I do hope that there'd be more early adopters than late comers to RoR because web seems to be the place these days and other forms of media are beginning to shift into tapping its power.

Many thanks to Sau for his enlightening thoughts!

We hope to get more insights and views and see how it relates to the things Sau has pointed out and find out if Rails can get Asian developers the boon that their North American counterparts are now enjoying.