React Native Radio

RNR 197 - The Latest on Native Base with Sanket Sahu

Episode Summary

In this episode, guest host Gant steps in for Jamon while he relaxes in Hawaii. Gant and Robin are joined by Sanket Sanhu, the CEO and founder of Geeky Ants. They discuss Geeky Ants' open-source framework, Native Base - how it came to be, and where it's at now.

Episode Notes

In this episode, guest host Gant steps in for Jamon while he relaxes in Hawaii. Gant and Robin are joined by Sanket Sanhu, the CEO and founder of Geeky Ants. They discuss Geeky Ants' open-source framework, Native Base - how it came to be, and where it's at now. 

 

This episode brought to you by Infinite Red! Infinite Red is a premier React Native design and development agency located in the USA. With five years of React Native experience and deep roots in the React Native community (hosts of Chain React and the React Native Newsletter), Infinite Red is the best choice for your next React Native app.

Helpful Links: 

  1. Native Base v3 Alpha

Connect With Us!

  1. React Native Radio: @ReactNativeRdio
  2. Gant - @GantLaborde
  3. Robin - @robin_heinze
  4. Sanket -  @sanketsahu

Episode Transcription

Todd Werth:

Welcome back to React Native Radio podcast. Brought to you by cheap coffee and bad editing skills. Episode 197. The latest on NativeBase with Sanket.

 

Gant Laborde:

Welcome friends. It's Gant Laborde here, starting off with a React Native Radio podcast. And I just wanted you all to know that I am not Jamon Holmgren. So yes, Jamon is kicking up his feet in Hawaii and I have graciously... Oh Gant, you're so nice. Jumped in and decided to help host this podcast. If you don't know who I am, I am a developer of 20 years, I have been at Infinite Red since the beginning, and I'm really excited to keep being involved with React Native as much as possible, especially in jumping in with such awesome people today. Our co-host today is Robin Heinze. Robin say hi.

 

Robin Heinze:

Hello. Hey Gant you know you're going to have to talk about tractors if you really want to be the replacement host.

 

Gant Laborde:

Oh no. Every episode. You're right. Actually, I got a package from Jamon a minute ago and I opened it up it was a mini tractor to put on my desk for this podcast.

 

Robin Heinze:

Get in character?

 

Gant Laborde:

Yeah. Just to really get in character, I've let my lawn go. That is not a mistake. That was by choice. My lawn being knee-high is totally for Jamon. But speaking of wild and amazing lands, our guest for today, who's coming to us from very far away, Mr. Sanket. Sanket tell everybody hi, and tell us a little bit about yourself.

 

Sanket Sahu:

Hey everyone. Good to be back to React Native podcast. I think this is my second time. So I'm Sanket, I run this software agency called GeekyAnts, we are also active in open source and we do a lot of React Native, pretty excited to be a part of this again.

 

Gant Laborde:

Yeah Sanket, we were to dig deep into Sanket's history because I've known Sanket for a long time. And he's sent me some really cool stuff over the years and we've stayed in touch and it's been a Chain r]React and all kinds of cool stuff.

 

Sanket Sahu:

In Amsterdam.

 

Gant Laborde:

Ah, yes yes, indeed. We don't speak of that.

 

Robin Heinze:

What happens in Amsterdam stays in Amsterdam.

 

Gant Laborde:

Or it gets announced. Well maybe we will in React Native Radio who knows? You have to listen to find out right? Well, I just want to say that this episode is sponsored by this fantastic company called Infinite Red? Is this correct Robin? Infinite Red?

 

Robin Heinze:

Maybe heard of it, I don't know it's a little company, really unknown.

 

Gant Laborde:

Infinite Red is one of the premier React Native design development agencies located fully in the US. There are only a few amazing companies Sanket's at one of them, we're at another, and there's a third one which I'm not going to say, you just have to guess which one that one is. But with years of experience, this... we've all been here with React Native since the beginning. Don't forget, with React Native here at Infinite Red, we also do the React Native newsletter, which has over 12,000 subscribers. Definitely call us for your React Native app and check all that cool stuff out. You can message... I'm not going to give you my email, go ahead and message Jamon. jamon@infinite.red go bug him especially while he's on vacation while this is actually coming out. Send him messages galore.

 

