textlize pricing account
Rails World 2025 Opening Keynote - David Heinemeier Hansson
Cover

01:03:55

Beyond the Hype: Why Modern Web Development Feels Broken and How Rails 8.1 Fights Back

In a candid opening keynote at Rails World 2025, David Heinemeier Hansson (DHH) delivered a powerful critique of the modern software development landscape. He contrasted the theoretical abundance of tools and power with the daily frustrations developers face, arguing that the industry has lost its way by optimizing isolated slices of problems at the expense of the whole. His solution? A renewed commitment to end-to-end problem-solving, philosophical clarity, and a suite of practical new features coming in Rails 8.1.

The Curious Paradox of Modern Development

DHH opened by highlighting a stark contradiction: developers have never had more free, open-source software or faster computers, yet many days are filled with frustration and a sense of regression. He posits that this stems from a fundamental failure: we've sliced big problems into tiny, isolated pieces. While individual slices may see progress, the sum of these parts often moves the entire system backward.

A Story of Regression: From 5 Seconds to 8 Days

To illustrate this regression, DHH compared development and deployment workflows from 1999 with those of today. In 1999, a single developer could deploy a change via FTP in about five seconds. Today, he noted, teams of 50 can often take an hour, three hours, or even eight days to deploy a single change—a massive step backward in efficiency and developer happiness.

The complexity of the modern stack has exploded, yet the core task of most web applications remains fundamentally the same: reading from and writing to a database, then formatting the output. This unnecessary complication, DHH argued, has made systems more brittle and less reliable, with many struggling to achieve the "three-nines" (99.9%) uptime that was common decades ago.

The Real Culprit Isn't Just "Merchants of Complexity"

While companies selling complex solutions (dubbed "merchants of complexity") benefit from this state of affairs, DHH challenged the audience to look inward. He suggested a psychological need exists among developers to be seen as more than "CRUD monkeys"—to employ computer science degrees on complex, "interesting" problems rather than embracing the simple, productive work that actually builds most software.

The Rails Philosophy: End-to-End Problem Solving

The antidote, according to DHH, is a return to frameworks that solve the entire problem. Rails has always been a "mega-framework," aiming to provide everything most people need to build a web application. This maximalist approach—tackling templating, database access, routing, email, background jobs, and more—has fallen out of favor with newer, more minimalist frameworks. DHH argued that open source needs to reclaim this ambition of solving full problems.

He framed this mission using the metaphor of the Roman Empire at its height, governed by three core virtues:

  • Libertas (Freedom): The freedom to change anything in the open-source framework.
  • Proprietas (Ownership): Full ownership of your code and your decisions.
  • Pietas (Duty): The duty to contribute back to the open-source community and framework.

What's New in Rails: Expanding the Empire

DHH transitioned to announcing concrete gifts for the community—new features and improvements developed by 37signals that are coming to Rails.

Markdown as a First-Class Citizen

With Markdown becoming the "lingua franca of AI," Rails 8.1 will make it easier to generate and consume Markdown. A new format.md option and render markdown: method will allow objects to be duck-typed into Markdown output, facilitating better integration with AI tools.

A New Default Editor: Lexical for Action Text

The Trix editor, which has powered Action Text, is being replaced. 37signals is making the switch to Lexical, a text editing framework developed by Meta that powers Facebook, Instagram, and WhatsApp. This brings live syntax highlighting for code blocks, better Markdown import/export, and the backing of a large, dedicated engineering team.

Action Job Continuations

A new feature for structuring long-running jobs so they can be interrupted and resumed without losing progress. This is crucial for environments like 37signals', where deploying a new version shuts down old containers within 30 seconds, preventing lengthy jobs (like a large account export) from failing.

Conquering the Native Frontier

Acknowledging that competitive web applications require native apps, DHH announced work on Turbo Offline and Action Push to close the gap.

  • Turbo Offline: A two-phase solution to enable offline functionality for web and native apps built with Turbo. Phase 1 caches pages as you visit them; Phase 2 will allow preemptive caching of specific pages.
  • Action Push Native: A new library to simplify sending push notifications directly to Apple (APNs) and Google (FCM) platforms, removing the need for services like AWS Pinpoint. It provides a clean, unified syntax for configuring and sending pushes.

DHH also mentioned that Action Web Push is in use at 37signals but needs to be extracted into a public library, offering a challenge to the community to help make it available to all.

Pruning the Empire: Where Rails Needs Less

A healthy ecosystem requires not just expansion but also pruning dead ends and unnecessary complexity.

Simplifying Local Development

DHH advocated for ditching complex local development setups. Since 2017, localhost has been a secure context, eliminating the need for tools like Puma Dev or local SSL certificates. He also recommended against using Docker for everything in development, suggesting instead using it only for services like databases (via Docker) and running native Ruby via tools like Mise.

Re-evaluating System Tests

Citing a decade of frustration, DHH declared that system tests, in practice, are often "brittle, broken, slow, and totally not worth it." Based on experience at 37signals, Rails 8.1 will no longer generate system tests for new controllers by default and will deprioritize them, recommending they be used only for a small number of high-level smoke tests.

The End of Cloud Test Runners?

With the dramatic improvement in local machine performance (especially Apple Silicon and high-end AMD chips), DHH questioned the need for slow, complex cloud-based CI runners for most teams. He demonstrated that the large Hey test suite (30,000 assertions) runs in 1-4 minutes on modern local hardware, compared to 15+ minutes on cloud runners. He proposed a return to local testing, pinned dependencies, and using GitHub's required attestation feature for trust-based sign-off.

The Ultimate Local Setup: The Omachi OS

DHH's obsession with reducing setup time led him to create Omachi, a Linux distribution tailored for Rails development. The goal: a new developer should be able to go from a blank machine to deploying a change in production in 15 minutes. In a live demo, he installed Omachi on a Framework laptop and created a new Rails app in under seven minutes.

Omachi is built on a philosophy of "fun" and ownership, pre-configured with everything a developer needs (Mise, Docker, LazyGit, Neovim) and featuring a tiling window manager (Hyprland) for a highly efficient workflow. It represents the ultimate expression of controlling your entire development environment, free from external constraints.

Pushing the Edge: The Future is Micro Data Centers

The keynote concluded with a forward-looking vision inspired by the low cost and high performance of modern mini-PCs. DHH argued that the cloud's economics are broken for many workloads, proposing a future of "micro data centers" worldwide to minimize latency.

This vision is being tested with 37signals' new product, Fizy. It relies on several ambitious new projects:

  • Active Record Teneting: Isolating each customer to their own database.
  • Beamer: A replication system for syncing tens of thousands of SQLite databases.
  • Kamal Geo Proxy: Extending Kamal to route users to the nearest application instance based on geography.

This architecture leverages HTTP's original design—using POST for all mutating requests—to manage the complexity of distributed reads and a single write leader, aiming to bring response times down to a target of 200ms globally.

Conclusion: A Return to End-to-End Freedom

DHH's message was a call to action: developers must reclaim end-to-end ownership of their craft, from the operating system to the deployment pipeline. By embracing simplicity, rejecting unnecessary complexity, and contributing to open source, the community can realign progress with the actual experience of building software. The forthcoming features in Rails 8.1 and the broader ecosystem are practical steps toward that goal, championing the virtues of freedom, ownership, and duty.

© 2025 textlize.com. all rights reserved. terms of services privacy policy