This post is a follow-up to my previous post where we broke down our application into components using Rails Engines.
When breaking down our application we found that there were two types of components that worked well as Engines. The first were mini apps, targeted views that are separate from the main web application. An example is our bookmarklet:
The other type of component was an extension to the core, something that contributed new pages to the core web application.… Read more »
When the engineering team was planning the new version of Socialcast we knew that we were going to be overhauling virtually every page in the application. From a customer and marketing perspective we wanted to introduce all the changes together, but as an engineering team we were wary about introducing so much change in one big release. We wanted to find a way that we could incrementally release the changes as we built them without affecting our customer experience. If we could selectively turn the new design on and off, this would allow us to give early access to our customers so they could provide feedback on the design while using it with their own data.
We could have accomplished this with conditional checks:… Read more »
As the engineering team was planning for the recent Socialcast release we realized we were going to be adding a couple of significant new functional areas that each had their own models, views, assets, etc. We were concerned that this could result in a sprawling code base that was hard to learn and maintain.
We came up with two ways to solve this in our Ruby on Rails application: either we could break it down into multiple applications and use API calls or we could isolate the functional areas using Rails Engines. We knew that we wanted a seamless, integrated experience that was easy to maintain so we decided to move forward with the Engines approach.… Read more »
Looking for a way to speed up navigating from page to page in your web app? What if you only sent down the content that changed when navigating from one page to another? With increasing availability of HTML5 you can, and you can do it without the end user being able to tell the difference. Check out the live demo and see for yourself.
This concept is not difficult to implement in a simplistic fashion but providing the best end user experience can be challenging.… Read more »
One strength of Rails that keeps getting better as the team grows is the practice of convention over configuration.… Read more »