Sanket Sahu:

What's the newsletter number right now? You have been doing weekly since like forever now so.

 

Gant Laborde:

Yeah, yeah so when we grabbed the newsletter, it was a community effort and it was around, I want to say 3000 to 4,000 subscribers. That was what? Two or three years ago. Infinite Red's been taking care of the newsletter with actually feedback from awesome people who constantly submit to the newsletter. But now it's over 12,000 subscribers for the newsletter. And on April 6th, when you are opening up the newsletter, you'll see, we actually have a brand new editor in chief. So we have an amazing new push coming out for the newsletter, lots of cool things will be coming there, giveaways, all kinds of cool stuff. So if you have not been checking that out, I say that will probably be over 13,000 soon.

 

Robin Heinze:

You could be one of those.

 

Gant Laborde:

Yeah.

 

Sanket Sahu:

And what's the... like how many weeks have you been doing this for now? Or is it like a monthly?

 

Gant Laborde:

It is every first and third Tuesday of the month and for a long, long time now. So if you go look at the backlog of all the issues, it's like a history of the growth of React Native. If you ever go back there and you open one up it's like, "By the way, React Native is introducing this cool thing called Hooks." And you go back a little bit further. It's this really kind of fun. Wow. This will totally kill this interview.

 

Robin Heinze:

It's like little history books of React Native.

 

Gant Laborde:

Okay, so let's get into the topic for today and Sanket you are the topic for today. The legend, the work style, do you remember when we first actually even interacted online or anything? I can't even remember our first interaction... I do remember Amsterdam, contrary to popular belief. But we were talking for a while before that. That was 2017.

 

Sanket Sahu:

Yep.

 

Gant Laborde:

Can you give us like I guess... this is a great chance. What's the history of GeekyAnts getting involved with React Native and then also you being everywhere and being a superstar?

 

Sanket Sahu:

I think that's a little too much Gant but yeah, we've got a little history. I think I was following React Native in around like 2014, 15, somewhere around that, when it was only for iOS and I was waiting for the Android release because here in India back then, I think Android was like 97, 98% of the market share and that was the thing. The date was announced for Android, which I'm writing because we love Java Script, and prior to React Native, all the JavaScript solutions to build mobile apps. It was great, but it used a web view to hit performance issues right. And I also remember there was a website... people do websites for everything these days istheshipstillstuck.com. And so we had a similar website, like is React Native available for Android? Something like that.

 

Robin Heinze:

It just said "No" or "Yes".

 

Sanket Sahu:

Yes it just said "No".

 

Robin Heinze:

That reminds me of a really famous website in the Portland area called is it snowing in PDX? Because it doesn't snow here very often and so, when it finally does snow, it has the GIF of Kermit The Frog going like, flailing, and it just says "Yes" but most of the time it says "No" very similar.

 

Gant Laborde:

I love websites like that. I think we need to do some more... I don't know if you have one going presently, but we need to bring those back. There was for a year here at Infinite Red, we had this website, Do Not Go to This Domain Anymore it's no Longer Managed. I think it actually loads a virus, Do Not Go to This Domain Anymore. But for a while, we had this whole cult inside of Infinite Red, around tinytuba.com and the website was just a little tuba. And when you clicked on it, it made a little tuba sound. That was the whole website. It was a background site for everything. But I love these. I love that y'all had one. Please continue.

 

Sanket Sahu:

That's got our eyes and before React Native happened, we were a web shop, we were doing PHP JQuery and stuff like that. In fact, even Anguler, because we were progressive, back in 2013 and yeah so as soon as it was introduced for Android, I jumped right in and started building some... I think the first app was hello world obviously after that I did a to do app. And-

 

Robin Heinze:

Because that's what you do.

 

Sanket Sahu:

Yeah. And I was like, "Am I building a native app without compilation?" And I don't have to go through all those steps and then wait for five minutes to see something on the screen. It was magical. Back then GeekyAnts was really small. I think we were around 15 people and I was like, "We should do this." And I got (inaudible) from my team to experiment on that. And we realized that, "Okay, there's a lot of work that needs to be done, but it looks like a good idea." And then I think that's when I started connecting with everyone who was even trying out React Native and then I met you. I think the first interaction was... I think it was for an online I think catch-up or something that all the React Native folks we met.

 

