localfirst.fm

A podcast about local-first software development

Listen

Conference

#11 – Adam Wiggins: Local-first Conf 2024


The guest of this episode is Adam Wiggins, who is the founder of Heroku and one of the co-authors of the local-first essay by Ink & Switch. As Adam is also a co-organizer of the first local-first conference, this conversation will reflect on the event, share our learnings and discuss a couple of key topics such as a new definition of local-first software. 

Mentioned in podcast


Links:

Thank you to Expo and Rocicorp for supporting the podcast.

Transcript

Intro
00:00You know, in the end, I kind of hope all software will be local-first, but there's
00:03varying degrees to which paying that, being early tax, the pioneer taxes, as you
00:09described it, may be worth it depending on the domain that you're building for.
00:13But of course, over time, that pioneer tax gets less and less.
00:16It's already gotten way less than last year, and probably in the
00:19last six months, it will get less.
00:21It's going to continue going down, and so that makes the trade off.
00:25to think about less and less.
00:26And eventually it just becomes the pragmatic solution to just
00:30say like, Oh, obviously you're going to do things that way.
00:32That's just kind of the best way.
00:34Welcome to the local-first FM podcast.
00:37I'm your host, Johannes Schickling, and I'm a web developer, a
00:40startup founder, and love the craft of software engineering.
00:43For the past few years, I've been on a journey to build a modern, high quality
00:47music app using web technologies.
00:50And in doing so, I've been falling down the rabbit hole of local-first software.
00:54In this episode, I'm speaking to Adam Wiggins, who's the founder of Heroku
00:58and one of the original co-authors of the local-first essay by Ink & Switch.
01:03As Adam is also a co-organizer of the first Local-First Conference, in this
01:07conversation, we reflect on the event, share our learnings, and discuss a
01:11couple of key topics, such as a new definition of local-first software.
01:16Before getting started, also a big thank you to Rosicorp and
01:19Expo for supporting this podcast.
01:22And now my conversation with Adam.
01:25Hey Adam, welcome to the show.
01:26How are you doing?
01:27Hey Johannes, I'm doing really well.
01:30Still kind of glowing with the buzz of a successful conference.
01:34Yeah, I'm super excited to have you on the show.
01:37Uh, and to be fair, this show probably wouldn't exist without you since you've
01:41provided a lot of guidance behind the scenes, given that you've, run this, this
01:46amazing podcast for Metamuse, which has always been a lot of inspiration to me.
01:52And so you've certainly been a bit of a catalyst for me to start this
01:55podcast, but for the audience who's maybe not as familiar with you, would
02:00you mind briefly giving a background and what led you to local-first?
02:04Certainly.
02:05Well, I think a lot of folks might know a company I started called
02:09Heroku, which does web app deployment, very cloud centric, which is sort
02:13of part of the story of what brought me to local-first is going all in
02:17on cloud when that was on its rise.
02:21Since then, I founded a industrial research lab called Ink & Switch, which
02:25I'm guessing listeners of the podcast may often know that that was the place
02:30where we gestated first the research, the kind of CRDT and peer to peer stuff
02:35that led into us forming this position piece, which we eventually decided to
02:40give the label local-first software and indeed has continued to try to
02:44push forward in that, in that field.
02:47And after that, I went to work on a spin out from the research lab called Muse,
02:51which is an infinite canvas for thinking, did that for about four years before
02:55handing it over to my colleague who's still running it, and, we built that
02:59as a fully local-first system, kind of homegrown, and, Yeah, that's, uh, that's
Local-First Conf genesys and recap
03:06Yeah, I feel like there's a lot to unpack and to go deeper, but that is not the
03:11focus for today's episode, since, you and I have not just been collaborating on the
03:16podcast, but also on another undertaking, which is the first Local-First Conference
03:23that we did together in Berlin.
03:26And so this conference kind of came to be as I did last year, when Jeoffrey
03:32Litt was in town, I wanted to meet with Jeoffrey and a whole bunch of other people
03:36and the common theme was local-first.
03:38So I felt like a good way to accommodate all of that is like led to me doing
03:44a local-first meetup in Berlin.
03:46That went so well and had so many people show up and so many interesting
03:50conversations that at a minimum, I was thinking of doing the meetup
03:54again, but I was floating the idea of doing a Local-First Conference,
03:59and taking sort of that next step.
04:01I was floating this idea with you and I was floating this idea with a
04:04few other friends who I organized, the GraphQL conferences in the past.
04:08So one thing led to another.
04:10And, jokingly thinking about starting this conference led to us actually grouping
04:16up, doing the conference together.
04:18And, I think it went absolutely brilliantly.
04:22So, so many interesting folks Giving amazing talks, so many interesting
04:27conversations of in between the talks and people came from all
04:32across the world, from like Hawaii to Australia to Singapore and Bangkok.
04:38And so that went way beyond my expectations, but I suppose only
04:43a few amount of the people who are listening to the podcast maybe had
04:47the chance to actually attend since the tickets were kind of flying
04:51off the shelves pretty quickly.
04:52So would you mind providing a recap of like what the conference, how
04:58that actually went down for, for the few days where it happened?
05:01Yeah, there's a lot to tell there.
05:03Uh, if I can add just slightly to your, to your origin story, uh, there,
05:07I do think it's interesting to note that, you know, you talked about the
05:10meetup that you organized last year and all the energy that came from that.
05:14I mean, I think you and I were, were discussing around that time, you
05:18know, over lunch or something like that, that like we saw this surge in
05:22interest in local-first, well funded companies who are popping up to build
05:26infrastructure, more products who are either using that terminology in their
05:30marketing or building in that, that way.
05:32And this is sort of surprising because the paper itself is five years old.
05:37A lot of the research and technology is closer to a decade old.
05:41Why now in particular?
05:43And I think the answer is ideas just take a long time to disseminate or I'm not
05:47even sure why, but we were just observing this and saying, This is pretty exciting.
05:50And then what should we do to help that?
05:52And I was brainstorming along the lines of like, maybe it's the time to make
05:56a foundation or something like that.
05:58And you, you kind of felt no, and I think your instincts were right.
06:02And ultimately, yeah, you organized the meetup.
06:04That was an incredible amount of turnout and energy there.
06:07You said, I'm going to start a podcast, which you have done and,
06:10and it's going great from what I can, uh, what I can tell as a listener.
06:14And then this beginning of this year, you said, you know, maybe it's the time
06:18for a conference to really try to put it on the map, not just as a kind of an
06:22academic thing, because there have been programming local-first days connected to
06:26academic conferences, but as a thing for builders and a thing for, this is a thing.
06:31This is a technology or a set of ideas about how to build
06:35applications that is real.
06:36It is here now.
06:37You can use it.
06:38It's exciting.
06:39And, you know, meet other people who are, meet the other weirdos
06:43who are interested in this.
06:45I think this very distinctly marked a moment for me where There were
06:50so many people and, most notably a bunch of people who I've never
06:55seen before, who I've never met.
06:57So this kind of like tightly knit group of local-first experts
07:02seems to have like really grown already into a wider audience.
07:06Who, taking those ideas, building apps that I wasn't aware of.
07:10And so this is growing beyond this, this, core group, which I think is a, is a
07:16brilliant sign of success that the ideas are, going to where they need to go.
07:21Yeah, that's a great point.
07:21I think that was part of the thing last year.
07:23It was like, up until that point, if anything ever came along, a
07:27library, a product, an essay that referenced the concept, I'm like,
07:33oh yeah, I know who that is.
07:34I know them from this core community, this small circle of
07:37people who's been interested in it.
07:38And last year, it started to be more and more things popping up where
07:42I just thought, I'm Who is this?
07:43I've never met this person.
07:44That's good.
07:45It's growing beyond its, its origins.
07:47Exactly.
07:48And I think what's also been interesting in the conference, and I'll invite you
07:52to provide a recap to, to that shortly, but it's been so interesting that
07:57like local-first has sort of a diffuse timeline where there's certainly the
08:03very notable point in time where you and Peter and Martin, et cetera, have
08:08like written this, this amazing essay.
08:10But the ideas of local-first, already were out there before that.
08:15They were maybe not as crisply written down.
08:17And so at this conference, we also had people who've been de facto doing
08:21local-first software before the term was like as clearly written down.
08:26And so we brought together all of like those sort of like Real old school,
08:30like OG, local-first people and sort of like the people who just got
08:35attracted by the essay and beyond that.
08:37So, yeah, I'm curious, maybe you can recap, what was the goal for how
08:43we laid out the conference and what did happen over the conference days?
08:46Yeah, so we wanted to make it big enough to feel, well, I guess like a conference,
08:52like an event, like something serious.
08:54This is a community with some gravitas to it, but small enough to still be intimate.
08:58We want to be able to talk to everyone.
08:59And honestly, we really didn't know the level of interest there would be.
09:02As you pointed out, we, we sold out way too quickly.
09:05We had to turn lots of.
09:06Wonderful people away and speaker plus ones and everything like that.
09:10So, so maybe we, we underestimated the interest, which is, I guess, a
09:13good problem to have, but yeah, we had a venue for about 200 people.
09:16Uh, we ended up with 18 speakers, which was a lot to fit into to one day.
09:20Um, although I think the, the rapid fire nature of it also helped create a lot
09:24of energy and keep the signal, the noise or the, density, I guess, of information
09:28high, which I liked quite a bit.
09:30So that was sort of the main day event in a beautiful venue that, you
09:33and, and our other, co conspirator Emma had, had used in the past.
09:37and then we did a second event that was kind of, or a second day that we sort
09:40of added on a little later when we saw the interest, which we call an Expo Day.
09:45This was run by, our friend Peter Van Hardenburg, where basically bringing
09:49all the people who are building infrastructure, that is, say, libraries
09:52or, um, services that provides some kind of framework or, or way to, to
09:58do local-first versus, you know, just sitting down to write your own CRDT
10:02from scratch, and get them to get up, give a demo, help everyone walk through
10:06it on their laptops, get started, and then provide hands on support.
10:10So hopefully going from the speaker day, or the intention anyway is to
10:13go from the speaker day with the talks to get everyone inspired.
10:17and then go into a day that was more about building and making things.
10:20And I think, indeed, that is, that is how it worked out.
10:23And then, the other, I think, awesome thing that happened, in
10:26addition to, the main event is we actually had satellite events.
10:30We had folks who, uh, did things before and after.
10:33One of the more notable ones, I think, was that there was a Future of Coding
10:36meetup that someone organized for the day.
10:39After, I got word, uh, later that a bunch of the folks working on the
10:44identity problem, which is, remains kind of one of the big unsolved problems
10:47of local-first, got together and did like a 12 hour marathon session.
10:51and there's a, uh, a blog post we can maybe link to in the show notes,
10:54which was kind of the output of, what the state of the art is there.
10:58And then I think there was just a ton of follow on, uh, work.
11:02Kind of energy or something like that on, on Twitter.
11:04So there's various threads around people reflecting on the conference, of course.
11:09Paul Butler had a really excellent write up.
11:11Again, maybe we can link that as well.
11:12But also just a lot of people discussing and debating, and I think therefore
11:16surfacing the term for new people.
11:18A lot of folks coming in and being like, wait, what is,
11:20what are we talking about here?
11:21What is this local-first thing?
11:23But people also having good genuine arguments about, like, is this, you
11:27know, is this trend something that is worth paying attention to, what are the
11:30real benefits here, why do you want to do things this way, and so the, just the
11:34sense that, I think, again, part of our goal for the event was help give this
11:39community a center point and put it on the map and further expand the community
11:45beyond this core set of people who've been interested in it for a long time.
11:49And I, at least I feel like it really, accomplished that.
11:51What's your, what's your read on the, uh, you know, looking
11:54back post talk a little bit
11:56yeah, absolutely.
11:57So I found it so fascinating how we tried to create a bit of a
12:02structure of like a conference day, as opposed to an unconference.
12:06It's like certainly a more structured, a more curated experience where people
12:11like need to come to the same place.
12:13It was very important for us that we wanted to make it a, like, more
12:16put the focus on the in person experience, throughout COVID, etc.
12:21I've attended many online only events, etc.
12:24And it's just not the same, like , You can't compare meeting someone, like
12:29going really deep, very quickly on a certain topic, grabbing a coffee with
12:33them, going even deeper and exchanging ideas in a very like organic way.
12:37You can't do that over text chat or over Zoom.
12:40So doing that in person where other people can chime in, this
12:45was certainly the bread and butter.
12:46and so combining that with inviting like people who have deep expertise
12:52so they can give talks, et cetera.
12:55This was the foundation, but where this then led to that it
12:58wasn't just the conference day.
13:00And then we did the, the, the expo day after, but that like kind of
13:05organically and spontaneously, other people contributed whole
13:09satellite events around it.
13:10It really felt like a whole, not just a Local-First Conference
13:14day, but a whole local-first week where we had amazing people coming
13:19from, from all over the world.
13:21And so for me, basically started, even though the conference day was on
13:25Thursday, For me, it started on Monday night when, Steve Ruiz and other people
13:30came in and when we went to a beer garden until midnight every day, and
13:34we're just going deep on, on syncing and CRTs and trade offs, et cetera.
13:39And that, that was amazing.
13:40Um, and so just to see.
13:42The, the energy and like the different sort of paths that people have,
13:46where some of them are building apps, some of them are building tools.
13:49Some of them combine both or tackle it from an entirely different perspective.
13:54this was just a wonderful, uh, coming together of different people.
13:59So this was the core of it for me.
14:01The different people aspect of things was both a goal, a top level goal for me.
14:06Uh, and also my biggest concern about whether it would work.
14:10So basically I saw it as a chance to, you know, we talked about
14:13expanding that core community.
14:14I saw it as something where you had people, especially around the academic
14:19world or connected to Ink and Switch in the research world, or have been working
14:23on this realm of things for a long time, or often come at it, and I put myself
14:28in this category from an ideological perspective, this way of building
14:32represents a way that I think computers can be better for humanity on net.
14:37It's not just about, of course, I love the better developer experience and
14:41the lower operational cost and some of these benefits, but I think that
14:44there is a philosophical aspect to it that is, for me, is the heart of it.
14:50But also, I think, to grow and to be, to go into the real world and to be relevant
14:55in the real world, you need to, in some cases, be more pragmatic than that.
14:59The way the one person put it in a, in a conversation with me is they're
15:03like, I came to this cause it's like a way to save money on my cloud bill.
15:06And it's just like.
15:07Clouds, you know, my cloud bill keeps killing my startups because
15:10it run up a too, too big a cost.
15:12And this is a way to cut that down.
15:14And that sounds so reductive and, almost even offensive.
15:17Maybe if you do come at it from the ideological perspective, but
15:19also that, that makes sense that there are a variety of benefits.
15:23There's a variety of paths of why you would come here.
15:25And so to, you know, I think the big tent approach of there's room for, for
15:29everyone, if we can find common ground.
15:32So we really were trying to bring in that core community, of course, but
15:36also people who are more pragmatic, you know, they're building a company,
15:40they're an engineer, they're a designer, something they want to get some specific
15:44immediate benefit for their business, or they see a commercial opportunity.
15:48For example, we've had a few investors here, you know, I think it's still
15:51pretty early for that, but a few folks who, you know, see that there's, uh,
15:55there's commercial opportunity there.
15:57and the 3rd demographic, if you, if you want to think of the, you know,
16:01the longtime core community, idealism driven folks, and then the builders or
16:06commercial opportunity, pragmatic folks as, as another demographic, a 3rd one,
16:11Actually, it would just be the local-first curious and some of the best conversations
16:14I had, I think, were, uh, with a lot of those folks, many of whom, you know,
16:18basically just said, I'd never heard of this term up until when this conference
16:21was announced, but I, I see there's something going on here and I I wanted to
16:24find out about it and it was great to get all those people together and our goal
16:27was to get all those people together.
16:28But there was also a chance that those people could very much clash.
16:32the, uh, folks who see pragmatic benefits in it, and the folks who come from
16:37a status quo perspective on building applications, and the folks who are
16:40long time members of the community might just not like each other,
16:45get along, or share enough values.
16:47so that was a concern for me, but I think 100% The way it bore out was we have
16:53way more in common than differences.
16:55Yeah, most certainly.
16:56I think we struck a really nice balance there where, it was very approachable
17:02for experienced engineers who've like experienced different kind of
17:06problems building cloud apps and building on different platforms where
17:11they might not be yet all familiar with the ideas of local-first, but I
17:15think they could throughout the stay.
17:18Uh, it really clicked for them how local-first provides an interesting
17:22alternative that addresses a lot of the problems that they have, as well
17:26as for people who are already very deep in local-first of the last couple
17:31of years, where you could learn a lot about different sort of trade offs and
17:35different experience paths of people who went already very deep on certain things.
17:39So I think we struck a really nice balance there.
17:42So the meat of the conference day on Thursday were most notably the talks.
17:49So I'm curious, given that you and I were both responsible in the organizing
17:54team to put together those talks.
17:56I'm super excited how everything, shaped out there.
17:59And, I think we managed to strike a really nice balance on like a spectrum
18:04of, of speakers, some who already, Go super deep on like local-first
18:10technological parts for many years, some are more on the pragmatic end,
18:15might not meet all the ideals of local-first, but reach millions of users.
18:19And I think that's all kind of like nicely converging.
18:22so I'm curious which talks, which speakers stood out most for you and,
Conference highlights
18:28Yeah, well, I suppose it's not surprising that you and I both, since we directly
18:32made the speaker lineup and got to pick all of our favorite people and
18:35put them in an order that we liked, uh, that we would both be probably
18:39pretty, pretty pleased with the outcome.
18:41I guess it's, I guess it's a good sign, that if anyone should
18:44enjoy it, it should be us.
18:45But yeah, I, this is the only time I have ever listened to every single minute of
18:50a talk in the entire day of a conference.
18:52usually there's some point I get a little bored or restless or, yeah,
18:56I just want to stretch my legs or just get, you know, caught up in a
18:59conversation and I, and, and I want to stick with that, but I really, all of
19:02these speakers had such an interesting thing to add to, like you said, that
19:06bigger stew of different perspectives.
19:09We also took the approach of making the time slots really tight, which had
19:13Sometimes I felt bad, I've seen some of the speakers have a little bit of
19:15anxiety about, you know, squeezing their, their content down, but I think it,
19:20it part of was what kept stuff moving and again, the density of the, the
19:25information just meant that like, there wasn't, there wasn't a moment to get
19:28bored, which I, which I really enjoyed.
19:30Yeah, it'd be hard to pick favorites, you know, but if you were going to look at
19:34some of the, you know, the temp polls, of course, we have, you know, our opening,
19:38um, kind of closest thing to a local-first celebrity, which was Martin Kleppmann,
19:41and he dug in on, you know, five years on from writing the initial paper, how would
19:46he You know, what would he add to that?
19:48Or how would he change?
19:50Um, you know, what have we learned in that time?
19:52And he touched on the kind of the definition of local-first,
19:55which I think is a, is an ongoing question for the community.
19:59Uh, we followed that up pretty directly with Tuomas Aertmann from Linear, and I
20:03think this is one of the bigger success.
20:05I mean, Linear is obviously a huge success story in the startup world,
20:08um, but the fact that they, I think he probably kind of built this way from
20:11the get go because he believes this is just the only way to build software.
20:16He jokes about like, when he sits down to ever start a new thing, the first thing
20:19he always does is write a sync engine.
20:21That's what he did here.
20:23Hopefully in the future, we have enough off the shelf stuff that's not necessary
20:26anymore, but you can very directly point to Linear is known for being so
20:31high performance and, uh, that makes it really stand apart from all the other
20:36SaaS alternatives in the industry.
20:38And, yeah, again, you can, you can debate the degree to which of those
20:41local-first principles they fulfill, but in terms of like a very high profile
20:45successful example where we're using local-first in how they built their
20:49product is directly connected to why they are so successful in their business
20:53and how they are differentiated.
20:55So I think that was a powerful one too, to take the, you know, the sort
20:58of community elder combined with, um, you know, a pragmatic example
21:01of how a product can be successful.
21:03And then, yeah, maybe some, you know, two other notable ones to me would be
21:08Aaron Goodman's talk, where he basically announced on stage his next iteration
21:12of the, I guess it's the RepliCache Reflect, and now what he's calling Zero.
21:17He's really been grappling with this space, I think.
21:19I think he was your first guest, if I'm not mistaken, on the
21:22podcast here, or one of the first?
21:23The second one.
21:24Peter was the first one.
21:25Yeah.
21:26Yeah.
21:27He's been grappling with this in the real world, I think.
21:29In the sense of building infrastructure for others,
21:32probably, almost as long as anyone.
21:34And he's been through these iterations and he talked about the partial
21:36sync and gave an amazing demo.
21:38And then the, the, the closing, closing talk was, uh, Maggie Appleton,
21:42who's always amazing, but she gave a talk on barefoot developers, kind
21:46of this concept, bringing together end user programming, which of course
21:49is very near and dear to my heart.
21:51If you know anything about my, my writing and, and, uh, interests.
21:55Putting that together with language models and AI and local-first, and that
21:58all of these things fit together in a, uh, in a way that's very significant.
22:02many, many folks talked about her, her talk as being a highlight of the day.
22:06So those were just a few that, um, seemed quite notable, let's say.
22:10What were some of your favorites?
22:12Yeah, I, I certainly agree with your picks here.
22:15Um, I'm actually the, the ones that you mentioned, I, I'm going to also have some
22:21of those on the, the podcast since there's so many interesting points in there that I
22:26want to, I want to Dive deeper in whether it's like how, Tomas had the foresight
22:32to bet on a sync engine when building a new product and, how that, like, I
22:37think he mentioned it on stage, it's like they, they can basically all focus on
22:42the front end engineering team, and kind of cut their engineering team in half,
22:46keep the company small and thus ship much more quickly and how that's just turning
22:52into a massive competitive advantage.
22:54So I think that's.
22:56You know, underexplored and underappreciated outside
22:59of the local-first bubble.
23:01So, that's something I want to explore more.
23:04And, I think, he also made an interesting point , he has written a great blog post
23:09about how like a typical MVP of a product is no longer enough to really make it in
23:14today's competitive landscape of products.
23:18And how you need to just, the bar is really high for building products
23:22and Linear has now shown where the bar is at and kind of the only way to
23:27get there, I think, is by following the local-first architecture for
23:31productivity and personal apps like that.
23:33So I think it was really inspiring to hear his talk there.
23:38And then, we also heard from, from a bunch of builders who've been building
23:42local-first and local-first technologies already for, at some point, more
23:47than a decade and who at some point learned like, oh, the way how I always
23:52build things is called local-first.
23:54And that's really interesting.
23:56And, then also, uh, from a tool builder's perspective, hearing about the interesting
24:01challenges and design trade offs.
24:04So what Aaron has announced with Ciro on stage was certainly very interesting.
24:09I think it kind of takes a step away from some of the local-first
24:13ideals, but on the other hand, makes it even more approachable.
24:18for people who are more coming from the cloud world and might
24:21be a bit of a gateway drug.
24:23Also bringing more people into the local-first ecosystem.
24:26And, Maggie's talk was like on a whole different level , and this is something
24:31I was really excited about, that this worked out since, she's been, on my
24:36radar for a long, long, long time.
24:39Like when she started out creating those amazing visuals for like Egghead
24:43videos, for Egghead courses, et cetera.
24:46This is where I like always appreciated how thoughtful shegoes about communicating
24:53difficult concepts and how, how much she thinks about those concepts that
24:57she can communicate those to others.
24:59And I think here, she's really taking it to the next level by immersing
25:03herself in the local-first ecosystem that she has not really been directly
25:09part of before but I think she has picked up all the right ideas.
25:14In preparation and connected the dots for herself with other topics that are really
25:19top of mind for her, end user programming, and coining a whole new term in the, in
25:24the process, uh, as Sparefit Developers, which is a topic I want to explore
25:29with her on a, on a future episode.
25:31So certainly, um, some, some brilliant highlights and I think
25:36Martin, also in a very nice way, reframed the state of the local-first
25:41ecosystem, like redefine the goal.
25:44What is local-first software?
25:46what is maybe not local-first software, I think was a brilliant way to start today.
25:51So now that we've covered the different talk highlights from, from
25:55our perspectives, I'm curious, what are some of the core themes, core
25:59learnings that are top of mind for you?
Conference core themes/learnings
26:03Well, certainly we touched on already that bringing together these different people
26:06who came to this, world with different motivations and different backgrounds do
26:12click and gel and share values together.
26:14So I think that was, a happy, a happy learning.
26:18Getting a little more kind of nuts and bolts.
26:20Uh, one of the things that really struck me was just the element of UI performance.
26:25And obviously we're just talking about Linear there, but, we
26:27had some demos specifically.
26:28You showed your app, Overtone, sort of flipping between playlists
26:32and comparing that to Spotify.
26:34then, Aaron showed, yeah, the demo was Zero.
26:37And we also saw there was a third one.
26:39Maybe it was jazz.
26:40In any case.
26:41Yeah.
26:42The thing that struck me seeing these different demos, so completely different
26:46people building in many cases, pretty different products, but all of them
26:49had this feel that was fundamentally different from most of the software
26:54that we use in our daily lives.
26:55And we've talked about.
26:57UIs should be fast or, you know, no spinners or whatever.
27:01And I think the way we wrote that in the original essay, I was thinking
27:04like, okay, I log into Google drive and it spins for five seconds,
27:08like literally 5, 000 milliseconds before I get a paint on the screen.
27:12Okay, we can do better than that.
27:14Maybe we could, you know, get things back in under a thousand milliseconds
27:17or under 500 milliseconds, but all of these demos show Next frame performance.
27:22That's something where it's, there's literally just no delay for in
27:26terms of like human perception and it feels fundamentally different.
27:32And to me, uh, when I think of how much human kind of energy and just
27:37like soul is lost on waiting for software all the time, the idea of a
27:43new generation software that is kind of next frame by default is, Very exciting.
27:48And seeing them side by side, again, that several other, um, many people
27:53building towards this have ended on a thing that has this fundamentally
27:57same feel that is the same as each other, but different from everything
28:01else we know outside of, I don't know, maybe like video games or something.
28:05That was That would, for me, was very powerful.
28:08And I think it's like, was not necessarily a new idea, but just reconfirming
28:12that, seeing that in different contexts, uh, reestablished for me,
28:16like, Hey, this is worthwhile doing.
28:18and it's just every time I, for example, do a search in Notion,
28:23particularly, uh, when you're in this weird middle ground between having
28:28perfect connectivity and offline, this is where like more traditional, kind
28:34Cache driven, web driven, software is like trapped in this middle ground.
28:39like I was just riding on a train two days ago and I was dreading the moment
28:44where I knew I needed to like change my Notion page and I need to navigate there.
28:49And the, uh, I knew this, I had this page open yesterday and I wanted to
28:54navigate it and like, it literally took me 30 seconds until enough packets kind
29:00of flew in and I could navigate there.
29:02And, uh, this can be so different.
29:05And I think it's, uh, the, the different demos in the conference showed that to us.
29:10So UI performance, and also the, the different perspectives from, tool builders
29:15and app builders and people outside of the local-first ecosystem all connecting.
29:20Anything else that, stood out for you as a, as a theme or a new learning?
29:24Well, obviously sync engines were, a frequent topic, that
29:28touched on in many ways.
29:29One thing I was quite struck by is how much similarity in, I guess, architecture,
29:36if that's a word for it, between all of these different presentations,
29:39which included, you obviously have the infrastructure creators like
29:43Jazz and DXOS and ElectricSQL and so forth, where they are very explicitly
29:48and intentionally trying to design a good general purpose sync engine
29:52infrastructure, architecture, API thing.
29:55For lots of apps to use, but also we heard a version of that
29:59from many of the app developers.
30:00So for example, GoodNotes, and they're a really interesting case where a
30:03very successful existing business.
30:05They have like 30 million active users.
30:07They're basically on every iPad in the world, effectively.
30:10and they, you know, they came to local-first because they needed a
30:13solution for essentially merging together rich text changes.
30:16And they're describing how they're, they're using Automerge to do that, but
30:20their core, Architecture, again, is this kind of event log model that then is fed
30:26in and, you know, turned in, reactively rendered, and there's, um, that kind
30:32of event or transaction based system is something you hear repeated again and
30:36again, and indeed that, uh, there are many other kind of concepts in the, call
30:41them the architecture diagrams, whether they actually put a diagram on screen
30:44or not, or just talking about it, you saw that, again, all these builders,
30:47some coming from the app side, some coming from the tool side, basically
30:51arrived at kind of the same solution.
30:53And again, that to me is surprising, but also heartening in the sense that
30:57you give a lot of, different smart and capable people the same set of starting
31:01conditions and problem statements.
31:03And if they arrive at a similar solution, that means that solution
31:07is something General purpose of wide utility, kind of a right solution if
31:13that's, if that's the word for it.
31:14So that was, that was very notable to me.
31:17Indeed, one of the points that Martin made in his opening talk was,
31:20in a few years, he'd like to see about going and getting an internet
31:25standard made for a sync protocol.
31:28And, uh, When he gave that, he's mentioned that to me privately.
31:31And when he mentioned in his talk, I'm kind of like, yeah, I don't know.
31:33Are we really like three years away from that?
31:35Like kind of seems like it's still too early for that.
31:38But then as I saw these architectural similarities across all these kind of
31:42sync engine solutions, I was left with the feeling of like, Oh, actually I do
31:47think we're a lot, I think he's right.
31:48I think we are a lot closer than, than I thought we were.
31:50Yeah, and I, I think this is a, this is the topic that I can't wait to,
31:55to see materialize more into reality.
31:58And I think there's like a longer timeframe there.
32:01Maybe in three years from now, we do the first early drafts
32:05of like a standardization.
32:07Yeah, it's probably start the process in three years, not finish.
32:12Exactly but until, until there's like a 1.
32:150 of something.
32:17There's like a reference implementation, etc.
32:20That's going to take a longer time and until maybe there are some pieces that
32:25need to actually trickle into browsers or operating systems, that's, uh, even
32:30further down the road, but I think we're certainly reaching a point where
32:34we've explored a bunch of different approaches in the ecosystem where we can
32:39now try to converge on some of those.
32:42And, what you've mentioned before, the kind of impromptu working group around
32:48authentication problems, et cetera, that is a major aspect and there are other
32:52major aspects that need to still be figured out, but it's really amazing to
32:56see how collaborative the entire ecosystem is where, yeah, different vendors and
33:02different individual tool builders, app builders, all come together, share their
33:06experience, and, trying to, to help create like some sort of, convergent technology
33:13into existence, that's really cool to see.
33:16Another way to frame that same, same direction you're going is kind of solve
33:21problems versus unsolved problems.
33:23And so increasingly, I think.
33:24A lot of the stuff in the sync engine side of things, can and should have
33:28many sort of competing solutions out of the marketplace, um, that fit different
33:33styles and, you know, maybe different language ecosystems and things like that.
33:37But in some senses, how to do a sync engine in this way, is mostly figured out.
33:44And actually one of my goals for the, the conference content was that the
33:51term CRDT should not appear too often.
33:55Um, because typically, again, you go to, some of the past events, that
33:59have, have existed with this or attend.
34:01You know, a conference or a meetup or just have a conversation with
34:05someone or anytime the topic comes up on Hacker News and people tend
34:10to be focused around the, yeah, but how do you merge changes together?
34:13And there is still plenty of interesting research being done on the CRDT side
34:18of things, and there will always be need for new data types as we.
34:21expand the different applications that people are applying this to,
34:23but ultimately how to build a basic CRDT and put that into a sync engine
34:29and make that work reliably across different devices and multi user,
34:33basically have that figured out.
34:35It's just now, it's a small matter of engineering now, which is still
34:38a huge challenge, but in the sense of like being a figured out thing.
34:44I think we're, we're basically there.
34:46Whereas there are other things here, and, uh, this was, uh, you know, a
34:49topic for the day, to some extent, is what are the unsolved problems?
34:52Um, that includes things like, uh, schema and, uh, schema migrations, uh,
34:57over time, identity, as I previously mentioned, kind of authentication,
35:02um, and, and permissions generally.
35:05And there's other stuff as well.
35:06but yeah, I think that as a community, a way to kind of collaborate loosely,
35:10even though we're all working on our own projects, is to think in terms of
35:14like, what are the relatively solved problems that we can codify with, I
35:18don't know, writing or, you know, open source libraries or things like that.
35:21We say this, this we basically have settled on the right way to do it.
35:26and there's many implementations of that.
35:28and then other areas where we still need a wide and diverse set of active experiments
35:33to try to figure out how are we going to, how are we going to solve this problem
35:37in a local-first, uh, compatible way.
35:39This is also what stood out to me and talking to speakers, talking to, to
35:45other attendees, is how have they.
35:48who ship products, who shipped apps, how have they navigated the trade off space?
35:54some have like used off the shelf, technologies such as
35:58like AutoMerge, Yjs, etc.
36:00But then you're sort of at the mercy of how far those technologies are along and,
36:06the inherent or current insufficiencies of those technologies are also, hard
36:14to, advance for, for you yourself.
36:17And, uh, I think there's a notable other approach for, for app builders,
36:23which is that they don't yet use one of those off the shelf technologies,
36:27but they've rolled their own.
36:29And, whether that's Good Notes or whether that's Linear, et cetera,
36:32they've all started so early that They were convinced this is the right idea,
36:37this is the right approach, but we don't want to wait five years for the
36:41technologies to be there or to be mature enough, so they built it themselves.
36:44And I think this is something that so many of those local-first apps
36:50have that in common, which is very encouraging for me because, at the
36:54core of it, Those you can make really drastic trade offs, um, that fit your
37:00app use case and your app requirements that might not need all the guarantees
37:06something like AutoMerge can provide.
37:07And this can help you going kind of almost counter intuitively
37:12where, only very few would build their own Ruby on Rails to ship.
37:16A Rails app, but it, in a way you can get away with way stricter
37:22trade offs for your specific apps.
37:24So building your own syncing stack is actually not as much work.
37:29If you, have sort of like a, Like two months from Linear, if you have that
37:34sort of experience and, if you're daring enough that you feel like this
37:38is something that you want to do, but I think that's a, that's a similarity.
37:43And what is most interesting to me about that as well is that the trade off space
37:49is traversed in a very heterogeneous way.
37:55So, depending on how someone has struck some trade offs, they might be way
38:01further along to solve certain problems.
38:04So, if you, for example, follow more of like a event sourced architecture, then
38:10you might have entirely different ways to deal with the schema migration problem.
38:15Uh, for example, if you, implement your own CRDT stack or you have other benefits.
38:20So, and I think this now gives us a pool of experiences where one technology
38:26can learn from the entirely different architectural approach and, uh,
38:31sort of cross pollinate, the ideas.
38:33And so this was really interesting to exchange those ideas and that
38:38was kind of my main takeaway.
38:40Absolutely.
38:41I think, you know, maybe the last takeaway I would probably mention was
38:45just, um, probably some of my favorite conversations there were talking to the
38:50People I put in the local-first curious demographic, sometimes they were, you
38:53know, colleagues with someone who was deeper in that world and this was a chance
38:58for them to better understand this, this weird thing their colleague was into.
39:02In some cases, they just had seen the buzz online and wanted
39:06to, to find out about it.
39:07Yeah, for, for example, the, you know, schema migrations being something that is,
39:11at least the many in the community feel is, is, is largely an unsolved problem.
39:17And then that caused one person I was talking to be like, whoa, whoa, whoa, I
39:21don't want to have anything to do with the technology that, that hasn't solved this.
39:25because you know, this is so, that's such a fundamental thing to, you
39:28know, building an app in the long term and with a data stack you can trust.
39:32Which I thought was a, which I thought was an interesting perspective.
39:34And I was kind of like, don't worry, we'll solve it.
39:36And that didn't necessarily, you know, put their, put them at ease, but it is a,
39:40you know, it was a good illustration of the fact that we are trying to go across
39:43the cusp of the threshold from, you know, academic, big idea, ivory tower into real
39:50world thing you can use, but you know, it's, it's, it is still an intermediary,
39:55intermediary state very much.
39:57Very much bleeding edge.
39:59Another person I talked to said basically that, you know, they were new to it,
40:04but they, the energy that they felt, was really, um, unique and interesting.
40:09And they, made a comparison I, I found very positive, which was to
40:13say they basically hadn't felt the same thing since being part of, or
40:16being around in the React world circa 2013, where kind of, and obviously
40:20there, there was a, a main library that everything centered around, but I
40:23think in general, the idea of reactive.
40:25UIs and reactive rendering as kind of the right solution for, for building
40:30applications of all kinds was, you know, was kind of this fresh,
40:35um, but, but clearly correct idea.
40:38But similarly there, I guess, coming back to the, you know, still a work
40:42in progress, bleeding edge Stuff to figure out if you were part of the
40:46React community back then, things like state management, you would, you
40:50know, you would pick up a library that was supposed to be the, uh, you know,
40:53this is the way the community does it.
40:55This is the state of the art and you use it.
40:57And six months later, that library is deprecated.
40:59And another one is, is now considered the, and you're like, wait a minute, I'm
41:02trying to build an application here and I'm not just sort of on shifting sands.
41:05And that is, you know, that of course is the trade off being, being part of a
41:08community that's still so so young and, and in the process of figuring it out.
41:13But to me, it's what makes it so exciting.
41:14Cause there are so many problems to solve and not only engineering and
41:19technology wise, but design wise, we need whole new UX and UI patterns in
41:24many cases to describe things like.
41:26Sync state, pick a very simple one.
41:28So that being on the frontier in that way is to me, uh, uh, is quite a lot of fun.
41:33Yeah, it was certainly my happy place.
41:35I consider myself to be like a technical pioneer and the conference
41:41had an incredible density of other technical pioneers where it could just
41:46exchange sort of weird battle stories of how you deal with, taming the
41:52browser to, to do what you want and, to make things work cross platform or
41:58certain performance tricks, et cetera.
42:00So it was certainly my, my happy place.
42:02I want to slightly shift gears and talk about another theme that stood
42:07out for me across the different conversations I had, and also across
42:12the different talks that we heard, which was more around centered around
42:16the definition of local-first itself.
42:19And Martin kicked off the day by reiterating, the, the initial
42:23ideals for, for local-first.
42:26And I invite everyone to watch Martin's amazing, keynote talk there as well
42:31to, to hear those, those words for yourself, but I think the ideas were.
42:36Kind of reflecting on the initial essay, how the initial essay laid out,
42:41the, the seven ideals for local-first software, but that was never really
42:46like a strict definition of what is local-first software actually.
42:50And also importantly, what is not local-first software.
42:54So Martin provided, some new ideas about that, which maybe you want to recap
42:59them here, but this also then led to an interesting follow up conversation
43:05of like many of the products that were showed throughout the conference would
43:10not fully qualify as local-first software.
43:13And I think this is, some people feel more passionate about, like,
43:17very strictly, defining, oh, this is local-first software, whereas
43:21this is not local-first software.
43:23And I think there's this interesting trade off and interesting tension for, for us
43:28as a, as a community, as an ecosystem That I would like to see is that we see, um,
43:35that see like an app sort of like on a progression, on a spectrum of like growing
43:40up to become local-first and as a powering technologies such as Automerge, et cetera.
43:47As they mature, it's gonna make it much easier to build fully
43:50compliant local-first software.
43:52But kinda.
43:53grappling with that definition of local, pure local-first software, I'd be
43:58curious whether you have some thoughts on that and want to reflect on it.
44:01Yeah, this is an important question as the community grows up and especially
44:05again, comparing to a community built around a particular open source library
44:09or something like that, you don't have that same definitional thing.
44:13Although even there, you can sometimes have something where a major new
44:15version, it takes the library in a different direction and then people
44:19say, this isn't what I was here for.
44:21This isn't the core of what we're all about.
44:24local-first is unique in that it is, yeah, philosophy and a
44:27set of ideals, that we think.
44:29imagines a better world or a better type of software, but not a specific
44:33implementation or single library.
44:36and we always, you know, that initial definition of the, the goal is data
44:40ownership for people who use computers for creative and productive purposes.
44:45If I'm writing a book, The book belongs to me, and the software should reflect that.
44:50and then the seven ideals are sort of like the, also, in some sense, you could
44:53also describe them as user benefits.
44:55These are things that you get as a result of kind of building in this
45:00way, and that therefore you can, as we conceptualize it then, essentially create
45:04a scorecard, and that implies a spectrum.
45:06If you score a zero out of seven, I think it's fair to say you don't
45:10really count as local-first software.
45:12Uh, you know, try again.
45:13If you score two out of seven, well, you know, it's a start.
45:16That's, that's pretty good.
45:17If you score five or six out of seven, then you're doing great.
45:21I mean, I think to some extent it's almost not even fully achievable in
45:26the real world to, to have truly seven out of seven and also have a, you
45:30know, a product that's widely used.
45:32I think that will change, I think, as we continue to, if we push the, push
45:35the boundaries on this, there is a day when you can imagine that all software,
45:39again, you referenced that earlier, like things built into the operating system,
45:43fundamentally, I think that the, the ultimate utopia for local-first or the
45:46ultimate, again, idealized world that I picture with it is our computers are
45:51fundamentally built in this way and things are built into the operating system or
45:55into a platform like web technologies that is specifically designed to support,
46:01um, this way of software existing.
46:04But until then, you know, we'll take, you know, I think Muse, for
46:07example, we called that local-first software, but we probably scored a
46:10three or a four out of the seven.
46:12And that was because we identified, coming back to that trade offs point you
46:15were making earlier, we identified Here are the things that we think are really
46:20ready for primetime now, where now was a couple of years ago, and, that we can
46:24implement on our team and that sort of benefits our business and our users.
46:29Here's some other ones that we're just going to leave out of scope for now.
46:32That's aspirational for the future, but right at this moment, it's not pragmatic
46:37for us to, for us to pursue that.
46:39So I think this is sort of the, this very interesting striking a fine balance
46:43between being pragmatic and being idealistic, and where being pragmatic
46:48might help you shipping sooner, whereas being idealistic, might take you longer.
46:54But, uh, enables your users with, providing more of the benefits and
46:58ultimately full data ownership.
47:00And I think the, the hardest, ideal to kind of reach right now, which
47:04Martin spelled out, uh, very explicitly is like, if the, the app builders
47:10go out of business, the app still.
47:12can work and, so that the app is not, degraded in functionality.
47:17And I think that takes a lot from a company like Linear, et cetera.
47:22That's probably takes most of the backseat and accomplishing the ideals,
47:27very understandably so, because you building an app, et cetera.
47:31got to, for most people got to pay the bills and this is the hardest
47:35to achieve and, probably also helps the least in the short term in terms
47:40of getting new users, et cetera.
47:42So I hope that we'll reach at some point, from a technological advancement that
47:47this is just so easy, that self hosting becomes so easy, that data ownership,
47:52the operating system all supports that, that we have a generic sync server.
47:57that we get this ideal almost for free by using the right technologies, but
48:02I think right now you need to fight the hardest to achieve that ideal.
48:07Yes, that's right.
48:07And again, that comes into built into the platforms and the operating systems
48:11and the foundational layer, right?
48:13Like you can try to talk users into using, I don't know, end to end
48:18encryption in their email by like generating PGP keys or whatever, but
48:24ultimately, things like the mobile.
48:27Operating system platforms with their secure enclaves and key management
48:30built in and biometrics and secure messaging apps that kind of make all
48:36that easy and make it just, again, part of the foundations where a
48:41regular person can, an app developer can build this reasonably and a
48:44regular person using it can access it.
48:47It requires more than what any individual.
48:50builder or any individual app creator can, can do.
48:53So, so you do your best, uh, with what you have.
48:55Yeah.
48:56So to, yeah, exactly.
48:57So Martin's description, which you should definitely watch the video of
49:00his talk, but is the thing that makes something local-first is that no one can
49:06kind of take your data away from you.
49:09And I think in these, it's hard to separate the data and the app to some
49:14extent, because While there are standard file formats and things like that, the
49:17reality is just that, like, if Notion stops working, but I have an export of a
49:22zip file of a bunch of HTML or however it exports, it's like, well, I kind of have
49:28my data, but not really, I don't, without the functionality of the application and
49:32the way to navigate links and search and add new things, whatever, I kind of have,
49:37I really have lost something, like My corpus of whatever I had in Notion to,
49:41in this example, would be lost to me.
49:44and his description is basically, yeah, the company going out of
49:47business and being acquired and the owner deciding to, you know, do a
49:51hard pivot in some direction that, you know, you know, kicks out a bunch of
49:55the former users and customers, uh, or just simply, yeah, servers going
49:59offline, right, is the short, is the, is the near term version of that.
50:03And that, you know, the classic thing of like, oh, Slack's down, GitHub's
50:06down, or whatever means now I can't work, that, that would not be the case.
50:12So, I really like that as like a much, A really boiled down litmus test that
50:17if you have that, all the other stuff is probably going to tend to come with it.
50:22so I like it as a, again, an aspirational thing.
50:25I think it's a longer term thing.
50:26I think it's a thing where we're all trying to move towards.
50:29You can build in that way today, but again, there are, there are
50:31trade offs to make, especially if you're a commercial business.
50:34Depending on what exact domain you're in and what platform you're on and so forth.
50:37For example, it's probably a lot easier to do that if you're in a, uh, kind
50:40of like a building a native app and then if you're building a web app.
50:43, but I, I think that is a really nice, definition.
50:46Now he also said in his talk, you know, while he is a, a cornerstone person in
50:51this, community, it is a community, right?
50:53No one has, you know, there, there's no, uh, there's no benevolent dictators here.
50:57Or dictators of any kind, I guess, and he, he has a lot of moral
51:01authority, but he can't just say this is, this is what it is.
51:04We all have to decide that for ourselves.
51:07And so, to some extent, I think also this could kick off a discussion about that for
51:12the community have sort of with itself.
51:14And again, I have my opinions.
51:16You have yours.
51:16Martin has his, um, but I think Again, we, we may play key roles in the
51:21community and helping get things started.
51:23But what makes it as a community is we're all defining it together.
51:26So I think to me, it's very healthy to have those discussions and hopefully it
51:30doesn't turn into a purity or a holier than thou discussion, but it does turn
51:34into a practically speaking, what unites us, what are we doing here and how do we
Post-conference perspectives
51:44Exactly, and I think the conference, is a great result and a great milestone
51:50in that spirit, where it attracted people who've been doing local-first
51:55software development for way longer than the essay has been around, brought in
52:00people who found out about the ideas of local-first because of the essay.
52:04And now this community is like growing in a very organic way to
52:10propagate those ideas and kind of figure out the right trade offs.
52:13And ultimately it is still about the benefits for the users and
52:18the benefits for developers.
52:19This is what brings people to the table.
52:22So I'm very excited how all of that is like very organically evolving.
52:27So I'm curious whether.
52:29The conference has somehow changed your own perspective on local-first, since in a
52:34way, when you wrote that essay, I'm, I'm sure there was sort of like an interesting
52:38balance between seeing, Oh, this is achievable and theoretically possible,
52:43but probably also a bit of like a kick in the butt for the developer community
52:48is like, Hey, we can do this differently.
52:50But, I'm not sure whether you would have put down money on that
52:53day when you published it to say like, uh, everything's going to be.
52:57in the future like that.
52:59So I'm curious whether the conference as a very, very concrete point in
53:03time has changed your perspective and outlook on the future of local-first?
53:08It has.
53:09I mean, the, mainly just the energy and it hasn't changed my sense on like,
53:14what the direction should be or, or, Again, coming back to this is, this
53:18is how I would like the world to be.
53:20How I would like the world of technology or software to be.
53:24That has been the same since probably I saw the first experiments, uh, that
53:28Peter was leading back at Ink and Switch circa 2017, and I saw what software could
53:33be like, how fast the data ownership piece, the developer experience, the
53:39simplicity of not needing to run servers were very few, when I saw those, those
53:43first demos, they weren't, they were working software, but they weren't.
53:46You know, production ready.
53:47And I knew that at the time.
53:48And, and when we wrote the essay, we felt we had learned enough that we
53:51could write down these, these ideas in a way that we hope would be compelling.
53:56But absolutely at the time, someone came to me and said, Oh, great.
53:59Should I build my app in this way?
54:00I would be like, probably not.
54:02Uh, and indeed, even today, if someone was asking for pragmatic advice, I
54:06would say, okay, well tell me exactly what domain you're in, exactly what
54:11stage you're in, what kind of users you have, because it remains, you know,
54:15there's a lot of trade offs being so.
54:17so on the bleeding edge, but I think the conference mainly convinced me that
54:21certainly there's more people doing this, actually doing it directly, like
54:25doing it as a day job or a very serious side project, than I thought there's
54:30more interest from the wider world of application developers than I thought.
54:34and that, yeah, maybe, maybe the time is now in the sense of, I'm not sure
54:39what the action is there, I guess.
54:42Um, but if, if, if a person does want to do something in the space and again, the
54:45action we've chosen to take is put on a conference, cause that's what felt right.
54:50And indeed we can, um, you know, discuss the, is there a next year, piece of it.
54:54But, certainly there's something really here.
54:58You can see that it's taking shape.
55:00and if this is something I think you're interested in getting involved in
55:04now is absolutely the perfect time.
55:06That's my, that's my takeaway.
55:08And for me, you know, I was obviously, I've obviously been involved a long time,
55:12but it's basically reignited my interest, you know, in some ways I drifted away
55:15from it in the last few years because I was working on other things and because,
55:19yeah, essentially it hadn't reached this level of maturity either in the
55:22technology or in the kind of the ideas finding their way in the community.
55:26But now I see, uh, the incredible resonance it has.
55:29I say, okay, there's, there's something here.
55:31Yeah, and I want to share one anecdote or memory that's still in my mind
55:38from, I think, a lunch that you and I had in Berlin sometime last
55:42summer, where I think you've asked it even sometimes before then, it's
55:47like, hey, why is no one building a Ruby on Rails for, for local-first?
55:51And so this was at that point, I think was like one and a half
55:55years into building Overtone.
55:57And I've been, working on Riffle together with Jeoffrey, et cetera, but it was so
56:01tailor made for Overtone that, at least from my perspective, I didn't really see
56:08a path how Rffle could turn into a Ruby on Rails that can empower local-first
56:16and also the other technologies in the local-first ecosystem weren't quite
56:20ready and on that trajectory yet.
56:22But I think within the last year, I can really see, A bunch of technologies,
56:27really nicely being on the trajectory of being that Ruby on Rails or pick any
56:32other analogies that like facilitates this, like new way of building.
56:37I can see this much more clearly now than, than ever before.
56:40And so I think finally I get to give you a different answer
56:44than what we had at that lunch.
56:46And I think this is just going to be such a multiplier and there's
56:50different trade offs, different flavors and shapes of Ruby on Rail is.
56:54But I think this will be another inflection point that allows those
56:59local-first curious people, maybe not the pioneers, but the local-first
57:03curious to flip their default to building a new app local-first
57:08without paying the pioneer's tax.
57:11And, maybe we've reached or gotten a lot closer to that point in a year from now.
57:16So I'm very much looking forward to that.
57:17Absolutely.
57:18Yeah.
57:18If you put it in the frame of the crossing the chasm adoption curve.
57:22Which I think a lot of folks have seen, and if not, you can do a web search for
57:26it, but there's the early adopters who are there often because it is novel,
57:31because it's exciting, because there's interesting new stuff that you can't
57:35get, but They're not really there for, yeah, pragmatism is not the The thing
57:40they're there for that literally the novelty and that there's a little bit of
57:44a chasm you have to jump over but then the next big block of people who might
57:49adopt are what they label pragmatists and those are people for whom they have
57:54a pain to solve that is so strong that they are willing to step outside of
58:00the status quo of known good solutions a little bit to find that solution.
58:04That comes back to the, you know, someone asked me to advise them on, should I
58:07build my, my new app local-first today?
58:10And I would want to know a lot of the details because you would, if there's a
58:13very specific problem to solve, this is exactly the case for you with Overtone
58:18and the kind of music ownership, piece of it for the, for the audio files.
58:21That's something that's really.
58:23Good fit.
58:24other things maybe are You know, in the end, I kind of hope all software will
58:28be local-first, but there's varying degrees to which paying that, being
58:33early tax, the pioneer taxes, as you described it, may be worth it depending
58:38on the domain that you're building for.
58:39But of course, over time, that pioneer tax gets less and less.
58:42It's already gotten way less than last year, and probably in the
58:45last six months, it will get less.
58:47It's going to continue going down, and so that makes the trade off.
58:51to think about less and less.
58:52And eventually it just becomes the pragmatic solution to just
58:56say like, Oh, obviously you're going to do things that way.
58:58That's just kind of the best way.
What's next for Adam?
59:01That's awesome.
59:02Adam, what is next for you?
59:03You've been a true pioneer for the entire local-first ecosystem.
59:08You've been working on Muse over the last couple of months.
59:12I've seen you involved in a couple of other interesting projects.
59:16So for, for those of you who follow you closely, what can we expect?
59:22Yeah, well, I'm taking some time this year to just kind of wander a bit, try
59:27some weird projects, work with new people.
59:29Indeed, that's how I ended up, uh, being open to the idea of helping
59:34put on a conference, which is something I'd never done before.
59:37Uh, so when you approached me for that, I, I said, yeah, this, this
59:40fits into my, fits into my theme.
59:41I've always wanted the chance to work.
59:43Directly with you.
59:44And, uh, it's obviously the right time for the community.
59:46And yeah, just an interesting learning experience for me.
59:49Um, yeah, relatedly, got to work with Jeoffrey Litt and Ink and Switch on the
59:53Patchwork project doing universal version control, which to me is a, is an idea
59:58that is built on local-first quite a bit.
1:00:00I see local-first in some ways as like the first layer, when you have that foundation
1:00:04of a new kind of computing down, you can build a lot of cool things on top
1:00:07of that and the, the universal version control steps us in that direction.
1:00:12and then I'm also at the moment wrapping a project with Elicit, which is an
1:00:16AI powered kind of literature search tool, so it basically helps scientists,
1:00:21particularly doing systematic reviews, so that for me has been a chance to get a
1:00:25real crash course in the language model.
1:00:27And AI, world of things, working with some really world
1:00:30class machine learning people.
1:00:32So, and, and see what that's like to apply to a, to a real world problem.
1:00:37Uh, and after this, we'll, uh, we'll see.
1:00:39But I'm, I'm continuing to kind of wander around, do, do interesting small projects.
1:00:43in terms of, yeah, obviously my interests around everything.
1:00:47That Ink & Switch ever works on like end user programming and, and, uh, infinite
1:00:51canvases and local-first, will continue to be the center point for my, for my career.
1:00:56So I'm always looking for opportunities to push those, those ideas, uh, forward.
1:01:02And again, coming out of this conference, it's just this feeling that there's
1:01:05something really happening in local-first and, you know, I want to try to help push
1:01:10that forward in, in whatever way I can.
1:01:12What, what exact way that will be, uh, haven't, haven't
Outro
1:01:16Well, thank you so much for your wandering for over the past couple of decades.
1:01:22I think this has always served as an incredible well of inspiration to me
1:01:27and many others, whether it's how you showed how simple software deployment
1:01:33can be with Heroku, and what has led you to, together with Peter and the
1:01:38others, frame the ideas and the ideals of local-first and then also ship beautiful
1:01:45software with Muse and the projects that you've been involved with since.
1:01:50I can't wait to see where your mind takes you in the future.
1:01:53So thank you so much for that.
1:01:55And thank you so much for coming on the show.
1:01:56Thank you for, for all the, all the lovely words.
1:01:59And, uh, yeah, thanks for having me.
1:02:00It's a lot of fun and all looking forward to continuing listening.
1:02:04Thank you for listening to the local-first FM podcast.
1:02:07If you've enjoyed this episode and haven't done so already, please subscribe and
1:02:10leave a review wherever you're listening.
1:02:12Please also share this episode with others.
1:02:14Spreading the word about the podcast is a great way to
1:02:17support it and to keep it going.
1:02:19A special thanks again to Rocicorp and Expo for supporting this podcast.
1:02:23See you next time.