00:00:05.279
There's no time like the present to get into our big keynote for the day. I want to welcome to the stage...
00:00:12.300
I've switched rooms; this is a little more casual for this conversation. Let's welcome to the stage David.
00:00:18.180
David, how are you? Are you coming to us from inside a black hole? I see, so how is the void treating you?
00:00:23.279
Well, it's treating me very well, yes. Thank you for having me back.
00:00:29.820
Of course! I was just thinking earlier about us doing this over Skype, which we did for 2020. It's been quite a year.
00:00:35.219
How have you held up over the past year? I think trying to summarize the entire year in a binary statement like that is impossible.
00:00:41.579
This is a quantum statement of four simultaneous states throughout the year or a year bouncing back and forth between them. Yeah, it’s been wild.
00:00:46.920
Let's just say that. I couldn't agree more. Well, with that, let's jump into the questions I've got. I'm going to do a thing that's a little dangerous...
00:01:09.540
If you have a question for David, you can put it in Discord, but I'm not necessarily going to read them all. So, you need to be diligent, express it clearly so that I can see it.
00:01:22.680
I’ll check it if we have time—no promises. Okay, great! Now let's get into it. This time last year, we were talking about the hey.com launch, which seems to have gone well.
00:01:36.780
Congratulations! I thought we would talk a little bit about that today. Has it, first of all, gone as well as it seemed? How did it seem?
00:02:03.119
Well, I recall two weeks of absolute hell when we first launched. I'll just keep it short: it started badly, but it turned out well. I think it didn't start in any way like we thought it would have.
00:02:14.220
But where it turned out, I’m really pleased. I've worked on Hay for about two years. When we hit 'Let's go,' we had written thousands and thousands of lines of code, done all sorts of preparations and tests, and we were ready to launch an email service.
00:02:44.879
It's funny because I was asked in an interview back in 2011 or 2012 by none other than Jason Fried, saying, 'Oh haha, Basecamp. So when are you going to take on some real competition like Gmail?' I was laughing at the time, thinking, 'Who would be insane enough to want to do that?'
00:03:20.220
And here we are—what is that, eight or nine years later? Literally taking on Gmail, trying to do email, which is by far the hardest thing we've ever tried to do at Basecamp. The criticality mainly of the service is what makes it so challenging.
00:03:46.260
With Basecamp, you store a lot of business data and if you go down, someone can’t get to their PowerPoint about the quarterly earnings. But if your mail service goes down, people can’t get to their flight tickets, board their planes, or get notifications from a doctor. The criticality is about as high as it gets in communication.
00:04:54.139
Actually, I'd say higher than any other form of messaging systems. Your email address is critical—it plays everything on a dramatically different level. So, we went into this wondering if we were ready for this. I've made information systems for 20 years, but email is extremely critical—it's a different challenge.
00:05:39.600
We have all these parts and pieces of the puzzle, which is what's wonderful about developing something like Hay. It's a completely different category requiring new solutions that we haven't dealt with before. This arrives at a place where I get to do my favorite things—write code to solve real problems.
00:06:51.300
Then extract that code and put it into Rails. Absolutely! You hit on a great point. Email's a whole different ball game compared to the information architectures you've worked on in the past.
00:07:05.000
I’m curious if you've thought about the architecture for that service. Has it looked different from the architecture of your other services? Did you write an email server in Ruby, for instance? I find that particularly interesting.
00:08:36.720
It's funny you should mention that because, even though we haven’t announced it yet, we are actually working on an email server in Ruby. What we came to realize is if you're serious about being an email service, you essentially have to build your own email server.
00:09:48.120
Action Mailbox came straight from Hay before we even launched, and it was one of the first things we started working on. Now we're also directly working on the mail server itself, so we can do more things and make tighter integrations than Postfix allows us.
00:10:36.000
Ironically, what gave us the hubris to think we could do email is that Basecamp has been sending 5 million emails a day for quite a while. So, the volume of emails we were sending made it seem plausible that we could manage it—however, ensuring delivery is really high criticality.
00:11:56.420
When your mail service goes down, it’s truly problematic. I actually think it’s kind of sad—it’s disappointing that it is so hard to do this properly. Email would not work the same way today if you launched it now.
00:12:22.380
You would never be allowed to launch such a platform; someone would say, 'I can monetize this platform.' You could never have what we have with email today.
00:12:36.420
It’s a treasure that we need to take care of. We need to modernize it while still honoring the fact that email has been around since '78 and it still works amazingly.
00:12:44.360
People always say, 'Oh, this service is going to get rid of email.' We've seen this happening time and time again. It's interesting to note that their inability to execute isn't due to a lack of capability but rather reflects the inherent utility of email.
00:13:28.120
You can easily send a structured message to another human, and it needs to be delivered in a reasonable amount of time. That simplicity, that core utility is just so difficult to replicate, especially when everyone already has email addresses.
00:14:48.720
It's interesting how we see that with things like Flash; I think that browsers have gotten fast enough that old Flash games will make a comeback via on-demand conversions to HTML and JavaScript.
00:15:25.680
We can play all those old Flash games great. There are actually bunch of converters to make that happen. Retro gaming is very special because it helps us preserve the history of computing.
00:15:58.500
Talking about piracy, there’s a delicate balance with IP laws and the ability for people to find and play old games. Those types of laws restrict access to the past.
00:16:03.960
I think the industry needs to continue fighting against those laws because they prevent access to a lot of wonderful gaming experiences we had growing up.
00:16:22.800
We've seen victories here, like with Oracle and their API fight with Google. It serves as a reminder that these fights can reshape aspects of the software landscape.
00:17:01.639
One thing that resonates with me is the importance of remaining vigilant and speaking out about monopolistic practices in tech. Sharing experiences can lead to discussions that drive change.
00:17:43.980
We also need to continue supporting open platforms and access to computer systems for everyone; we can't let monopolists define what we can and cannot do.
00:18:00.980
It's crucial that we maintain the ability to create and innovate without permission. With all those trends, the world of programming does seem to be changing.
00:18:30.780
There’s always a chance to push back against that tide, to advocate for freedom in technology. Ultimately, it's the voices, conversations, and actions today that might change the future landscape.
00:19:10.640
Overall, the world of tech is always shifting, and while some trends may tend towards monopolization, opportunities for change still exist. It’s vital to recognize this.
00:19:22.300
As for our future, being willing to engage in meaningful discussions about technology, society, and innovation is important. We need to ensure the conversation keeps moving forward.
00:19:34.680
I’m glad to witness Europe and other regions pushing back against monopolies with regulations. There are signs of movement.
00:19:46.040
On the topic of Rails 7—recently, I saw that we're getting ready for some exciting changes that are aimed at sustaining the modern web approach and enhancing user experiences.
00:20:00.020
I’m particularly excited about reaching a place where we can leverage Hotwire for Rails without needing to rely on node.
00:20:05.640
That's going to be a breakthrough for Rails development.
00:20:10.480
I think all these advancements are going to open up a lot of opportunities for developers.
00:20:14.260
The focus is on making app development simpler and more accessible.
00:20:17.400
With all the complexity we face today, simplifying the experience should always be a top priority.
00:20:22.560
I hope to see everyone continuing to push for practical solutions in app development.
00:20:28.420
Let’s ensure the future is built on blocks that empower developers rather than limit us!