Gant Laborde:

Yeah they used to have a React Native meetup. Online meetups right?

 

Sanket Sahu:

Yes, yeah right.

 

Gant Laborde:

Yeah, oh my goodness. Yeah, that was a real fun thing back in the day. And each person would present and then it'd be open to Q&A, wow. Well, you know what? That's an opportunity for people out there for sure. We have podcasts and cool stuff like that, but little show and tell sessions. I remember those because it was so novel, right? I was like, "Are you serious? Is that running the same code on iOS and Android? Show it to me."

 

Sanket Sahu:

Yeah. It was very exciting. I think everybody was... they used to come up with their own experiment and we will share knowledge and then take something from the other person and then build on top of that. It was pretty interesting. I think it was from someone in Brazil who was the organizer and we were invited to the same thing. And then the next thing that we collaborated on was the starter kit that we had built, and then Infinite Red was doing Ignite and the starter kit, we started building things on top of it, we thought, "okay, what if we need Bootstrap?" But Bootstrap wouldn't work here, and then NativeBase happened. And yeah, and I remember Ignite also had a plugin for NativeBase that you can choose.

 

Gant Laborde:

Yes, yes, indeed. We showed that in Amsterdam. I remember that. All that you could Ignite a project and then say Ignite at NativeBase, or I think that was the command. And then you would get all the cool NativeBase stuff immediately in the project. That was a... yeah 2017?

 

Sanket Sahu:

2017.

 

Gant Laborde:

Very cool.

 

Sanket Sahu:

Yeah, so I think that's where it all started. And we kept bringing in things from React and the things that was happening on the website, we pulled it into React Native with different ideas. And, it was surprising that whatever we were doing in Infinite Red was like we always had a major overlap on React Native.

 

Gant Laborde:

Oh yeah. Well, it was the need for the industry for sure. And I was glad that we collaborated on some stuff because, when you take a look, let's be honest, half of this podcast is talking about the old days in technology, which was of course last week. React Native, when it was immature was a very cool project that everybody wanted to play with, but didn't really understand. And I think that they've grown up significantly since then by far. It's one of the best things about it, is that if it is consistent and it is reliable, you can rely on it and you can suggest it professionally and not get fired. Right? So it's reached that status.

 

Gant Laborde:

But when it was in the beginning of it, it needed to be checked out and that's what your company was doing, and that's what we were doing for sure as well, and just identifying "What in the world can you do with this? And what does that look like?" And that's what I believe led y'all to do a NativeBase and I know you have several different versions of that and everything, but do you want to give, for those who are listening and hearing about NativeBase for the first time, a little 30 second elevator pitch, what is NativeBase? What's the advantages? Et cetera.

 

Sanket Sahu:

NativeBase started a button component in the React Native ecosystem.

 

Gant Laborde:

Why didn't they have a button? For the longest time?

 

Sanket Sahu:

Yeah, yeah. And yeah, that attracted a lot of people coming from the web background because React Native was an obvious adoption for people coming from the Javascript background to build mobile apps. Right? And the first thing that you do is do on click, on press sort of thing. And they didn't have button. And that's what got eyes of the people to use a button. And then we scaled it into a component library initially. And NativeBase one was crappy, it was not great. It was just a lot of components dumped right in which people might find useful in their apps. And then, it didn't have a consistent design, it didn't have any design philosophy altogether. And that's when we thought, "Okay, let's fix these things." And we built the next version, which was more of like... followed a design principle. On Android it was for Material UI. And on iOS, it was Cupertino design. And that's how we are progressing to the third version. I will talk a little bit about that later.

 

Gant Laborde:

So you took influence from PHP where there was just no consistency. That's right PHP I'm talking to you. PHP listeners changing the channel as we listen.

 

Robin Heinze:

Yeah because they definitely downloaded in the first place.

 

Sanket Sahu:

I saw a tweet just last night. It said, "WordPress has two bad things. One is PHP, second is JQuery."

 

Gant Laborde:

Oh no. Yeah, and we all wrote it. Let's be honest. We all have our histories in PHP and jQuery.

 

Sanket Sahu:

I still do PHP.

 

Robin Heinze:

Do we Gant? Some of us are still pristine and-

 

Gant Laborde:

