The Changelog: Software Development, Open Source - Tauri’s next big move (Interview)
Episode Date: October 5, 2023This week we're joined by Daniel Thompson, Co-founder and Core Member of Tauri. It's been a year since we last had Daniel on the show. He catches us up on all things Tauri, their continued efforts tow...ards Tauri 1.5 (which just released), the launch of CrabNebula and how they're the people pushing the Tauri ecosystem forward and building on top of it, the state of Electron vs Tauri, and UI with Tauri. He even surprises us with his idea of creating a web browser.
Transcript
Discussion (0)
What's up?
Welcome back this week on The Change Law.
We're joined by Daniel Thompson, co-founder and core member of TOWERY.
It's been a year since we had Daniel on the show.
He catches us up on all things TOWERY, efforts towards Towery 1.5, which just released, the launch of Crab Nebula, and how the people pushing the Towery ecosystem forward and building on top of it the state of Electron versus Towery, user interface with Towery.
And Daniel even surprised us with his idea of creating a web browser.
A massive thank you to our friends and our partners at Fastly and Fly.
This podcast got you fast because Fastly is fast, super fast, globally.
Check them out at Fastly.com.
And our friends at Fly help us put our app and our database close to our users
all over the world with no ops.
And they'll do it for you too.
Check them out at fly.io if i gave you a hundred dollars towards your air monitoring would you use it that's the great
question we have for you today because sentry is a long-standing partner of ours a long-standing
sponsor of ours,
and we love Sentry,
and we think you'll love them too.
So the easiest way to get $100 towards your Sentry bill
is to use our code when you sign up.
ChangeLog is the code.
This code gives you $100,
which is basically three months free of their team plan.
That's on top of their completely free developer plan.
They also have a really cool sandbox,
so if you don't know much about Sentry,
or you've never tried it,
or you've never played with it,
and you don't want to install it right this second,
but you want to see how it works on sample data,
you can use that.
The sandbox is on their website.
We'll link it up in the show notes.
Check it out.
Again, use the code change.
I'll get a hundred bucks,
which is basically three months free on their team plan.
In addition to all the goodness they give you
in the free developer plan,
check them out.
Century.io.
That's S E N T R Y.io. all right we're here with daniel thompson from towry back after about a year and a half we had
you on the podcast.
Welcome back, Daniel.
Thanks.
It's really, really great to see you guys again.
One of the main comments we got was how amazing your voice is.
I was kind of jealous.
Yeah.
People were jelly of your voice.
Yeah.
Well, you know, I think that I've gotten older, so it's more raspy now.
I sound like my grandpa all of a sudden.
Fast forward, a year goes by, and I'm 10 years older.
Has it been one of those years or what?
It's been a nonstop year.
Yeah.
I mean, we met, I think, last summer after the 1.0 was released.
We talked about the plans for the future.
And I mean, I did review the show and
I think we're pretty spot on. This coming soon is going to be the release of the 2.0,
which has mobile embedded into it, Android and iOS. I found out that Tauri iOS on the Android makes a 8.5 megabyte binary. So competitive with React Native
and iOS is a little bigger, but I think that early adopters also have a lot to learn about
how to get things really small and tiny. And I guess it's one of the things that we see on
Twitter a lot. People are like, yeah, my first Towery app, it's 14 megabytes.
And I'm like, did you minify? Did you put in those special cargo flags for the release? And
they're like, oh no. And then they come back. Now it's only eight megabytes. So I think we've still
held true to that. Excellent to hear. Well, for those who didn't listen the first time around,
that episode is called Build Tiny Multi-Platform Apps with Tauri and WebTech.
I remember we had a hard time naming that episode.
Yeah, we did.
Because Tauri is a little bit, it's not hard to explain, but it's hard to put into three words, which is we like to be in the three to five word range.
So, Daniel, for those who heard that but haven't heard much else of Tauri, give the quick explainer so we're all on the same page.
Well, I mean, first and foremost, Tauri is a community of developers building stuff for developers.
And the stuff we like to build for developers are tools to help make apps.
We started out with desktop, and now we're working toward mobile apps.
And you can bring any front-end framework you want.
In a lot of ways, it's
similar to Electron and Capacitor, but we put a lot of special focus on the security of the
framework as well as the ultimate bundle size. We want things to be small and performant and not
consume a lot of resources. So that's how we started it and that's how things have been going.
So you have a lot of sponsors, which is awesome.
I assume we talked to you right after 1.0,
and usually 1.0 is a time where people decide, okay, I can finally take this thing seriously,
and it's usually a boon for adoption.
Have you had a lot of folks building stuff with Towery since the release?
Yeah, I just recommend looking over at
the awesome Towery repo at our GitHub organization. And it's kind of like endless scrolling, lots of
dev tools, lots of games, actually, things are being built for communication. And the rate at which I measure adoption, though, has changed a little bit over the past year.
There's some reasons for that, but mostly we're seeing people come in with really innovative
questions, things that go outside of our expectations when we built the original project.
And in most cases, we're finding that it's not necessarily an edge case, but
people have to start learning to maybe think differently about how they construct their apps
and move heavy lifting to the Rust side and use the user interface for user interface things and
not put so much logic. And I think for a lot of, you know, classically recognized full stack devs, it can be kind of complicated because you don't care where it runs
it, you know, on the client, in the browser, on the cloud, at the edge, as long as it's running
somewhere, that's fine. But we're trying to provide these, these highly tuned opportunities.
And, you know, people are making musical instruments, they're making drawing tools,
they're being creative. And I think the biggest news out of our ecosystem is recently Fig.io,
which is a developer tool that gives you kind of a supercharged command line experience,
was just acquired by AWS. Yeah, I saw that.
And they use the windowing and the web viewing libraries of Tauri.
So they're part of the Tauri family.
And I guess the uptake has been really heartwarming to see.
And it's also, you know, it's early days.
I think a lot of projects are in stealth.
You know, if you look at that awesome Tauri repo, I don't know, like 10% of them are closed
source, which means people are making money, selling their products. There's ecosystem plays
that are being made where people are starting to offer licensed servers or licensed services or
analytics. People are creating integrations with Supabase and Airtable
and Firebase. And you're starting to see these projects come in that have a set of requirements
and people are solving the problems. And I think that's the exciting part that we're at now.
Last year when I was here, we were really in the issue bubble.
And the issue bubble in open source is a place where you only hear complaints.
You only hear problems.
You only see people struggling with what you've built.
And over the past year, we've started to hear from companies that are using Tauri internally.
We've started recognizing, oh yeah, right, engineers solve problems.
And if you're behind a corporate firewall, you're going to solve your problem one way or the other.
Yeah, I mean, that's really awesome to hear.
Just looking at the sponsors listed on the homepage, there's lots of big names there
as well.
So I assume they have some sort of interest
in the success of the project.
Do you find that the,
we focused a lot on the Rust aspect of Towery
last time around,
it was just kind of digging into the tool
and figuring out how to use it.
And one thing that you said that stuck with me at that time
is you think that this is a nice,
you didn't say gateway drug,
but I will say that it's a nice entrance into the Rust ecosystem. And I wonder, you know, I've been tinkering a little bit with
just the fringes of Tauri as I found a use case. I've been waiting for a use case to give it a try.
So I've been doing the getting started and dipping my toe into the water as it were.
And as a web developer, full stack web developer,
whatever you want to call me, somewhat intimidating,
even though nothing seems too dragon-y so far.
But I'm still just like, not so sure about, like you said,
where do I put things, what belongs in Rust, what doesn't, et cetera.
Is that a common refrain?
Are you answering those questions a lot?
Do you think it's been a barrier to adoption?
Because it's an opportunity for Rust, but it might be a barrier for Towery.
I think it's both.
I really think it's both.
I know that people are learning Rust because once you get to a certain point in building
your app, you're like, oh, I need to send a message from one window to another window
and I have to use the Rust bridge to do that.
Or you want to do tighter integrations
with the cryptographic systems.
You want to avoid using the database
inside of the web view.
So you kind of have to start thinking about,
oh, I'm going to say it wrong, SQL, SQLite.
Adam will tell you how to say that one.
The database.
SQLite, there you go.
Richard Hipp told us how.
I still can't tell the line, but Adam always has it.
SQLite.
And, you know, to address your question,
we're seeing a lot more questions come up about using more
Rust in the background of a Tauri app than in the foreground of the JavaScript site.
There are always still people just dabbling.
Well, look, I think that the opportunities that people have to learn new programming
languages come with risks and benefits, and it's really up to
the people to decide what they want to do. We've seen both sides of this where people have jumped
because Rust is hard to learn. We've also seen people embrace it and use Tauri as a way to become
a Rust engineer. So we've seen both. And I think that what we've also seen are people who say, well, look, I'm using Python already. I don't care about Rust. So OpenBB, they made a instead of a rust. People are working on, believe it or not,
a PHP backend so that you can write all your logic at PHP and still get all of
the benefits of our tight rust core and a user interface that can directly
access both the rest APIs through its JavaScript or call out to believe it or
not, PHP JavaScript ideas on the horizon as well so i i think that
like what towry itself started out as is one thing and where it's moving i think is another and that
is turning into a collection of tools that you can kind of pick and choose how you want to piece
them together that's really interesting to hear It sounds like there's enough value there,
enough interest to where even if Rust is a barrier for you,
there's people that are like,
look, I can work around this particular aspect of Tauri
by building a PHP backend, for instance,
or providing access to Elixir
because I want to use it so bad
and I don't really want to use this part of it.
So, I mean, that to me shows quite a bit of interest for people willing to, you know, break out their code editors and work around or code around these issues.
That's pretty cool.
But you have this year, as we meet again, you have more news.
Obviously, the mobile stuff is huge, but you also have news
around what's behind Towery, open source strategy, funding round. There's lots going on there. I know
you had a very interesting take on open source last time. Can you tell us what you guys have
figured out in terms of making this thing, I don't know, sustain and thrive?
It's tricky. We actually started a company last year.
Some of us from the Tauri working group started a company last year in November.
Okay.
And it was really important to us that nothing changed.
From the outside, it's still a militantly driven open source community that now is supercharged with a handful of engineers being
paid full time to do the research, development, and maintenance that a massive project like
TALRI needs.
And that company is called Crab Nebula.
We chose Crab Nebula because we liked the idea of a place where stars are born a nebula is a a star factory if you
will and we chose crab because well rust the the the icon the the the avatar if you will is ferris
the little crustacean rustacean and now obviously you can't make a pitch to a VC and say, we're just going to serve as a charity and donate all of your money to open source.
Things would be nice if they worked that way, maybe.
But I think that we found the perfect VC to join us on this trip.
That's JJ from OSS Capital, West Coast-based venture group that only supports early-stage open-source projects, commercial open-source projects.
And through JJ and through years and years of being around, we sort of collected an all-star regiment of angels who joined us
along the way. I could drop all of the names. Maybe you can edit them out or choose the ones
you like. But I think of the almost 30 angels that we have, a good dozen that are really relevant are, you know, Naval Ravikant from AngelList, Automatic Inc.,
the company, the investment arm of Automatic from WordPress fame,
Guillermo Rauch, the CEO of Vercel,
Thomas Domka, the CEO of GitHub,
Tom Preston Werner, the co-founder, the original co-founder of GitHub,
Paul Copplestone from Supabase, Justin Hoffman,
the former SVP of Elastic. If I didn't say Bob Young, I'll say his name again because he's
amazing. But Amad Mostakou was the CEO of Stability AI. Clement Delong, the co-founder and CEO of
Hugging Face. Dave Teer, the founder of 1Password, Adam Wiggins, the co-founder of Heroku,
Navin Rudropa, the founder of NocoDB, Heather Meeker. If you know Heather, she's not only the
general partner of OSS Capital, but wrote the book on OSS licensing. And we also have a couple
people like Cassidy Williams, who's the CTO of Condenda.
You maybe know her as Cassidu.
Also Tejas Kumar. have built open source, the people who are building open source and people who are poised to build the next open source, who understand the challenges of not only having a product,
but also having the machinery and the understanding and the ability to innovate into products
and new products as they come out.
So that happens and nothing changed at Tauri.
I mean, we kept on building Tauri in line with our foundation's expectations.
But behind the scenes, we are working on a few products. I mean, other than investing time in Tauri, we're also auditing Tauri.
That's one of the things that we love doing, actually, is auditing people's software that they built with Tauri, with Rust.
We just completed an audit for a company called Blue Bay Eye that uses Tauri.
We don't really do custom development.
We do, but we don't. Like, we will pick from clients who want to have
something done that aligns with our research goals. That makes sense. Like, we're not just
out there cutthroat working for half a million dollars because somebody wants to pay us money
to build something for them. I mean, we'd consider it, but it has to align with our research goals,
things that we want to know, things that we know that the community needs. Those are the kinds of customers
that we've been looking for and been finding. We also recognized from the beginning that
shipping apps is hard. It's really hard. I mean, anybody can build an app, but once you're done, how do you distribute it?
How do you update it?
How do you sign it?
And for that, we're building a platform to empower the people to ship their apps, like super easy, super cheap.
In some cases, totally discounted for open source.
And we know that this is going to get a little political. I don't know
if that's okay, but we know that the incumbents like Microsoft and Apple and Alphabet and Meta
and ByteDance, they have vested interests, well, maybe less ByteDance, but definitely the platforms.
They have an interest in keeping a hold over, a chokehold over the
app signing process.
They keep such a chokehold on it that in my opinion, it's not talked about enough in the
supply chain.
Like that final bit of app signing for GUI apps and, you know, in some cases, even CLI
apps, it's just like, oh yeah, Apple will take care of that for you.
We got you.
We got you.
Come here.
Come here.
And just give me your 99 euro or Microsoft changing the game suddenly last April saying, now you have to get an extended
validation dongle or HSM, but don't worry. You can use our super secure, never been hacked for
Azure platform for that. Google is a little bit less concerned. I think that anything that impacts
their ad business is going to be a problem for them.
But apps on devices keeps people on devices, keeps them buying devices.
So I think that that's okay for them.
But when I hear from people from the Towery community that they are having problems signing
their apps, people aren't.
Some people don't even sign them.
They just ship their Microsoft apps without a developer signature.
And they're like, people will deal with it. And there's no money solution here. There's no lobbying we can
do, but we can, in Europe at least, get involved with the European Commission and its platform
policy work, serving as experts and making you know, making sure that these changes are respected,
that other types of app stores can be on their devices. Other third-party apps can now,
starting in April, in the European Union, by law, have to be landing on these devices.
And, you know, I feel very, very deeply about empowering the citizen developers out there who don't have the 99 euro or who are in a third world, so-called third world country where $99 is just like a month of food.
But they still can build their apps, but they can't distribute them.
And they have no access to these larger markets.
I find that compelling in a very sad way. And I think that, you know, this mixture of good
business, good politics, supporting the community is really in the DNA of Crab Nebula. So much to
the point that one of our first products that we're going to be bringing out in Q4, and you can find out about it just by following our socials, is a dev tool because debugging anything is hard. Debugging Tauri is
triple hard. Web has great dev tools, apps not so much. And we want people to be able to connect
their app to an analyzer to figure out where things are going wrong or getting better. I understand you're thinking, Daniel, this is niche. Not many people are using Towery,
but the great news is that we're working together with other partners in the Rust ecosystem to define
and use emerging standards so that the work that we're doing for Towery people can be used by,
at first, others in the Rust ecosystem and
later other ecosystems as they get interested in it. And I think the final thing that I'd like to
point out is that you asked, how is this possible? How can you keep the energy going, the momentum going. And in open source projects,
you generally have like three or four models.
One, a company sits on top, puts its thumb down.
It's not even benevolent dictator.
It's like, we're doing this now this way.
We're calling our project open source.
And later on we can rug pull.
But another one is a benevolent dictator
who decides the way the project goes,
generally takes all of the funds and other people contribute as they have time. People come,
people go. And what we have with TALRI though is really quite compelling because from the core team,
five of the people are still around almost five years later.
And I think that that's a testament to the fact that we really enjoy doing it.
And yet, I don't believe that it should be just the goal of one company sitting in Malta to finance an entire open source project.
And we do have donors donors and that's amazing. I think where things are tending toward is toward applying for more systemic grants, you know, where we apply for
funding from the European Commission, from organizations like NLNet, and potentially even
other companies come and recognize the value that they've gotten from the community and start giving back.
I don't know.
I think that that's a very long play, expecting people that get something for free to give back to a community that they're not so much involved in.
There's a lot to unpack there.
At the end of the last show, I asked you about venture capital and the organization and things that would come from the one point over, at least.
And that was about a year ago.
And you kind of tease us a little bit with a topic we like to talk about with Cory Doctorow, choke point capitalism.
I think you're talking about that with app signing.
I think that's definitely a position of, hey, if there's an artist shipping something, there's a choke point at some point that says, okay, we're going to collect our toll, our fee.
And that seems like one part of your mission.
Then you mentioned the core team
and the model of open source,
which I think is interesting.
I'd love to touch all those, obviously,
but maybe focus in on the organization itself.
Remind us what it's licensed as.
Remind us of the organization.
What has happened since 1.0 to sort of formalize?
I know you mentioned Crab Nebula.
What exactly is the model of Towery right now?
Like, how do you compare it to others?
You mentioned Company at Top, rug pulling.
We've seen that more recently.
And that's fresh and it's a fresh wound to the open source community.
Yeah, absolutely.
So nothing has changed in the organizational structure of Towery itself.
There is still a board of directors. There is still an entity held within a Dutch foundation.
The proper name is the Tauri program within the Commons Conservancy. All of the code is
open source Apache to MIT, dual licensed at your leisure. We take potential license violations
within our own code base very seriously. We will investigate those and resolve them. A lot of times it's a mistake.
Usually it's something we can correct. Actually, I think we've always corrected them. So
to summarize, the license is MIT Apache 2. It is still morally stewarded by the Commons Conservancy.
And internally, there is a working group composed of people who elect themselves to join to
the working group.
Currently, there are about 45 members of the working group, and I would say about 20
are active.
And these are not all employees of Crime Nebula.
I mean, there's a large number of them, but the majority of the current working group members are not.
And we even have other companies more or less explicitly involved or by association.
One of our board members actually works at Microsoft. So from the organizational side of the open source projects, nothing has changed.
From the perspective of the company, we are donating slash allocating, I don't know how you want to say it, full-time employees to spend all of their working time on research, development, and maintenance of Tauri itself, of the core
pieces of that tech. And then the products that the company itself makes and distributes
are generally going to be at the very least source available. We always want to make sure
that people can see what we're doing and have faith in what we're doing. A lot of the things will also be open source, MIT, Apache 2, as we roll them out.
What's up, friends?
Today, we have an awesome sponsor,.techdomains.
And they're giving this segment away to.tech founders to showcase the amazing things that are being built on a.tech domain through their startups.tech program.
.techdomains are the go-to namespace to build anything in tech and home to the world's most innovative startups.
For example, a self-driving AI company that's raised $3.7 billion
and is building on Aurora.Tech.
The most viral crypto app of 2023 is building on Friend.Tech.
And an AI startup backed by Sam Altman and OpenAI is building on 1x.Tech.
There are thousands of companies like this who are taking advantage of.Tech domains
to reinforce their brand as tech focused and forward thinking.
But here's the cool thing.
Instead of just selling domains,.tech domains wants to give their users a platform to show the world the amazing things their.tech startups are building.
So if you're building on a.tech domain or you want to, simply apply to this startups.tech program by going to startups.tech
slash changelog and filling out the form. That way, dot tech startups get to be in front of
thousands of people like on this show, and we get to learn about cool things they're building
on dot tech. Again, go to startups.tech slash changelog. Once again, startups.tech slash changelog.
So Crab Nebula is the entity which has all these amazing angels, correct?
Correct. And it's starting off as consulting and auditing,
but that's not the big picture that you drew for these angels that got them excited.
I would imagine it'd be okay to back something like that,
but your bigger picture is products, services, seems like some sort of distribution network of maybe app stores, et cetera,
for the towering ecosystem. Is that what you're saying?
Right. We see consulting itself as a way to offset the cost of R&D.
Yeah.
With the addition of grants coming in, that covers our R&D costs because we align
those tasks with R&D. And auditing is important because it keeps our security team fresh,
and we're helping the ecosystem, arguably with important projects
that people are using by auditing them.
Of course, neither of those is that exponential curve
that everybody is dreaming about.
And I think that the long play for Crab Nebula is in the services of distributing, solving this signing problem one way or the other, and providing tools that bring joy to the act of development of software again.
And I think that what we're already seeing inside the team is we are generally very dissatisfied
with products out on the market.
It's hard for us to find stuff that ticks all the boxes.
And there are a couple of things that we are building internally that we might just spin
off into a product itself.
Just here you go, world, buy a seat, have fun.
Because I think that the benefit of working with all of these fantastic people is the perspectives that you get when you're analyzing a problem field and seeing all of the different ways in which people are criticizing things.
Like, oh, the security is crap.
Oh, the layout sucks.
Is this bootstrap 2.0?
And it's a challenge to reel people in to say, okay, look, we're not going to build that product right now.
We're going to solve our own problems on our own time. But right now, what we are building are these dev tools and building out the platform, because those are the things that will scale, especially once you
consider that the mechanism for bundling, signing, and distributing, it's kind of the same no matter
what platform you're using. If it's React Native or it's Electron or it's any of the other competitors or competing systems to Tauri, I guess,
is still just a bundle and a sign and a ship.
So that move there allows us to also
become more than just the Tauri company.
I think that that's a risk that we identified really early.
And as a matter of fact,
it would technically be prevented by the statutes of the open source community.
No one entity can profit exclusively from Tauri itself.
We cannot be the Tauri company, but we can be a Tauri company.
We can maybe be the best Tauri company, but we can't be the only Tauri company.
And we are starting to see people start building their products around towery
as well so so if you created a platform for towery you would desire other platforms for towery is
that what you're saying like if you were like the app store for towery apps that did all the
bundling and signing and whatever else is involved and allowed you to distribute your software
to users crab nebula you're not going to be the next Apple in that regard.
Is that what you're saying?
Like the open source bylaws make it so you can't be that?
Because given your 100% success, we would end up in the same place with, we put you
in the list.
We'd be like, oh man, Microsoft and Apple and Crab Nebula, like they're all, like we
would just add you to the list, wouldn't we?
Okay, maybe the ambition is a little bigger. and Apple and Crab Nebula. Like they're all like, we would just add you to the list. Wouldn't we? Okay.
Maybe,
maybe the ambition is a little bigger.
Maybe the ambition is more to say that the,
the Tauri framework itself would be more aligned with something like
JavaScript.
It's not a product.
Tauri is not a product in and of itself.
It's a way to get stuff done like JavaScript,
like PHP,
like Ruby. And we would like to consider ourselves as the people pushing that ecosystem forward and developing on top of it.
But we are not Tauri because Tauri can't be a product.
Monetizing open source for me is one of the scary parts about this.
I have a lot of friends in the industry and I don't want to piss anybody off, but I really
hate it when licenses get changed or when communities break down or when corporate
interest and greed suddenly redefines community and then you find out what it is behind the
community. You find out, oh, it was the money behind the community.
If Crab Nebula, and it's a startup, right? Like startups have a gradient of potential success.
If Crab Nebula goes down, it would suck for Crab Nebula. Tauri can continue.
Kind of.
Right. And I think that that's this kind of-
Well, I mean, if you're funding some of the core team members and you're a my a major financier behind the scenes of making things happen then obviously the economics of
supporting it change you're right in the fact that it can continue but it you know it's financially
stabilized to some degree by the success and the angels that you've you've mentioned so there is no
way to completely remove yourself up from that so i'm not saying that's a strike against you. It's just the truth. I want to agree with you in principle.
You should, because I'm right.
I mean, I know you're right for you. And from where you're sitting, no, from where you're
sitting, I think it makes a lot of sense. But the point I was trying to make was, and this is
something I'm working with the whole working group on, and it's not something that's done in software very often.
I mean, look at ECMAScript 2022.
It's never ending.
It's going to be TypeScript someday.
The point is, I think at some point we can actually declare Towery as done.
I'm not saying Kubernetes done, but done enough so that all you have to do is add little things and there's
little bits of maintenance but done done to the point where the features have been completed
and maybe that's the point in time where we get to start thinking about other stuff we'd like to
build i don't know like a browser come on that's too much work is it if we lay the groundwork for
that over time it might i, I don't know.
I'm not trying to get ahead of myself, but I...
We have opinions.
We just shared our opinions on this.
Do you listen to our show often, Daniel, by any chance?
I do, I do.
We just went off on this.
We just went on, like, what do we want in browsers?
Me, Jared, and Nick on our talk show,
Gene and Friends.
So we were just, like, knee-deep in this.
We were just talking about an open-source browser effort.
That would be amazing.
So you're teasing us here.
Towery being done, when the underlying platforms,
the deploy targets of Towery, are never finished,
it seems like, okay, maintenance, but how much of a burden is that?
I mean, iOS 17 just came out.
Certainly, as the new versions of these desktop and mobile platforms that you're
creating apps for are changing. They're moving targets. So Towery can't be finished unless it's
irrelevant. But maybe you could say just major efforts are done. As a matter of fact, at Crab
Nebula this week, we decided we're changing research and development, changing its name,
research, development, and maintenance, RDM. Because maintenance is that part of R&D that I think people forget.
Like, let's make a brand new framework and call it new and rage on all of the things that everyone else thinks is a good thing.
And no, I mean, right now in the RDM department, we are working on a grant from NLNet together with the awesome folks over at Agalia to verify that we can use Servo as a WebView target for Tauri apps.
With early success, seems quite, actually quite good already for the short time that the Agalia team has taken up the helm of working on
Servo. And it's a long future. And at some point people get bored and they start having silly ideas.
And I'm not saying we will build a browser. I'm not saying we won't. I do know that it's a massive
undertaking. An open source browser is going to require a ton of stakeholders, a ton of specialists for a very long time.
And hey, we're not raising money right now. But I think that if you were to do something like that,
you would definitely have to have the entire EU behind you. You'd have to have the European
Commission behind you. You'd have to have more than just money. You need the charm and the goodwill.
And I mean, the drive kind of comes for free because otherwise we wouldn't even be talking
about it. But I don't know. Do you guys remember our first conversation when I told you I've always
kind of been interested in building tools? Yeah.
And for me, one of the interesting side effects about working with Tauri is that Lucas and I started way back in the day and we thought we were going to make a better Electron.
We haven't gotten there yet.
Electron is better in a number of ways.
I'll say it here.
Tauri is better in a number of ways.
It's a different thing.
But that's what we started out to do.
And along the way, we built a community.
We made a ton of friends.
We started a company. And then we realized, you know, actually, maybe we should expand our reach a little bit, right?
This updater and bundler that we built, it's tightly coupled to Towery.
And then, you know, at Crab Nebula, we go to conferences.
We went to four this year, or we will have gone to four this year at one of the conferences.
Somebody rushed the table
and was like guys hey can you please upstream the bundler because i'm using dioxis and like
it would be great if i could just bundle and ship that way and you know we backburnered it because
we had to get the the 2.0 we had to make that push to beta. But internally, we are working, internally at Crab Nebula,
we are working on the proof of concept research to upstream it and make it available to other
projects outside of just pure Tauri. The most exciting one is Slint because, you know, we found
out meeting with Slint, they have a different target audience, but they are building desktop apps and they're using
our low-level libraries, Tau and Rai. So all of a sudden, the reason why Tauri became so popular
in the first place, in my opinion, is because anybody could use the front-end stack. If you're
React or if you're Svelte or if you're Solid or Vue or Angular or choose any one of the hundreds or even Rust
based ones like you and Dominator and all that, you could use this thing that we made for you.
We gave everybody a gift and it was like, this is great. And then we were still in this issue
bubble, right? Where we were seeing problems and comparing ourselves to others and feeling like, oh, there's competition out
there. And by reframing it from, hey, you know, this, we don't have to compete with Dioxus or
Slint or Electron. We can help them do better things, do things better, right? And by moving out of that tight coupling to Tauri core, you know, we are
doing just that. And I think that, I mean, I haven't had the opportunity to speak to Corey
Doctorow personally, but I think that this mode of deciding for cooperation instead of competition is really, really rare in, I mean, an open source,
maybe, but in, in, in venture capital type companies, very likely. Yeah. The competition
helps you understand better who you are, but we're going to crush them. We're going to like,
you know, and, and I, I see this, I see the world differently. I see it as a way for us to build tools to support other people.
And if they like our product, they're going to use it.
If they like somebody else's product, they're going to use that.
I have confidence that the products we're making are great and that people are going
to love them and use them.
And that's what I sold.
I didn't sell my soul to VC or to our wonderful angels.
I sold this firm belief in the fact that we are not only doing
something great for each other, great for the planet, great for people's devices, but also
great for this ecosystem, which is a subset of the markets that we can attract. I like that sales
pitch. I don't see how you get from there to a web browser, but I understand that if you get
bored, quote unquote, then maybe you're like, we need a big fish to fry. And I would love to have somebody fry that fish, Daniel. So I would
also buy that in terms of a massive effort to do that. I put my money and time and voice behind
that effort. But to me, the web browser thing is out of left field, Daniel. I'm not going to lie.
Like I didn't ever expect you to say that today. So I'm kind of confounded.
You know, what does a web browser need?
Like, what's the one thing that it really needs
that we did really well at Tauri?
Needs to be updated.
Every freaking day it needs to be updated.
It needs to be distributed across the planet
to every kind of device, every version of device,
every operating system.
It needs that kind of reach.
And you've done that already.
Seems like the design for the platform that we are rolling out to beta later this fall,
early winter, is capable of that.
So we've just kind of accidentally built one of the things we kind of need to ship a browser.
Okay.
A research goal is to find a way to make servo
window
options for Tauri devs.
It's a very interesting,
almost legendary collaboration
right there between
Agalia and Servo.
What's that mean, servo window options?
Tell us more about what that means exactly.
If you remember Servo, Servo was a project
from Mozilla that was designed to support the work on Firefox.
Actually, a lot of the libraries and crates
that are there are still in use.
They never just got all deprecated,
but the team was lost to the course of funding
or something, I don't know.
And Servo sort of languished for a couple of years.
And about a year ago, I don't know,
maybe in August or September, we started thinking about
what it would look like to get Servo back on track, but it was, we didn't have the big enough
team. We didn't have any money to do that at the time. And then Agalia picked up a partnership
with, I believe it is Futureway, which is a research and development group of a UA company.
And they started working on updating all of the other crates, on making a unified browser-like experience in a window.
Basically getting all the HTML, the CSS to work.
I think they currently have compliance with CSS2, which is huge.
Really, really amazing. JavaScript, of course, you know, that's the unloved uncle in the browser. And progress is
being made there. But what we're trying to do is leverage and work together with the servo web view, as it were,
as a target instead of using WebKit, GTK, WKWebView,
WebView2 on the systems.
This way, we can actually give everybody versions
that they know are the same on these different platforms,
which is a sticking point for a lot of people. And building a browser isn't something that I'm
even committing to right now, just to see that very clearly.
No, I think that's clear.
But should it become something that the group is interested in in the future?
Well, we've laid the groundwork for it. Mm-hmm. Right?
If the POCs turn out, if the collaborations continue, if the funding is made available,
if the funding is palatable, if the engineers come together.
There's a lot of ifs and a lot of timelines, and there's a lot of project management involved
in that kind of thing.
What's up, friends?
There's so much going on in the data and machine learning space.
It's just hard to keep up.
Did you know the graph technology
lets you connect the dots across your data
and ground your LLM in actual knowledge?
To learn about this new approach, don't miss Nodes on October 26th.
At this free online conference, developers and data scientists from around the world will share how they use graph technology for everything from building intelligent apps and APIs to enhancing machine learning and improving data visualizations.
There are 90 inspiring talks over 24 hours,
so no matter where you're at in the world, you can attend live sessions.
To register for this free conference, visit neo4j.com slash nodes.
That's N-E-O, the number four, j.com slash nodes. I have one more if for you then
an if and a what
so if you could assemble all those pieces together,
if you could have all those resources,
then what would compel you to build a web browser
and what does it need?
What would differentiate the kind of browser
you can envision comparatively to what's out there currently?
Well, first of all, first and foremost,
it absolutely has to be privacy respecting.
It has to be securely designed. And I know those are two like simple words to just drop into a
sentence. Like it's easy to drop those two words into a sentence to say, yeah, it has to be
privacy centric and secure by design. But what that ultimately means is that in the context of local first apps, we want,
we want, I think that a solid approach would be to focus on that aspect of treating the individual as a human being and not a data point for harvesting their conversations.
The things that I say in this browser,
they shouldn't be tracked by something slurping up my voice and my face
and the words I say and feeding it into some LLM that's training on me. I think that those kinds of privacy-centric things
have to be important.
I think ads should just disappear.
I did an artwork over a decade ago
where somebody made, I think, a Firefox plugin
where you could supply different banner sizes.
And then I gave them a collection of images
and then they would
replace all the ads in the browser with artwork. I loved that project. Never forgot about it.
I think that the way in which we've been instrumentalized and forced to use the browser
is kind of sad. I mean, I understand why there's a lot of big money behind it and big ad tech. And
I think that the industry would be very much opposed to a browser without ads. And secure
by security, I meant that things like your personal identification, your secrets, your
credit cards, your password management is done from first principles of preserving security, integrity,
and reliability of data, not just for yourself, but for your device, right?
I think that the easy way to look at security is to say, oh, it's just about my passwords.
The reality on the ground is that sometimes we share passwords, right?
Like my mom and her husband, they had a shared password for their banking until I caught
them.
And I was like, no, guys, you can't do that.
You can't share passwords these days. And I think that the entire model of passwords, passkeys, and cryptography needs a revision.
It needs to be treated in a way that is built off of those first principles,
that if it's not secure, it doesn't ship.
Well, those were two aspects of the things that I put on my list, Adam, of what we want in a web browser. And I know the main thing that we all agreed we
didn't want was an ad company living inside of our web browser, which is why we have gone elsewhere.
Super interesting, Daniel. I think if you ever do decide to plant your stake in the ground,
come here first and talk to us about it. We would be happy to help you bootstrap support around that project.
It's something that I think the world does need.
And that's cool.
It just seems like from the Towery people, it's just interesting.
I understand that you gave the reasoning why you've been thinking through this.
But for me, it is a bit of a pleasant surprise. Adam,
was you expecting him to talk web browsers today with Daniel? I didn't think we would.
No, but I think the components you mentioned, which, you know, the signing, the delivery,
the distribution, I agree with everything you said there, Daniel, which you're essentially
building the necessary bones to build the skeleton of a browser. And, you know, Jared,
we just talked about that. Now, obviously, we're not going back to that Friends episode, but we are kind of in a way, you know, I don't use
Safari because it's got particular privacy or certain features like that. I use it for,
you know, graphics, essentially, like, okay, it gives me tabs that shares with my iCloud,
like it gives me particular features like that, not because it's more secure.
And I think that the browser you're talking about would be built on fundamentals that
are for the people versus for the corporation building the thing itself.
That to me sounds like an amazing foundation.
But no, Jared, I was not expecting him.
Well, I mean, it would also need more than just that, of course.
But we don't need to talk about...
Oh, God, it would need perfect visual representation.
It would need to have CSS3 compliance.
There he goes again.
It would need to have TypeScript from the get-go.
It has to have Wasm.
I mean, yeah, of course there's a laundry list of things
that make a browser a browser.
Yeah, performance, right?
Speed.
If it doesn't have those things that we ascribe to browsers,
it's not a browser.
Sure.
And I'm not saying baseline browser features.
I'm saying it would need, I know you chose the differentiating factors, but also I think speed, performance, battery use, these are things that are also very important alongside
privacy and security.
So there's a lot of things that go into making a compelling browser.
If we might just hop that conversation back over to Tauri,
one thing that you said, it was probably 15 minutes ago now,
that I was like, this is interesting.
This is a change in perspective for you.
When you were talking about electron competition
and cooperation and VCs and Tauri,
you said out to make it a better electron.
You didn't make that.
You made something different.
And it's better than electron in some ways,
and it's worse than electron in some ways. And I would love if you just take a few moments
to draw that out for people. Because a lot of us, Daniel, are still in the point where we're
thinking about Tauri and we're just, we're not as far down the line as you are in your thinking.
We're thinking like, should I use this or should I use electron? We're thinking about tooling.
And so that's a very interesting thing is like just that comparison
of the two coming from your mouth about what is Electron better at than Tauri and vice versa.
I think just to address it, I made some mistakes engaging in this idea that Tauri is better than
Electron and here's why. And I even got into a Twitter battle with Marshall of Sound,
where I proved that we were better in some way. And after reflecting on it, I think that there's
a lot of things that Electron brings to the table. For example, you might consider it a bad thing,
but it does bring a unified web interface to the major desktop platforms.
It's the same interface. If you look at it in Windows, it's going to look the same as it is
on Linux. So I think that that's something that we don't currently have. You also get an amazing
general runtime of Node.js bundled with Joy that can do anything. Basically, if you can think it
in JS, your isomorphic skills are going to come in totally handy. You're going to be able to
follow documentation that's been built over, I mean, Electron's like almost, is it 10 years old
now? Like they've been around for a while and a lot of people loved it and grew up on it and
made documentation, made whole tutorials.
You can learn about it and not need to step out of your comfort zone.
So I think that that's something, those are things that Electron has going for it.
Tauri, what Tauri has going for it are you only ship the parts of software that you need
to run it.
You don't need to ship a generalized runtime.
So by doing that, we can reduce the actual engine size of a Tauri app down to five, 600
kilobytes, maybe 400, depending on how aggressive you compress.
Tauri is also like, I might get some flack for saying this,
like people do benchmarks
and they benchmark and they compare
and like, oh, this is a Hello World Electron app
and this is a Hello World Tauri app
and this one starts up this fast
and this one starts up this fast.
I know which is better.
But ultimately what's happening under the hood,
what's happening inside of the core runtime is fewer syscalls,
fewer, like less memory pressure, and believe it or not, a quicker startup. Like just the time it
takes to open up a large binary is like linearly longer than opening up a small one. We're talking milliseconds here.
I guess you could split feathers.
But once you start thinking at a global scale
of the trillions, quadrillions of apps
that are installed out on the planet,
do they all need to have an individual
eight or 12 megabyte Node.js runtime,
if you have 10 of them on your desktop, not so much.
And I'm very much convinced that as Tilebree technology
gets adapted by more and more teams,
it does become a financial factor
once you start to consider massive traction.
I mean, if your app is downloaded a million times a day, once you start to consider massive traction.
I mean, if your app is downloaded a million times a day,
the difference between 200 megabytes and 10 megabytes is going to mean something to somebody in your accounting team.
And that's just the accounting side of it.
The transfer of this massive bundle costs electricity.
We are not in a cold fusion world yet.
Maybe at some point it won't matter anymore
and we all have our little fusion packs built into our wrist.
Yeah.
But until then, we have to conserve electricity.
We have to protect the planet.
And every little thing we can do is important.
And as, like I was saying, as Tauri grows more and more relevant
and more and more widely used beyond the fig IOs and space
drives out there, it actually concretely, positively impacts the planet. Now, you could
argue that the most performant app, the most stick-share app is the one you don't build,
but I think that's a red herring. I think that people are going to continue to build apps and
we just want to make sure that they're sussed out with the right tools.
What does Tauri also do better than Node.js?
Well, we can integrate very easily with third languages.
There's actually a dynamic library example that lets you rig Tauri from C++. Like I was saying before, people are building Elixir bindings and Python wrappers and PHP
engine backends.
And that ability for your preferred piece of backend and frontend to come together with
the Tauri components working as glue is the really compelling part of it. Because I'm not going to lie,
I wrote a lot of JavaScript in my life. The thing about JavaScript is that, and it's happened to me,
I'd be writing something and I wasn't sure which context I was in. If I'm like on the front end,
if I'm the server, wait a second, how does this work again? You know, that isomorphism really, I lost my place sometimes.
And I think that the fact that you can now use Rust's Elixir Zinc, C++, means that there's a lot more entry points into the system.
And, you know, combined with the fact that the work we've done on the bundler and updater is going to become more broadly available to others in the ecosystems, then I would argue that the Tauri project itself is grown beyond itself already.
I think that it's grown to see itself as a way of supporting the much larger ecosystem.
That third language thing is really cool.
I wasn't aware of that until you told me here earlier.
I think that's really, really interesting.
And I agree with you.
I worked early on in some isomorphic contexts, I think with Meteor.js,
where I was just as lost in where was I,
that the benefit of having all JavaScript really was lost
in the fact that I still didn't know which area of the stack I was currently coding for. So I've never had a problem
hopping back between JavaScript and a different language, like contextually, especially ones that
aren't dramatically different. Anyways, I always thought that the isomorphic promise was somewhat
spurious or not interesting to me. that's a side tangent but yeah third
language is really cool it definitely allows towery to bust outside of the box that it's
currently in interesting you mentioned user interface to a certain extent as an electron
advantage with regards to what they provide what does towery provide when it comes to
interfaces i was kind of as i was kicking tires, I was expecting kind of more like widgets and things where you can just like, give me a file explorer, give me a this thing widget.
And it would provide that kind of thing.
It's like none of that's there.
So is everybody doing their own thing inside of, you know, you grab some Tailwind CSS and like start from scratch or how's it work?
Technically, you're right. some Tailwind CSS and start from scratch? Or how does it work?
Technically, you're right.
The various ways that people can interact with Tauri are,
it's going to sound stupid, menus.
Menus are part of the user-human interface.
Sure.
Task bar applications are, you know,
these little drop down or drop up that gives you a little insight, close app.
Totally.
Show me the open windows,
the window itself,
the copy buffer,
the keyboard,
the mouse,
the pointing device,
potentially multi-touch the microphone,
the camera.
Like those are the,
the things that we wanted to make sure we got right.
And we'd like,
we'd be talked about at one point even making a crate for people
who want to play around
with those little stoplights
on their Mac OS.
And we sort of decided, you know,
if someone from the community
wants to build a plugin,
we'll support it.
And actually that's what happened.
Now, a window isn't just a window.
You know, there's transparent windows. I, a window isn't just a window.
There's transparent windows.
I'm being pedantic, but it's important, I think.
There's transparent windows.
There's windows with decorations.
There's windows with title bars.
These are all classical things that we touch.
The size of the window, the position of the window,
the relationship between windows.
Is the window on top? But what do you put inside the window right
so like the way that tauri is built there's two very low level some people call it deep tech i
hate that but call it low level libraries one of them is called tau and that's actually a fork of
the winit project that we've added to keyboard accelerators, you know, the command shift
plus T or whatever, and menus and the window.
So we can create the window and all of this touchy feely stuff with Tau.
And then you got to put something in Tau.
There's a number of things that we currently offer.
The primary one is the web view.
That's what everyone knows.
It's HTML, CSS, JS compliant up to ECMAScript 2020,
unless you're on,
let's see, and then you get the unless, right?
Unless you're on like Mac 10.13
because it's using Safari WebView.
And what is it using exactly?
It's using WKWebView on macOS.
It's using WebKit GTK on Linux.
And it's using WebView 2 on Windows.
WebView 2, I will note, is based off of Edge, which is based off of Chromium.
So you do get a Chromium-like browser experience with all of the lovely telemetry that Microsoft puts into every app.
The lovely telemetry, yes.
Then on macOS, it's WKWebView,
which is version locked to the Safari
that you have installed on your latest update.
And on Linux, it's WebKit GTK,
which itself isn't totally feature compliant.
For example, WebRTC doesn't work there.
So we also built two other kinds of windows.
So there's an immediate mode GL type window
called Tauri eGUI, which you have to use Rust for.
There's no real good way around it right now.
But rerun.io is the company behind eGUI and it provides a JavaScript,
HTML, and CSS free way of building user interface that we recommend for people who
have high security requirements. You don't paste your password into a JavaScript window because
you never know what somebody built with the node module that you installed. So you use one of those.
And recently, it's not actually been made super public yet,
but there is also a WebGPU window type that you can create.
So, for example, the Bevy game group, they need the WGPU,
but they also would like to put some HTML-type buttons on it.
So it was a research project with Crab Nebula. We put that together in about a week. So now they have more options.
And ideally the future looks like either Servo or CEF, Role Me On Embedded Framework. Both of them come with caveats
and I mean,
CEF would be the
quick way to do it,
but then, you know,
we're shipping Chromium
to everybody again.
Anyway,
that in and of itself
and making it work
on all of these different platforms,
oh my gosh,
then there's the mobile stuff as well,
has really led to us
building these low-level tools
and then expecting people who build front ends
to create the kind of user interfaces they need.
And did you say earlier,
I kind of expected that to be the product of Crab Nebula.
So I was thinking more along the Tailwind CSS
is the open source project,
and then Tailwind UI is the thing that you go and buy.
And so I was kind of expecting,
you did mention productizing some UI stuff,
but there's a lot of different stuff in there.
I kind of expected that to be your product play
was all this additional layer on top
that provides cross-platform widgets
and cool looking things you can use,
you know, the doodads and the...
Can I be honest with you?
I think that market is right now too small.
Fair.
I think that that market needs two to five years to mature.
Maybe two, maybe less if we're really successful doing what we're doing.
But right now, it's not the time to bring that out.
I think that there's so many options for people to build stuff that, yeah, I mean...
Fair enough.
I always get a laugh at the phrase, can I be honest with you?
Because it's like, well, what have you been doing this whole time?
Daniel, come on.
I meant.
I know.
I'm just kidding.
Jared.
You know, in German, they call them floskel.
In German, they call them floskel.
What's that mean?
Which is like little flippers.
It's like little things you inject into a sentence
to pass the time while you decide
if you're actually going to say the thing you want to say.
Right.
I'm just giving you a hard time.
Good stuff, Daniel.
We've talked about a lot.
Is there anything obvious or big regarding your news
and your release?
2.0, you mentioned.
Is this stuff burgeoning?
You have a product in the fall. What's coming out? What else haven't we talked about regarding your news and your release 2.0 you mentioned like is this stuff burgeoning you have
a product in the fall like what's coming out what's what else have we talked about or that
you want to reiterate as a as a final thing well i mean right now tauri itself is close to entering
the beta phase the beta phase means we've reached a compliance internally with our expectations of
what it should do basically as soon as we mark tauri 2.0 beta, we're sending it off to audit.
It's going to be audited by two companies, Radically Open Security on one hand, and on
the other hand, Crab Nebula, because Crab Nebula has been auditing Tauri since the 1.0
release, 1.3 or 4, whenever we started the company back in November.
And once the audit is completed and we've fixed the findings, we will then mark Tauri as RC0,
give the community a good time to feedback, reply, make last minute changes. And then we
will release Tauri 2.0. I hesitate to give timelines because audits can find lots of things that you weren't expecting.
But we do expect to keep things speed.
We have a blog post about it on the Tauri website where we go into detail about it.
But the challenges of an open source community is that it's really hard.
I mean, even with a venture-backed group like we are being involved, it's really hard to give the community timelines.
I'd like to say a certain date, but obviously, you know, we've learned that, you know, engineering sometimes just takes the time it takes, but we're closing it on it and it will have mobile.
So I think we're, we're, we're checking're checking off the to-do list for
Tolerate right now. Well all
exciting things Daniel we
of course hope the best for you always appreciate
you coming on the show and discussing
these things big picture little
picture I love how you can go from
the stars down into
the nitty gritty of
web views just like that
so we definitely appreciate you.
You're our kind of fella.
We appreciate you coming on and come back anytime,
especially when you're ready to announce
your open source privacy-focused browser project.
Promise to do so.
Thanks, Daniel.
Just on the tail of our
What Do We Want From A Web Browser episode
on ChangeLoginFriends,
here we are on this podcast talking about exactly what we all thought made the most sense.
An open source, privacy focused web browser.
And Daniel's talking about it.
So we're kind of excited about that.
Are you at all interested in this coming to fruition?
If so, let us know.
Slack, Twitter, twitter comments take your flavor
whatever works for you coming up tomorrow on change our gonna friends we invited our good
friend christina warren film girl to talk about the death of physical media as it relates to
netflix dvd shutting down as it relates to the era we're in where streaming is really taking over and being
favored by the studios and everyone else. It's a good show. It was fun. I hope you listen to it
comes out tomorrow and a big thank you to our friends and our partners at Fastly, Fly and
TypeSense. They have our back. If you need amazing search and CDN, or the best place to host your things,
check out Fly, check out Fastly, and check out TypeSense.
They're all awesome.
But hey, that's it.
The show's done.
We will see you tomorrow. Thank you. Game on.