Ruby on Rails bachelor thesis

Dear Rubyists,

This year I have to write my bachelor thesis for my Informatics study and I want to perform research regarding RoR. However, I have no concrete idea or subject which I can use. So my question to you is, what research questions can you come up with and are interesting enough to fully discuss in a bachelor thesis? I have been working with RoR for a couple of months now and want to focus myself on this web framework.

Thanks in advance guys

I’ve thought it would be interesting to see a paper on the study of the evolution of programming languages towards natural (or at least, recognizable) language, and the influence of that on the ability of previously non-programmers beginning to create their own software. That, in at least part, would focus more on Ruby than on Rails, but Rails is a perfect example of an explosion of people creating useful websites that either wouldn’t or couldn’t program before.

Michel B wrote:

This year I have to write my bachelor thesis for my Informatics study and I want to perform research regarding RoR. However, I have no concrete idea or subject which I can use. So my question to you is, what research questions can you come up with and are interesting enough to fully discuss in a bachelor thesis? I have been working with RoR for a couple of months now and want to focus myself on this web framework.

My favorite super-hard research topic is this:

How to use test-driven development, and produce truly _proactive_ test cases, when your target is a web page?

By "proactive" I mean: How can you write a test that fails, add code to pass the test, and then _not_look_at_ the resulting web page. The test should be so clear and easy to write that you know the edit to pass the test will correctly upgrade the code.

That's easy for low-level systems, and for 1-dimensional systems like databases. GUIs are 2-dimensional and animated. Rails gets closer to TDD for the web than any other platform, but there are still wicked hard corners like Ajax where it won't go.

Luke Ivers wrote:

I've thought it would be interesting to see a paper on the study of the evolution of programming languages towards natural (or at least, recognizable) language, and the influence of that on the ability of previously non-programmers beginning to create their own software. That, in at least part, would focus more on Ruby than on Rails, but Rails is a perfect example of an explosion of people creating useful websites that either wouldn't or couldn't program before.

Google "Domain Specific Language".

Here's one in Ruby:

http://flea.sourceforge.net/

I'm currently doing a master thesis on RoR. I'll explain what I do, maybe you can get some inspiration.

The thesis in split into 2 parts. In the first part I look into the theoretical background of Rails, what makes it stand out of the crowd. In the second part i'm developing a complex application, that already exists in J2EE. I'm using the Agile Development methodology when developing the app. Basically the text of the 2nd part is a chronologic discussion of what I did, what was neat about Rails, but also what troubled me with Rails and AD. (example: migrations, testing with Rails, optimalisations, speed of development, maintainability, reuse, ...)

Never had so much fun with a school-task :wink:

How about an analysis of the underlying framework and performance optimization? Could you give me pointers in the right direction as far as performance analysis goes? I can try to research potential bottlenecks and do some benchmarking to see how one can best tune performance.

I'm currently also investigating the performance.

Currently I have determined to try out these topics - eager loading - caching - other webservers - clustering (pound, mod_load_balancer)

and the influence on the app I developed.

I'm using a Watir (http://wtr.rubyforge.org/) script that runs 100 times and I do an analysis of the log afterwards.

Greetz

Joram

I've decided on this research question 'Ruby on rails: enterprise ready?'

Could you guys give me examples/directions which phenomena I should really discuss and point out. I would love to set up a questionnaire in order to find out what drives Rails progammers or companies to use rails in an enterprise environment. So interviewing companies/ programmers is one step I could take to research if rails is enterprise ready.

What other components do I have to look at at when it comes to enterprise readiness?

All of which begs the bigger question: What particular needs does "the enterprise" have that all the other slobs in the world don't?

Typically, things like security, scaleability, fail-over capability, redundancy, transaction queuing, and so on are quoted as enterprisey things. I don't buy that. My smallest client has kittens every time his site has a momentary outage. Is Rails (or PHP or .Net or J2EE or whatever) enterprise-ready for him? No. A single well-placed DDoS attack will still take him out, and he'll still go off-scale.

Possible more to the point in "the enterprise" is how well a particular platform integrates multiple disparate legacy data sources. In this regard, you may find that results vary.

Hope this helps. Please post a link to your thesis when you finish. Everyone will be interested.

M. Barbosa wrote:

Thanks very much for your reply. I will certainly post a link to my thesis when I finish.

I have read a lot of blog posts/articles and such and am not so sure if the Rails community is actually waiting for an enterprise-ready certificate so to speak. But I would want to investigate what makes software (in this case a web framework) enterprise ready. When do/will firms consider Ruby on Rails as a framework of choice i.e. for mission critical stuff? How many firms are actually using Rails or are willing to? What are their motivations for (not) doing so? You already mentioned security and scaleability and others. What about productivity of programmers, or certain visions that the rails framework portrays. For example 'agile development'?

I'm hoping for people to come up with an even broader list.

So far I have this:

- security - scaleability - fall-over capability - redundancy - transaction quueing - vendors - support contracts - big projects already done in rails - availability of programmers - availability of books/documentation - methodologies imposed This is just a list to get me started in the right direction. If someone comes up with a formal description or even comes across books regarding 'enterprise ready/readiness', than I would love to hear some titles.

Michel,

You have a lot of questions there. Are you planning on doing a massive survey of companies to get your answers? There are quite a few large scale web sites that are successfully using Rails. I would be interested in learning what people consider "enterprise ready."

Robert Dempsey