Well Robin I mean, if you don't feel comfortable telling everybody about your PHP and JQuery history, it's not me to out you. So, it's okay.

 

Robin Heinze:

I managed to avoid that little piece of the technology world. It's probably a good thing.

 

Gant Laborde:

It is, it is. For sure. But I think that one of the things that makes so many of these libraries fantastic is not to be mean to JQuery. But JQuery took this unevolving language of Javascript and made it have to come back to evolving because everybody just needed all these functions all these needs... it's like Lodash is doing in pushing future versions of ECMAScript. And so I feel like that's the same kind of... people taking up charge like that, is probably the same thing that made Infinite Red think about Ignite and made GeekyAnts think about NativeBase. Is that, "Hey, why am I solving the same problems over and over again? Can I do this in a way that helps a community?" And I really applaud when that happens. So I joke about JQuery, but it's got a special place in my heart.

 

Robin Heinze:

Well it was an important part of JavaScript history.

 

Gant Laborde:

Oh yeah.

 

Robin Heinze:

Yeah.

 

Sanket Sahu:

I see people talking on Twitter. I think Twitter is mainly for showing your hate right? But whenever I find a tweet, on dislike... I would use the word dislike not hate.

 

Gant Laborde:

Yeah, yeah.

 

Sanket Sahu:

I reply to people talking about these languages and the history of whether the web is right. The dark history... that hate might be a little strong and there was a place for it when the web was evolving. And few things still have a place like, if you say PHP. PHP, the Laravel community of PHP is doing really great even today. And we build stuff on top of that. If you see a BuilderX or other couple of products that we are building right now, it's built on top of Laravel. So we use that today as well. So there is a learning, as you mentioned. We brought in the things of PHP to React Native.

 

Gant Laborde:

Yes indeed. Well, so NativeBase, we've got the origin story, and then you went to version two. Why don't you tell us a little bit about the "Why?" Of what you did there and perhaps let's start getting a little technical for our audience here. You, of course, brought in the buttons, which are classic... I have to ask you a quick question. When React Native added the button component, did you concede and come back and use it? Or were you still using like TouchableOpacity or something? Just, "I'm not going to use that we built our own."

 

Sanket Sahu:

So we evolved the version and later we started using the underlying button. We tried an experiment but that initial version of React Native button was not very customizable, so then we'll probably stick to TouchableOpacity and a style it as is. But by the time React Native had a button component, NativeBase was already famous.

 

Robin Heinze:

Yeah so I'd love to know a little bit more about the evolution from V1 to V2 and what the impetus was for the change and how you got there.

 

Sanket Sahu:

V1 was most of like a brute force way of putting the components in that as a package, which people would find useful and use it in their projects. It didn't have any sort of teaming, it didn't have a design thinking or a design philosophy or design system per se. For V2, we wanted to go a step forward and make it more on the lines of the platform guidelines off Google that is Material design and then on our iOS we have this Cupertino design. We got the inspiration from Ionic version two. Ionic version two, if you use that as a user component. The same mock-up has different designs for Android and iOS. So they have conditional or responsive design based on the platform where you are using the components. And it would automatically pick up Cupertino or Material. And we followed the same because Ionic was really famous back then and it was something to look up to, and yeah so we got crystal pixel perfect design on Android following the 64 pixel height of the nav bar and I think it's 56 pixels RPT on the iOS. We didn't have notch back then it was...

 

Robin Heinze:

Oh I remember when the notch was introduced and all of us collectively groaned like "Oh man, our job just got harder."

 

Gant Laborde:

Yeah, one of us had like a notch phone or like, "Okay, you're our tester for everything."

 

Sanket Sahu:

Yeah. So platform design was one. And then second, we wanted the flexibility of CSS context-based styling, which is an anti-button today in React Native. We were coming from a background of conditional or say context-based styling. Say, if you have a text in a toolbar, then it should automatically take a white color on Android because the header is blue or indigo 600 or something by default. Right? And so we used a library from Shelton that gave us the flexibility of context-based styling. And it works pretty well. It does a lot of computation on the fly, it has a run time overhead, but it made our job easy to build a lot of components and get all those guidelines and principles in the code in a single team file. And we built a lot of great components and started extending it.

 

Gant Laborde:

