Rails is so powerful that it can be easy to forget the basics of good software design. When every feature is simple to tack on to an application it is very difficult to see when you may have crossed the line. When this happens your application becomes a bloated mess.
You don't need to look far to find reference to a 'Monorail'. Is this just an odd reference to Disney World or does it actually have something to do with software development? How can you decouple your monolithic application into smaller and more distinct chunks?
Using a number of examples from real production rails applications, this talk will examine some of the problems developers faced as the applications grew, and highlight a few strategies to address them.
The only thing necessary for the triumph of evil is for good men to do nothing.
This talk would mostly be focused on rails applications, but some of the techniques that I will discuss will be applicable outside of rails.
A couple of the specific concepts I am thinking about are: separate data access from the final UI with API's, and using object composition to simplify large classes (models).
What you are going to say, are only applicable to Rails applications or are they generic enough for people outside the Rails world to use? I'm asking because I believe a certain percentage of the audience won't be rails developers (I am :D). Is this presentation going to be useful for them?