views:

565

answers:

7

Tomorrow, I will meet a client that is not working in technology but might ask if RubyOnRails is the right choice for his site. He might think that there's not enough RoR programmers and that he will be "hostage" of the language.

I have good reasons to use RoR and the client has good reasons to like it (it costs less!).

Do you have "official" sources I could show them?

+6  A: 

This is, in some sense, a variant on the "bus hit factor" problem. Any app, once developed, is pretty much "hostage" to the language, the question is whether it is also "hostage" to the single developer who wrote the app. I think that RoR is a perfectly reasonable choice for development, but the issue is really how many developers in your local area are available to take this over if you happen to "get hit by a bus." If the customer is willing to work with someone remotely, this becomes much less of a problem. To reassure him, though, I'd first look to the local scene and find out about local Ruby developer groups. The presence of active, local developer groups is one measure that might convince him.

If, on the other hand, he's concerned that RoR will not continue to be viable in the future that is a slightly different issue. Again, I think you're ok -- you may want to point out other applications that are written using RoR as an indication of continuing pressure to improve both the language (Ruby) and the framework (Rails). You can find a lot of this information at http://rubyonrails.org/.

tvanfosson
+1  A: 

Documentation is HUGE when it comes to open-source projects.

One thing you could do would be to explain to your client that it will cost them much more to have you and your developers spend hours and days searching for documentation on some other open-source framework that is less used and supported. Explain that there may not be as much ROR developers out there as there are PHP developers per say, but the fact that there's such a great amount of documentation and information about ruby and rails makes it exponentially easier to for any open-source developer to learn and use the framework.

matt_dev
PHP has awesome, detailed, up-to-date, and accurate docs written by individuals who know the platform and set aside time for the job, supplemented by extensive and often insightful comments from users. The same is true of Django. The Rails docs, on the other hand are an absolute disgrace.
Ethan
That's weird. I found the Rails docs to be much better than PHP's (not even counting that you need docs much more often in PHP because the libraries are such a mess).
Jules
I worked in PHP and I really think that RoR doc is better, clearer and simpler.
dan
+3  A: 
  • Using a framework ensures that the "next guy" can pick it up quickly
  • Rails has reduced my workload by 80% over hand-coding.
  • Huge, active, friendly community to draw upon
  • Self documenting testing frameworks
  • It uses Ruby, which is super easy to learn in a pinch
  • Open source language, framework, and database that uses an open source OS. FREE sells.
Matt Darby
Yes, "FREE sells" if the client is a dope. Otherwise they'll consider the numerous possible expenses beyond the mere price of the software -- maintenance, hosting, consulting, and so on. And in that case if you keep pushing "FREE!" it's not going to make you look good.
Ethan
Obviously, no software is really free. However, there's advantages to getting some of it without monetary cost. The biggest advantage of open source may be a complete lack of license hassles for the user.
David Thornley
"Free Sells" regardless of intelligence. You should read "Predictably Irrational". It's quite good. http://www.amazon.com/Predictably-Irrational-Hidden-Forces-Decisions/dp/006135323XAlso, I outlined the areas that are free, of course it will cost money to actually develop/host the project.
Matt Darby
+1  A: 

There would be some things I would try to convince the client-

  1. Ruby Community is huge
  2. Ruby is mature enough
  3. Ruby works with most database systems.
  4. Rails is a product based on an Idea(MVC) most other platforms have embraced.
  5. Improved readability and testability of code.
  6. COSTS LESS!!
  7. Migration methodology in RubyOnRails
  8. If you want you can even target the Java Platform using JRuby and Java Platform is a pretty respectable platform.
  9. Show some cool RoR applications.
  10. Explain how you could be Agile!

I know so well clients not agreeing when you dont have a big company backing a technology.

Perpetualcoder
COSTS LESS!! - than what? I'd be careful about statements like that. Just because something is free it doesn't doesn't automatically imply a lower TCO.
Kev
Have you ever actually tried to deploy a Rails app on JRuby? It's theoretically possible, but it takes a lot of time and effort and many, many requests for help on the forums. It uses a huge amount of RAM. JRuby apps don't run on a 256 MB VPS server. Give it a try some time.
Ethan
+4  A: 

"might ask if RubyOnRails is the right choice for his site. He might think that there's not enough RoR programmers and that he will be "hostage" of the language."

Have you considered the possibility that these are valid concerns that should be taken seriously?

"I have good reasons to use RoR"

How does that help your client, though?

"it costs less!"

Does it? Do you have any specific evidence to support that assertion? Have you factored in hosting costs? Rails on MRI uses a lot of RAM. You're probably in Java territory or worse. Depends on the app and the load of course. Phusion Passenger (mod_rails) has improved the situation somewhat, but it's still an issue.

As mentioned by others documentation is a "HUGE" issue. Ruby and Rails official docs are sparse, to put it kindly. The community tends to rely on paper books which become outdated and misleading in a matter of weeks, thousands upon thousands of unreliable, contradictory blog posts, and screencasts which also suffer severely from the "quickly-outdated" problem. Don't think PeepCode is going to save you.

I would still consider advising a client to use Rails because the claims of programmer efficiency are more or less true, sort of, but I'd do so with extreme caution and I'd let him know the downsides.

Ethan
A: 

The "cost less" feature of RoR is debatable, I agree with you. But in my case, I have a complete RoR-ready environment and I know that I can charge less for a RoR app than any PHP app that I could do.

The hardware/software environment for PHP and Rails are almost the same... so is the price of it. What will cost less for the client is the robust environment that we built.

That's the "cost less" feature. I'm not talking about about memory comsuption or anything else. It all can be bought for almost nothing.

dan
Cost to the client is of course the main issue here. The client doesn't really care why the cost is what it is. The freedom from license hassles may be significant, though. No need to buy more licenses, worry about discontinuing, fear copyright police.
David Thornley
A: 

This depends a lot on location. If RoR developers are plentiful and work for prices comparable to other programmers then you can use that to help sell Ruby.

For a client one of the main concerns is cost. Perhaps he is concerned about maintenance costs of finding and paying for a RoR developer, not the cost of the technology.

I know a web shop who was bitten by the relative 'newness' of RoR. They hired a developer to make a site and that developer use RoR. After the project the developer left. In our area RoR developers are not only scarce, they charge more than any other type of web developer. In this particular case the web shop ended up losing their client. The last I checked their client's web site is in PHP.

I'm not trying to say RoR is bad and I think that's an extreme case, but make sure to consider the client's concerns. The cost of maintenance is a very valid concern.

metanaito