When we talk about platforms in React Native, that is a brand new world right now, 2021, platforms in React Native, you have to say which platforms. And if I remember correctly, NativeBase is good for iOS and Android like adhering to each one. Is that correct?

 

Sanket Sahu:

V2? Yes.

 

Gant Laborde:

Any ambitions for... I don't know, desktop apps React Native Web React Native Windows, Mac?

 

Sanket Sahu:

I think that's the obvious next step I would say. And that's why V3...

 

Robin Heinze:

Oh very nice. Very nice.

 

Sanket Sahu:

I think Gant you have set the stage for me.

 

Gant Laborde:

It was completely on purpose Sanket that's for sure.

 

Sanket Sahu:

Right and there is also another philosophy in the third version. That's one thing is more platforms, but when you have more platforms and more guidelines to follow, your bundle size goes to the roof and you can't support all the platforms and all the design philosophies from one single design system. And then we started looking at Tailwind CSS for the third version. So, yeah, so I really liked the philosophy of Tailwind and the article by Adam that says "Best practices don't work." And there he goes from like a single line of CSS and then talks about all the problems of how you can build a particular design system for a particular use case or a brand.

 

Sanket Sahu:

And then it goes into like multiple different areas and you have to support a lot of things. So the best way to do that is not to write those and build a strong or a very inflexible design system and give that opportunity and flexibility to the users in the mock-up itself. We want to do something like that, and there is a library that helps in building utility first components that's utility props, it's a famous library called as a Styled System. And it's composable, so you can pass in a component and then it gives you a composed component that has all the props of say P is one and empty, say two for merging of 2X from the top.

 

Gant Laborde:

Nice. Since there is no one design system to rule them all. So I'm okay with my inline styles that I write, correct? That's if I'm hearing this correctly it's I'm all right? Hearing nobody say I'm wrong, I'll take it. But no, I think that's... you've hit a really big point that we found for delivering a bunch of apps as well. Trying to find the one ring to rule them all, only serves a certain set of the audience and it's easy enough to find a total audience where that completely goes against it. You have to be able to customize. You have to be able to know the rules and then be able to break the rules. What's the distribution over at GeekyAnts? How many dev? How many design? That's an interesting question as well.

 

Sanket Sahu:

Yeah, so we have about 240, 230 developers, and I think 20 designers. And the rest of them are more on the same managerial role and leadership role. And then we also have QA. So total head count is around 300 right now.

 

Robin Heinze:

And are most of those devoted towards your consultancy kind of work or how many are actually devoted to NativeBase?

 

Sanket Sahu:

Yeah, so the R&D and OSS team is like about 20 people right now. And we do a mix of NativeBase and there is a form library, there is a state management library that we just released a few weeks ago. So, it's a mix of all those. And we also have BuilderX and another product that's coming in.

 

Gant Laborde:

Nice. Wait did you say a state management library?

 

Sanket Sahu:

Yes, yeah.

 

Gant Laborde:

Well do we... Is that like a rite of passage? Does everybody have to make one?

 

Sanket Sahu:

It's like, if you know CSS, you have to do your own CSS NGS right?

 

Robin Heinze:

Yeah.

 

Gant Laborde:

Right. I've invented this thing. It is a wheel. I feel like we all do this. It's okay. This is part of being a developer, but actually, I'm deep into... I don't know if you know this Sanket but I love looking at differences between state management systems. I did the React State Museum awhile ago, and I think maybe we might have to have you back for a React State episode or something like that. Just to talk about all the different options that are out there.

 

Sanket Sahu:

I would love that. In fact, that's my favorite topic too, after UI.

 

Robin Heinze:

Isn't it everyone's favorite topic?

 

Gant Laborde:

I think it is. You go to other platforms and they're like, "We use the system." And you're like, "Oh."

 

Sanket Sahu:

That's so boring.

 

Gant Laborde:

Oh yes. You don't..

 

Robin Heinze:

Wouldn't you rather have 25 to choose from?

 

Gant Laborde:

A giant waring set of states, all fighting for power like... There can only be one at the end. And it's Global State. That's the one I use. But anyways... So that's fantastic. So to catch people up, we have NativeBase, we have NativeBase version two. NativeBase version two has more platform supporting for iOS, Android. You also have premium templates for NativeBase as well. Is that correct?

 

