The unexpected connection between Rails and Bauhaus
Before Ruby on Rails, web development was a different reality. Enterprise languages and frameworks cornered the market. No automated tests, complex solutions to simple problems, and other issues. DHH, a Bauhaus-rebel for its time, has transformed this scenario by thinking design-driven, developer-first, and most importantly simple. Form follows function, they say.
Back to 2004
Let's take a trip down memory lane to the year 2004 when Facebook was first launched, Firefox gained popularity, the iPod became a sensation, and blogging was on the rise. Back then, the most commonly used web technologies with an enterprise focus were ASP.NET, JavaServer Faces, ColdFusion, and PHP 3.
In 2004, the Ruby programming language had been out for 10 years. The enterprise scenario presented significant challenges for emerging web frameworks, particularly those that lacked support for mainstream technologies such as Microsoft Windows and enterprise databases. Given this context, it was reasonable to assume that an outlier framework like Ruby on Rails might not succeed at the time.
Back to 1920s
Founded at the end of World War II, Staatliches Bauhaus, known simply as Bauhaus, was an art school that was truly ahead of its time. It proved to be one of the most influential cultural movements of the 20th century, with its influence extending far beyond architecture to encompass design in general, including graphics, typography, product design, and furniture.
Bauhaus's impact was felt across many industries and even inspired Steve Jobs, who incorporated its minimalist and revolutionary design principles into Apple's products. The main principles of the movement were:
Form follows function
Minimalism
Smart use of resources
Simplicity and effectiveness
Constant development
Paradigm shift
Uncomplicated beauty
Rails, the famous web development framework, was created within 37signals, a web software company founded in 1999. Interestingly, the company's design-driven philosophy shared many similarities with the thinking of Bauhaus. Just as Bauhaus believed in integrating functionality and aesthetics in design, 37signals placed a strong emphasis on user experience and elegant design in its products.
Simple interfaces are easier to use, easier to understand, more intuitive, faster loading, and easier to maintain than their flashy, image laden counterparts. Our work proves that simplicity doesn't have to look cheap, feel plain, or be downright ugly. (...) We believe usability should take precedence over "cool."
The Rails boom
In 2005, David Heinemeier Hansson launched a presentation titled "How to Build a Blog Engine in 15 Minutes with Ruby on Rails" at a libre software conference in Porto Alegre, Brazil. DHH's presentation was a pivotal moment for Ruby on Rails, as it helped establish the framework as a powerful tool for web development, with relevance that has lasted well beyond the date of the original presentation.
Using a MacBook, TextMate, and Ruby on Rails, the Danish developer creates a blog engine in 15 minutes using Rails generators. Revolutionary, seamless, minimal, simple, and paradigm-shifting. The Rails philosophy was introduced to the community.
In 2006, a year after this video, Ruby was the most popular programming language, according to the TIOBE Index. The mid-1990s Japanese programming language that wasn't planned for this specific use.
I knew Python then. But I didn’t like it, because I didn’t think it was a true object-oriented language—OO features appeared to be an add-on to the language. As a language maniac and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for one, but couldn’t find one. (Matz, creator of Ruby)
Ruby's rise is highly related to the Ruby on Rails paradigm shift. The Rails Doctrine, written by DHH in 2016, explains a bit more of the framework philosophy:
Ruby on Rails’ phenomenal rise to prominence owed much of its lift-off to novel technology and timing. But technological advantages erode over time, and good timing doesn’t sustain movements alone over the long term. So a broader explanation of how Rails has continued to not only stay relevant but to grow its impact and community is needed. I propose that the enduring enabler has been and remains its controversial doctrine. (DHH, creator of Ruby on Rails)
Footprints
The Bauhaus was a rebel for its time as Rails. Everything from Apple to Nike has been influenced by the school. Rails' credo has also influenced other programming communities, such as PHP, which now has Laravel, "The PHP Framework For Web Artisans", which was inspired by Rails. Phoenix, a web framework for the Elixir programming language that gives you peace of mind from development to production, was also motivated by Rails.
All this strong influence creates a new default on web frameworks that have handy generators, tests by default, value simplicity, and adopt convention-by-configuration. Currently, it is expected for a web framework to have all these features that Rails first compiled.
Maturing and staying relevant
The Ruby on Rails web framework powers lots of services out there, including GitHub, Heroku, CodeClimate, TravisCI, and Shopify. It is indeed widely used and popular technology. But what makes Ruby on Rails so special among all the other options nowadays?
Every modern language today has its Rails-like web framework. PHP has Laravel, Elixir has Pheonix, Java has Spring. Ruby on Rails is not as disruptive as it was back in 2004. Every year Ruby developers have to answer the same question: "Is Rails dead in #{Date.today.year}?". The truth is Rails is still firm in its philosophy and are always improving.
The truth is Rails is still firm in its philosophy and are always improving. The last big releases included Action Mailbox, Action Text, paralell testing, a new default JS bundler, Active Storage, HTTP/2 Early Hints, a new and secure way to store secrets. Not to mention Ruby 3 improvements and new features, such as Ractors (Erlang-like actor-model concurrency), typing definitions, and more.
About Vinicius Brasil
Building cool stuff with Elixir, OTP and Ruby. Majoring in Theology and musician.