Tauri Newsletter

Subscribe
Archives
October 5, 2023

Tauri Newsletter #2- interview with Tauri co-creator, LLM programming environments & more

Hello everyone!

In this second issue of the Tauri newsletter I am excited to present to you an interview with one of the co-creators of Tauri, Daniel Thompson-Yvetot. Daniel cares strongly about open-source, performance and in this interview he talks about how these passions led him to work on Tauri.

Interview with Daniel Thompson-Yvetot

How did you first get interested in computers and software? And how did it eventually lead you to co-create Tauri?

The very first computer game I ever played was Pong, at my Grandfather’s house. I must have been 4 or 5. I thought it was much more boring than fishing.

Pong

The first console we had at home was the Intellivision “game console”. It was clunky and by today’s standards SaF - but as a child in a domineering 1980’s household I felt like I had some semblance of agency.

The Intellivision console

In 1984 when I was 8 I got a Commodore 64 as a Christmas present. My sister got a Cabbage Patch Doll. Her toy didn’t need a manual, and I could have read mine. But I didn’t read it.

The Commodore 64

The first thing I did was unbox it and plug it all together and jam on the keys of the keyboard and somehow managed to paint some silly landscape picture by overflowing the lines. There must have been a couple games that loaded from a cartridge plugged into the back of this dude, but I can’t remember which ones they were. Probably Temple of Apshai. The game I do remember spending the most amount of time with was Ultima IV, although I think that used a set of 5 ¼ inch floppy disks.

Ultima IV

Later on we got a modem and I visited whatever BBS’s I could find. I didn’t know what to do, other than download crapware and cool pictures, but movies like Wargames hinted at the possibilities the future would bring. (Yes, the degen “movement” really took off in the 1980s.)

Screenshot of Exec-PC BBS

This was around the time I started getting into role-playing games (D&D) and reading tons of fantasy books like The Hobbit and such. As a Dungeon Master, I had the problem that I needed to constantly roll dice, and counting sucked, so I wrote my first BASIC program that let me roll any number of dice (d4, d6, d8, d10, d20, d100). I even had a cheat mode where I could secretly use 4d6 or 5d6 (clamped to 18) to have a better chance of making heroic characters. Sorry James, I should have told you about that one.

"As a Dungeon Master, I had the problem that I needed to constantly roll dice, and counting sucked, so I wrote my first BASIC program that let me roll any number of dice (d4, d6, d8, d10, d20, d100)"

It was a cool novelty (we felt like we were living in the future), but I wasn’t allowed to bring my computer to my friend’s place. He had a Commodore 128, so when we were playing on his side of the neighborhood, I would bring all my books as well as the dice program on the floppy - because Basic worked everywhere. Of course this was fine for a while, but I also needed to fill in all of these stats for NPCs and Monsters. On paper. By hand. I hated handwriting. So I wrote another program to create these characters. The problem though, was that I couldn’t figure out how to print them out, even though we had a printer.

I think that might have been the first setback I really faced with software, because computer literature wasn’t up to date in the local library, there wasn’t anyone in my family I could ask, and honestly I was just an 11 year old kid without YouTube or Wikipedia. If we fast forward 35 years, my engagement in technology has always been at a similar threshold of frustration. Either the industry failed us, or we failed ourselves - at any rate I have made a career out of my passion for building tools that help us fix things.

Wanting to fix things, though, isn’t something I can patent. It is at the heart of all innovation and arguably the reason why our species has gotten this far. And by derivation, actually it’s what drives Open Source Software and the people that continue to push it forward. Open collaboration on something that fixes things is a massively important factor in why OSS is eating the world - and why we at Tauri are trying to do our part by making things better.

With people now starting to ship Tauri apps into the world, it must be a very exciting time for you. Can you share if there's a particular Tauri-built app that has impressed or excited you the most?

There are actually a couple that come to mind. But one of the neatest out there is the https://fig.io project, which was recently acquired by Amazon Web Services. They built a supercharged context window for terminals, which is an amazing supporting service for any software engineer. The fact that their tauri-based tech (actually TAO + WRY) passed due diligence by one of the most relevant technology companies out there is impressive in and of itself. But it is relevant because this acquisition has de facto proven that the low-level libraries of Tao and Wry have the highest Technology Readiness Level (TRL-9) in accordance with the European Commission’s standards. 