Sanket Sahu:

Yes, that's right. So we have NativeBase Market Base and it's for buyers and sellers or people who are great at building say templates and design system. They can go ahead and put their libraries and templates out there and then people who want it, they can buy it. So, yeah, it's working pretty well, overall. I think we have more than 15 full apps that also include something like a location-based taxi app. And then we have something like Tinder dating app and e-commerce app, and it's a pretty complicated concept, the backend, and it's well maintained by the authors right now. And it's.

 

Robin Heinze:

So the next time we have a client that comes to us wanting to build Tinder for dogs, we'll send them your way.

Gant Laborde:

That's actually a fantastic idea we're like, "We go buy this template from Sanket." Then you can come back to us and we will switch out everything for dog folks.

 

Robin Heinze:

Uber for kangaroos.

 

Gant Laborde:

Hop about town, with Uber for kangaroos. Awesome. Alright, well Sanket, I know we want to go ahead and do time checks to make sure everything's doing well here so let's talk about upcoming announcements. Well like I know we've set the stage for it. Do you have anything else to tell us about this version three that we've alluded to a few more times?

 

Sanket Sahu:

Yes. So version three, I think we've already scratched the surface of what's coming up. We have the Alpha version of that and it was an announcement just last week at a conference, but I didn't go in detail about the features and whys of the version three. And so the third version, as I mentioned, it has styled components. It uses Styled System for utility for its props, and now we have a more complete support for our web. So you can go ahead and use NativeBase on web. And we're missing a very important piece that is accessibility. All the components are accessible and they're powered by React Aria that was built by Devon at Adobe. And we extended React Aria, and we have React Native Aria. Which you can use, so it's a set of hooks that you can use to build your own design system or something like NativeBase version three. And all your components are by default accessible. We have added tab indexes, (inaudible) and screen reader and all those sort of things. So, those who can't really see the screen, they know that it's a checkbox or it's a dropdown or it's a menu item.

 

Gant Laborde:

That's fantastic.

 

Robin Heinze:

That's huge.

 

Gant Laborde:

Yeah. I really appreciate people are taking the time. There's some really good plugins for checking accessibility. It's super important. And it's every new developer who comes to a platform, it's the last thing on their mind. So, it's really good that when you have the stage and you have that moment that you take the extra energy to make sure that you're applying yourself to accessibility. I'm a huge believer in it. So, good, good. I love hearing that. That's fantastic.

 

Sanket Sahu:

Thanks. So it's all great work by Devon and team, if you don't know Devon, Devon is the guy behind the Parcel.js and React Spectrum as well. That's a bundle that comes with React Aria and UI library, that Adobe uses internally as well for their apps. And React Aria, we were really excited and it does most of the things for the web support of NativeBase as well. And we are continuously working with them. So really happy to be collaborating with them on that piece and using that to build a design system that works for everyone and everywhere.

 

Robin Heinze:

Awesome.

 

Gant Laborde:

Perfect. Perfect, perfect. All right we're looking forward to that, what we'll do is, like I said, I am going to go ahead and place the chance of trying to get you back here Sanket and then we'll do another, and then that means they have to bring me back. Even when Jamon's back off of vacation. We'll have a whole state discussion. So we'll have another cool hangout. It won't be like Amsterdam, but what will? Speaking of wild, crazy times, I believe this is the part of the show where we talk about strange bugs or what weird bugs.

 

Robin Heinze:

Weird bugs.

 

Gant Laborde:

We need a little cool song, weird bugs.

 

Robin Heinze:

I've been trying to get Todd to add a little stinger for weird bugs but I haven't found a good one yet.

 

Gant Laborde:

No problem. We will have that. We're going to have to get that before next recording. So Sanket I want to ask you, with all these innovations, anything like that, do you have a weird bug experience that perhaps maybe in the many, many upgrades where you were like, "I can't believe that was the bug. That was weird."

 

Sanket Sahu:

I can't think of one right now, but let me-

 

Robin Heinze:

If you can't... If you have one that should be good.

 

Gant Laborde:

