Kaelan Cooter: Hello and welcome to PodRocket. I'm Kaelan, Engineer at LogRocket, and joining me today is Kirupa Chinnathambi, the Product Manager at Google, works on Firebase. Recently you might have seen Firebase feature prominently in the Google I/O keynote. Kaelan Cooter: Welcome to the podcast. Kirupa Chinnathambi: Great to be here. Thank you, Kaelan. Kaelan Cooter: So I'm sure many developers, especially developers familiar with Google products, are familiar with Firebase probably for over 10 years now. And my first introduction of Firebase was using it on a Hackathon product forever ago. So it's good to see that it's still getting in a lot of updates. Do you want to give a quick rundown? What's new in Firebase? Kirupa Chinnathambi: Yeah, absolutely. Just to give some background for everybody who may not have had the luxury of using Firebase many years ago, or even at a Hackathon project, Firebase is really about simplifying app development with a real focus on building a web app or a mobile app like iOS or Android, and really all the various stages that go into building an app. How do I think about an idea? How do I start writing the code? How do I debug it? And once I have my application built, how do I get it out the door into various customers' hands? And how do I make sure that once it is out the door, that we have really good ways of measuring how are we using it? How is the performance? Is it crashing? How do we make sure that the whole end to end life cycle for a product is properly maintained through developer tooling and backend services and the whole set of things that go on there? Kirupa Chinnathambi: And the real goal behind Firebase is simplification. You have your hands full building your client-side applications and having to balance both that and all the stuff that goes on behind the scenes with your databases, your authentication and your monitoring for performance and crashes, can be overwhelming. And so Firebase is really about how do we give you an integrated set of tools and services that simplify that world for you so you can spend more time really just fiddling with the things that you care about more, which is really great user experience and clients and apps and so on. Kirupa Chinnathambi: And so to answer your question on what's new in Firebase, it's really just continuing down the journey of, as technologies evolve, how do we take advantage of the latest things that people are building on, but how do we continue to simplify and make our products just better for all these audiences so that we continue to show that it is easy to build great apps without having to sacrifice power and flexibility and capabilities, which oftentimes comes with the idea of simplification. Kaelan Cooter: Yeah. Worthy goal, especially it seems to be a common theme. I guess it's on everyone's minds recently. With the proliferation of Next.js and all these fully packaged frameworks, everyone seems to be racing to make things as easy as possible, which is, I think, a welcome change from maybe in the past. Kaelan Cooter: You have quite a long career: Worked at Microsoft sales force and now Google. And I do remember your website kirupa.com back when it was Flash tutorials, I think. Kirupa Chinnathambi: Correct. Correct. I always was interested in Flash for a long time, and it was just back in the day where there was no online communities or forums or things where you can share what you're building on. And so I accidentally stumbled upon it and that got me into, essentially, the long journey to where I am right now, which is continuing to work in technology, working with developers, working on how to simplify the world for developers. And right now I am at Google. Kaelan Cooter: Yeah. That's a quite a journey. I see it's still focused on tutorials and such. Is that something that you do in your free time? Or- Kirupa Chinnathambi: It really is. Before it was a case where... It's still a hobby and it's still something I maintain for several reasons now. In many cases, if you take a step back and look at what do I do as my day job, which is oftentimes just taking abstract ideas, simplifying it and communicating it back out. And so the hobby that I started many years ago allows me to reinforce those skills a bit. I just happen to take complicated technical topics, my audience really are not technical individuals or visual thinkers in many ways who look at things more from a pixels point of view, as opposed to a just logical lines of code point of view. And so that gives me a lot of practice, both between my work, giving me the energy to keep doing this outside of it, and then the hobby, which reinforces my work. Kirupa Chinnathambi: So it almost creates a cycle where I get to just focus on what I really enjoy doing, which is just taking complex problems and breaking it down. Kaelan Cooter: Yeah. It's almost like a secret weapon as a PM to get a pulse on the community. Kirupa Chinnathambi: Exactly, exactly. And I also get really fidgety if I don't write code for a period of time, so this gives me that outlet where, as part of my day job, I don't really write a whole lot of production code, or actually any production code but, as a hobby, maintain that, so it keeps me focused on the technical problems and it also keeps me in touch with developers, as well. Kirupa Chinnathambi: I think one of the biggest things I really enjoy about this is that I get, both proactively and indirectly, I get just inundated with feedback from various people who are building things and going, "This is difficult. How do you simplify it?" Or, vice versa where I reach out occasionally and go, "We're trying to do A, B and C. What are your thoughts here?" And so it's been really great to have that two-way conversation, and being a part of a community that is really tuned to, in this case, development, it makes that much easier for me. Kaelan Cooter: Back on that subject of making things easier, do you want to talk a little bit about Firebase extensions? Because I wasn't even aware that Firebase had extensions, but it seems very fully featured now. Kirupa Chinnathambi: Yeah, absolutely. Because when you're building an app, there's so many things that go on behind the scenes. At the very basic level, a long time ago, you had dedicated servers, you had some code running on a server because you couldn't have certain things running locally in your device, you had to either do some authentication or have some data that was scaling across millions of users. It was very tricky. And so at a fundamental level, one of the things that Firebase really started off, which was a real time database, being able to have data that goes into public data store, and then that automatically updates it for any client that is currently using it. And that extended over a period of time to a variety of backend services, including, for example, authentication or cloud functions, which is our serverless compute product. Kirupa Chinnathambi: And then as people were using it, as we decided to see, where can we continue to move the needle on simplification? What we realized is that what a lot of our developers are looking for are integrations. Let's say, for example, I need to process payments. It's very easy for me to go and... well, not easy, but with enough effort, enough using Google and Stack or Flow, you can wire together these five different services, write enough code, and then have some of these things working. Kirupa Chinnathambi: But instead of having the developer do all this work, what if we made it possible for, to actually say that, "You're integrating payments from these top providers. What if we give you a prepackaged solution that still uses all these various internal parameters behind the scenes, but instead of you having to worry about configuring all those services up, orchestrating between all these various backends, what if we just handled that for you?" Kirupa Chinnathambi: And extensions really came out of that goal of how do we simplify this whole complicated backend space by focusing more on solutions and results, as opposed to the individual Lego blocks that might go into figuring out how all these things work. Kaelan Cooter: It certainly lowers the barrier of entry. And LogRocket, I know how much everyone likes integrations. It's one of our most requested and time consuming to develop features. Kirupa Chinnathambi: Exactly. Who would've ever guessed that developers don't like to rehash the wheel every single time they want to do something that is pretty commonplace. Kaelan Cooter: Yeah. Especially with realtime features and such. Part of the reason why everyone seems to use it in Hackathons, is no one wanted to go through all that trouble and you just want it to just work. Kirupa Chinnathambi: Exactly. You have bigger problems to deal with right now than figuring out how my input and output might work over a network connection. Emily: Hey, this is Emily. One of the producers for PodRocket. I'm so glad you're enjoying this episode. You probably hear this from lots of other podcasts, but we really do appreciate our listeners. Without you, there would be no podcasts and, because of that, it would really help if you could follow us on Apple Podcasts so we can continue to bring you conversations with great devs like Evan You and Rich Harris. In return, we'll send you some awesome PodRocket stickers. So check out the show notes on this episode and follow the link to claim your stickers as a small thanks for following us on Apple Podcast. Emily: All right. Back to the show. Kaelan Cooter: There's also a time I remember 10 or so years ago where Firebase was almost... it was the defacto solution and there wasn't much anything else out there, but over time now I've seen lots of Firebase alternatives and such. So would you say that maybe the increased competition in the open source community and such is what led Firebase to focus more on extensions and productivity and such? Kirupa Chinnathambi: I think the competition plays a role, but I think the biggest role really is just us talking to customers and identifying where some of the opportunities are. Because, as with any technology, as you know, you've been doing this for a very long time, as well, you see that something is new and cool, then it gets democratized and everybody starts building on something like that. And so it's often up to us to see what is the next best thing to keep improving upon because once developers realize that, "Okay, this pain point is now solved," it doesn't mean there's no more pain points available. What used to be number two or number three on the list of things that were making development hard, now becomes their new number one. So it's a constant cycle of, "How do we keep making the development experience easier?" Kirupa Chinnathambi: And it's also all relative. And if you compare the pain points developers have today in building apps, it's very different than what it was five years ago, and I'm sure five years from now, it'll be very different, as well. The things that we're struggling with right now will just become table stakes. Everybody will be doing this. So it's constantly a big activity for us on Firebase to be customer-centric, to make sure we talk to developers. We have all these feedback channels to make sure that we continue to build things that are relevant. Kirupa Chinnathambi: And, from that angle, extensions is a great example of something that we saw the trends, where people are really integrating, they want end to end solutions, how can we provide that in a way that allows you to scale? Because I think people often ask me, "What is the big differentiator of Firebase, especially when we talk about so many other alternatives that are available?" I think the biggest strength that we have is that we combine two things: We give you better together, which means that Firebase works really well across all the various products it provides so you can get one stop solution for authentication, for database, for being able to execute code extensions being a part of this, or to be able to deploy, do AB testing, do all the various things you might really want to do. Kirupa Chinnathambi: But the other big part is we are built or integrated heavily on top of Google Cloud, which means that you not only get the ease of use that people, typically, associate with Firebase, but you also get the depth of capabilities that you can get by having a dedicated provider that is nicely integrated with the overall Firebase experience. Kirupa Chinnathambi: So while you can get a lot done in Firebase, and many developers are pretty happy never leaving that Firebase console or Firebase UI, but if you want to, for example, let's say, increase the capabilities of the hardware that's powering some of your backend services, you're just one click away from seeing the exact same view in Google Cloud's version of the world and you have very deep access to being able to do really sophisticated things. So you're able to balance both those worlds, because, for us, our real audience is really, you're building an app, you're experimenting and trying something out, you have a problem, and then now, next day, you're on top of Hacker News or you're a top downloaded app in the iOS App Store or Android App Store. Kirupa Chinnathambi: And so we want to make sure that across the entire journey from being able to just kick the tires and learn and try something, this crazy complicated world of serverless, you're able to be successful. But when you do become... you want to do more, I guess, more scaled up activities, that Firebase is still the right choice for you and we are right along for the ride. So you never have to feel like Firebase is only good for certain things and now I need to upgrade to something different. Our hope is that by building a type of Google Cloud, but continue to give this ease of use, we're able to attract both sets of that, the challenges that go into app development. Kaelan Cooter: Makes sense. LogRocket doesn't use Firebase, but we do use Google Cloud and we're familiar with all the bells and whistles. Impressive stuff. Kaelan Cooter: Where do you see Firebase going in the next couple years? Since you have such a good pulse on developer relations, where do you see the winds blowing, so to speak? Kirupa Chinnathambi: I think that Firebase is in a sweet part right now where we're really focused on mobile development and web development and we're still very early days in both of those areas. So I see us continuing to make sure that developers building for these platforms are successful. But we also see that the apps that people are building, the devices they're targeting, is also getting much more wide. Before we never would've thought about having applications running on your watch or applications running on your smart thermostat or your televisions having a programmable API service and all these things. And in many ways it's not a stretch because a lot of them do run common standard web technologies or common client-side technologies that everyone's already familiar with. The days where you had to have a bespoke programming language for any one particular thing doesn't really exist in great detail for many of the situations we're in right now. Kirupa Chinnathambi: So I think it's going to be continuing to just go where developers are. I think the next two or three years will be... we have some ideas and you might have seen at the Google IO keynotes, where we talked extensively about how we use artificial intelligence and machine learning, and how do we just simplify decision making where we don't need to have a human being always be involved. But, ultimately, for us, though, is if developers are saying that they wish tests A, B and C were simpler, we will look at that very closely and see, "Do we deliver that directly or do we find a more holistic solution that gets to the root of why are developers having the problems A, B and C?" Kirupa Chinnathambi: It goes back to the classic example that I heard about, if you ask people what they want, they just want a faster car, but sometimes an airplane is what they really need. And so there's a little bit of an art and creativity to how we look at customer feedback and what developers are telling us and how we decide to address them in a way that gives you a nice, simple, delightful experience, as well. And that's an understated fact, especially we think about developer tools and developer platforms and framework. Kaelan Cooter: "Delightful." That's a good word. Yes. Kaelan Cooter: Another thing that really stood out to me in the keynote was the deploy command. I don't really use Next.js or something like that. So just back in the day, when all these things were so much harder, I really like that focus on- Kirupa Chinnathambi: Yeah, it's been one of those things where a lot of us who have been watching the trends in how people are building apps, it really almost came out overnight where you went from static sites where you just generate static pages that go through a complicated build process, but the output is just HTML JavaScript, to a world where you now have... you're writing what seems like client-side JavaScript, you're in your VS code editor, you're in whatever code of your choice actually, and you're just writing things. And it just so happens that some of the things you're writing lives on a server-side component. Others happen to live on this static hosting backend, but as a developer, their framework's doing such a wonderful job of abstracting away all the details, you don't worry about that anymore. You just care about, "I want a good experience. I have all this data. I want to surface. Just make it work properly. Make the caching work properly, make the deployments work properly." Kirupa Chinnathambi: And so that really gave us the opportunity to take the Firebase style of, "Okay, let's do some simplification and apply this world, as well. All this orchestration between all these services, let's go ahead and solve that." And continuing down the train of meeting developers, where they are, we said, "Okay, a large number of developers are using Next.js or they're using Angular or they're using Nuxt, so let's just go after those markets at the very beginning and then see what the feedback is like and then go deeper." Kirupa Chinnathambi: Our goal really is that whatever framework you're building on, long term either it's relevant, Firebase is going to be playing a role right beside you and making sure that deployment and all the various activities that go along with it, are pretty seamless. Kaelan Cooter: Yeah. Impressive stuff. I can't wait to see how this goes in the future. Especially, as you said, everyone seems to be re-jumping on the server-side rendering bandwagon. Kirupa Chinnathambi: Yeah. It is a pendulum. It always swings back and forth. There's a time when everyone's, "Static site rendering is the best way of doing things. It's self-performant." Then it's, "Okay, the client's doing a lot of work and there's too much JavaScript on low powered devices. [inaudible] server." And then it comes back to the server is back in the client. And it's always funny because the way I do all of my personal development is I still actually use a very traditional LAMP-based stack, where I'm just running a Linux server with Apache and MySQL running behind this, and PHP, and I still FTP content from my disc to wherever I need to serve it. Kirupa Chinnathambi: And there were periods of time when people will just be going, "Wait, this is so outdated. Why are you doing it this way?" There's a period of time, 10 years later where it's, "Oh, this is exactly how you should be doing things: Minimize complications and find those steps." Kirupa Chinnathambi: So I'm just waiting for the world when we get to see the era of what you see, where you get editors... like Dream, we were in FrontPage and so on, to be back in style again. I'm just not going to change until society and the world catch up to this workflow because it works. And I can totally see it happening again. Kaelan Cooter: It's like a fashion trend. Just continue to wear bell bottoms and then, eventually, they'll come in style again or something. Kirupa Chinnathambi: Yeah, there you go. There you go. Kaelan Cooter: That actually... that same topic came up so many times on PodRocket with everyone. The trend of financials getting complex and then getting centralized and then decentralized. And one tool does everything versus one tool that just does one thing and you use many of those. It came up. Kirupa Chinnathambi: Yeah. I think one trend is actually really interesting in that particular vein is that the growth of tools that do better performance analysis and monitoring and accessibility monitoring, I think that's going to be influencing a lot of how we end up building apps because the amount of [inaudible] that you take, for example, on Chrome's Lighthouse scores and making sure you're having good scores across all those categories, because it's not just the, "Okay, great. I have really good scores." In many ways, it influences your ability to provide a good user experience, have better rankings in the search engines, for example, because there's a certain signal that all of these efforts are showing that. As sites are more popular, as they are more performant, they tend to just perform better, so it's very likely that people will want to visit them over another site that is not doing one of these fractions. Kirupa Chinnathambi: And so anything that continues the train of making the technology behind the scenes just faster and more powerful, but still keeping the user focused in mind of how do you make things faster, more accessible, more secure, I think that creates the right incentive structure because I think that was missing for a long time. I always felt there were periods where there's cool technology for the sake of cool technology but, in the end, what we ended up with were websites that were 10 megabits of JavaScript to, essentially, provide a glorified version of Hello World, which is just going, "This isn't the web that we should be going towards." But, hopefully, these activities will incentivize the right behaviors. Kaelan Cooter: It'll be a slow transition if I know anything about web development. Kirupa Chinnathambi: Yes. And by the time we're halfway through, something new would've come out and you have to decide, "Do I continue on this path or do I just jump to the new thing?" Kaelan Cooter: And in five years we'll have another PodRocket episode and you'll come on and you'll say, "Oh, the next big thing is this.". Kirupa Chinnathambi: Exactly. The thing I talked to you about five years ago, well, that's all great, but here's something else you want to try because here's what the developer's pain points are right now. It's what makes this area fun, as well, and that's why I still enjoy this whole space of working on developer platforms and developer tools and frameworks is there's no shortage of exciting things to work on and it's a good balance between keeping your eye on what's relevant today and also what the future might look like and, hopefully, even having a chance to be able to shape what the future's going to be like because you have the ability to use the history of hindsight and then the data from today to chart a path that may be the right thing or maybe not. But that's what makes it fun on Firebase, especially where we shift frequently, we iterate, we try things out and we try to learn from that and see how we can do better next time around. Kaelan Cooter: Well, thank you for coming on. It was good to have you. Kirupa Chinnathambi: It's great chatting with you. Great chatting about Firebase and just all the fun stuff that goes on in the world of developers. Emily: Thanks for listening to PodRocket. You can find us @PodRocketpod on Twitter, and don't forget to subscribe, rate and review on Apple Podcasts. Thanks.