Friday, March 16, 2012

Considering Examples of Ruby on Rails

As I’m beginning to play with Ruby on Rails, I’ve also begun to think about web tools that are currently running on Rails and what they are capable of. The Ruby on Rails website gives an extensive list of sites that use Rails: http://rubyonrails.org/applications.

First, I found it hard to determine which sites were using Ruby on Rails, because, since I’m not a developer, it wasn’t clear to me how to look for those signs! I’m used to viewing the source of a page to look for makers that it was built with CSS or to look at how it’s used HTML, but nothing that tells me what’s going on behind the scenes at a deeper level. I found this handy site, called Built With, however, which helped me mine quite a bit of information about any website I wanted to know about!

From Built With, I saw that use of Rails has been fairly consist over the last year, with not too much substantial growth.

Graph of Ruby on Rails usage of the last year, showing minimal growth
Source:  Built With
While I had heard that Twitter was built with Rails, Built With did not indicate that, so I looked into Twitter’s development further and found that they’ve been slowly moving away from rails over the years. However, other big name sites like Github and Groupon continue to use the resource. From Built With, I learned that the platform is largely used for shopping and business resources.

Graph of Ruby on Rails usage by industry; Shopping and Business have greatest precentages
Source:  Built With
One thing that I’ve found in examining these sites and researching their usage of Rails is rails is powerful, but also subject to certain vulnerabilities. Let’s start by thinking about their power. Rails sites are powerful. They are able to handle robust amounts of information and able to customize what information is delivered to a user based upon specific parameters they establish. For example, Groupon allows users to specify the geographical location and then the content is customized based upon deals available to that region and based upon the temporal availability of the individual deals. Rails helps facilitate this process of selecting data to display based upon parameters. Twitter is similar in that it selects tweets to display based upon what each user has specified in terms of whom (or what) they wish to follow.

Unfortunately, however, Github was recently the victim of a some pretty serious hacking that was the result of exploiting one of Ruby’s vulnerabilities: mass assignment vulnerability. Now, I don’t really know what that entails fully, but I know that it allowed the hacker quite a bit of access to files wherein he could have done some serious damage. Luckily for Github, the hacker seemed to be mostly trying to prove a point about the vulnerability, rather than do something malicious (More on that from Ars technica). However, it seems like to protect your site’s material best, you really need some intense understanding of Ruby programming in a way that I just don’t have yet.

As I think about what these sites are used for and what they accomplish, I cannot help but wonder whether Ruby on Rails is really a useful tool for me to explore for the purpose of making a personal portfolio site. It would be a powerful blogging platform, for sure, which would allow me all the customization I could possible imagine. But is the flexibility it affords really worth the trouble of learning the development process? Would I not be better off learning to customize a blog platform in a far deeper manner, including developing and modifying my own themes. I’m not sure, but I think I need to further explore whether I am learning this tool to be able to say I know it, or whether I’m doing so in a purposeful way. I am really one that is cautious of adopting technology for technology’s sake, so this is really food for thought indeed.

No comments:

Post a Comment