Yeah let me help you out with that. So I'll tell you one of them for me, and I'll just start off like that. I am not going to call out this platform, there's nobody here, but I had this one weird bug that I was using the CLI and I had typed in the command and it was like... basically, it was like, "Who are you? And why do you think you have access to this?" And I read for I want to say, hours. Just typing the CLI command. And it was like, "Nah" we're failing all over the place.

 

Gant Laborde:

Nobody heard anything about it. And then I was like, "What happened here? What was the problem?" Well, when I first type the command, it opened up a webpage and then I went to lunch or something. And then the webpage timed out. And then forever after that CLI command did not work. I had to go login to the webpage, sign out, sign back in, and then the CLI worked. I was like, "What? That's three hours of my life I'll never get back. Yeah, we're making all these things talk to each other. We're just not that great at cornering cases for it yet. So." I won't say what it is, but I will tell you that I went and found people who work for that company and I bent their ear for a good while.

 

Gant Laborde:

I was like, "You owe me three hours of my life. Let me tell you what your bug is." So that's my weird bug. When you're trying to connect a bunch of different services and then you type a command and it's jumping off and opening browser views for a second and do all this other stuff or everything's talking to each other, please test timeout issues for that. Because with CLI you type it, and then you can take a break, you come back, and you just start continuing where you left off. When these services have this weird interdependence, I have no idea what void... what stuff...

 

Sanket Sahu:

I think I know what service you're talking about.

 

Gant Laborde:

I had no hate on this. I just... I Had to go grab them, and I had to tell them what's up for a while afterwards so. Yeah that was a weird bug. Be careful when you've got all of these robots talking to each other.

 

Sanket Sahu:

So for me, I think in the recent past something's, it was on my system, it was not a network request or something like that but... and it happened quite a few times. We have been using Dockers a lot internally, lately. And when you run Dockers, you switch off one and switch on the other one. And the same port and the same IP address on the local host points to a total different thing. And for me it happened, I was editing some other project and trying to refresh the API request and it was not changing at all. And I wasted a couple of hours there and then I realized I was on some other Docker on the local system. So yeah, something similar but I didn't go global. It was local on the system.

 

Gant Laborde:

Yeah. That's like when you open up a file and you just hit the keyboard and hit save to make sure you're touching the right files, you're like please be that I've been working on for an hour. Well, perfect. Robin, you want to throw in a weird bug or you'll save it for next time?

 

Robin Heinze:

Oh, I'll save it for next time.

 

Robin Heinze:

Enough weirdness for one day.

 

Gant Laborde:

Perfect. So let's go ahead and make sure everybody connects up on the socials, so that way they can hear about any future episodes, any future announcements, anything like that. Of course I am Gant Laborde on Twitter at @gantlaborde. Robin, you want to go ahead and say yours real quick.

 

Robin Heinze:

I'm @robin_heinze with an E at the end on Twitter.

 

Gant Laborde:

Perfect. We also have the React Native Radio podcast, which is @reactnativerdio. That is not because we can't spell, that is because we're developers. Just kidding, it's because we can't spell, we're developers, and we ran out of letters. Thank you so much to our guest. Yeah, Sanket, go ahead and hit everybody with your socials. Everything that we can do to keep up with what you're doing

 

Sanket Sahu:

Yeah, sure. If you want to get connected, I'm very active on Twitter. I go by their Twitter handle sanketsahu S-A-N-K-E-T S-A-H-U. And let's connect after this.

 

Gant Laborde:

Yeah. Perfect. Awesome. Well, thank you so much for coming in on this. We're going to be really excited. We'll definitely share everything when we get everything for NativeBase 3.0 as always thanks to the producer, editor. Thanks. If we sounded really smart and funny today, that's because of the editor Todd Werth. Transcript is released coordinated by Jed Bartausky and our social media coordinator Missy Warren. Thanks to the sponsor for today Infinite Red, definitely check it out. infinite.red/reactnative and of course, super special thanks to all of you who are listening to React Native radio. Please take an opportunity to share this with other people. And if you're interested in working with Infinite Red, as you might've heard Jamon say in the past, we are currently hiring @careers.infinite.red. What?

 

Robin Heinze:

What?

 

Gant Laborde:

So Sanket I expect to see your application. We expect you to bring a 300 people with you. This has been tons of fun. So, until we all get together again, see you all next time.

 

Robin Heinze:

Bye.

 

Sanket Sahu:

Thank you so much.