The "Roadmap to Tauri 2.0" was recently published. Are there any specific features or improvements in the 2.0 release that you're particularly enthusiastic about shipping? 

Other than general availability for Mobile, the IPC renovation is amazing. One of the bigger complaints of the 1.x release was that sending data between the Webview and the Rust core was slow for lots of data because of the need to serialize. Now we have a MUCH faster system in place, which should please a lot of people.

Another important feature is the security focussed and bundle-size enhancement of our new configuration system. It puts the configuration closer to the code and makes it more clear what low-level services are being introduced.

But perhaps most exciting is the plugin system for mobile. It will be an entry point for a lot of Rust<->Mobile interactions that simply do not exist. Other approaches make it super complicated to use JNI or handle FFI manually on iOS - so we are looking forward to the reaction of the broader ecosystem.

Additionally, do you have any preliminary ideas about what may come after the 2.0 version?

Well, we are looking forward to “being done” with Tauri’s core. This means that Tauri itself is fit for purpose and extensible via its plugin system so that it can really fill any expectations and won’t need much more than general maintenance. Furthermore, we are continuing our research and support of alternative renderers, like EGUI, WebGL, Servo, and potentially CEF. This way devteams can decide what’s best for them, instead of merely having a single choice. 

We are also working on making the updater and bundler more available to everyone in the Rust ecosystem, instead of just being available to “pure” Tauri apps. This agnosis is ultimately what made Tauri so successful in the JS ecosystem. That’s why we’re bringing our learnings back to the Rust community.

What advice or considerations do you have for individuals or teams who are developing apps with Tauri?

Don’t be afraid of Rust. 95% of the things that modern apps need can literally be managed from the WebView’s JS. Along the way, you will find an amazingly helpful community at the official Discord server over at https://discord.gg/tauri - and if that’s not enough, the company where I am CEO – https://crabnebula.dev – is well positioned to offer you advice, support, custom engineering, and even security audits for those working in a regulated industry.

Beyond your involvement with Tauri, are there any emerging trends or software projects that you find especially exciting?

One that is close to my heart, and still only nascent, is the drive for better performance and smaller artifacts. I think that as the floods and fires and storms engulf our planet, we’re getting to the point where everyone has to do something, no matter who they are or what they do. Developers don’t get a free pass. Like Bun or hate it - the point is that JS is just sometimes darned slow and developers themselves deserve more efficient ways to get their work done. Higher performance with less resource consumption needs to start taking center stage, not because it's convenient - but because it is important for us to reach our climate goals.

Another trend I particularly enjoy watching unfold is that everyone seems to be finding novel ways to integrate other languages with Tauri. From C++ to Elixir to Python to PHP - everybody is excited about smaller apps that are more secure. 

You've also co-founded a company, CrabNebula, offering Tauri consulting and security audits. Could you tell us more about it?

We started the company to provide not only professional support to teams building with Tauri, but also to solve some of the hard problems associated with application distribution and inspection. We provide support and bespoke solutions for our clients, ranging from library development to proofs of concept. Furthermore, we also are building products and services to support the creation and distribution of apps to all platforms. And finally, we sustain the maintainers of Tauri by providing full-time employment within our Research, Development, and Maintenance department. Follow us on X: https://x.com/CrabNebulaDev

And that's a wrap for our interview with Daniel. Now onto other news and happenings in the Tauri world...

Articles, Tutorials and Talks

  • Roadmap to Tauri 2.0. There's some exciting stuff coming up in 2.0 including mobile support and Swift & Kotlin bindings for plugins.

  • Tauri 1.5 is released with Bun support, improvements to code-signing and notarizing for macOS apps and more.

  • Tauri Concepts: State Management(video)

Interesting Projects, Tools and Libraries

  • Rivet is a visual programming environment for building AI agents with LLMs

  • Radix UI is an open source component library ready to be used in your Tauri app.

Suggestions

If you have any suggestions, we're happy to hear from you! Write in to hello@tauri-newsletter.com

Don't miss what's next. Subscribe to Tauri Newsletter:
Powered by Buttondown, the easiest way to start and grow your newsletter.