October 6th, 2023 × #Cloud Computing#IDEs#Web Development#Artificial Intelligence
Google IDX - VS Code in the Browser with David East
David East discusses Google's new online IDE Project IDX, which allows coding directly in the browser with AI assistance. He talks about the motivation, benefits, and technology behind IDX.
- David East introduces himself and talks about working on Firebase for 10 years
- IDX allows you to create new projects and makes development environment setup easier
- Teaching workshops is difficult when participants have trouble with environment setup
- IDX uses Nix for package management instead of Docker
- Many companies use cloud-based development environments instead of local setups
- Performance and speed are critical for IDX to provide a local-like experience
- Closing browser tabs closes IDX workspace which can be confusing
- Mesh networks are difficult to setup properly
- IDX could use less memory than local VS Code since background tasks run remotely
- iPhone and Android emulator support allows testing mobile apps
- David has worked at Google on Firebase for 8 years
Transcript
Announcer
I sure hope you're hungry.
Announcer
Oh, I'm starving.
Announcer
Wash those hands, pull up a chair, and secure that feed bag, because it's time to listen to Scott Tolinski and Wes Bos attempt to use human language to converse with and pick the brains of other developers. I thought there was gonna be food, so buckle up and grab that old handle because this ride is going to get wild.
David East introduces himself and talks about working on Firebase for 10 years
Announcer
This is the Syntax supper club.
Wes Bos
Welcome to Syntax. This is the podcast with the tastiest web development treats on there. Today, we have David East from Google On Today. And he's here today to talk to us about, Google's latest project, which is IDX index. How do you say it? IDX. IDX, which is they're like, I'm going to put it just aptly here, and obviously it's there's more to it, but it's v s code in the browser. You log in, you can start working on your projects in the browser, Throw your laptop in the lake. Go get a new laptop. You're up and running in a couple of minutes because you log in right now. I'm very curious about this whole space of, like, thin client remote coding, all that good stuff. So I'm excited to have him on today to to talk about all that stuff. So welcome, David. Thanks much for coming on. Thank you so much for having me. And I do have to say, you do
Guest 2
I would not throw the laptop in the lake because you still need the browser to to connect out to it.
Wes Bos
But if maybe if it's a waterproof laptop, you could. I've I've never seen one, though. I'm sure they exist. So a a slight aside is that, the head unit I put I put an aftermarket head unit in her van. And it's it's this huge thing. It runs Android And then and then you can, like, get car play and all that stuff on it, but there's a browser on it. And one day I was sitting in the car waiting for 1 of my kids to get finished with ballet.
Wes Bos
And I was like, I wonder what, like, I could do on this browser. So I fired it up and, I got the backup camera working as a webcam, which is wild to me that that could work. So now I'm thinking, like, could I could I deploy the syntax website Say, when I'm flying down the highway on this thing, probably. Oh, no. No. No. Because you can doesn't always mean you should.
Wes Bos
Oh, man. Let's Let's stop real quick and say this syntax is brought to you by Century. Check it out at Century Dot I o.
Wes Bos
So, David,
Guest 2
Tell us, who are you? What do you do? Yeah. I'm I'm David, David East. I I work on Firebase. I I don't know how much of a fan you all of Of side tangents here, but I I've almost worked on Firebase for Love them. 10 years now. And Wow. But they've kinda just, like, blurred by. You Like, I I haven't been, like, every year, like, wow. What another year. Just life I've had a great time. So, you know, time flies when you're having fun. But the other day, we I think we had this big team off-site, and a new member of the team came up to me and was like, oh my gosh. I'm Just super happy to be working with you.
Guest 2
You know, I've been following you on Twitter for all these years. And I was like, oh, yeah. That's cool. And he goes, yeah. I used to watch all your videos When I was learning in high school, and I was like, did did you just say high school? And I was like, clearly, this is your 1st job out of school. Right? He's like, no. That's wild to me that Firebase is is even 10 years old. You know? Like, I still feel like WebSockets in real time is relatively new, but it's not at all. Oh, yeah. We had, yeah. They're in the early days with WebSockets, it was definitely, like, lots of fallback to long polling for especially older browsers and stuff like that. And that was Before the days of evergreen browsers were, like, which is funny. I was talking about this to someone the other day. I was like, if you say to, like, someone new to development, like, it's an evergreen browser, They might just be like, what's that? But, like, less than 10 years ago, we were all like, evergreen browsers. This is the future. It's amazing.
Guest 2
And, like, so like, Wow. We we have it made now.
Wes Bos
Yeah. It's funny because, like like, new things that come to the browser, It's like, oh, great. Like, this finally landed in in Firefox.
Wes Bos
Like, let's let's wait 6 months and, like, we could probably start using it. You know, it used to be Years years where we had to wait for these things to die off. And And even after they arrived,
Scott Tolinski
you're supporting prefixes for ever and ever and ever, and, yeah, You were just stuck in that hell for your entire life. Oh, yeah. But, yeah, it it's a it's a wonderful world of auto updating browsers. So do you wanna talk a little bit about What exactly at a high level? I know, Wes, with the whole throwing your laptop in the water thing. That's pretty much all people need to know. Yeah. Do you wanna talk about what IDXs
Guest 2
from your perspective in in, you know, something that the audience can latch onto? Yeah. Absolutely. So IDX is a new, project, a bit of an experiment here at Google where, we're taking the opens, you know, open source CodeOSS, putting it into the browser, but we're Putting on a ton of AI features from Google. And also what, one of the things that I am most interested in, just on a personal note of the project, is lots of, connections and, like, workflow improvements across a lot of Google products that I have been using a ton over the last, you know, How many years that I've been I don't I don't like saying the years anymore. Apparently, you know, it just makes me feel very old. There's there's been some time.
Guest 2
And so, effectively, yes, you can create new projects.
IDX allows you to create new projects and makes development environment setup easier
Guest 2
And for me, like, I've so I've been working, Helping out developers fix Firebase issues for a very long time. And one of the things that I always found to be really difficult was just dev setup.
Guest 2
There have been so many times, whether like, I've I gave a workshop once about web performance, and I was like, alright. Now let's start up by git cloning this down. And then, someone raised their hand. I was like, what's that? And then I was like, Paul, went Went to the computer, and I was like, we can get this set up real quick. We could not.
Guest 2
So I was like, oh, you can't do this real quick. Like, this is hard. And so I've found that, like, getting and then that's even, like that's to the beginner level of, like, I'm just getting started, getting Git installed, getting Node installed. I've had Bug bashes with, where we're testing out new features and products for Firebase, where I'm trying to get, like, a node CLI set up for someone Who's usually, like, a Go developer or something like that, so they don't let, you know, no touch their machine. And so we're doing all that from scratch. And the amount of times they're like, I know what I'm gonna do here. I'm gonna write Sudo. And you're like, no. No. Don't.
Guest 2
And it's just getting a workspace set up can be really, really difficult. And those are still Fairly straightforward things. Once you're talking about, like, Flutter, which Flutter has a really great install process, but I want to use the, Android emulator in the Ios simulator? Okay. Alright. And I wanna deploy that out to the Google Play Store or I wanna have test versions out for apps for my users to have. There's there's a lot of gaps in between those things.
Guest 2
And those are usually the tasks that, like, No one wants to spend their time doing. No one's like, hey. Great time. I just, I just set up emulators today.
Guest 2
Nothing really happened, but I clicked a button. And then after 8 hours of debugging, I now have emulators. The app isn't built. Yeah. No. No. No. The app don't it don't do anything. It's a it's a white screen, but it can load in an emulator.
Guest 2
So, yeah, that's what we're doing with IDX, really. We're making it so you open up a new IDX project. If you're using, Whatever you can you boot up this project, we will have Ios and, Android emulator simulators where you make changes. You can see them happen. And and then it doesn't matter what kind of machine you own. It doesn't matter what your setup is. It's just that That process, that workflow is now shortened and or even just, like, it's just way less frustrating to get things set up. So, those are the things that, you know, I'm super excited about. I've taught
Wes Bos
so many workshops in the past, and, like, I think back to Probably 12 years ago, I was teaching one of my 1st ever workshops at a thing called Ladies Learning Code here in Toronto.
Teaching workshops is difficult when participants have trouble with environment setup
Wes Bos
And I remember I've told the story before on the podcast, but It's so funny that I I think about it at least once a month is we had all these, like, probably, like, 80 women come into this room. They're all Learning to code. This is back like Windows Vista days, and we're like, okay, we're going to learn WordPress. And we said, okay, you got to install LAMP and get it up Running and people had corporate machines and, like, we're like an hour and 15 minutes into trying to get everybody LAMP Stack installed on their computer. And this 1 lady could not get it going, and she just says, f it. I'm going shopping and slammed her laptop and walked Out of there, I'm just like like, part of me is like, like, I wish she could have had a little bit of a taste of coating, but also, like, I don't blame you because, like, it's Sounds good. That was rough. And to be able to do, like, give somebody a link and say, all right, this is a tutorial. It's all dialed in for you. Don't fuss with all the setup. Let's actually focus on the stuff that actually matters and that is exciting. Exactly. And we can get up and running much quicker. Yeah. I was even gonna say, like, Can you imagine trying to install
Scott Tolinski
Xcode at, like, 40 gigabytes or whatever that thing is on a Oh, yeah. Wi Fi network from some meetup or conference? That That sounds like the worst situation to be in. You're never gonna finish it.
Scott Tolinski
So in in my experience so far using, IDX, It it feels like a really, like, polished product. We love to hear that.
Scott Tolinski
You know, like the the Yeah. Well, I mean, a lot of times, especially when things get just announced, you fired up. There's templates, whatever. You have a couple of templates. Right? But this was I was I was surprised to to see pleasantly surprised to see, like, a Svelte starter. And you you can start up a a nice little Svelte starter, and it, You know, all of the the process of starting a new project, like, things felt like products that I've used that have been around a while. Is there, like, a A large team working on this or a couple of people? Like, what what's the the, the workforce behind something like this that that gets at this polish this quickly. Well, it's awesome to hear stuff like that because I think when you work internally on it, you're kind of like,
Guest 2
Oh, you can only look at all the things that you need to do or the way you think things should be. So you kinda lose sight of, like, maybe anything that is going well.
Guest 2
So we're always like, oh, this needs to change. We want this and that. Like, you mentioning Svelte, we're like, oh, we need so many more, like, than just that.
Guest 2
So it's awesome to hear that.
Guest 2
The team started out pretty small, to be honest with you.
Guest 2
And, Probably, like, a handful of SWEs, like engineers, PM.
Guest 2
And, I don't know if, If, if anyone here is familiar with Roman Nurik, he is a really amazing developer designer, working on the team. The whole team is just It's amazing. It was one of the, you know, big reasons why I was like, oh, I wanna spend time on here because I loved working, with the team.
Guest 2
One of the, engineers, Ashwin, he's amazing. Prakar, like, I could just name people. The engineering director, Aaron, she's awesome. Like, it's just one of those things where I kinda met with everyone, and I was like, this is fun. I wanna do more of this.
Guest 2
Mhmm. And so, I think that there's been a lot of focus on detail and, like, getting what is there. And I I kinda know what you mean because when I first started using IDX Myself, I was a little surprised about how well it worked, but I've I've been using it for way longer, like, you know, on these real early internal builds. I was a little shocked when I first used it. I was, like, ready to, like, click a button and watch things explode immediately because Yeah. That's usually how first builds go. But I was surprised. I was like, And I was using it a ton, and I was like, I kind of like this. I loved the fact that I could just, I could install homebrew on this thing and be like, don't care if this mess I you know, for the longest time, I couldn't use homebrew on my m one machine. I was like, well, this isn't happening. Now I was like, yeah. I get to use homebrew Again and if I brick the install, I just delete the machine, which is something I really like. And so I was just kinda creating, these Workspaces over and over and over again. I do a ton of open source work for Firebase. So that was really what was kinda nice. If I totally screwed up something on a project, I would just delete the whole workspace and set it up again. Like and I loved that. Like and I know it's not unique to IDX, but I do love that kind of I love that future of development where you're like, I can't delete my machine,
Wes Bos
but I can delete this project. So that makes me happy. Yeah. Scott and I are not Docker guys. You know, like, I I run people always say, oh, you don't know how to use Docker. I run, like, 4 Docker machines on a server in my basement. So I I know how to use Docker. But on my personal dev machine, I don't wanna do that. You know, like, I just wanna have note. And, like, when I need to switch note versions, it's kind of a pain. Yes. Sometimes stuff doesn't work. No JIP error and all that stuff. It's it's kind of a pain.
Wes Bos
So it's nice that that can sort of go away. Maybe I should, like, just visualize it for people because you can't Sign up just yet. Obviously, Scott and I are special invites. Yeah, please.
Wes Bos
Obviously. And you will be able to sign up for it at some point.
Wes Bos
But when you sign up, it's it's Versus Code in the browser, right? Like you took Versus Code, made it run-in the browser, and then you also get Like, that's the the front end, or that's the editing experience. But then you also get, like, live, like, kind of a browser in your browser. The Ruby panel. And then you also get, like, a like, a VM, like, a back end. I could run, like you said, Homebrew or Node or Ruby or BHB on this. Right? Yes. It's fully so the backing system is all with Google Cloud. Their Google Cloud has a system or a product called Cloud Workstations,
Guest 2
enables this to to, you know, to be much easier for us. And so we, are fully built on cloud workstations.
Guest 2
And so when you boot up a new IDX project, You have a full VM, connected out to. And this is this is a machine. This isn't like some thing where it's like, oh, there might be Node on it or it might be this or it only supports Node or it only supports this. One of the things that I've been really getting into a lot lately Is, so we don't use Docker, but we use a system called Nix, which I had never heard of Nix before.
Guest 2
And so but it's been around for a really long time and has a really passionate community, which I've learned because when I talk about Nyx now, people are like, what? You use Nyx? They're like, Finally, people are, like, very appreciative of it. But Nyx is it has similarities to Docker, but is different. It's like an open source package manager, but, that kinda comes off as sounding like MPM.
IDX uses Nix for package management instead of Docker
Guest 2
But, like, with Knicks, what is a package is very, You know, flexible and very powerful, I think.
Guest 2
So, like, you can specify run times as packages. You can say, like, I want node. I want Python. I want Go.
Guest 2
Or you can specify certain bundles of things where it's like, I want like, we have one for the Firebase CLI, but that also encompasses The node and npm dependencies as well. So you can get pretty encompassing with these.
Guest 2
And then you just specify this in a Nix file, and It sets it up. So if you create a blank project with IDX, you can go search Nyx, for all the packages they supply, And you could say, like, oh, okay. I wanna set up a Laravel project. Alright. I like, right now, we don't have off the shelf support for PHP. We only have off the shelf Support for, web and Flutter. And that being, like, off the shelf means, like, you click a button for a for a web app That sets up Angular, Next. Js, or Svelte, or a Flutter app. And then when that app boots up, we automatically start forwarding The ports to the, preview panel so you can see everything rendering right in there. If you do a blank project, none of that's set up. We just sorta give you access to the machine to, like, sort of instruct it to your will, and then you do all of that with Nix. But you can still Specify all the stuff for Laravel and PHP. You can even set up the preview, window. So we we tell you, like, hey. Use these ports. It will listen forward on this port, and it'll start rendering it in the screen. So all that's possible even if we don't support whatever your favorite Go web server is or Flask or Django. It's it's just a machine, and we have this little DSL complements of Nix to to be able to Just to set up whatever you wanna do. And, like, even, like, databases and stuff, you could run on that as well. Like, literally anything that'll run on a Linux box, you can run Bitcoin miner. That space is a Linux box. Yeah. Yeah. Yeah. That's great. There's
Wes Bos
a lot in this space happening right now, and I'm very Curious if this will be the future of of writing it. Very similar to how I don't run Microsoft Office on my computer. I use Google Docs And it does a lot of it in the cloud. I actually know a lot of the computation it does in the browser as well. Like we see GitHub Codespaces, replic, Pod codes hand a box stacked. It's like everybody's trying to do this right now. And I was surprised to hear, like, I'm like, oh, yeah, for code. Like, you got a bug. You can replicate it on there and whatnot. But we were talking on Twitter and somebody told me Shopify, all Shopify devs Work in the cloud. 85% of Slack users work in the cloud in remote Dev environment, meaning that they don't Have Versus Code on their computer. They have Versus Code on a URL that they visit
Many companies use cloud-based development environments instead of local setups
Guest 2
and they go and and do it. So, like, this is not a toy. This like, you can do full blown dev on this thing? Yeah. I mean, that's that's absolutely the the vision and the goal with us is to not see it as just, like, Something fun. Like, it is fun, and we like that. And so if you wanna see it for fun, go ahead. But, you know, like, this is not fun. This is very serious. There will be no fun with IDX.
Guest 2
No. But it is, like, it is it is something that, yeah, you can import your project in from GitHub and just You'll have your you'll basically if you're if you're, like, on a very expensive computer, like, you'll be like, oh, now I'm just using another computer somewhere else. But, you know, it's always fun to get expensive computer.
Guest 2
But what I would say is is that it's interesting to ask whether it's the future of programming, or, like, of of development environments and stuff like that. I don't really know.
Guest 2
And I guess that I'm not Focused on that either. Like, what I think is really interesting is is obviously there's a need. And I think that's the most important aspect is, like because a lot of people I think are like, well, I really like a local development environment. And I'm like, yes. That's you know, they're actually I think especially nowadays, there are a lot of great reasons to have a local environment or there's a lot of good stuff that's like, if it's not broken, don't fix it.
Guest 2
Very much believe in that. But there is a need, like, For having, there there is a countless about about situations where you need to have this in cloud connected, just like you're talking about with your LAMP stack, situation. If you're running a conference with IDX, you could have a whole, like, hey. This is the next file that you need to have, And it comes you know? I mean, you could have all that in a GitHub repo, and you just tell everyone, like, hey. Import this GitHub repo into IDX, And now we're ready to go. And then you just saved yourself a massive headache in, like, an hour and a half.
Guest 2
And maybe, a conference is a small or a workshop is a small, You know, slice of the, you know, of the situation.
Guest 2
But we can really extrapolate that out to Way more things where it's so much easier to have a reproducible environment that I don't have to care what special situations are happening inside that machine across All of the different team members or people I'll be working with.
Guest 2
Or even if I just wanna get set up on a open source project and all I have to do is click a button to get started, And I don't have to be, like, pinging the maintainers being like, so it gave me this error code, and then it did this, and then it did that. And it's like, oh, that's because I'm Windows, or that's because a Mac or you're using a special Linux distribution.
Guest 2
And those 2 things to me are what's really great. And those there's obviously a need for those things. And I think as technology only grows and grows and grows, those needs were also only grow and grow. Yeah. Open source,
Scott Tolinski
maintainers rejoiced Yes. At people being able to produce reproductions because that's always, like, the biggest pain. Right? And it it is lovely if somebody can post a link to a public, not only just a repository, but a fully working application, See the errors, see what's going on, be able to debug it that way.
Scott Tolinski
Since we were talking a little bit about, You know, the online coding space here, I I wanted to ask is, does this do offline at all? Is, is there an offline Like, if if you're on an airplane and your Internet goes out, are you pooched? Yeah. Right now, you're pooched.
Guest 2
But that's you know, that's obviously not something that we want in the future.
Guest 2
Right now, like, the biggest thing is the cloud connectivity and, like, all the stuff. Like, it's it's very cloud based right now, but, you know, it's Been a very like, we have a whole, like, feedback loop within, our early user testers, and that has obviously been a very big request.
Guest 2
And so it's one of those things that, you know, we're still early. So the good news of that you know, the bad news of that is that, oh, we have a lot of work to do. But the good news of that is is that One of the reasons why we wanted to be early, and reason why we call it, like, project IDX and we tell people this is this experiment we're doing is because It's really hard to build a product, but especially a development product because you're basically you're building a product that other people can use to build products, And so it becomes so can be very complicated to figure out what to focus on, and you can Mhmm. Get people in a room, or you can think you have a lot of the right answers, but we kind of understood early on that we could waste a lot of time building features no one might find important or less important than other features.
Guest 2
So we're releasing this out, like, with what we feel is very, you know, very usable, but, you know, still has a lot of work to go. And hearing things like, hey. We really want this to work offline.
Guest 2
And that's you know, we can weigh that feedback against Something else we might have heard, like, oh, we really wanted to integrate with this or that or, in I you know, we want more Specify, like, our we want a better templating library. We want more this or that. And so we get to kind of hear that early, and we get to make those visions. And so when we build them and implement them, we know that, like, this is coming from a lot of users. So that's where we're at now. Yeah. Offline. I mean, it feels like that's gotta be a really Challenging problem to solve. So Well yeah. I have a big big background with offline of Firebase. Firebase has been doing offline for Almost 10 years now, maybe 10 years now. We've been, like, intermittent offline for 10 years. And for probably about 8 years, we've been doing persistent offline. And, yes, It is a very, very difficult problem, especially across tabs.
Guest 2
Oh, yeah. That's That's the whole idea. Like, if you just have it in 1 tab, it's only really difficult. But as soon as you open up in 2 tabs, it's it's like, You know, quantum mechanics. Yeah. Have fun. And it being,
Performance and speed are critical for IDX to provide a local-like experience
Wes Bos
like, Versus Code or or the project behind Versus Code, I guess it's it's Kind of the same thing with, like, Chrome being the browser, and then there's so many other browsers that are based on Chromium. Right? What about, like, extensions for Versus Code. Like, I went on there right away, and I was like, well, can I get my theme? Can I get all the extensions that I want? And I was able to find them, and they they run it in the OpenVSX registry. Right? So it doesn't come directly from Microsoft. No. Everything runs in OpenVSX,
Guest 2
because it's all part of CodeOSS, which is the, you know, open source part of everything. And so everything is all in open source.
Guest 2
And so I would say I I'm not fully, like, educated on the differences. But as somebody who has spent a ton of time installing extensions on these things, everything Everything that I've needed to find in OpenVSX has been available and, to the point where, like, I actually wasn't even aware of that at first when I was using it. And I was like, Open via oh, yeah. That's right.
Guest 2
Okay. It was one of those so it's, like, it's worked really well for me, but it's also one of those things too where we wanna hear from people. Like, I want this specific package, and I couldn't find it or something, but it's available over here. So it's one of those things we haven't heard because I haven't heard anything yet about that, but I will be very, very interested if we did. Yeah. My somebody pinged me once and was like, hey, Wes. You're You got to get your your theme on OpenVSX.
Wes Bos
I was like, what the heck is this? And it looks like my theme, Cobalt 2, is 3 years out of date on there, so I got to figure out how Okay. This is interesting. Okay. How to update it. Right? Because I, like, I just published it to the Versus code store, And probably 3 years ago, somebody asked me to publish it to open VSX. Interesting. And I I probably did that, but it obviously needs to be updated and synced somehow.
Guest 2
But as the that's not your project. I I have I just have to to dig into it. No. But it's a good problem for us to understand. Like, I was just thinking about ways we, You know, I'm always like, okay. Was there a way that we can, you know, help people do publishing to both? Or it's I don't know. It sounds like podcast to me where you're like, How do I get this thing published on, having started a new podcast myself? I remember just they're showing me the constant reach, and then I'm like, I thought the day before I could publish my podcast, then I could just, like, get it set up with everything and then, and then watch just laugh at me like, oh, you wanna publish this podcast today? Oh,
Wes Bos
yeah. But, like, the prettier one is all up to date and whatnot. Your major extensions that You use obviously have something in place for this type of thing, and that's not to worry. I was actually surprised at how quickly I was able to just copy Paste my entire settings file from Versus Code into IDX.
Wes Bos
And like, I felt right at home, which is that's what you need when you're trying to Have somebody to switch. It's not like, alright, here is a new product and here are the things that are kind of different and kind of weird, and you have to relearn how to do X, Y and Z. And I think the only weird thing was that, closing the tab closes the the browser.
Guest 2
Yeah. Yeah. Hot Hockey. Yeah. That's a Yeah. Hockey's and web apps is an unsolved problem.
Wes Bos
That's for sure. Yeah. Just if you overwrite system defaults, Then people get mad about accessibility.
Guest 2
Right. So I don't I don't know what the answer is there. Yeah. I I don't know either. I don't either. It's one of those things where you're just, Yeah. You can't override system defaults.
Guest 2
But in that context, like, what's you know, mentally, what's the system default? Like, you know, like, I because I do that all the time. I my fingers will it'll I don't know if the other one learned that. Mhmm.
Closing browser tabs closes IDX workspace which can be confusing
Scott Tolinski
Yeah. Command w, Command f, command f. Those are the the ones that always get you.
Scott Tolinski
What about multiplayer? Is that Something that, you know, like Google Docs famous for being, you know, like, the first time I think a lot of people use that type of functionality. Is is that something that exists or is on the the team's radar for functionality. Yeah. Yeah. We already have project sharing in place. I think it's, you know, like, sort of our, like, you know, our initial version. There's a lot of, like,
Guest 2
There's a lot that we want to do to improve it.
Guest 2
The the way it works is you create, like, a shareable link for it And then or, you know, an invitation out to someone. And then when they join, they're you're able to both access the project.
Guest 2
The, the one thing that we always show to warn people is the way we have it in right now is is that you're sharing your project, and so you're also sharing the machine. So if you are set up on GitHub, That person can push as you. Or if, like, you're set up to, like, whatever deployment you wanna send out to, that person can deploy as you. So they have your they have the permissions that that machine has. Like, you're sharing the machine.
Guest 2
So that's something that we've been looking kind of into is, like, how do we fine grain the permissions model or make that, you know, a little Different. But there are cases where that works out really well, where I had to get someone who needed to publish a blog post to the Firebase, blog, and they Weren't set up with the the account. The person who was supposed to add them to the GitHub repo was out, and I couldn't do it. And so I literally just created an IDX project with Firebase blog in it, and I shared it with them. And I said, here's this link. Write your blog post. Just push it as me. You know? That's fine. Just, you know, you know, be responsible.
Guest 2
And, it was kinda nice, actually.
Guest 2
So with trust, it's a really great system. But that's social trust. Yeah.
Wes Bos
Yes. And what about, like, like, speed and latency? Because I, Maybe about a year, year and a half ago, I tried GitHub code spaces and they have, like, a freebie to course where you sign in.
Wes Bos
And It felt leggy to me, you know, like, it didn't feel as snappy.
Wes Bos
And it was nice that it was in the browser and I got everything set up, but it it still felt a little bit Leggy to me.
Wes Bos
I mean, is that something that can be solved with a faster machine? So we don't have machine,
Guest 2
like, Customization right now in terms of, like, how many cores or whatevers you get. Yeah. You know, everybody gets the same at the moment. It's something, you know, we're looking into down the line. But performance is, like, incredibly important for us. Like, especially, like, you write LS, you want it to feel like It's you know, they're the files on your machine. I think that for most people, it's really, we've seen that it's been really fast. Like, that's, You know, when we when we get reports of, like, moments of delight of, like, this was awesome, that's, like, one of the top things we see is that people are like, oh, this felt really However, at the same time, when we see moments of people being like, hey. I didn't like this, that can be a problem as well. And the main thing to figure out is is, like, Is that a problem due to network connection? Like, and then, you know, stuff like offline will probably help with that in the future.
Guest 2
Or is that, Or is that actually a problem with our, you know, performance? Like, we and so for us, like I said, so so early. So these are things that we take Very seriously. So I, like, I would love to sit here and say, like, oh, it's fast. It's so fast. We love it. But, you know, since it's so early, I definitely want, You know, like, we wanna collect more data on that, like, understand for more. But for the use cases that we've seen, and especially, like, me, who I've been using this for a very long time now, Usually with good connection, but not always. This room has terrible connections, and I'm really bad at setting up mesh networks. So I made somehow my Internet worse Setting up the mesh networks? I have terrible connection in this room.
Scott Tolinski
I'm not a hardware person. Like, sometimes In a mesh network, it, like, does not hand off to the nearest router. So I'll have, like, the worst signal, and I'm a the router's right here. Just Just pick the one that's close, please. I know. I still cannot get yeah. But, anyways, I'm like, is this a is this an episode about mesh networks? Because I could totally
Guest 2
get down now.
Guest 2
But, yeah, it's like performance is a big deal. Like, I think that's the most important thing for me to say is that we like, that is, like, one of our, like, Product tenants, product disciplines, like, achievements or goals. Like, we want this to feel very fast, and that's not going to be something where we're like, hey. This is fast enough. Let's move on. Like, that's gonna be an forever iteration is, like, make this feel fast and make this feel at home because you like you said, Oh, I fell at home when I was there using this because it's stuff you're familiar with, but you're also familiar with things being fast, with a local environment. So that's that goes with that as well. On the flip side,
Mesh networks are difficult to setup properly
Wes Bos
there actually is a world where this would be faster than your local dev because, like, I'll give you an example. I go up to my cottage.
Wes Bos
I was working on the new syntax website on the transcripts. What needs to happen is I download the episode. We do a bit of modification with FFmpeg on the machine.
Wes Bos
We upload that entire episode to the transcript.
Wes Bos
Then we download the transcript. And that was dog Slow on my machine. Like, it usually takes 10, 15 seconds on my fast thing, but it was taken like a minute or 2 minutes to to do this whole process. And I thought, man, if I could run this sucker on something remote, someone else's machine, guess who has fast Internet? Google.
Wes Bos
You know, like, if your server side stuff is is being slow, then then run it on a, like, literally a server that might be running next to where your m p three is being stored. So I I've seen this at a much smaller scale,
Guest 2
where I was working on a library, AngularFire. And, I, was on a train, and so the This connection was super spotty.
Guest 2
But what was interesting was is I ran and I had the same epiphany you did. Not I had never thought about this, but I ran npm install When I was on the train, and then I was like, oh, normally, I would be like, no.
Guest 2
Like, this is gonna be so bad, and everyone's gonna start looking around like you're like, Sorry. I'm clogging the bandwidth.
Scott Tolinski
Yeah. Yeah.
Guest 2
But I realized, I was like, wait. The only thing that's going over the network is my command to to NPM install, which goes to the machine, you know, in Cloudland, and that's got a way better infrastructure than my train connection right now does. And so all the app has to do is stream back the response that the machine's getting, which is far more lightweight.
Guest 2
And, yeah, the NPM install Happened, like, quick. And I was like, oh, I'm, you know, I'm, like, dial up speeds right now, but I just installed all this Because I did. Yeah. The machine did. And that was like, it was awesome because I was like, this will take half the train ride, but it didn't. It just took a very normal amount of time. Yeah. That does make sense.
Wes Bos
Yeah. Like a like a Turborepo or NX. So one of the features of Turborepo NX is that you can share a cache Of of anything like build files, processed m p threes, whatever, between people on your team so that you don't have to do that same work over again. And That's nice that you can share that. But imagine the cash was literally on the same machine as as your coworkers. So That's cool. And like and then I was tweeting about this. And of course, you have the, like, LOL, Chrome memory folks.
Wes Bos
So someone was like, no chance. I'm not going to let Chrome eat all my memory up like that. And I thought that was funny because it's like, Worst case, it's exactly the same as as Versus Code running on your machine. Mhmm. Probably not because you're not running your back end process On your machine, you're running it on a remote server, so it's not taking memory doing that right. And all the extension processing, all the Versus Code background tasks, All of that is not happening on your machine. Literally, you're just viewing a browser and doing Whatever client side stuff Versus Code does, which is the scrolling and the painting and all of that good stuff. So theoretically, it should be LOL less
Guest 2
Memory, Chrome eating up. Because then your local instance is gonna be an Electron, which You're running a browser anyway. Which is a browser. I mean, I guess I under I understand the sentiment, and I understand, like, the desire to make sure that things are optimized. And I think, like, there is An understandable fear that, you know, given the history we have with web apps, is that when you see a web app, you're getting, like, a watered down version of, like, what you would get installed locally.
IDX could use less memory than local VS Code since background tasks run remotely
Guest 2
And I think that's one of the things that we really like, that is really important to us as a as a product. Like, is like, what our vision of IDX is is that you, through using it and through, like, just Us, like, working on it, that you don't see it that way. That, like, hey. No. I can use this for whatever whatever projects I want to. Not only is it the setup process is easier, but, yes, it's not this big memory hog or it doesn't do all these things. Or, like, I I I see it as, like, it's a grown up, And it it has a job, and I'm happy for it. Like, that's sort of my,
Scott Tolinski
like, that's that's the goals that we wanna hit. Yeah. And and, like, given that this is like a a a project IDX, and and it's funny enough. The 1st YouTube video I watched and I wanted to learn more about Project IDX.
Scott Tolinski
Like, the first comment on there is, how long until Google deprecates this? Like, do do you have any, like, personal thoughts or feelings on the the LOL Google graveyard thing, for this type of project? Without getting fired. Yeah. Without getting fired, obviously.
Guest 2
I mean, I've I've responded to a bunch of people on Twitter who've, like, expressed sentiments like this, and I can only speak to my, career in my perspective.
Guest 2
And so what I tell people is like, hey. I've been working on Firebase for almost 10 years now, and, And, before, it was at Google and after it was at Google. And, the discrepancy of time there is about a year. So I've been, so this October, I'll be at Google for 8 years working on Firebase 100% of the time. And so I just let people know, like, I've worked on 1 product here, I guess now 2.
Guest 2
But, I deeply care to work on things for a really long time. Like, my track record is doing that. I'm working with of other people who've worked here for a long time, who've worked on a lot of other who've worked on things for a very long time. So that's, like, usually the best. Like, we had this Back in the very early days of Firebase, we had this issue too being an early start up. People were like, oh, don't build on Firebase. It's a start up.
Guest 2
You know, like, who are they gonna be around? Are they gonna be around in 5 years from now or something like that? Mhmm. Mhmm. And the best thing you can really do It's just do your work and try to you know, and be around. You know? Like, we used to always like, people would always say, like, well, how do we let people know that Harvest is gonna be here, and the answer is be here. Like, you know, ship features, do things, get, you know, get people interested, do things that are, you know, worth People's attention in time. And so that's honestly what's most important to me is just, like, be here, do the work, you know, have fun, and, you know, This, it's worked out for me in the past.
Wes Bos
And it's not like it's not like you can't run the stuff locally either. Right. Like you just said, the back end's based on Nix.
Wes Bos
You could npm install. You can you could either fire up another VM somebody somewhere else. You're still like, I always think about the rug pull when I'm when I'm picking tech is like when, if and when the rug is pulled out from under me, How quickly can I get this thing running on other infrastructure? And there's different buy ins, right? Like you if you buy in To Firebase, you're going to have a hard time moving somewhere else. But that's the same with a lot of the Amazon stuff is it's it's better because it's easier and the integration is amazing.
Wes Bos
But with with almost all of this stuff, you should just be able to
Guest 2
get clone the repo and and run it somewhere else. Right? I mean, yeah, right now, like, the as far as portability goes, like like you said, it's a Linux machine.
Guest 2
It's running on code OS. These are a lot of like, we use Nix, which is a little Little bit different, of a setup than probably most people would have, but you can install mix locally. Like, there is a like, just openness is also a very important aspect to us because It makes it easier working within the ecosystem rather than reinventing every single thing that has been invented before. And also it Is it's really important, like, you're saying where you're like, I feel at home. Well, it feels you feel at home when you're using the things you use. And so it may not only does it make it easier for us to iterate and we we're like, To me, the most exciting things about IDX are the fact that, like, they can be really small. So, like, today, the the best, example I have of this is that you spin up a Next. Js app, and you want to deploy it, somewhere.
Guest 2
Well or an Angular app or whatever.
Guest 2
You can do that all through the Firebase extension right now just through buttons. Like and that type of stuff is Really cool. So not only can you deploy it out to production, but we have preview channels. So, like, you know, deploy branches and stuff like that.
Guest 2
You can create those via UI. And so you don't have to even think I mean, it it sends commands to our CLI underneath the hood, but not only does it know how To deploy out the Next. Js app or the Angular app, it knows that you have an Angular app, so it runs the deploy it runs the build command behind the scenes And then deploys it out. So it's not like click that button to build it. Now click that button to set up the preview channel. Now click that button. It's just no click the button. And, you know, we'll give it give the preview channel a name. It's gotta have a name. But then click the button. And so we, so that to me is what's really cool is that you Get to the point where I don't have to know what the CLI command is for that or even I bet I have to have the CLI for that.
Guest 2
And there's and that's a pretty simple one. There's, one of the things I'm really excited about that I, like, wanna see a future of, like, just personally is, at Firebase, we have a product called App Distribution. And so if you're building, native apps like Android, iOS apps, you know, Flutter apps.
Guest 2
You can upload the output binary to Firebase app distribution.
Guest 2
You have a list of users, and then they get a link where they can, you know, install your app, as a test version.
Guest 2
Since we have Android and iOS simulators, is a world in which we can say, click this button, upload to app distribution, and then now send it out to your testers. And then you didn't have to worry about builds. You didn't have to worry about that. And now the iteration of Fixing something and getting a tester on it or building a feature and getting a tester on it is button clicks rather than reading documentation, understanding how this works, or, like, you know, Setting up the plumbing yourself, like, it's just you know? That's that's where I'm excited about headaches. It's buttons. Like, I want buttons to do stuff that I don't want To to do it. And as a I'm a been building stuff my whole life, and that's really what I am excited about. It's just don't know. Can saying it this way sounds kinda sounds kinda ridiculous, but I think at the same time, most developers understand. They're like, yeah. I want the easy button. I want the thing that Sense the thing to the thing, and I don't have to do the thing. I'm almost saying the exact same sentence as absurd as that sounds all the
Scott Tolinski
All the time. I want the thing to do the thing for me, please. Yeah. No. Thank you. Yeah. How do you feel about personally, like, iPad coating and coating on devices. Do you think it's like the iPad will become the device, or do you think The devices will eventually all become merged into 1, or or what are your thoughts there? That's a really good question.
Guest 2
I think I'm definitely not qualified to Give a very precise answer. I remember when I was, sorry, like, 10, 15 years ago, someone was like, yeah. Desktops are, like, going away. And I was like, what? No way.
Guest 2
I was like, David was wrong. You know, unless you wanna unless you're gaming. But, we're editing lots of video. What I think is interesting is is that it's the Accessibility of getting started with coding is what I think is going to be the most impactful to start.
Guest 2
And then you'll have people who will, be like, oh, I can get an extra device, and it's only gonna cost me so much money because it's a it's a tablet or or it's a Chromebook or, you know, some some, you know, cheaper device.
Guest 2
But, like, with my my son wants to learn how to code, and he has Chromebook. Well, I can there are tons of options, but, you know, as a proud father, I can spin them up with IDX, And I can be like, look at this. Whereas before, if he was like, I wanna learn how to code, you're like, I am not buying you a MacBook.
Guest 2
Like, I, like, you know, I see what you did to the phone. I already bought you. That's destroyed. Yeah. Like, you know, like, I'm not I'm not buying a I don't even buy myself another MacBook right now. I wanna buy you one. And so for me, I think that's gonna be the biggest thing is that if you wanna get started to program programming, the investment now becomes, do you have a device that can access a browser? And that is very exciting across the industry because, you know, it shouldn't cost a ton of money. It shouldn't be this big inaccessible, You know, resource intensive tasks to learn how to program. So to me, yeah, I I see I see iPad coding, you know, Chromebook coding, all those type of device coding, I do. I see that being huge going into the future, especially when you go into schools and stuff like that. It would not be shocking to me, you know, Just a couple years from now, being like they are all coding in editors with, like, cloud connected machines, all like, that's how they're learning in class It's all through stuff like IDX, and, yeah, that to me, I'm very excited about that. The phone testing stuff was was pretty interesting to me as well because,
iPhone and Android emulator support allows testing mobile apps
Wes Bos
Like if you're building a mobile app with Flutter or assume if you're building a a web app and you want to be able to test it on a phone, I thought, oh, yeah. They're making a Iframe that's the width of an iPhone. Like, good job. That's it. But it's it's legit phones running. Yeah. It's legit it's legit emulator and simulator. So it's not like you don't get, like,
Guest 2
some sort of stream from, like, An actual hard device somewhere. However, in, the spirit of exciting buttons, Firebase also has a service called Firebase slab, which does do that.
Guest 2
So, technically, we could even do that as well. Click a button to send to test lab, and then you'll get all the reports back from test lab about how it functioned on a real device.
Guest 2
Wow.
Guest 2
So, you know, we we have buttons, well well, we can have buttons. How do you do that For the iPhone emulator, because doesn't that require Xcode? So there we basically, it all runs out on a, remote server. I always feel like Charlie Day in that meme where he's trying to, like, just, like pointing to the I'm always like, okay. So there's there's a thing, and then that talks to that machine. But basically, yeah, like, the the Android one, we can do a lot faster because it doesn't require, like, an immediate rebuild. We actually are able to do hot reloading through Android.
Guest 2
So you make an edit. It's you know, snap your fingers, you know, cross our fingers that you snap your fingers, and then it loads.
Guest 2
With the Ios one, though, like, it requires a full build, and so we just do that on a machine, up in the Cloudland.
Guest 2
And so you click a button, and it queues it up, and that takes time because it takes It's time to run a build. That's something we we've been looking into. Like, I I'm not exactly sure the minutes or seconds or whatever on that right now, so I don't wanna, like, say it because, it's that's not even, totally available yet for using, though we very much wanna get it out soon.
Guest 2
Mhmm.
Guest 2
But We, like, we want to get the performance on that better, but we also know that, like, we would rather get it out where you have to wait some time to see it versus just not be able to do it at all.
Guest 2
And it's one of those tasks that I think is you're willing to wait on it a little bit if, you're like, hey. I can get a test of this by clicking this button rather than do this whole setup, you know, where I still will have to wait for a bit. Totally. Yeah.
Wes Bos
And you're also getting your own AI base stuff that will be integrated into it. Obviously, Canada always gets shafted on all the AI stuff. We are working very hard on getting it into as many places as possible. That is also one of the biggest priorities. Yeah. Lawyers. They have to add the used to all the the words, the color, and Yeah. All those yeah.
Guest 2
It's so difficult. You all all think so different.
Guest 2
What is it? What is a fear tray?
Scott Tolinski
Yeah.
Wes Bos
So that uses Google's bar then, and somebody's working on, like, a voice chat assistant? Or Cody.
Guest 2
Cody is, like, the code, Like, serving model, that Paul uses Palm underneath the hood.
Guest 2
There is so many oh my gosh. Learning about AI models and AI model serving is like, yeah, you can find yourself in a way. You're like, so that one does that one's the model. They're like, no. That one serves the model. And you're like, what does that one do? Like, there's there's there's lots of, things to learn, as always. But, Basically, yeah, uses, uses Kodi, which is Google's model serving for, for, you know, coding style tasks that uses palm 2 under the hood, I have this right.
Guest 2
But, basically, the idea is is that we have we have co completion and stuff that, you know, does its best to, you know, Try to suggest what's next.
Guest 2
The thing that I really like because I I I like writing prompts. Like, I think prompts are super fun.
Guest 2
So we have AI chat We're IDXAI chat. You can open that up. We also have, something I think is super cool. We have this, highly experimental option because we're trying to see fully how it functions, but you can, we it has a really fancy name. It's called retrieval augmentation. So if you wanna sound very cool at a party, Used to say retrieval augmentation, but it's code based indexing. So we basically index your code. And so that way when you ask questions, it knows about your code. So, like, an example of this was I was building this Angular app, and I was trying to build a form. And I got this error that was, like, cannot bind this value to blah blah blah blah. And I was like, I don't know what this is. And so I just sent it to the a IDXA chat, and I go, why am I getting this error? And he goes, well, online, blah blah blah blah, you are doing this, And, you need to import the forms module, which is in the app dot module t s. It gave me a link to click on it. So just include this line right here And then to import it and then include it in your module declarations down here. And I was like, oh. And, like, I knew I knew that once it reminded me, so I could've just gone in really quick. Like, had I been, like, new to Angular, that would have been like, oh, not only did it tell me what was going wrong, but it told me what file. I had to go to a different file than I was in to fix it, and it told me where in that file it was. And so that to me is, you know, for for things that I've you know, or these big known situations and stuff like that, I think that To me is just super awesome because even though I knew it once it told me, that's only because I've been working with Angular for also, like, 10 years.
Guest 2
Had I not, I would have been like, Okay. Cool. IDX. Thank you. Now moving on.
Scott Tolinski
Yeah. That seems like where the AI is most helpful to me. I mean, I I I personally I'm constantly using it to help me anywhere, but, contextually aware just completely changes the game.
Scott Tolinski
So that that's That's awesome to hear. I I haven't gotten to try out the AI features in IDX yet, but I'm I'm pumped to do so. I think I'm gonna try to get the, syntax site Up and running in it this afternoon. Oh, nice. Just to goof around in there. Yeah. Cool. Let's move into the next section, which is our supper club questions. These are a set of questions we ask everyone who comes On the show,
David has worked at Google on Firebase for 8 years
Wes Bos
this is actually kind of an interesting one.
Wes Bos
We usually ask what a text editor you use, but obviously that's pretty simple.
Guest 2
What computer mouse and keyboard do you use? Oh, no. I'm gonna be found out. I'm a simpleton, so I just use whatever I get stuck. So I used to be a consultant. Before I worked at Firebase, I was a consultant. And so they would Basically, be like, hello, consultant. We have this nice little closet for you to sit in. No. It wasn't usually that bad, but it was like, it's sticky in the corner over here.
Guest 2
And, you know, I was like, I didn't have the luxury of having an external monitor or anything like that or external keyboard. So I got really used to, like, Hot keys and swiping around on my, machine.
Guest 2
And then when I started at Firebase, there was one of those things where they were, like, you know, startup perks that were like, we'll give you, Like, whatever setup you want within a certain amount of money. And then they're like and they're like, if you don't know, then just check this box. So I checked this box, and it was like this Big, like, you know, Imac screen with the laptop and the stand and all this stuff. And then I went and sat down, And I just kinda, like, moved it to the side and then put my computer down. And then, like like, a week into the job, someone came up to me, and they're like, What are you doing? Like, don't you see all this stuff in front of you? And I'm like, it's a bit much.
Guest 2
Like, I try, and I tried at times, but I could never really get to it. So I'm basic. I I use just whatever stock is handed to me. And is that a Macbook, book or do you, Oh, yeah. On a MacBook. Yeah. Get, like, a Google issued Chromebook. I I could probably. Now with IDX, I could certainly just probably use a Chromebook.
Guest 2
Yeah. I did, however, use a fully, like this really fancy keyboard of my coworkers the other day.
Guest 2
And I'm not gonna lie. When I started typing again, I missed it. I was like, oh, the the keys kinda go back up
Scott Tolinski
when you type them. I felt I was like, this feels good. I understand it now. I'd always look and be like, that's loud. I don't get it. And now I'm like, oh, I'm very close to turning into a keyboard nerd. Yeah. Yeah. The only bummer with those is once you get used to it, Then all of your videos start to click click click click click, and, yeah, I love it. What about, theme and font within your text editor? So what kinda Demon, Funka, are you? So I use 1 dark pro,
Guest 2
and, it's classic. It's good. I mean, I mean, use cobalt. It's, like, the best, theme out there.
Guest 2
Did I say 1 Cobalt 2. Cobalt 2. That's Yeah.
Wes Bos
Why why is it cobalt there's a there's already a cobalt. Ulta, is that is that why it's cobalt too? There was a cobalt in Tech Mate originally, and I forked it. Gotcha. I made it. Okay. Cobalt too. From Tech Mate. Yeah. I don't think anybody uses Cobalt because it's it was like a I was gonna say, couldn't you just, you know, swallow up the Cobalt name space? Yeah. It's funny because, like, I made a Cobalt 2, and then somebody made a Cobalt 3 and I got like I was like, come on.
Wes Bos
But, like, I I literally did that to somebody else. You know? Tasty real nice. And kobel of 4. Yeah. Cool. That does not feel as good as I thought. Yeah.
Guest 2
Yeah. And I I think as my I used to switch them around a lot. Like, I was using Denk Mono for a while. A big fan of that one. I used Thinkmodel a lot in, like, sites, still. It's really good.
Guest 2
I used oh, I can't remember the name of it.
Guest 2
Zike Zike Zygon Mono was a cool one. Didn't do ligatures, though, so I didn't love that.
Guest 2
Mhmm. But the but it stylistically, it was very cool. So I eventually just became too extravagant, bought an operator mono mono license, and so now I've been using that. And it just is. It's just like, It's really nice, and you get used to it. And then when you don't have it, you kinda miss it. So, yeah, I use operator mono. And, Yeah. But I I don't know. I I'm a big font fan in general. Like, I love love fonts.
Guest 2
So now that you've reminded me that I've been this one for a really long time. I have a feeling that my brain won't let me rest until I find a new one to to nerd out over. Yeah.
Scott Tolinski
I I use I use mask driver.
Scott Tolinski
It's m d I o from Future Fonts. Okay.
Scott Tolinski
And it's it's gorgeous because everything Future Fonts puts out is gorgeous. But, Does ligatures in a more subtle way? I I like my fancy ligatures, but it doesn't in a it's a little bit more subtle than operator. Okay. And you can use your own
Wes Bos
Like, you can use your own fonts
Guest 2
in IDX. Right? Like, you don't like with Figma, you have to, like, upload your fonts if you wanna be able Use them. Yeah. You can use your own fonts. And, also, my I I'd be remiss if I didn't say this. My favorite feature of IDX, something I forget all the time, you can do with it, is that you can drag and drop files onto Oh. IX, and it just because it's a machine. It just stores it, and and now there's your file. And I forget that all the time. And so when I first started, I was storing everything in, Cloud storage buckets and, like, trying to download it, and I just had coworkers. Like, what are you doing? Just just upload the file.
Wes Bos
And I'm like, I like things in hard mode. Oh, that's great. So the last section we have here is sick picks and shameless plugs. I'm not sure if you came prepared with Either of those? I'm always
Guest 2
always ready to I am I'm full of shameless plugs, so that is no problem. I already have, like, a bunch. Love it. But I have Sick picks. So, like, things that I think are awesome. That's exactly right. CSS.
Guest 2
I think CSS just kidding. But squirrel snap animations, I think are very rad cool, as Adam Argyle, my buddy, would say.
Guest 2
A rad man.
Guest 2
It is. It's very cool. Anything in CSS that you don't need JavaScript for is really great, and that's not to be, like, hating on JavaScript. It's just, you know, one less thing to have to talk to the other thing because it's when they say you don't need JavaScript for it, it was also what they really mean. You don't need JavaScript coordination Between CSS and JavaScript, which is nice.
Guest 2
So I love scroll snap animations. View transitions, are amazing.
Guest 2
Everyone you know, the demo broke the Internet on, of the the Spotify demo. That was awesome.
Guest 2
Moving away from, TypeScript. No. I'm just kidding. I'm definitely not going there.
Guest 2
I love this.
Guest 2
But, yeah, I would those are my sick picks. I keep wanting to say pick 6 because I'm a as shameless plugs, I got a great one. So I started a podcast recently called the bad at CSS podcast, and it's literally a podcast Where we just talk about what we're bad at with CSS. We try to pick a topic. It's mostly, a tangential. Like, we go off on big tangents. So, like, when we put the topic click on there, and I'm like, we tried to talk about view transitions, but we talked about something else.
Guest 2
But, yeah, we just talk about how we're really bad at things. And it's usually, like, I was building this, and then this kept happening. And so it's lots of Adam, so it's a podcast between myself and Adam Argyle.
Guest 2
I always joke that, I'm bad at CSS, And I let Adam Argyle on the podcast because he's not bad at CSS.
Guest 2
But he does so much that he, like, is able to tell all these amazing stories or all this, like amazing tips of, like, this went wrong or this was bad.
Guest 2
We've had a lot of great guests on that have also it it was surprising the amount of people when we said, like, hey. If you wanna Come on to the bad CSS pilots podcast and talk about what you're bad at, you know, let us know. And a lot of people were like, oh, I am so down. Like, our first was first Coir, And I was shocked to hear him be like, I'm bad at this. I'm bad at that. I don't think this is very good. Now These these are all trips, that guy.
Guest 2
No worries.
Guest 2
In the podcast, which actually, I have to publish this one today with him. He actually said he goes, I think it's really funny that I'm the creator of CSS tricks because I've never created a trick ever. He's like, I just think I like to collect them.
Guest 2
Yeah. Yeah.
Guest 2
I admire collector of tricks. So yeah. Yeah. Bad at CSS podcast.
Guest 2
You should, check it out because
Wes Bos
We're all bad at CSS. Right? We are. Yeah. No kidding. Awesome. Thank you so much for coming on. I appreciate your all your insights into everything, and, hopefully, everybody enjoyed this Thanks for having me. Peace. Thanks. Peace.
Scott Tolinski
Head on over to syntax.fm for a full archive of all of our shows.
Scott Tolinski
And don't forget to subscribe in your podcast player or drop a review if you like this show.