Being a part of the cloud means you’re constantly adapting to new technological developments. Just like clouds in the sky shift and change shapes, we’re constantly shifting and changing our model to make our product the most beneficial for our users in this constantly growing and changing modern cloud hosting market.
That’s why we use Ruby on Rails, a programming language that enables development at CX to keep pace with the rapidly evolving cloud space, since it’s designed with programmers in mind. Ruby was created around 1995 in Japan by a really smart guy who wanted to combine all the things he liked about the programming languages he knew (more info here.) Rails is a “framework” written in Ruby — sort of like a tool kit of code that helps to prevent programmers from duplicating efforts when building applications and helps keep the applications structure manageable.
Most basic problems, such as how to sort a list, reverse that sort, pick out the first item or the last item, etc., have already been solved countless times by other programmers, so writing a new code to do this is a duplication of effort. Rails abstracts away a ton of issues that are commonly referred to as “solved problems” by developers. For example, if we want to know how many days ago a comment was posted on one of our files, Rails has a module that will take a non-human, readable time-stamp (say, the number of seconds since Thursday, January 1, 1970) and return that number as a phrase, such as, “Forty-two years, three months, and eight days ago.” Instead of worrying about calculating out how many years and months and printing the month as a word according to the calendar and many other menial operations, we can just run the “time_ago_in_words” method, and Rails will generate the phrase corresponding to the date.
How does Ruby on Rails improve CX?
Rails was a natural fit for the CX web application because of its emphasis on being able to build things quickly while still keeping the code clean and well-tested. At CX, scalability is a core concern, so we have built our Rails application in a slightly non-traditional way to allow it to scale up with our rapidly expanding user base while using very few resources. In order to make this happen, we’ve built the majority of the application so that it runs in the user’s browser and communicates directly with our high-performance back-end servers. Building a web application like this requires thinking about it in a way that’s sometimes more like a desktop application than a traditional web site, but there is a growing community of developers building applications this way and developing best practices around it.
Tools like Rails have been growing, evolving and aiding the development of web-based applications for years, and Rails isn’t the only technology CX is using to reshape the way people collaborate online. Other technologies such as backbone.js, CoffeeScript, jQuery and RSpec are also in play here, just to name a few.
CX is creating a platform to free us from our hardware, to enable us to have our digital lives available to us and under control, without tying us to a phone, a laptop, an office or a library time slot. This means we’ve created a secure channel that any tool you like can connect to and tailor itself to the data you already own. Imagine if you had a brand new blank computer, but instead of a massive configuration and backup restore period in the first weeks of ownership, it just already works with all of your accumulated documents and data, simply by logging into CX. The flexibility that rapid development tools enable at CX allows us to quickly adapt to new hardware, web-based tools, device types and work-flows.