Why Ruby On Rails Failed to Grab Web Market Share
By smelloftruth
Released in 2004, touted as de facto web 2.0 web server application, the creator winning Jolt award, many people were sick and tired with ugly Perl/PHP code format, these were just few of the promises that Ruby On Rails (ROR) will eventually bulldozed all web application on its way to dominance.
The software stack is too cool to use and considered one of the pioneers of scaffolding - the art of scalping databases and generate classes for it and tie things up. The job of the programmer is getting easier and from the initial reviews, there were much stuff to back-up the hype.
If you get the chance to read the Agile book, you will see that perhaps for a newbie, it's one of the best written web programming book sold on the market.
Fast forward to 2010, if you check the market share, ROR still struggles. In fact, it hasn't picking up ever since its début. What went wrong?
Here are few contributing factors why it failed to capture significant market share:
1. At that time, an enterprise solution was already available - Java/Net. Who would like to change gears at the time especially the veteran programmers who seemed to be content working 9-5 every day? The change of platform had no great incentive other than going along with the pack who jump the new bandwagon.
We learned from Psychology that many people don't want to try something new for reasons that it has the attribute "new" to it. "If it broke, don't fix it." True, the market leader JavaEE has a stiff learning curve but who wants to throw it away in exchange for the promised ease of life in ROR?
Company infrastructure too are too costly to replace so who would in his right mind change it even it means reducing the programmers burden?
2. PHP is almost locked-in web solution. No matter how ugly PHP code looking and structure is, it still managed to work. Many web solutions were written and its too costly to replace them. Even if the site owner change to ROR, the pain of handling another round of bugs would be too costly.
On top of that, many frameworks built on PHP are alive and kicking until this day like forum boards - which does not cost anything for a developer and site owner.
3. Java changed gears. In fact, it awoke Gavin King to answer an enterprise solution called JBoss SEAMS. Those who were thinking jumping ship of those who are just starting were at least prevented by the promise of one of JavaEE had to offer.
4. "That is not mainly where the money is!"
The existing Internet Marketing framework has been heavily dependent on software solutions (e.g. WordPress based on PHP) that are already functioning and every possible problem an internet marketer faced has been addressed. Looking forward to a solution that makes the life easier or more maintainable for a developer does not sounds well to an internet marketer counting every penny to invest.
5. Just because ROR framework is solid and based on Ruby, which has a fundamentally cleaner syntax, it doesn't mean any application based on it would look solid and clean as well
For those who say that the code is a lot cleaner, for simple application the answer is obviously yes. But give that to a newbie or veteran programmer who has a bad habit of less structuring the source code and perhaps abuse one of Ruby best code reuse module like mixin and you'll get the same ugly code like PHP.
Comments
2 right! RoR you're havin a laff, Apple WebObjects rock(ed) if only all the fREeTARDS out there would lighten up and stop thinking just cos it's Apple or Microsoft it's bad we'd not be stuck with this too complex Java nonsense!
@billgatesdadd: What about python? simple, powerful. nuff said.
What a tard. Lurn to reed an speel before you bash shit you know nothing about. What a shitstick.
Casual reader,
You got me there! Thanks.
But then again, of all the freely available and simple, fully-stack web framework, ROR has the most promise of providing a simple solution one of which is easy scaffolding.
... abundance of sharpies like StrongBreeze makes it a non-stater. At best you could - maybe - be a handle for a plunger.
I think that a lot of the low market share can be explained with the very long transition phase from Ruby 1.8.7 to 1.9.x and Rails 2.x to 3.x, leaving many developers reluctant to upgrade their apps and/or to write new apps as long as the upgrade isn't seamless (e.g. problems with old gems).
Question is, did Ruby 1.9.x and RoR 3.0 come too late? Or will we see a higher market share 12 months from now?
I think 'aleco' is making a good point. RoR has many advantages but a lot of gems broke between 2.x to 3.x which means developers are not converting to Rails 3.x. Newer, substitute gem libraries compatible with 3.x seem to exist for many functions but developers still have to seek them out and switch to them, changing code. That and Ruby has had a slow transition to 1.9.2p136 which now seems stable.
I think RoR needs good marketing to support that RoR with Rails 3.x and Ruby 1.9.2 really is good...new developers should jump on it. The RoR team should also market a weekend where all developers work to update their gems to Rails 3 and make it a big deal.
The Rails community will slowly become more mature and better able to weather transitions like this. I think there will be greater market share 12 months from now with the new stable Ruby 1.9.2 and Rails 3.x code.
There's something that makes me tickles when I read articles about Ror mentionning scaffolding. Just to be clear, nobody coding seriously with RoR is using it. It was just a nice way to get beginners started and it was marketed in a wrong way that made people thinks it's always used to build apps in a short period of time. If you want what real apps use, go for inherited_resources or take a look to Responders in Rails 3.X.
The whole article is interesting, but shows some lack of real experience with Ror. I found the last point not very well titled, you're writing about Ruby code being awful because it's wrote by a developer who have bad habits where the title was Ror isn't entirely clean, suggesting you're talking about it's codebase. Besides that little error, I still agree, Ruby, especially Rails has no seat belt like java does to allow rookies to write nice code. Anyway, in any language you can still write crap, it's just limited by the restrictions baked in your language.
@jhchabran, yah I agree with the scaffolding thing. But then again it was the sales talk ROR used to when promoting the framework. Same is true with JBOSS seams trying to demo by demonstrating its scaffolding feature.
I wrote quite a few sites using ROR framework mainly for travel guide way back in 2006-2008 but due to lack financial viability I shut it down.
But then again, thanks for the correction of the last point. It stems from my experience looking at freely available ROR app source code where you can easily get lost how it tries to construct the application.
Yay, the sales talk :) I can't decide myself if it was a good thing or not, given the visibility it gave to Ror agaisnt promoting a beginner feature as a good practice, marketing seems to be a tough tasks when it comes to frameworks and languages.
I think you're pointing a major problem in your last sentence, when I started writing apps I stepped on the same issue, where can I find elegant Rails apps freely available ? It's either a tutorial app or a heavy tentacular app ( like Redmine ), nothing that really looks like an app coded for a customer. It narrows your chances to get exposed to what really rocks in a X or Y framework if you do not have any friends or coworkers experienced in that field. ( "recipes" books can still provides such material indeed but these aren't the best shape to deliver examples to a curious developper imho )
casual_reader 15 months ago
You may want to check first Apple's WebObjects, precisely the "Direct To Web" feature, before saying that RoR pioneered the scaffolding.