David Heinemeier Hansson

December 16, 2021

The One Person Framework

Seven is the version of Rails I've been longing for. The one where all the cards are on the table. No more tricks up our sleeves. The culmination of years of progress on five different fronts at once.

The backend gets some really nice upgrades, especially with the encryption work that we did for HEY, so your data can be encrypted while its live in the database. At-work encryption, as we call it on the HEY security page.

But it's on the front end things have made a quantum leap. We've integrated the Hotwire frameworks of Stimulus and Turbo directly as the new defaults, together with that hot newness of import maps, which means you no longer need to run the whole JavaScript ecosystem enchilada in your Ruby app.

Turbo traces its roots back to 2012 with the first release of its predecessor Turbolinks. And Stimulus saw its origin in a Christmas spike I did almost exactly five years ago in frustration over the many different ways we were doing JavaScript sprinkles in Basecamp at the time. It's this work that's now finally ready for the big stage of being Rails defaults.

The part that really excites me about this version, though, is how much closer it brings us to the ideal of The One Person Framework. A toolkit so powerful that it allows a single individual to create modern applications upon which they might build a competitive business. The way it used to be.

There's so much to learn these days, if you want to be an expert in all the latest tools and techniques. The conventional path, as paved by solutions extracted from giant tech companies, is a journey akin to The Oregon Trail. You might well die of dysentery before you ever get to your destination!

Rails 7 seeks to be the wormhole that folds the time-learning-shipping-continuum, and allows you to travel grand distances without knowing all the physics of interstellar travel. Giving the individual rebel a fighting chance against The Empire.

You simply can't play by the same rules against an opponent exponentially stronger than you.

The key engine powering this assault is conceptual compression. Like a video codec that throws away irrelevant details such that you might download the film in real-time rather than buffer for an hour. I dedicated an entire RailsConf keynote to the idea.

Will it succeed? Who knows. There are so many vested interests in the subdivision of expertise now. Specialisms are getting ever more narrow. And this is trying to go in the opposite direction.

But if there ever was an opening, ever was a chance that we might at least tilt the direction of the industry, now is it.

What a glorious time to be working in web development. It's been well over twenty years for me now, and a big release like this still makes me giddy like nothing else.

To infinity and beyond!

the oregon trail game.png