“Ruby on Rails is a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.” – Tim O’Reilly, of publishers O’Reilly Media
As fascinating and eye-catching as the term Ruby on Rails (RoR) sounds the technology behind the scenes is equally exciting, popular, and powerful in the world of web development. Rails is a widely used web application framework which is designed to work seamlessly with the Ruby programming language – hence commonly referred to as Ruby on Rails.
At Forgeahead, our focus has always been on sighting cutting edge technology trends early and using the most appropriate technologies for the overall benefit of clients, and eventually the organization. Given the excitement around RoR, it’s not surprising that our development folks have heartily embraced RoR. Based on our experience with RoR, the following seemed evident:
It has ensured a quicker go-to market strategy making our clients more competitive. At the same time, it has a lower maintainability index which makes it more attractive.
The quick turnaround time makes it an ideal candidate for agile development where changes can be easily adopted.
It has facilitated seamless integration with various third-party plugins for social media platforms, Payment gateways, and various analytics tools.
The proof of the pudding though is in the eating. What have we done with RoR that has been fun and, yes, also challenging? Here are some recent examples where RoR along with other strategic and latest technologies like AnjularJs, HTML5, Neo4J were leveraged successfully by our team.
One recent project was aimed towards developing a multi-tenant SaaS application that helped in creating, visualizing, and strategically managing the overall organization structure. The task at hand was to develop a comprehensive solution to address various organizational hierarchy comprising of employees, reporting structure, departments, and geographic regions. The need was also of integrating with other specific solutions like CRMs such as Salesforce and LDAP or SSO servers used by organizations. Also, the source data was scattered across different sources, which including unstructured data from spreadsheets to modern CRM applications.
The key use case was to have an intuitive and rich Graphical User Interface supporting various standard resolutions across desktop and handheld devices types, for enhanced usability and satisfaction. The user interface needed to have relevant filters to transform available complex data set into a simple yet appealing visualization which was aided with legends. The quick access to intuitive yet dynamic visualization expedites brainstorming of strategies, maximizing impact, and identifying key employees and departments to maximize marketing initiatives and designing sales strategies.
A Quick market to launch feature and ease of maintainability made ROR as the ultimate choice along with using Ne04J which provides light and yet scalable graph database system and has native graph storage and processing capability. The application that was developed proved to be handy in mapping various organizational structures within the company that was spread across multiple geographies, with ease. The combination of ROR and Neo4J ensured that application scalability that was achieved was useful to tackle the dynamic changes as per the company’s needs.
The second project was for a client in media business and was aimed towards consulting and developing highly responsive websites and native mobile applications. The major use case here was to facilitate and serve on-demand and live streaming of videos from various sports and entertainment events to serve and meet the target customer expectations.
The solution needed seamless integration with Kaltura, the leading turnkey video-based SaaS solution in the OTT TV and OVP (Online Video Platform) space. It was quintessential to develop intuitive user journey along with integration with various standard social media platforms and support for rich analytics capability to track user behavior. Quick page response time, ease of use and efficient media assets management were also key contributors towards the success of the project.
For scalability purpose, a Ruby gem was created as a wrapper for Kaltura APIs response and the approach ensured quick deployment across various servers to replicate the API capability. This helped in increasing the horizontal elasticity across API servers and in code reusability. Extra emphasis was placed on building an intuitive and rich graphical user interface with technologies like AngularJS, HTML5, and CSS3. This was a valuable experience in investing time in Ruby gems and well worth it too!
As technology continues to evolve and products continue to launch newer versions, organizations are often faced with the need to migrate their existing infrastructures to the newer stack. An interesting opportunity presented itself to us recently when we took on the migration of a website for a UK based fitness chain. The current site was used by over 1000 users daily to facilitate and manage their session bookings and for consultations with health experts. The entire app had to be migrated from Ruby version 1.9.3 to Ruby version 2.2 and Rails from version 3.0 to Rails version 4.2. The challenge, in this case, was ensuring a seamless migration of the existing technology stack without impacting the end-user experience. The migration aimed to provide top-of-the-line user experience by tailoring user sessions. This was achieved by optimizing page response time, minimizing user clicks and revamping the entire controller layer. The code was revamped for the model, view, and the controller without overloading or impacting any one component. Also, the database migration mechanism was systematically handled without any major issues. Version upgrades are par for the course, to manage future upgrades we introduced the RVM (Ruby Version Manager) tool, to help manage future upgrades. We also standardized the code distribution by introducing the MVC concept for improved maintainability. Such migrations are always complex – not only does the team need to know the business needs that are being addressed but also have a very clear picture of what is going on “under the hood” in both the old and new versions. It was fun making the shift – I guess you can say we upgraded our knowledge too in the process!
Forgeahead has demonstrated hands-on expertise and knowledge by handling many such projects but I guess what really sets our developers apart is the joy they get from getting their hands dirty with the technologies. Mastering this niche skill has definitely put us on top in the web development arena. That, and the “Wow factor” that each project, engagement, and the relationship has to deliver. It’s only fun when everyone, including the client gains!