David Heinemeier Hansson

August 12, 2021

Modern web apps without JavaScript bundling or transpiling

I didn't much care for vanilla JavaScript prior to ES6. Through all of the 2000s, I chased different approaches to avoid writing too much of it. First there was RJS (Ruby-to-JavaScript). Then there was CoffeeScript. Both transpiling approaches that turned more enjoyable-to-write source code into the kind of JavaScript that browsers wou...
Read more

August 11, 2021

Too many fights on too many fronts

Compared to its big tech compatriots, Apple has only recently reached Grand Scrutiny Station. The place where everything you do is met first with skepticism and scrutiny – by an influential segment of the masses and the media – more so than courtesy or curiosity. That's undoubtedly a foreign place for Apple, after so many years of unad...
Read more

July 1, 2021

Broken software invites collaboration

After two decades of open source participation, I’ve found it easier to cultivate community collaboration around software that’s obviously a little broken. Waiting until the project is pristine before sharing it with the world creates an aura of perfection that intimidates and alienates. So releasing before every bug has been squashed,...
Read more

June 23, 2021

Here comes the law

It always seems impossible until it’s done. And few fights have demonstrated this more than that against the monopoly abuses of big tech. For over a decade, the likes of Google, Apple, Amazon, and Facebook have been able to get away with murder in digital markets without fear of consequences. Wrapping their tentacles ever more forceful...
Read more

June 15, 2021

Bringing Hotwire to Basecamp

Hotwire is now powering Basecamp 3 on the alpha version we're running internally, and I thought it'd be helpful to document the upgrade process. Although upgrading is perhaps a big word. It's not like we rewrote all the JavaScript we have to make this happen. Coexisting is probably a better term. While existing JavaScript code stays as...
Read more

June 8, 2021

Email spy pixels are dead now that Apple will follow HEY

There's no advocacy as effective as competition. I could have yelled and screamed about email spy pixels till I was blue in the face, but it was building a serious set of defenses into HEY that turned the argument into action. And now the entire email tracking industry is about to be turned upside down, as Apple has announced they'll f...
Read more

June 3, 2021

We're hiring!

In the past few weeks, we've filled a bunch of vacancies at Basecamp with wonderful new coworkers. People we mainly found through our personal networks and other informal channels. But now it's time for the first big open call. We always do these with a bit of trepidation, because it's a lot of work. We usually get hundreds of applicat...
Read more

June 3, 2021

Building Basecamp 4

Since launching Basecamp in 2004, we've rewritten the entire system not once but twice. First with Basecamp 2 in 2012, then with Basecamp 3 in 2015. Yet unlike other infamous rewrites, we didn't do it due to technical debt. We did it because we wanted Basecamp to be a radically different product every time. The big ideas that animated ...
Read more

May 28, 2021

You'll pay for it either way

“If you need a machine and don't buy it, then you will ultimately find that you have paid for it and don't have it – Henry Ford” I was thinking of this quote all week, as I worked on a new internal operating tool for supporting Basecamp. We must have wasted thousands of hours over the years on routine support questions for Basecamp tha...
Read more

May 25, 2021

Targeted ads are staggeringly unpopular so we should ban them

People really don't like getting tracked around the internet by targeted ads. I mean really, really don't like it. A staggering 96% of users in the US are declining the privilege of being followed around their apps and websites for the grand prize of "more relevant ads" when given the choice in iOS 14.5. The American public can barely ...
Read more

See more posts »