Speaker 1: 00:06 [inaudible] well the back. Speaker 2: 00:12 All right, I'll just do that. I'll do that opening. All right. Welcome back everyone to another merge conflict, your favorite development podcast covering all things from.net Xamarin, iOS, Android. Frank, what am I even talking about? This is not the Xamarin podcast. I'm just in podcast mode. That was like, did you, did you notice how natural it just kind of floated from my mouth. Speaker 3: 00:34 I was actually thinking I was like got stuck watching YouTube or something. I'm like, this sounds like an intro to a YouTube video. Tell me what is our quick bait title, uh, 10 ways that you can develop faster and better by not doing anything. [inaudible] yes, that title. It's a little long Speaker 2: 00:51 how to build beautiful applications in under 30 seconds. Speaker 3: 00:55 In this 10 minute video that we'll start with two minutes of introduction that you really want to skip, but you can't figure out how to use the controls on YouTube. Speaker 2: 01:04 15 reasons why you can teach your dog to code. I don't know. I dunno. We should probably Speaker 3: 01:10 stop this slide about what are we doing here, James? This is episode 170 I will tell you what we're doing. We're doing lightning talk. Speaker 2: 01:18 Yes, lightning talks. That's right. People. Every 10th episode we take your questions and we turn them into five minute increments of awesome. We cover six topics, five minutes each. That's 30 minutes and that's pretty awesome. Yeah, Speaker 3: 01:34 I think we been getting a little bit sloppy lately. We go over, we never go under, so we're always on the overside, but I'm resolving this week. I'm going to be, I'm going to be strong. I'm going to write down the times and we're going to five minutes. This is going to be a quick episode as I say that it's going to be a 50 minute episode. Speaker 2: 01:52 No, no, no. We're gonna stay on track just like the good people over at Microsoft who had some amazing service announcements. Now Frank, I don't want to talk about the surface line, the surface pro, all that stuff. I want to talk about the surface Neo and the surface duo and I want to talk about that because loose in our discord, which anyone can join, asked us, what do we think about foldable devices? And there are two foldable devices coming from Microsoft, the bigger tablet dual screen tablet that's foldable with the Neo and for the first time ever Microsoft, the company I work for is putting out a Android phone called the Microsoft surface duo. It's absolutely kind of stunning and remarkable. These are next year devices. But Frank, what was your take on these? Speaker 3: 02:45 I was really excited, honestly. Uh, I think when we all first saw that small device where like, is it gonna be windows phone that's going to be windows phone? Is it gonna be your UWP apps? But then it was almost like a double shock because no it wasn't. But I guess we saw that coming and Android, I'm like, wait a minute. Microsoft and Google cooperating. I know they, they talk about cooperating sometimes, but actual cooperation. Who knows? Who knows? Uh, so that's little phone. It's cool. It's running the Microsoft launcher. Everyone knows I'm not an Android person, so I can't really speak from experience here, but the screenshots look okay. I guess it's all right. But on the topic of foldable devices, I'm pretty excited. Um, just as a tech nerd, I like different things and I keep thinking how the iPhone really has an advanced in a very long time. Speaker 3: 03:32 And I just kept pondering this thought of, I wish the iPhone kinda had two screens, one on the front, one on the back. So there's really not a front and a back to the device, but that's not the direction everyone's going. Everyone's going for these clamshell designs first where we squish the screens on the inside. And that's what the du du, du, du, du, du, du du, you Microsoft do the surface do. Yeah. And what do, what do you like do you like fully inside the outside? He, how do you like to fold your devices? Speaker 2: 04:02 I don't know. I wasn't really sold on any foldables and the first time I watched the announcement, um, from panels and he was announcing it, I wasn't, I'm going to be honest with you. I was like, okay, and and [inaudible] and I'm like, well whatever. And then I watched the verge hand on and the Engadget hands on and the more that I watched the device in use, and I'm putting an air quotes here because they didn't really let anyone touch it, but they sort of showed the folding and some of the real real world use cases. It started to win me over and it started to win me over because of the idea of being able to run many multiple things at the same time, being able to drag and drop things from one app to another application to really have a proper split screen and run multiple things at the same time. Speaker 2: 04:55 I don't really think you need a foldable screen. I really enjoy this hinge that they have and while the duo and Presad me, the Neo started to win me over the most because they have this thing called the wonder bar and this is what sort of set it apart for me is because I always have to have a keyboard or like physical keyboards and they have this magical Magneti keyboard that takes up half of the bottom screen when you want it and it will turn the bottom of the screen into a track pad or if you put it down on the bottom half of the lower screen, it'll turn the top of it into a magical half screen where you can put YouTube videos or other things. Imagine a Apple touch bar but like half of the screen, like it's actually like a proper area where you can do stuff and that sorta to win me over and started to unlock that potential in my mind of what else could I be doing with more screen real estate. And I think it has to be done elegantly and I think the Samsung devices didn't really win me over. It seemed, it seems like very early on, uh, you know, and this device seemed legit. It seemed like a really thin, foldable device. But of course developers have to take access Speaker 3: 06:09 and actually you'll make apps for this thing. I thought it looked a little bit funny when you fold the keyboard over on it cause it looks like a keyboard resting against the screen, which I guess is exactly what it is. Um, but I think it, it, you know, in the Apple world we have these giant track pads. If you go look at a current Apple monitor laptop right now they have giant track pads and I'm like, that would be a great little screen. That's a great little spot that put a screen and someday maybe it will be, but instead we have those little bar at the top. I don't know, man. I, I still, I like the idea of um, hinged and foldable devices because I love the courier demos, but I'm, I'm sad because this isn't a courier, this is running Android. It's not the cool career software that was in that cool demo years ago, but Microsoft foldable devices. So exciting. Yeah, I think so Speaker 2: 07:02 too. And the idea of it running Android also intrigues me. I'm a down end developer and guess what? I can write beautiful windows apps and beautiful Android apps. Boom. I'm already set. Speaker 3: 07:11 Good to be a Xamarin. Devolver yes. Speaking of good to be a Xamarin developer. F sharp up day. Woo. Okay. So we did a whole episode on crazy Frank's crazy F sharp topic, whatever I was talking about at the latest conferences, which James, by the way, I got to give that presentation twice actually three times if you include the broadcast and I think it's finally getting good. I think I saw around the fifth or sixth one it'll be really good. But we thought we would also take a moment and just do an update on the F sharp language itself because we haven't talked about the language. I keep talking about C sharp eight cause it's very exciting and honestly speaking, more people use C sharp than they do F sharp. But in enlightening topic, let's do some updates of F sharp, F sharp. The language is still at version four. Speaker 3: 08:01 Uh, we've been getting minor improvements. Some fun things are, um, you know, when you do like a sink in a way you have to say await, wait this thing or if you're doing I enumerables and C sharp, you have to say yield this thing, yield return this thing. You know those while you had to do those and have sharp too, but now in the latest Steph sharp, you can throw away those keywords. It's funny because yeah, it, it doesn't shorten wow. It does shorten up the code, but it makes the code feel more um, expression and just getting rid of syntax that we don't need. They kind of figured out that those things are a little bit extraneous. So the language got more advanced. I like things that tighten up the language like that. Speaker 2: 08:45 That's nice. Yeah. I like, I like little incremental updates. I really enjoyed that about C sharp seven which was, Hey, you are getting seven one, seven, two, seven, three and I like that. In visual studio 2019 they changed it to always use the latest version of the language, which was important because in 2017 while it supported iOS, or not, sorry iOS, but C sharp has seven one, seven, two, seven, three, um, you had to go turn it on manually by hand. So I liked that Speaker 3: 09:21 progressing. I learned a lesson. Um, I think I'm just hard coding language versions into my project files these days because they changed that rule and I still don't understand the rule cause there's latest, latest preview, latest major, latest minor. And I'm like, I don't know what any of this means. I'm just going to tell it what language version I want to use. So I just put the number in these days. Another fun F sharp feature. Now this is funny because I feel like we always make fun in the F sharp community that C sharp is stealing features from F sharp or the F is kind of like the test bed. But in this case F sharp totally stole a feature from C sharp. Uh, we got name of Speaker 2: 10:01 nice name of, yeah, lovely. Speaker 3: 10:06 Yeah. So for, I probably everyone knows, but name of is this thing where you can say name of and then any identifiers. So any variable, any type, anything, anything that's not a string and a little of pop back that value as a string. I'm like why is that useful? Well, it's useful because when you're interfacing with other libraries that take strings, API APIs to take strings, sometimes you want to say like, well technically it's a string, but really it just has to come from this list. It's more of an E nuMe but we're going to express it as a string. And that comes up a lot when interfacing with say Java script or just other crazy libraries where people love strings and as you know, the wonderful I notify property changed. Speaker 2: 10:50 Yeah. There's so many places in code that I see even today, it's just easy to hard code a string and then you realize, Oh what if I just name this thing? The same thing as this? And I do that with keys in web applications because you need to grab a key based on a name. And if I make the name of the property the same, then I then will always sort of be in sync. And that was one little trick that I use recently. So yeah. Speaker 3: 11:14 Yup. Um, but the biggest news and F sharp is that they're gearing up for F sharp version five. Now this isn't going to come out until C sharp nine timelines. So we're really getting ahead of ourselves a little bit. But um, that's when the next um, big changes to the language will happen at sharps. Um, they're gutsy with their changes. There was a big syntax change. I think it was a while back between F sharp one and two, but they're willing to make, um, big changes, but they'll do that when they update the major version number. So I'm pretty excited that we're coming up upon a major version number and I can't wait to see what they're doing with it. Speaker 2: 11:55 Very nice. I like that. And 10 seconds. How was open F sharp? Speaker 3: 12:00 Wonderful. Uh, lots of smart people talking about a topic I love to talk about. So lots of just good discussions, you know, isn't it great being around smart people? Speaker 2: 12:11 It is. That's why I hang out with you. Um, all right, so that was from John's Sarga Segarra. That was nice event to put in that F sharp update. And then also Chris a needed another update from Frank from our discord. He was asking how was the election campaign going? We did an entire episode on that. Speaker 3: 12:30 Oh yeah. A pretty remiss for not updating everyone on the, sorry everyone. A lot has happened and not much has happened at the same time. James, how do you think I did? Did you pay attention to the elections? Speaker 2: 12:44 I know because I was talking to you and you told me stuff. I didn't, I didn't know. I did do my election. We in here in Seattle, we do election by mail, which is the best way to do it, by the way. Uh, and it's really cool. You don't even have to drop it off in a Dropbox. If you do it early enough, you can just put it right in the mail. Just drop it into like there are election bins that you can go to, but you can just put it in the United States postal service anywhere, like any mailbox and send it out. And that's what we did. And you can even track it online. There's like a QR code. It's bananas. Speaker 3: 13:17 Um, I was hoping, I, I assume that you won. Correct. Oh, that's so nice. Ah, I hate to disappoint you, but sorry, everyone, I didn't win. I will represent the merge conflict people better next time and win my election. It was a tough race, honestly. Uh, so here in Seattle we do a primary in general system where, uh, all the, all the candidates, uh, go through the primary but only to come out the other end only to survive the primary. Yeah. And there were 11 of us going into that primary. So just general odds, a priori odds are not in your favor for that one. That's a little bit rough. And um, I didn't make it through the primary. Very sad. It's kind of interesting. Uh, we, the people voted through the two ends of the political spectrum. People like extremism. Go figure. Speaker 2: 14:15 That's sad. I'm sorry buddy. Mom, listen, mom. Blowing lessons learned at all. Like any, if you could go back or for the future, you know what I mean? Don't dwell. But you know, what do you think? Speaker 3: 14:25 Well, I came into this as a bright new born baby deer with wide eyes and just not knowing much about anything. So to say that I learned a lot is an understatement. This was a very satisfying thing for me to do. Even though I lost, I can accept that. Uh, I came into this not knowing everything. Oh, what did I learn, James? Well number, you can't run a whole campaign in just five months. I should've started a lot earlier. So that's less than number one. Everyone, if you want to run for an office, do it now. There's no better time. Get going early. I also learned, um, there's a lot of energy involved in, a lot of it is just organizing people. So a big part of your role is as manager, which makes sense because the office is a pretty good managerial role also. Speaker 3: 15:19 But, um, I need to do better at organizing people and honestly just paying people to go door to door and just, you know, basic, basic things like that. I learned so much about how the city operates and how foolish it is to get into politics at all. How it corrupts you, minor corruptions, large corruptions, how you can't have a moral or an ethical code while you do it. It's all kind of cynical and terrible. And then I have a cup of coffee and I feel better and I'm like, I'm, I'm back at it. Uh, uh, but, uh, basically I'm going to be volunteering for the next four years. A part of it is, um, getting involved in the community. And although I thought that I had a, I could represent people while in the community, I've realized I'm just not volunteering enough. I'm not getting out there and working with enough organizations. So James, I'm going to be volunteering all my time away for probably the next four years. Sorry. It's fun though. Speaker 2: 16:19 Yeah. You got to get out there. You need to be able to go into, I gave you the little patron. I think I could've done a better job, more rehearsed. We could have worked out ahead of time on it. And one thing I probably could have done is there's a lot of people that go up and they have this whole, I did blah, blah, blah, blah, blah, blah, blah. 8,000 billion things, right? And that, and it's hard to go up against, but unfortunately that's what people, not everybody, but there's a lot of people that look at a list and like this person has done X and they just base it on that. So it's a sad reality Speaker 3: 16:52 when one just fun professional thing that came out of this. I've never been afraid of public speaking, but you always get a little bit nervous, or at least I'd get a little bit nervous. But after going through all of these debates and public presentations and this and that, I am so comfortable in front of a crowd now. I've totally turned into that kind of politician. And I realized that when I was going around to the conferences, I'm like, I don't think my heart raised one beat when I got up on stage. Like I'm immune to this now and I kinda like that. Speaker 2: 17:22 Nice, nice. Ah, well on a brighter note, let's thank our sponsor this week. Frank. Our good friends over at Telerx. That's right. You know Telerik you love Tellerik. Tellerik over at progress had been making amazing changes to all of their UI components. They have all sorts of goodies that you can put in any of your applications, whether they're desktop, web or mobile. Here's Zammarin developer. They just came out with brand new, beautiful PDF viewer controls, pop up controls and even a doc layout control for Xamarin forms. Super awesome. You can get the need and control two. It's really great. Get all this stuff. They also released their Tellerik UI for blazer blazer. Get rid of that Java script. Just run a C-sharp everywhere that is correct. So you can get access to all the grids, charts, all that good stuff that you would expect to learn more about. Speaker 2: 18:15 All of the Tellerik goodies that you can put in your applications. Go to telerik.com that's it. Head over to [inaudible] dot com select your platform and boom, you are good to go. Thanks Tellerik for sponsoring this week's pod. I almost rather thank them Frank at the end there. I would have done it. Thanks Tal. Rick, I got your back. So you are at a conference. I was at a conference and the topic I wanted to talk about next, I was about accessibility but it's a little bit different type of accessibility. Um, in general it's not just what about accessibility, but I went to this panel, uh, and it was called streaming on hard mode, um, being a Twitch streamer with disabilities. And this open my eyes. Yeah, that is a click bait title. I, I'm in, I'm, I'm, I'm watching this one. It was in the Twitch unity lounge and there was so about a hundred and some odd people there and it was a panel of five or six streamers and uh, all different types of individuals with different disabilities, internal and external. Speaker 2: 19:25 Um, and there were individuals that had been injured, like with back injuries, there was individuals that had um, um, hard, like their, their line of sight and vision, their depth of field was skewed. There was an individual that didn't have hands. Um, there was, um, a blind individual, uh, so all sorts of different, um, um, spectrum, some of those deaf, right, there's all sorts of different ones. And it was honestly the best panel that I've ever been to in my entire life. Uh, it was emotional. It made me cry. I want to talk about it. It made me think deep about, um, how privileged and lucky I am, but also at the same time, how much more I could be doing to make my streams, make conferences, make, um, just blog posts, make websites, make my software more accessible for every single person. Uh, I always show the seeing AI demo that, uh, soccer van team has put together. Speaker 2: 20:22 And that's always inspired me when I do that at keynotes and I, I cry cause there's great stories behind that. And that's why I, I, I, I'm not crying because it's just an emotional, just experience of that we have the ability to make everybody's life better and I think that would really pull me in. So it made me rethink the accessibility options that I can put into my mobile app. I came home, I redid my entire stream to add closed captioning support in my, my stream and on the video on demand. And it just made me open up my eyes a lot. So it's one of those things where it doesn't need to be just a check box on your list. It's something that really can impact people's lives to make our software more accessible to everybody. And it's not just, um, a check box. It should be more than that I, I guess is sort of what I've been thinking about. So it's very, um, uh, as amazing panel. I just, Speaker 3: 21:16 you should go watch it. Wow. I can't, I'm, half of me isn't bewilderment that you learned something from a panel and those are usually my least favorite. It feels like no information is ever conveyed. So it's just doubly impressive that they were able to, uh, give you good information even in that format. I never see those things work out that well. So this is, this is a great topic and this is one of those things that actually keeps me up at night cause I know the apps that I write are very accessible so I'm, I don't want to be one over here preaching, do this, do that because I know mine aren't the best, but um, it's fantastic to be reminded of all that I saw the most. It was just a funny little quote or something on Twitter, but it was something like a lack of a disability is a temporary condition because we all get injured. Even if you're think everything's going fine, you twist your back one day and you realize I can't walk for a week and now how are things going to go? And you want all your apps to a ticket to help you along through that and not present terrible UIs. Good stuff, James. Good. Can you give any lessons for us or should we all just go watch the panel? Speaker 2: 22:30 Well I will link to it for sure. Uh, I've also been working with some individuals at Microsoft. I'm guy Marin. He just recently, uh, got guy Barker. I think guy Barker was, he recently gave an accessibility talk at our user group of the solitary game that he made. I'm going to have him do some blog posts. I mean, I think at a base level it's trying out your applications in the modes in which, um, uh, P individuals with disabilities would be using your app. So you can start with one, right? So screen readers making it accessible for individuals that, um, have, uh, low vision or hard to see. That's that's step one that you can do inside of your application. Making sure your font scale two is really important. So there's, there's that aspect to it. There's colors as well. Um, but even just turning on the screen reader, adding accessibility properties, it's very easy to do. Speaker 2: 23:24 Or you can add accessibility properties, um, with a line of code and iOS, Android or Xamarin forms or other languages and frameworks to so start there, just, it can be a check but can be multiple check boxes. Right. And you work your way through and every time your app and we'll get more and more accessible, um, as it goes. So just take a look at that. But really the talk, I mean one thing that blew my mind for instance is not even about apps. There was an individual with um, with a, a seeing eye dog and um, and they had talked about just two things like making the Isles big enough for obviously individuals where wheels chairs at the conference but also for their dog to come through. But then also something that you wouldn't think about. But I started start to visualize this after she said it, which was like if you're at a conference and you're there all day, having places where that animal can use the bathroom, like in that you don't have to walk a mile across the conference to, to do that. I mean having really thinking I was at the airport in was in San Diego and like there was a dog like, um, an area for your pet to, to use the bathroom and like one terminal but not the other terminal. And I'm just like, that's mind blowing to me, you know, just in, in general that you just couldn't put it everywhere. So this is other things besides just software. Uh, that may mean, um, uh, opened my eyes a lot. I would say so. Speaker 3: 24:52 Nice. Yeah. It sounds like we all need to watch it. Yes. I've remembered we did an episode on accessibility once cause I vaguely remember like posing a challenge that we should both use screen reader mode on our phones. And I used to be good and do my, I run all my apps through that, but I know I haven't done that in a long time. I should, I should get back into that practice making sure that screen reader works well. Speaker 2: 25:15 Yeah, that's a minimum I think. Yeah, for sure. Speaker 3: 25:18 Yeah. Uh, well James, a great topic, but I'm going to move us onto something a little more. Uh, gross and commercial and capitalist. I heard something was going on at the Google play store, but unfortunately I don't know anything about Android. Can you tell me James, what's going on with the Google play? Speaker 2: 25:39 So yes, Google in 2019 apparently wants to scare every single developer all the time with constant warnings of having to re like you know, reeval evaluate your rating, make sure that this is checked, make sure you've approved this, make sure you have 64 bit support or else everything is going to be delisted. You can't update your app. Like literally they've been shoving so many requirements down developers throats that is very scary. You get these big warnings that you can update thing or your thing might be removed. That's a scary thing as a developer Speaker 3: 26:16 interject. I think ratings are stupid. I just, I don't get the point of it. We're all going to rate our apps the same way. If you put something naughty in a thing just to say something, naughty isn't the thing. I hate ratings. I hate the Apple has censorship on apps. There's a really big thing going on in YouTube right now where it turns out the algorithm is heavily biased against the LGBTQ community. I just hate all of this stuff. If it's open store, Speaker 2: 26:43 let's have an open store anyway. James, tell me how they're scaring you with rating. So the most recent one is something that apparently nobody including me, could figure out what it meant for about four or five months. There was a warning that popped up that said you are using version one and or two of the Google play developer API and it will no longer be available. You're using one of these versions and if you don't remove it and upgrade the version three then your app will be removed from the app store or will seize to work or something. Now VAT is aggressive API pushing. I love your API stuff. It's usually meetup.com is messing with your API or Google messing with your API and Google mouth playing. Get it. Get get what I did there. Yes, they're not messing around. Jay, what? They're going to take your app off the store if you use the row. Speaker 2: 27:40 Now, what are we talking? Are we talking about web requests, kind of API APIs or like a library that's LinkedIn to your app kind of APIs? This is a great question and this is the thing that nobody could figure out because on their website that they link to and they send you an email too. It says last year at Google IO, we introduced a version three of this developer API in addition to offering the features of version one and two. It also allows you to transactionally start manage and hall stage releases on all tracks, including production, open testing, closed testing, and also other stuff. And then there's all this other stuff about, you know, receipt validation and this and that. So the people that mostly seem to get this were individuals using in app purchases. So when you see Google play developer API, you're like, and also the current version of the [inaudible] purchase is version three by the way. Speaker 2: 28:33 So that's how there's a V3 of it. Everyone's sort of freaked out and I have this huge thread on my inept billing plugin a which is right. Yeah. So this, this is what we're really, uh, we're talking about in app purchases. That's, this is the biggest change that's affecting people. That's the biggest target here. That's what they want you to think because that it's on your app. And everybody, even Java developers were freaking out their stack Overflow's on this from like June, July. People are like, is it the Google play billing library? Is that part of the Google play developer API? Like where's this and where's that? And I've had a thread on my get hub since April and it's really deep. People are starting to get upset at me. I don't know what to do. I update it to this new new get where I did this. Um, and here's what I found out today, Frank. I spent about an hour and a half researching and Googling and deeping and going in and out. It has nothing to do with my library or an app purchases at all. Nothing at all, nothing. Why? Okay. Well, something's giving. This warning is analyzing Speaker 3: 29:42 something. So a config vial, uh, uh, your name, the way you spell your name is a biased. No. So here's what has happened. Speaker 2: 29:51 There are tools like IDs or there are continuous integration services that use the Google play Android developer API to maybe push some things and sign applications and push that to the store. Or since this Google developer API also has to do with in app purchases, you may be doing receipt validation on your backend and you might be using an outdated purchase API of it. So there's multiple things kit that can be happening. Maybe five years ago you uploaded your application using some tool that used some older version and Google's like, Oh no, we flagged this, right? And or who knows. So now I found the stack Overflow's I've done all this and what I'm seeing is that it's really super hidden, right? There's no, there's no like link to say, here's how you can learn a lot more. It's like here's, here's this blog post where we tell you to update it, but often you're using a library from somebody else, which immediately people would then come to inept billing. Speaker 2: 30:56 Cause it seems like it's related. But from what I can find. And in that six or 10 hours since I've posted my, my update on clothes, my issue, people are seeing to say, Oh no, I actually am using this other thing over here. And they had this other thing is over here. I don't, you know, it's over here and Oh, maybe a recent, my app was something else. It's updated and it's okay now. So I'm pretty sure that this is what's going on. But honestly to me, this is just not good messaging to developers and, and that's what's really hard, cause people have really come down on me on it. And, and I feel bad because a lot of people use this library and people are making money and it's very hard to sort of not be able to know what to do. You know what I mean? Without having to rewrite the entire thing, which had, I maybe that would've done nothing. You know what I mean? Wow. Speaker 3: 31:47 That's a terrible circumstance to be in. That's, yeah. A, I've never seen messaging that bad before. Uh, so let me get it all straight though. So your library is fine. No code changes needed from your purchasing libraries perspective? From my understanding, for sure, things may change next week. Make sure you tune in, do merge conflict. Uh, but that also means that no one has to do anything. Or do you have a call to action for people? Speaker 2: 32:18 Call to action would be if you're using an app purchases, you might be using some receipt validation service, maybe some Azure functions. Make sure you have the latest versions of that of the API that you're using or check your CIS services if they're connected and pushing and managing releases they might be using an older API to, so that's my to action. Those are the two big worlds. Okay. Yeah. Not the worst, but yeah, with unclear messaging, that would freak me out. Especially when it comes to the money making side. As someone who relies on sales. It's why I never wanted to write the INAP billing plugin, but also built it for myself and put it out there. And it's one of those things where it's very hard because yeah, I support it. I've promoted it before and I think it's a great library and you have the code that you could use under the hood. Speaker 2: 33:09 If for some reason I get hit by a bus tomorrow. Um Hmm. You know, I think doesn't say that. No, I mean, you never know. I mean, I hurt my back. Wow. I can barely move so my back hurts already. So there's that. Um, the backup of bode well with great responsibility comes great power or some gas with great responsibility comes great responsibility. Uh, my responsibility to the open sources to make sure that I can do this research and try to be active and do as much as I can. And, and, um, it's hard sometimes. I love everybody. I love you. He came down on me. I appreciate you for coming down on me. Right. It's fine. Just, and you know, I'm not mad. I'm not mad because I would not in the same boat. I'm not mad. I'm not mad. I think what upsets me is the messaging from Google more than anything. Speaker 2: 33:57 Right. And, and, and that it caused people to get upset when, when the messaging had been clearer than I think that that would've just been better. Wow. You just gave the most beautiful segue into our last topic here. And it's, it's a, it's a wishy washy topic. People, we're not, this is where we're going to have to put on our comfortable clothes or Mr. Rogers sweater. Sit back a little bit and we're going to talk about staying positive because wow, that sounded like a super frustrating experience, James. And I think that we run into these hurdles all the time. It's usually around API updates as far as I can tell. That's what triggers us the most. That's what gets us the most upset. Uh, but all throughout my career, um, I've had the policy, the goal of not burning out, that's what I call it. It's a very vague concept, but I consider it letting all the pinpricks add up to the point where you just can't take it anymore and you want to get out of everything. Speaker 2: 34:55 And so my combat to that is to take absolutely nothing too seriously and to generally try to stay positive. But those are just words. Maybe we can talk about how we actually fall ourselves into doing that. Something like that. Yeah, it's hard. I mean, I love my product that I work on. I love my job. I love the people in the community. Um, I do think it's becomes these things that are almost out of your control that really puts you down. And it is a lot of times with API updates or updates season and it's that pressure and that's what really comes down is that pressure that builds up because you're under a time crunchiness, something's going to, you have life stuff. Everybody has life stuff. And when there's money involved, which could be around a release for iOS, it could be something else. That's really where it does it. Of course there's, there's always going to be people that are negative and you kinda gotta ignore that. I don't really read Twitter anymore, to be honest with you. I just, not that people are negative of that. I follow just, I just don't want to see anything anymore I guess. But, um, Speaker 3: 36:00 well I dunno, just to enter, just to interrupt you there. I've noticed a bad pattern with myself that sometimes Twitter can, I don't think Twitter is healthy for me in the morning is kind of what I'm understanding. It's, I'm, I think I have a little bit too much energy and my brain is working a little bit too well in the morning and you get into that kind of rage culture stuff. So it's really easy to read something on Twitter that makes you upset. You would think Twitter is, I bet you if you did an analysis is 95% positive stuff, but then you read that one tweet that kind of gets you upset and then that dictates the rest of your day. You ignore the other 95% of happiness and keep puppies and kitty cats and all that stuff. And so I've been trying to get myself off a Twitter, um, just in that context or just reminding myself not to Vita ever bring you down or get too caught up in rage culture. So it's a little sad to me that you've had to go the kind of more drastic route of ignore it all, but maybe that's safer. Speaker 2: 36:58 Yeah, there were, there was one thing that I think I might start doing is I was in this panel at TwitchCon another panel and people were asking like, how do you keep going? How do you keep it tears stream going and things like this after so many years. And um, this streamer by the name of X, Mira, Mira, she does like Sims stuff and modding and stuff like that was really cool. She was pretty awesome. She said that she will take screenshots of positive tweets and positive messages and clips in the chat and she puts those in a folder and it reminds you of all the people that have like really appreciated all the stuff that you've done, uh, over the years and the, the, that Hey, things might be hard right now, but you're doing great stuff and people do appreciate it because you're right, one thing can sort of flip it. And that was a really cool idea. I thought because you know, tomorrow I'll forget a bunch of stuff right or next week. But having that sort of archive I thought was a pretty neat idea. Speaker 3: 37:56 You just gave me a new idea James. Okay. You gave me an IOT idea, the best kind of IOT idea. I love this a what you were just describing, you're creating that list. I've uh, I've never created such a list, uh, that seems like an organization problem on mine. I don't know how I'd track it down, but I desperately want that list and I'm just now thinking I have a build status marquee display. I tweeted about it just, you know, scrolls by says whether my builds are working or not. I'm about to get super narcissistic up in here and I'm thinking I should just put all positive messages that people sent me on that board and just live in my own little fantasy bubble of loves me. That sounds super positive. Super cool to super corny, but I'm kind of loving it. So I might make this device Speaker 2: 38:46 that'd be pretty good. I mean you can, I mean, of course you know, you gotta there's, there's the, the pros and you gotta there's always the criticism you've got to take it. But yeah. Um, I think as a pretty good idea. I also think the other thing that's super healthy is just talking to people, Speaker 3: 38:59 Oh, I'm going to rewind. No, you don't actually have to take any criticism that you don't know. Literally don't know. It's a lot healthier actually. If you don't, I would say if someone reports a bug in your app, it's not a criticism against you. It's a bug in your app. Just fix the bug and move on at some little less than I've kind of had to learn in my life that just because someone says something negative, it's not a criticism and you shouldn't take it to heart, but they probably want something from you. So just give it to them to shut them up. Speaker 2: 39:29 So taking that D, detaching the product from Speaker 3: 39:34 you in a way. Yeah. I mean you, you want to live in that world where you are your product and you put all your heart and soul into it. And that sounds good on paper or poetry, but that's a really great way to build anxiety and to just be an unhappy person, to put your self worth on this thing that you're creating. I want to create things that are beautiful that people get pleasure out of and yeah, that have some reflection of me, but that product is not me. It's not a replacement for me and I will not, and I choose not to wrap myself up in it that way. Speaker 2: 40:13 I love it. I'm going to clip that and play that back over and over for myself all the time. And I think that's like the perfect place to end because I don't think I can give any better advice then that. So detachment attachment. No, it's not. It's keeping yourself happy. Thank you. Good. I love it. All right, well thank you Frank for doing these lightning talks. I mean, thanks for everybody in our discord and on Twitter that tweeted us with great ideas. You have your opportunity in just 10 weeks to do it all over again. So a episode one 80 will do it all over again. So feel free to always reach out with all the goodness. Frank, thank you so much for being awesome and for being my friends and for, um, I don't know, doing this podcast with me. I appreciate it. Speaker 3: 40:54 Yeah, it's a great pleasure. Like I said, it's the longest job I've ever had. Speaker 2: 41:00 That's right. Well, that's going to have to do it for this week. Episode one 70 is in the bag. So until next week, this has been merged. Conflict. I'm James mountain mag now. Speaker 1: 41:10 I got Frank Ruben. Thanks for this. I mean.