Podcasts about robert oh

  • 19PODCASTS
  • 31EPISODES
  • 43mAVG DURATION
  • ?INFREQUENT EPISODES
  • Aug 13, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about robert oh

Latest podcast episodes about robert oh

Serious Sellers Podcast: Learn How To Sell On Amazon
#587 - How to Scale 6, 7, & 8 Figure Amazon Brands

Serious Sellers Podcast: Learn How To Sell On Amazon

Play Episode Listen Later Aug 13, 2024 49:13


What if you could replace your corporate salary with millions in e-commerce sales? This inspiring episode brings together Robert Gomez, a former senior finance manager at Microsoft turned successful e-commerce entrepreneur, and Kseniia Reidel, an aspiring Amazon e-commerce star. Robert reveals his transformative journey from the corporate world to achieving over $10 million in sales on Amazon and Walmart brand called Kaffe. Kseniia, on the verge of hitting her first seven-figure mark using Project X methods, shares her innovative strategies and experiences in scaling up an Amazon business. From facing the challenge of declining sales due to over-dependence on a single product to launching new product lines in Walmart, Robert and Kseniia provide invaluable insights into the world of e-commerce adaptability. They discuss the critical importance of diversifying product offerings and successfully managing logistics during peak seasons. The conversation underscores the significance of strategic retail placement and the rewards of being flexible in the ever-evolving online and retail marketplaces. We also delve into the game-changing benefits of hiring Virtual Assistants (VAs) for essential tasks like product research. Learn how effective VA onboarding can propel business growth and the impact of diversifying sales channels beyond Amazon, including Walmart, Faire.com, and even TikTok Shop. With strategies for maximizing profit margins and leveraging social media for brand growth, this episode is packed with actionable insights for anyone looking to thrive in the competitive Amazon, Walmart, and e-commerce landscape. In episode 587 of the Serious Sellers Podcast, Bradley, Kseniia, and Robert discuss: 01:08 - Amazon Seller Stories - Catching Up with Kseniia Reidel & Robert Gomez 10:17 - Dependence on Declining Kitchen Appliance Sales 10:24 - Navigating Brand Pivots and Retail Success 20:32 - Walmart Retail Expansion Success Story 22:52 - Product Expansion and Virtual Assistant Hiring Success 26:17 - High Margin Product Strategy Growth 29:01 - Product Launch Strategy at Walmart 36:55 - Amazon Seller VA Time Management 40:01 - Exploring TikTok Shop for their E-commerce Business 41:12 - Retail Expansion and Product Development 44:04 - Brand Expansion Strategy Discussion ► Instagram: instagram.com/serioussellerspodcast ► Free Amazon Seller Chrome Extension: https://h10.me/extension ► Sign Up For Helium 10: https://h10.me/signup  (Use SSP10 To Save 10% For Life) ► Learn How To Sell on Amazon: https://h10.me/ft ► Watch The Podcasts On YouTube: youtube.com/@Helium10/videos Transcript Bradley Sutton: Today we've got two guests back on the show who've never met each other, but they've both been on here before Robert, who's generated over $10 million of sales with his brand on Amazon and Walmart, and Kseniia, who used Project X strategies to launch her first product, and now this year she's about to hit seven figures for the first time. How cool, is that? Pretty cool I think. Not sure on what main image you should choose from. Or maybe you don't know whether buyers would be interested in your product at a certain price point. Perhaps you want feedback on your new brand or company logo? Get instant and detailed market feedback from actual Amazon Prime members by using Helium 10 Audience. Just enter in your poll or questions and, within a short period of time, 50 to 100 or even more Amazon buyers will give you detailed feedback on what resonates with them the most. For more information, go to h10.me/audience.   Bradley Sutton: forward slash audience. Hello everybody and welcome to another episode of the Serious Sellers Podcast by Helium 10. I'm your host, Bradley Sutton, and this is the show that's completely BS-free, unscripted and unrehearsed organic conversation about serious strategies for serious sellers of any level in the e-commerce world. And we've got a couple of serious sellers back on the show Robert for the second time, Kseniia for the third and a half time. We had her on a little Prime Day special here. But welcome back to the show, guys, your first time meeting each other was today. Right, you had no idea who each other was.   Robert: No idea.   Bradley Sutton: I love doing that. I love bringing different sellers who maybe under other circumstances, might never have known each other. So it's really good to see that people from all walks of life have success on Amazon. Now, if you want to get the backstory of Robert, his first episode was on 448. So we're not going to go too much into his backstory here. Maybe we'll touch a little bit on it, but 448 is a good one to see his episode. And then Kseniia has been on. I think her first was episode 320. And then she was back on episode 441. So we're really close to Robert's episode there, talking about how she 10X her sales from that first episode today. I'm not sure what we're gonna completely know about. We're gonna catch up, completely know about. We're gonna catch up with them might be up, might be down, but hey, we keep it real here. We're not here to make it seem like, uh, everybody who comes on is gonna 10x their, their, their sales. That's not why we brought her on the last time. But uh, let's see, let's see what happens. So, first of all, Robert, you know, like, like I, you know, the one thing that maybe people who listen to your episode, uh, that stood out was how you were still working at I don't remember it was like Microsoft or something like that for years and years, even though you were already a successful Amazon seller and that you had just around. That time finally was like, all right, I'm going to quit the day job. So you know, you have a couple of years maybe under your belt not working for the man, as it were. So how has that been?   Robert: How's that transition been from so long being like the corporate world and stuff and now being your own boss, kind of I think last time I was on was around that time that I had just quit or was about to quit or something. But yeah, I was at Microsoft for a few years. My background is in corporate finance and I started Amazon, kind of like a side venture, back in 2017, 2019. I launched the current brand that I have, but I sort of held on as long as I could, had a whole team and everything, before I finally quit. And around that time was when we were going into physical retail and we had got our first sort of big contract. So you know, it was kind of just time. The amount of time it was taking, the amount of efforts it took to execute that program just had to do it.   Robert: And it's now been a little under two years and it's amazing, I mean just the fact. I mean I love I was there for a reason, you know, and corporate served this purpose. You know, I think I'm always able to say that I used to work for Microsoft and that's kind of level setting very easy to tell somebody. But at the same time, obviously it just wasn't for me. From the day I joined Microsoft, I already knew that I wanted to quit. I already had the Amazon business and everything. It was just, you know, really just the golden handcuffs, as they call them. But yeah, haven't thought about going back any single time in this past year plus. So, yeah, thankfully, you know, any day that I get to do this has really been a blessing. It really doesn't feel like work.   Bradley Sutton: What would you say were the effects of it as far as on your Amazon business? Like having more time to focus? Like, did it stress you out more? Was it the opposite? Were you able to take care of things that might have slipped into their cracks? Were you able to scale faster? You think? What were the differences on that part of things?   Robert: It's hard to quantify it in that sense. But basically you know the role I had at Microsoft. I was a senior finance manager. My team was in the west coast at the headquarters, but I I'm based in the east coast, so it wasn't the amount of necessarily time it was taking. Quite frankly, you know, I had a pretty sweet sort of setup where I didn't take a lot of time right, and that's what made it even harder, because the more you get paid and the less you kind of work.   Of course that just sounds like a dream, right, if I just, you know, mentioned it to friends or just talk to people about it, like what are you doing? What are you thinking of putting it for? But it was just the mental sort of real estate, the real estate it took in my mind, even if I only had one meeting that day or two meetings that day. It was just kind of thinking of like oh, I have that meeting coming up, or just like I have to do this, or the feeling of like not giving something.   Robert: My all you know I'm kind of like all or nothing type of guy and so like just having to, like almost feel fake in the way that I showed up to work and it's. They still thought I was doing a good job. You know we had reviews and I was kind of doing OK and good on them, but internally I just felt terrible, you know, and then I just felt like if I could focus all the time, you know, on Cafe, it would unlock a lot of other things and it has, you know, like it has allowed me to get the team into more of a rhythm in the way that we run meetings and run cadences for certain product development, for sales, et cetera, whereas before it could have been interrupted at any given moment, right, because basically I had a job so I could always take that backseat.   Bradley Sutton: So yeah, it's been a ride, All right. Interesting. I think that's something that Amazon sellers out there, once they hit a certain level if they were working, you know is like a universal question All right, at what point do I do I, you know, give up the steadiness of income and the reliability and the insurance and things like that and go, you know, you know, focus solely on my, my Amazon business? For the people who already are out of out of the, the people who already are out of the corporate world once they start their Amazon business, well, they're just all in from day one, kind of, so they don't have that option. But I think the answer is it's different strokes for different folks. You're probably waiting the longest, more than anybody I've known, wasn't it like, even after you started your, your amazon business? Like a good three, four years um?   Robert: yeah, it was about ready to get multiple seven figures at that by that time yeah, yeah, um, we had sold a total of uh, maybe like 12 million or so, um, before I quit, and we rolled, I quit, we rolled out 4,000 Walmart stores and then I quit, basically yeah he was still rolling out 4,000 Walmart stores with his product.   Bradley Sutton: He's like you know what. Yeah, I think it's time now, but that just shows you that's not the wrong choice.   Robert: There's other people who wait after one month, and they're ready.   Bradley Sutton: That's not necessarily the wrong choice. It's whatever works for you.   Robert: There was no room for error. If I messed any of that up, not only would I need a job I would be way in that way, so there's one way to look at it but also the focus was there. That was my full time job. You know, I always say Amazon was my full time job, and then I had kind of a side side job in corporate.   Bradley Sutton: All right. So now going back to Kseniia, first of all, I'm not sure you know I don't remember the kind of things we talk about all the time. My memory is so bad. But then you know, Mhel gave me some notes this wasn't on there but before you started on Amazon like I do have in my notes here that you were doing like selling collectibles on eBay from Russia and things like that, but at any point, while you were doing Amazon, did you also have a day job or you were 100% your e-commerce business from day one?   Kseniia: 100% e-commerce.   Bradley Sutton: A great contrast I didn't even plan that, but is perfect. It is to have a. To have the contrast here now. I remember one thing that was, you know, kind of like the highlight of your old episodes is is the way that you discovered uh and launched some of those first products that brought you success was like using the project x uh method. So that brand that you started back in you know 2021, 2022, whenever it was uh are you still selling that brand today, the successful one?   Kseniia: Yep, still selling. I've had to change a little bit the product line and expand it but, yeah, the first product since from which one it started still there, still selling. It was exactly three years ago, actually, in August 2021.   Bradley Sutton: Wow, okay, perfect, perfect. Now, the last time we talked back, in 2023, uh, I think some of your closing comments about your goals was hey, you wanted to kind of like focus on, on building the brand a little bit more. I mean building the brand in the figurative sense, not, you know, not just expanding their products, but like actually building a, a brand. And how, what did you do to try to do that and how has that, those efforts, worked out?   Kseniia: Well, the first thing I want to talk about is what happened after last we talked. Is that in 2023, I lost like 40 percent of my sales? Wow, let's keep it real here.   Bradley Sutton: Let's keep it real Well, what was it an attack or just you know the competition? Did you make a huge mistake or what? What happened? Uh, did you make a huge mistake or what? What, what, what happened?   Kseniia: yes, I made a huge mistake, totally my fault, because when I started building this brand, this brand was focused on accessories for a kitchen appliance, and what I didn't think about is that my sales are going to be totally dependent on the sales of that kitchen appliance. Under no, no, no circumstances I can sell more accessories than the appliances sold. And so what happened is, in 2021 and 2022, the appliance sales were growing and they were doing a lot of social media, so my sales were growing, with me not really doing anything, like I didn't do any social media for my brand. But in 2023, from the beginning of 2023, for whatever reason, their sales started dropping like every month, less and less and less, and by the end of the year, I think they also lost like 40 or 50 percent of their sales and your sales were 100 reliant on theirs, yeah, the same. And anything I was trying to do. I tried to do social media, I tried to do Google ads at an agency, but nothing really was just a waste of money, basically because their product wasn't selling, so my products were not selling and my brand was 100% focused on accessories around that kitchen appliance. Wow, okay, so like I had eight products, I think, by the end of 2022. And they all were related to that kitchen appliance.   Bradley Sutton: Interesting, interesting. And so then you're like how do you pivot from something like that? It's like you know, your whole concept of your brand is around this one thing. And here you are trying to build your brand, but then like, wait a minute, this is not the direction I need to keep going, or else I'm going to keep going down yeah, I spent several months on trying to think about what to do about it.   Kseniia: I was like, oh, do I just dump it all and just start it all over? But then, like I had a patent pending for two of the products because they were selling really well and it was really my like design idea that I totally made from scratch, I was like I don't really want to dump it because, who knows, maybe like next year, their sales will go up again, you don't know. So I was thinking about it and I just decided to expand into the products that not a hundred percent related to this kitchen appliance that but can be used by the same people but also can be used by other people as well. So kind of exit the sub niche and get in a little higher niche. So they're still all related, but now I'm not tied to that kitchen appliance.   Bradley Sutton: Now, did it help at all that you were in that niche already to launch these other products? Were you able to market to your existing customers at all, or was it almost like starting from scratch again?   Kseniia: No, the first product that I launched after that was not 100 related to the other brand um was made for I actually got the idea from the customers of that brand, but it was also being bought by all other people. So and sometimes I see that the um, some of the purchases that are made, they're made like two products bought together yeah, the one for the brand and not not for the brand. So the first one kind of easy, and then I started expanding a little bit more outside of the something totally not related to that brand.   Bradley Sutton: Okay all right. All right, we're going to come back to you because I want to uh, double click on a couple of those things you're talking about. But now back to Robert. You know you had mentioned how, in in around the timing of the last episode, you're launching Walmart and there are thousands of stores. Um, I would assume you know we're here in in august that it's been over a full year now of Walmart store sales. So how would you, how would you say that that's gone? Like what kind of gross sales we talking about just in in stores on Walmart, and are we only talking one skew?   Robert: Yeah, so we launched, uh, maybe, yeah, 16 months ago or so, with two skews uh right away. Basically, one of those items was the intro offer. What they call that at walmart is basically the the cheapest option of that product at walmart right, in this case a coffee grinder, and from the time it went live it just started really selling. Just basically, we could see from the data like Nielsen data, which is like official retail data, not counting Amazon and e-commerce we could see that our product was the best-selling grinder in the us, like across all retail points, just because of that walmart placement, right like. So, imagine walmart being, you know, the kind of highest volume retailer and you're the cheapest in uh or the intro uh pricing there, so that that, you know, had what was kind of like a big boom.   Robert: Uh, struggle to kind of just make sure you know, basically keeping up with their projections were a lot lower than we actually did end up selling. Uh, and you know I kind of had already predicted that we would sell, about you know, more than they predicted, just cause that product did well in any other channel that we put it Um, and so, yeah, just kind of stabilizing that right, so making sure that through the holidays.   Bradley Sutton: I would always remember your uh, remember your Instagram post.   Robert: You would be going around to Walmart's all over the country you're on vacation stuff and go to the shelf where your product is and look it's empty, like we're sold out, like it's a fly, literally flying off the shelves yeah, so that's what was happening, you know, and so because it had one facing, meaning it's on the shelf once, instead of like having two, two of them and it would sell kind of fast enough that basically it wasn't. It wasn't able to maximize what it could do, right, because it wasn't available fully right. So we were missing, you know, maybe 20, 25 percent of sales there until, like, the Walmart kind of system catches up with it, like, uh, their forecasting system, um, but yeah, it's basically uh, it's bigger than an amazon business, uh, it's a high seven figures kind of deal and we're counting wholesale costs, so like not the actual retail, so it kind of would be bigger. And the thing with Walmart there is, you know it's compared to amazon it's huge. You know, like it's guaranteed you're a vendor, there's no middle sort of person there and just you know they place every week orders for 42 distribution centers, so like, basically every week we get 42 orders and it goes to other distribution centers, and then this May, so basically a year later or a little before that, they launched one additional item, so they added one more to the two and now there's three. And I also went to another line review for next May to hopefully add a couple more items. So it's just kind of working on the retail side there, but separately.   Robert: I was actually in Puerto Rico yesterday. I was, as I was telling you, meeting with the Walmart Puerto Rico team because they're rolling out, uh, basically a whole section of like 15 items, um, like they're, they're actually like taking up a whole section, um, and that, you know, even though there's not that many stores in Puerto Rico, it's a, it's a huge kind of way of proving it out, like you know, hey, you know, we did this over there. How about, you know, over here, right, right, two other retailers in the us, and that's kind of where the strategy is. So certainly ups and downs, you know it's not always, uh, rainbows and butterflies, as they say. Uh, that side of the business is great. That's what we've been focusing on for a while. But, uh, there's amazon as well. Not such a pretty picture there, but we're still going at it strong, obviously we're gonna want to uh, you know, uh listen to your story on amazon.   Bradley Sutton: But just going back to the Walmart you might have said this in the last episode but, like I said, I forget things how was it that you even got into Walmart before? Did you start to sell on Walmart.com? Did a buyer at Walmart take notice of you because you were crushing it on Amazon, amazon? You know that's probably the hardest thing for somebody who's interested to get in Walmart brick and mortar is getting on the radar of the buyers and actually getting you know in a media unless you'd, like you know, win a contest or do that uh open call or something like that. But how was it that you were even able to get your foot in the door with Walmart?   Robert: Yeah, so a little combination of a couple of things you mentioned, but essentially we have a broker, okay, and a broker, what a broker does, and it wasn't the first broker we had, by the way, and we have one for Target we have. You know, these brokers kind of charge a single digit percentage of sales if they ever sort of get you in the door. Some charge a monthly retainer. In my opinion I wouldn't go with those. You know, the ones that are like serious in my opinion more are the ones that charge you a percentage only if they ever get you in the door, right, um, and so we had tried one. It didn't work out. I mean, it's the same as us reaching out to the buyers, which we had also done, you know, and they don't really reply. You know, like all these retailers at least the, the biggest retailers they have once a year kind of reviews, right. So if you kind of get invited to the review, then maybe you they'll review your product, but that has to do with whether they're wanting to change whatever they have on the shelves, whether they're open to whatever you have, just like a lot of different things. Like the most common thing to happen is that they don't change anything on the shelf Right If it's kind of working or. You know, their jobs depend on the performance of what's on the shelf Right. There's not unlimited amounts, so they're very picky on what they select in. So that's why it's kind of like an uphill battle to get into the retail shelves, and more nowadays that everyone's pushing for conf right. If anything, they'll tell you oh, go try conf first. That's just kind of like a cop out to say like we don't want you on the shelf at the moment.   Robert: So how it worked with us is basically we had worked with a broker. It didn't kind of work out, just no motion there, and not to their fault. But another broker reached out and said hey, you know I can try to reach out, and he did, and it was regarding our coffee grinders and they basically said you know, you can come to Venville to present it at our line review in June of that year and they had seen the product on Amazon. So yeah, I think we were bestsellers or just doing really well compared to other things they had on the shelf and they invited us for that one product and of course when we went I presented other products Right. So you have like 30 minutes. You set up on a table and it's like go, go, go, and after that just kind of I thought it would be like a lesson learned sort of like. You know, maybe come back next year like a good job. You know, at least I learned how to do this thing. But they came back with, you know, questions that led me to believe that they were really interested, like, hey, you know, would you be able to like fulfill a large number of stores if we allocated you that? And, and you know, I just said yes, you know, I never.   Robert: Even that was our first retailer. You know, usually they try you out with a hundred stores or you maybe get into another independent retailer and then you kind of work your way up. But it was one of a weird case where our first retailer was, you know, every Walmart. So it's kind of like you have to learn how to execute the biggest one first, and so now we feel confident that any other retailer, it's kind of like it'll be okay. You know, capacity, volume, just processing the orders. It was a beast at first but yeah, that's how it worked out. Okay, cool, a long sales cycle.   Bradley Sutton: Yeah, Interesting, interesting. Now, switching back to Kseniia, you know, like in the old you know I remember some of your other products the way you would kind of find and or launch was, you know, like through Facebook groups and things like that. Like, are you still using that method to like? You know now that you kind of are going a different path, like, is this Facebook play a role, or how are you finding where the needs are to launch these new products? And then, how are you getting the initial eyeballs on your product once you do launch?   Kseniia: Yeah, the first one that I launched after switching of being the accessories for other brand that was also from a Facebook group. That also was from the same people. But then after that I realized that I need to find a VA finally, because it was only me before that and it got kind of hard when I got to like almost close to seven figures.   Bradley Sutton: Remind everybody what you did uh, you know to do that so they can kind of have a for those who didn't hear the last episode, so they can have a picture of your strategy here so before, uh, I was finding product ideas, I was on the Facebook groups for that kitchen appliance and I would just see what customers say.   Kseniia: Sometimes, a lot of times, because it was a new brand and it was like, basically no accessories for this kitchen appliance they would just say, oh, have anybody, anybody seen this product or this product that we can't find anything like this on amazon? We really want it and I would go like Esty or eBay, I don't know. I check Pinterest and I would see people try to make it themselves from, like I don't know, pieces of wood or something like that. So I realized, okay, well, it's great, then you check the search terms and people actually searching for this product, but there is no options available on Amazon. So that's how all the other products before were and then.   Bradley Sutton: So what did you hire the VA to do? Just start, you know, just be in all these Facebook groups and Reddits and stuff like that trying to get information, or what are they doing?   Kseniia: no, the first thing that I did when I hired her, I told her she needs to learn the Project X.   Bradley Sutton: Nice.   Kseniia: I gave her the Project X because I told her that's exactly how I learned how to search for products. So the first thing we did is that she watched the whole Project X Love it. Because I wanted her to learn how to find products, the way how the Project X was done. Not starting from the product itself, but let's say starting from the product itself. But I'll say started from the keyword. Yes, so searching for the opportunities and not searching for something that already exists, and you'll be surprised. I think it's in two months I don't remember how many she actually found, but the one that we're actually going with in two months it's like 10 or 15 products, something like that that's already passed, like we're getting the samples.   Robert: Oh, wow.   Kseniia: So that's just not the product ideas. That's actually what we will be launching.   Bradley Sutton: That's awesome.   Kseniia: So yeah, she's really great Okay.   Bradley Sutton: How did you find her? I think that's another thing that people wonder about is hey, how do I find good VAs who are actually going to produce, Like, did you go to a service? Did you just put a notice up, or?   Kseniia: I just went on a website. I forgot how it's called like jobsph or something like that. And yeah, I just did a post that I'm looking for a VA with like a specific requirements and I actually did like a an attention test, let's say so. I put it a note and in the middle of the resume and tell them that's how they should name the email when they reach out to me. And you'll be surprised, out of maybe a hundred people or more that reached out to me, maybe like five only actually read yeah the joke post and they put it the and that was like the first test and then they did a task trying to find a product.   Bradley Sutton: So hey, there you go, Robert. There's a tip for your, your next hiring thing. Like uh, dude, that's a good test to weed out half of the applications right there. I like it. I like it, okay, cool. So now you know, now that You've launched some products that kind of are not reliant on that one appliance, what do you project? Is your sales going to be by the end of this year on the trajectory you're going now?   Kseniia: Yeah, I think we will definitely hit the seven figures this year, so it should be better than so. So far, the best year was in 2022, when we got very close. I think it ended with like nine80,000 or something like that, and I think we should be more. Yeah, it should be more this year.   Bradley Sutton: Awesome, awesome, awesome Congrats.   Robert: You got to buy $20,000 worth of goods at that point. Yeah, just at the end of the year just like buy your own product.   Bradley Sutton: Come on, I mean you got to hit that number, but hey, that's good, you're going to do it without having to game the system like that this year. Awesome, Robert. Amazon. Let me look at my notes here. In your first year I saw you did $2 million on Amazon. You had grown it to like $4 million, which was pretty much Amazon.   Robert: Only If we were just to take the Amazon, not the Walmart. Are you up down? We're probably slightly down. I would say maybe 15% or so, 10 to 20. Part of that was our own doing. We had to prioritize. If we ran out of stock, it's not going to be at Walmart stores, it's going to be at Amazon, and it's happened a couple of times and know, and that's kind of affected. We had a really kind of high margin sort of products that we've launched and one of them did extremely well and we just haven't been able to keep it in stock because it is a new item to our supplier. But, like as an example, we launched it basically like month one, with no reviews, you know, just like our branding and running ads. We did almost like a quarter million dollars of sales and it was profitable, which is crazy. You know, usually we're used to losing money, you know, even after a while sometimes, uh, but you know that kind of like margin. There's certain like we're basically focused more on things that make margin, you know, or things that will basically help us push sales through our website, through other products, or things like that, like our hero, where we include an insert card and they're able to buy other accessories from us. But yeah, certainly, strategy slightly changed.   Robert: Within Amazon, advertising basically just kills a lot of the margins, but we see it as a brand awareness exercise as well. We have a lot of products on the roadmap that are higher margin and just kind of like uh, you know, complementary products and stuff that you know I think it's a survival of the fittest on amazon. You know, thankfully, we have always tried to open new channels. You know it wasn't just Walmart stores, you know, for a while we've done all the dot coms, you know, even as vendors like Target dot com, Walmart.com, Macy's Home Depot, fair dot com If anyone out there listening, maybe I'll save it for the 60 second tip. But Fair dot com, yeah, just, you know, all the channels start adding up, you know, and those are higher margin than and where you don't have to run ads and stuff.   Bradley Sutton: So how are you dealing with the year of the fees? It seems you know Amazon, you know 2024 new inbound fees and low inventory fees, which it sounds like you probably hit because you keep running out of stock, you know, on some items and refund fees and stuff like that. Like how have you been able to maintain your profitability? Or have you been able to maintain your profitability, you know? Have you had to raise prices or what's going?     Robert: On no, we just, we have not maintained the profitability, it's just straight. But not on amazon wise. You know, thankfully, the retail side for us just, you know, pays the bills and more. You know thankfully. But uh, we see amazon, as hey it's, it's tough for everybody. You know, thankfully we have another side of the business that it's actually our priority and you know we're still focused on Amazon. But we didn't keep the profitability. Necessarily we can't always just raise prices because we are basically selling on a lot of other channels, so it disrupts a buy box potentially and it's just one of those things where we just have to optimize on the ad side and just straight up, not focus on some SKUs that are, you know, kind of loss leaders or could be loss leaders.   Bradley Sutton: Now I'm looking, I'm just looking with Helium 10 here on your store page with X-Ray, and I see actually you know there's a number of products here that you've launched in the last year. Like I see it, says March of 2024. I see another one here, June of 2024, this coffee scale with a timer. Why, somebody, that's gotta be a serious person. You're weighing your coffee and you got a timer on it, but whatever. So there's all these unique products.   Kseniia: It's at Walmart.   Robert: So that product is at 3,000 Walmart stores. Wow so wait, hold on stores. Wow so wait, hold on, hold on.   Bradley Sutton: It just says you launch this in June. So does that mean that you actually launched a product on Walmart before Amazon? I love that. You see, I keep trying to tell people that exists. Some people say, oh no, Walmart is the opposite. You can expect less sales unless you get into the stores. But there are definitely people out there who launch on Walmart first. But anyways, my point was I see at least four or five products here that were launches here. So obviously you're actively, you know um, trying to expand the brand, you know. I asked Kseniia the same question how are you finding these, these new opportunities, like? What are you doing to, like, do your market research to say you know what? This is the next product we're going to try.   Robert: Yeah, so a lot to do with I mean doubling down on what works, for example, the categories that are working. We introduce either variations or new models if we see fit, and then we get a lot of feedback from retailers and pitches that we do to retailers. So we're in line reviews all the time with different retailers and they tell us we like this product, we don't like this product, or potentially, I think we launched maybe like 20 or 15 or 20 espresso sort of accessories, the scale being one of them this year, and that was from, basically, feedback from a Walmart buyer saying, hey, you know, it'd be nice in the future if we have some espresso tools you know that's kind of a trending category, or whatever. And we sort of said tools, you know that's kind of a trending category, whatever. And we sort of said you know, yeah, we have those kind of coming anyway. Yeah, you know. And then we went and looked for those. So we you know I have a lot of products that I've already tested and stuff, you know, every, basically everything. We're a coffee brand, so anything around the coffee categories, you know, are sort of constantly keeping my eye out and our factories also like innovating with us. Um, but yeah, it's, it's.   Robert: It's a lot of prototyping for retailers, rather than launching on amazon and seeing if it works and then sort of uh, then going to pitch to the retailer. So it's a lot more capital efficient, just sort of prototyping things or final sampling and then uh, sort of having them available on your catalog and then if a retailer wants it, then of course you go to mass production, you go kind of bigger on that and double down on amazon um, but yeah, on the amazon side for us, you know one thing that you probably wouldn't see on the numbers there, but we're we've been working with a 1p partner where we basically have a lot of margin on but we don't necessarily account for the sales through our account, you know. So, like our item wouldn't necessarily show that but it says sold by amazon. So there's some. We just started that as of like a month and a half ago or so, uh, and it's been kind of working really well, um, certainly making a lot of profit, and they're selling uh as dot com, as amazoncom. So that is sort of how we're mitigating the risk, just sort of looking for ways where we're able to keep profitability, because you know categories that need our products. You know our brand fits in well.   Bradley Sutton: Now one thing. The last question for you, before I go back to Xenia, is I don't know the specifics, but I used to supply Walmart to other companies I've worked at. But it's not like they pay you a month in advance or even they pay you up front. There's different terms that Walmart needs and then when they're ordering what? 50 units for 4,000 stores or 20 units for 4,000 stores everybody can do the math out there. We're talking a sizable chunk of change. How do you manage cash flow when you're almost having to front Walmart and some of these other things like and have such a big business with so much turnover? How do you have the capital to sustain, to keep it, to keep it going?   Robert: yeah, that's the part that hasn't been easy for sure. You know, financing environment altogether has gotten, you know, tougher for everyone. You know, obviously, the higher interest rates and stuff. I just bootstrapped this so of course even harder right, and I'm in a sort of categories that are, you know, some would say commoditized, unless you have like strong brand but you definitely are competing against legacy brands that are sold by amazon. So basically a lot of competition in that way. Um, so, to scale it, it's not like I had extra sort of profit margins to just dump around and make mistakes and sort of, you know, go everywhere. So it definitely took some, you know, strategic there, partnering with the.   Robert: I would say the biggest lever is our supply chain terms. You know our supplier terms are almost unheard of when I tell even you know bigger, much bigger sellers. Obviously I've taken on debt, you know, um, and that's been helpful, you know. You know decent amount of debt, but the largest chunk that allowed to scale at that point has been the supplier term. So think of uh, you know, usually you pay your suppliers maybe like 30 deposit and then the 70 maybe when the goods goods arrive at the US. You know if you're lucky, you know if not when it left China. We pay 15% deposit and then we don't pay the 85%, sometimes until 90 days after the goods arrive in the US. So basically, we sell it to Walmart.   Robert: Walmart pays us in 55 days and then we go and pay our supplier essentially. So at any given time we owe our supplier so much money that it also makes a relationship so that we basically don't have to. We do, uh, at least once for all we don't have to do inspections on containers because they're not going to mess it up. You know, if they mess it up, we owe them so much money that it's in their best interest to not. You know, uh, so it keeps that relationship always kind of lopsided in in this way and, quite frankly, is the cheapest financing.   Robert: You know that that one can get right. It's just basically your supplier taking on the brunt of it. So at some point earlier this year, yeah, like because of the terms with Walmart, basically Walmart owed us like maybe a million and a half dollars or something, which is crazy. You're like, okay, in the next 55 days every they're going to be paying some amount. But then we also owe the supplier like hundreds and hundreds of thousands, and then over there, this and then you have to order another container because you know Walmart's going to reorder and they're not telling you that, but if it's on the shelves they're going to start reordering as soon as it starts trickling in. So it's just a huge risk really. But when it's Walmart stores, I mean you just have to take it. You know I always said I'm either going to make this thing, you know work kind of do it big or leave a huge hole in the ground of where it was once. But it's business. You know, I try to remove the outcome from me. You know me, or my sort of self-worth, I guess   Bradley Sutton: Now, Kseniia, a similar question to you is you, as a smaller up-and-coming seller, how have you been able to deal with all the new fees? Have you changed your strategy about how you send stuff to Amazon at all, or anything else like about how you send stuff to Amazon at all or anything else, or are you just kind of like you know, just taking the new fees and raising prices, or how are you dealing with it?   Kseniia: Well, generally when I did the product research before and now we look only for the products that look at like 40% profit and obviously that was the profits that I had in 2022. And after all the fees, it just dropped to like 23, probably percent, 23, 25%. I'm very careful with PPC right now. I'm not trying to overspend on it Plus on the storage, so I'm basically storing for free the products in China after they're being manufactured, so I'm saving money on that.   Bradley Sutton: I think this is interesting. A lot of sellers are kind of like maybe in your shoes right now, maybe just by themselves, or maybe they have one or two VAs. Tell me, how many hours a week are you putting to your Amazon business? How many hours a week is your VA doing? And then what are you guys doing? How does your week look? How do you break apart the responsibilities?   Kseniia: So actually I hired the first VA in April, I think and I liked so much that I hired a second one, like a month ago. But she's only responsible for like social media because we started doing TikTok, uh and a lot of like UGC content, um. So the first VA she does a full time, so 40 hours um a week, and the second one is a part-time for now because I don't know how it's gonna go, because I don't think all the products are fit for like TikTok are you doing TikTok shop or just like promoting?   Bradley Sutton: yeah, TikTok shop. Okay, how's that.   Robert: How's that working out for you?   Bradley Sutton: I'll go back to the employees or the time management one, but how's TikTok?   Kseniia: Well nothing really. Yeah, we just we just started like three weeks ago, I think four weeks ago ago. So she's reaching out to a lot of influencers and through the affiliate program, through TikTok, so I don't know how many she probably reached out to like 200 a day or something like that. So some reply, some don't. So we've just been sending out some sample. I think we only got like one video or something like that yet posted, so not much yet.   Bradley Sutton: Okay, one employee is specifically doing social media for you, including TikTok shop, and the other one is she just doing the product research, like you mentioned before, she has other tasks for you as well.   Kseniia: Yeah, so the first one. She initially was hired specifically for product research, but then we got to the point where we got so many products that we found but there is not too much money, even though I've taken out the loan, but still there is not enough Like. But there is not too much money even though I've taken out the loan, but still there is not enough like. I don't feel confident yet to get like a huge loan. So we still have to launch like one or two products at a time. I can't do like go and launch all 15 at the same time, because the problem I ran into maybe six months ago is a launch product and it became. It started selling a lot better than I expected to.   Bradley Sutton: So cash flow. Same thing we're talking about with uh, with Robert there, yeah yeah, of course.   Kseniia: Well, at the moment where I started losing sales, obviously I didn't have any profits. So that's the moment when I had to decide what I'm gonna do if I'm just closing it all down or am I taking a loan. So I decided to get a loan and start launching new products, and then it got better. But also I use a lot of credit cards just because I get points. I figured out the right credit cards to use because I travel a lot. Then I honestly don't remember last time I paid for a ticket. It's all always done through points.    Bradley Sutton: So how do you, how are you paying your suppliers with a credit card? Cause not all, not everybody, knows how to do, how to do that.   Kseniia: Uh, so I just do it through Alibaba, but I negotiated a terms with them where they covered Alibaba fee, so I'm not worried about that. Okay, cool, but that way I get a bunch of points every month.   Bradley Sutton: Yeah, because I know you and your husband like to travel a lot too. So you're saying all those are. Are you business class on everything too? Most of the times, but not for the short flights.   Kseniia: Okay cool, cool for the longer ones.   Bradley Sutton: So, Robert, as I'm talking to Kseniia, she was talking about TikTok shop. Here I'm looking and I see you're on TikTok shop too. So how, how long have you been on there and how's that been working for you?   Robert: yeah, I think we maybe, uh, earlier this year or something like that. Um, again, we have, uh, there's certain products that we know work a lot better for TikTok shop and we see it. You know, there's a concentration on a few products basically that work very well there. You have one of them pulled up. We just had inventory issues on those products. Basically, those products are really hot, kind of everywhere we put them and we really haven't been able to push as hard as we can on TikTok shop, but certainly everywhere we put them and we really haven't been able to push as hard as we can on tiktok shop but certainly are gathering a lot of affiliate content.   Robert: Um, and sales are starting to come in. You know, uh, we see it as a big kind of big potential there. Um, certainly so. We're. We're reloading on inventory on those and, and for those that didn't know, uh, fulfilled by tick tock, I think basically, and for those that didn't know, fulfilled by TikTok, I think, basically they're subsidizing shipping. So you essentially make more margin on certain products as long as you get them above a certain threshold. So, yeah, it's one of the channels that we're focusing on. That's newer, okay.   Bradley Sutton: You know we talked before about your goals. So, like what are your goals now for the future of your brand, now that you have like a different direction than the last time we were talking? Like what are you trying to accomplish at the end of this year other than hitting seven figures? What's next year look like for you?   Kseniia: We're just going to try to launch as many products as we can. Our goal is probably two to three products every couple of months, so like a product a month. So that why we try to develop um. At the same time we're developing like five products, because you never know how it's gonna go um and, of course, do more social media, do more content, just to, you know, to get the, the brand name out there. Uh, we just started doing Shopify, like a month ago or no, a week ago, I think. I just started working on a website um.   Bradley Sutton: Are you launching any other platforms? Obviously you're on amazon. You're on TikTok shop. You just said you're on Shopify. Are you on Walmart?   Kseniia: or other places. Not yet, not yet.   Bradley Sutton: But yeah, I'm thinking about going there too, as well, now you've got an inside connection at walmart if one of your product takes off somebody who can help you out here, Excellent. What is your favorite? Helium 10 tool, Kseniia or function of a tool.   Kseniia: Probably the audience. That's the one that I use all the time. Is it called audience?   Bradley Sutton: Yeah, the split where you ask the questions to the people and say, how are you using that Like for your images, or just for product ideas, or what are you using that?   Kseniia: honestly for everything, for both for the product ideas, for the images, because I just think it's so easy. You know, when you're thinking about like the product we find, then I usually do um, like the drawing and uh, 3d you know the 3d image of the product that doesn't exist yet. Then usually all my products are like, really designed differently. That's what's on the market right now and I just upload the image there and I see what people say and ask them would you buy this product? And if you wouldn't buy this product, why not? Or what would you change in this product? And sometimes I see the things that I didn't even you know, I didn't even think about that.   Bradley Sutton: So you're launching just the 3D rendering and just asking a question on that image, or you're launching it like, or you're launching it, you're putting it in a poll next to like existing products and asking them, or which one are you doing?   Kseniia: I'm doing both. Actually, the first I just do the rendering and ask them would you buy this product? And if you would not buy this product, would you change like, how would you make it better for you? And then sometimes I also compare it to the other products that on the market and ask them which one would they buy? Interesting and a lot of times I do the changes on the product based on what the people say.   Bradley Sutton: Yeah, yeah, I think it's important. I mean helium 10 audience, which is, you know, uh basically pick fu inside of Helium 10. I think is slept on by a lot of people. But that's, that's uh glad to see somebody's similar questions. To close out, uh, before we get to our final 30 second tips to Robert, like what's, what's your goals for the brand this year, next year and beyond?   Robert: Yeah, so we're. We're really just doubling down on retail. We have a line reviews with different retailers. We're attending different trade shows, not like Amazon trade shows but like actually exhibiting. We did our first one in Chicago this year that had brought a lot of leads to basically regional retailers and all these new doors where we can just increase our distribution Within Amazon. Just continue to execute our roadmap. You know, basically double down on the products that are working and like higher margin products, but basically just doubling down on what's working. The brand, the angle of like being a go-to coffee brand versus legacy brands, that kind of just focus all over home, all over kitchen yeah, it's really, you know, seems to be really hitting a nerve with retail buyers. So that's kind of where we're going.   Bradley Sutton: Nice, nice and your favorite Helium 10 tool for you or your team.   Robert: Keyword Tracker. I use the Keyword Tracker a lot, market Tracker the original one. So those are my top two and that's because I have a lot of customization there. And I would say, to answer your other question on what could have maybe some improvement, although I like the interface a lot, is the profits. I think I talked to the team already but maybe there was some delay there with the advertising numbers being posted and so, like you know, profit being a tool that you want to look at almost like real time, you know, as opposed to like a few days back. But overall, you know, I love Helium 10. We use a lot of the tools the follow up tool, the you know I hadn't heard of the audience one we use PickFu from time to time, same thing.   Bradley Sutton: It literally is PickFu just inside of Helium 10.   Robert: Yeah, I didn't know that you guys had integrated like that. But, yeah, a lot of tools that help us keep an eye on the business, a lot of the notification stuff, the daily like keyword tracker emails that we get. You know, we really do use all those things Awesome.   Bradley Sutton: All right. So now you know. Robert and Kseniia have been on this podcast for a while, so they know what's coming up next. What is your 30 or 60 second tip? Let's start with Robert.   Robert: So my tip revolves around retail or going into retail. But first I want to talk about a channel called Faire like fair with an E at the end, dot com. To those who haven't heard it, especially if you're selling on Amazon or already on e-com, it's essentially a marketplace for independent stores all throughout the US, Europe, whatever, just sort of mom and pops, coffee shops, just any sort of stores that wants to source goods for their store, and it does really well for us. We've sold six figures through there, high margins, and we get pictures all the time from random friends and things like hey, how is your product that's in a random coffee shop in the middle of random city? Or just like in this little store, I saw your products. So you get actual feedback on what your products look like on the shelves and which products actually sell, Because those products, even though it's going to be a little store, it's going to be on the shelf, so you're going to see which products turn and why they do or do not turn, and that will kind of build up your first book of customers that are actual physical retails. Right, there's a lot of reorders on there and it's just a great way to get your feet wet into going to retail go ahead, you know, into going to retail.   Bradley Sutton: So that's my tip there. Okay, cool, all right now. Now over to uh Kseniia. What is your uh 30 or 60 seconds? Uh tip or strategy for the sellers out there?   Kseniia: I want to talk about the product development. I want to say that never stop product development. Uh, always have multiple products and a development at the same time. Um, even if your budget allowing launching only one at a time, because there is always going to be something that's going to go wrong, like the samples might not be made according to the drawings, suppliers might take a lot longer time to make the sample, or your packaging can get lost in the mail. So, and if something goes wrong with one of the products that you're developing, you always will have another options what to launch.   Bradley Sutton: Cassini in the past. I know she kind of flies under the radar here, and that's why I love having people on the show. They don't come here with agendas, they're not trying to. You know like I'll have professionals, no problem. You know people who have agencies, people who do want to make a name for themselves no problem with that at all. I get good stories. But I also like having people on here who, who, hey, they're not on here for promotion, they're just trying to help other sellers out here. So, Kseniia, I know I don't even have to ask that that that she doesn't even have a you know any website or LinkedIn for people to reach out to. But, Robert, I think you do so like, if people want to, you know somehow find you on the interwebs out there. How can, how can they locate you?   Robert: Gladly, we'll connect. I love just talking to sellers and helping in any way I can. I always learn as much as I give away at least. So gladly please reach out. LinkedIn would be fine, Robert Gomez, just search for me and glad to chat.   Bradley Sutton: Awesome, awesome. Well, Robert and Kseniia, thank you so much for coming on and sharing what you guys have been up to, and we definitely want to reach out maybe in 2025 and maybe not together, because I like introducing people to new ones, but maybe we'll connect you with other sellers out there. But thank you so much for coming on and wish you the most of success in your e-commerce journeys.

Screaming in the Cloud
Creating Value in Incident Management with Robert Ross

Screaming in the Cloud

Play Episode Listen Later Dec 5, 2023 35:09


Robert Ross, CEO and Co-Founder at FireHydrant, joins Corey on Screaming in the Cloud to discuss how being an on-call engineer fighting incidents inspired him to start his own company. Robert explains how FireHydrant does more than just notify engineers of an incident, but also helps them to be able to effectively put out the fire. Robert tells the story of how he “accidentally” started a company as a result of a particularly critical late-night incident, and why his end goal at FireHydrant has been and will continue to be solving the problem, not simply choosing an exit strategy. Corey and Robert also discuss the value and pricing models of other incident-reporting solutions and Robert shares why he feels surprised that nobody else has taken the same approach FireHydrant has. About RobertRobert Ross is a recovering on-call engineer, and the CEO and co-founder at FireHydrant. As the co-founder of FireHydrant, Robert plays a central role in optimizing incident response and ensuring software system reliability for customers. Prior to founding FireHydrant, Robert previously contributed his expertise to renowned companies like Namely and Digital Ocean. Links Referenced: FireHydrant: https://firehydrant.com/ Twitter: https://twitter.com/bobbytables TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: Developers are responsible for more than ever these days. Not just the code they write, but also the containers and cloud infrastructure their apps run on. And a big part of that responsibility is app security — from code to cloud. That's where Snyk comes in. Snyk is a frictionless security platform that meets teams where they are, automating application security controls across their existing tools, workflows, and the AWS application stack — including seamless integrations with AWS CodePipeline, Amazon EKS, Amazon Inspector and several others. I'm a customer myself. Deploy on AWS. Secure with Snyk. Learn more at snyk.co/scream. That's S-N-Y-K-dot-C-O/scream.Corey: Welcome to Screaming in the Cloud, I'm Corey Quinn. And this featured guest episode is brought to us by our friends at FireHydrant and for better or worse, they've also brought us their CEO and co-founder, Robert Ross, better known online as Bobby Tables. Robert, thank you for joining us.Robert: Super happy to be here. Thanks for having me.Corey: Now, this is the problem that I tend to have when I've been tracking companies for a while, where you were one of the only people that I knew of at FireHydrant. And you kind of still are, so it's easy for me to imagine that, oh, it's basically your own side project that turned into a real job, sort of, side hustle that's basically you and maybe a virtual assistant or someone. I have it on good authority—and it was also signaled by your Series B—that there might be more than just you over there now.Robert: Yes, that's true. There's a little over 60 people now at the company, which is a little mind-boggling for me, starting from side projects, building this in Starbucks to actually having people using the thing and being on payroll. So, a little bit of a crazy thing for me. But yes, over 60.Corey: So, I have to ask, what is it you folks do? When you say ‘fire hydrant,' the first thing that I think I was when I was a kid getting yelled at by the firefighter for messing around with something I probably shouldn't have been messing around with.Robert: So, it's actually very similar where I started it because I was messing around with software in ways I probably shouldn't have and needed a fire hydrant to help put out all the fires that I was fighting as an on-call engineer. So, the name kind of comes from what do you need when you're putting out a fire? A fire hydrant. So, what we do is we help people respond to incidents really quickly, manage them from ring to retro. So, the moment you declare an incident, we'll do all the timeline tracking and eventually help you create a retrospective at the very end. And it's been a labor of love because all of that was really painful for me as an engineer.Corey: One of the things that I used to believe was that every company did something like this—and maybe they do, maybe they don't—I'm noticing these days an increasing number of public companies will never admit to an incident that very clearly ruined things for their customers. I'm not sure if they're going to talk privately to customers under NDAs and whatnot, but it feels like we're leaving an era where it was an expectation that when you had a big issue, you would do an entire public postmortem explaining what had happened. Is that just because I'm not paying attention to the right folks anymore, or are you seeing a downturn in that?Robert: I think that people are skittish of talking about how much reliability they—or issues they may have because we're having this weird moment where people want to open more incidents like the engineers actually want to say we have more incidents and officially declare those, and in the past, we had these, like, shadow incidents that we weren't officially going to say it was an incident, but was a pretty big deal, but we're not going to have a retro on it so it's like it didn't happen. And kind of splitting the line between what's a SEV1, when should we actually talk about this publicly, I think companies are still trying to figure that out. And then I think there's also opposing forces. We talk to folks and it's, you know, public relations will sometimes get involved. My general advice is, like, you should be probably talking about it no matter what. That's how you build trust.It's trust, with incidences, lost in buckets and gained back in drops, so you should be more public about it. And I think my favorite example is a major CDN had a major incident and it took down, like, the UK government website. And folks can probably figure out who I'm talking about, but their stock went up the next day. You would think that a major incident taking down a large portion of the internet would cause your stock to go down. Not the case. They were on it like crazy, they communicated about it like crazy, and lo and behold, you know, people were actually pretty okay with it as far as they could be at the end of the day.Corey: The honest thing that really struck me about that was I didn't realize that CDN that you're referencing was as broadly deployed as it was. Amazon.com took some downtime as a result of this.Robert: Yeah.Corey: It's, “Oh, wow. If they're in that many places, I should be taking them more seriously,” was my takeaway. And again, I don't tend to shame folks for incidents because as soon as you do that, they stopped talking about them. They still have them, but then we all lose the ability to learn from them. I couldn't help but notice that the week that we're recording this, so there was an incident report put out by AWS for a Lambda service event in Northern Virginia.It happened back in June, we're recording this late in October. So, it took them a little bit of time to wind up getting it out the door, but it's very thorough, very interesting as far as what it talks about as far as their own approach to things. Because otherwise, I have to say, it is easy as a spectator slash frustrated customer to assume the absolute worst. Like, you're sitting around there and like, “Well, we have a 15-minute SLA on this, so I'm going to sit around for 12 minutes and finish my game of solitaire before I answer the phone.” No, it does not work that way. People are scrambling behind the scenes because as systems get more complicated, understanding the interdependencies of your own system becomes monstrous.I still remember some of the very early production engineering jobs that I had where—to what you said a few minutes ago—oh, yeah, we'll just open an incident for every alert that goes off. Then we dropped a [core switch 00:05:47] and Nagio sent something like 8000 messages inside of two minutes. And we would still, 15 years later, not be done working through that incident backlog had we done such a thing. All of this stuff gets way harder than you would expect as soon as your application or environment becomes somewhat complicated. And that happens before you realize it.Robert: Yeah, much faster. I think that, in my experience, there's a moment that happens for companies where maybe it's the number of customers you have, number of servers you're running in production, that you have this, like, “Oh, we're running a big workload right now in a very complex system that impacts people's lives, frankly.” And the moment that companies realize that is when you start to see, like, oh, process change, you build it, you own it, now we have an SRE team. Like, there's this catalyst that happens in all of these companies that triggers this. And it's—I don't know, from my perspective, it's coming at a faster rate than people probably realize.Corey: From my perspective, I have to ask you this question, and my apologies in advance if it's one of those irreverent ones, but do you consider yourself to be an observability company?Robert: Oh, great question. No. No, actually. We think that we are the baton handoff between an observability tool and our platform. So, for example, we think that that's a good way to kind of, you know, as they say, monitor the system, give reports on that system, and we are the tool that based on that monitor may be going off, you need to do something about it.So, for example, I think of it as like a smoke detector in some cases. Like, in our world, like that's—the smoke detector is the thing that's kind of watching the system and if something's wrong, it's going to tell you. But at that point, it doesn't really do anything that's going to help you in the next phase, which is managing the incident, calling 911, driving to the scene of the fire, whatever analogies you want to use. But I think the value-add for the observability tools and what they're delivering for businesses is different than ours, but we touch each other, like, very much so.Corey: Managing an incident when something happens and diagnosing what is the actual root cause of it, so to speak—quote-unquote, “Root cause.” I know people have very strong opinions on—Robert: Yeah, say the word [laugh].Corey: —that phrase—exactly—it just doesn't sound that hard. It is not that complicated. It's, more or less, a bunch of engineers who don't know what they're actually doing, and why are they running around chasing this stuff down is often the philosophy of a lot of folks who have never been in the trenches dealing with these incidents themselves. I know this because before I was exposed to scale, that's what I thought and then, oh, this is way harder than you would believe. Now, for better or worse, an awful lot of your customers and the executives at those customers did, for some strange reason, not come up through production engineering as the thing that they've done. They are executives, so it feels like it would be a challenging conversation to have with them, but one thing that you've got in your back pocket, which I always love talking to folks about, is before this, you were an engineer and then you became a CEO of a reasonably-sized company. That is a very difficult transition. Tell me about it.Robert: Yeah. Yeah, so a little of that background. I mean, I started writing code—I've been writing code for two-thirds of my life. So, I'm 32 now; I'm relatively young. And my first job out of high school—skipping college entirely—was writing code. I was 18, I was working in a web dev shop, I was making good enough money and I said, you know what? I don't want to go to college. That sounds—I'm making money. Why would I go to college?And I think it was a good decision because I got to be able—I was right kind of in the centerpiece of when a lot of really cool software things were happening. Like, DevOps was becoming a really cool term and we were seeing the cloud kind of emerge at this time and become much more popular. And it was a good opportunity to see all this confluence of technology and people and processes emerge into what is, kind of like, the base plate for a lot of how we build software today, starting in 2008 and 2009. And because I was an on-call engineer during a lot of that, and building the systems as well, that I was on call for, it meant that I had a front-row seat to being an engineer that was building things that was then breaking, and then literally merging on GitHub and then five minutes later [laugh], seeing my phone light up with an alert from our alerting tool. Like, I got to feel the entire process.And I think that that was nice because eventually one day, I snapped. And it was after a major incident, I snapped and I said, “There's no tool that helps me during this incident. There's no tool that kind of helps me run a process for me.” Because the only thing I care about in the middle of the night is going back to bed. I don't have any other priority [laugh] at 2 a.m.So, I wanted to solve the problem of getting to the fire faster and extinguishing it by automating as much as I possibly could. The process that was given to me in an outdated Confluence page or Google Doc, whatever it was, I wanted to automate that part so I could do the thing that I was good at as an engineer: put out the fire, take some notes, and then go back to bed, and then do a retrospective sometime next day or in that week. And it was a good way to kind of feel the problem, try to build a solution for it, tweak a little bit, and then it kind of became a company. I joke and I say on accident, actually.Corey: I'll never forget one of the first big, hairy incidents that I had to deal with in 2009, where my coworker had just finished migrating the production environment over to LDAP on a Thursday afternoon and then stepped out for a three-day weekend, and half an hour later, everything started exploding because LDAP will do that. And I only had the vaguest idea of how LDAP worked at all. This was a year into my first Linux admin job; I'd been a Unix admin before that. And I suddenly have the literal CEO of the company breathing down my neck behind me trying to figure out what's going on and I have no freaking idea of myself. And it was… feels like there's got to be a better way to handle these things.We got through. We wound up getting it back online, no one lost their job over it, but it was definitely a touch-and-go series of hours there. And that was a painful thing. And you and I went in very different directions based upon experiences like that. I took a few more jobs where I had even worse on-call schedules than I would have believed possible until I started this place, which very intentionally is centered around a business problem that only exists during business hours. There is no 2 a.m. AWS billing emergency.There might be a security issue masquerading as one of those, but you don't need to reach me out of business hours because anything that is a billing problem will be solved in Seattle's timeline over a period of weeks. You leaned into it and decided, oh, I'm going to start a company to fix all of this. And okay, on some level, some wit that used to work here, wound up once remarking that when an SRE doesn't have a better idea, they start a monitoring company.Robert: [laugh].Corey: And, on some level, there's some validity to it because this is the problem that I know, and I want to fix it. But you've differentiated yourself in a few key ways. As you said earlier, you're not an observability company. Good for you.Robert: Yeah. That's a funny quote.Corey: Pete Cheslock. He has a certain way with words.Robert: Yeah [laugh]. I think that when we started the company, it was—we kind of accidentally secured funding five years ago. And it was because this genuinely was something I just, I bought a laptop for because I wanted to own the IP. I always made sure I was on a different network, if I was going to work on the company and the tool. And I was just writing code because I just wanted to solve the problem.And then some crazy situation happened where, like, an investor somehow found FireHydrant because they were like, “Oh, this SRE thing is a big space and incidents is a big part of it.” And we got to talking and they were like, “Hey, we think what you're building is valuable and we think you should build a company here.” And I was—like, you know, the Jim Carrey movie, Yes Man? Like, that was kind of me in that moment. I was like, “Sure.” And here we are five years later. But I think the way that we approached the problem was let's just solve our own problem and let's just build a company that we want to work at.And you know, I had two co-founders join me in late 2018 and that's what we told ourselves. We said, like, “Let's build a company that we want to work for, that solves problems that we have had, that we care about solving.” And I think it's worked out, you know? We work with amazing companies that use our tool—much to their chagrin [laugh]—multiple times a day. It's kind of a problem when you build an incident response tool is that it's a good thing when people are using it, but a bad thing for them.Corey: I have to ask of all of the different angles to approach this from, you went with incident management as opposed to focusing on something that is more purely technical. And I don't say that in any way that is intended to be sounding insulting, but it's easier from an engineering mind to—having been one myself—to come up with, “Here's how I make one computer talk to his other computer when the following event happens.” That's a much easier problem by orders of magnitude than here's how I corral the humans interacting with that computer's failure to talk to another computer in just the right way. How did you get onto this path?Robert: Yeah. The problem that we were trying to solve for it was the getting the right people in the room problem. We think that building services that people own is the right way to build applications that are reliable and stable and easier to iterate on. Put the right people that build that software, give them, like, the skin in the game of also being on call. And what that meant for us is that we could build a tool that allowed people to do that a lot easier where allowing people to corral the right people by saying, “This service is broken, which powers this functionality, which means that these are the people that should get involved in this incident as fast as possible.”And the way we approached that is we just built up part of our functionality called Runbooks, where you can say, “When this happens, do this.” And it's catered for incidents. So, there's other tools out there, you can kind of think of as, like, we're a workflow tool, like Zapier, or just things that, like, fire webhooks at services you build and that ends up being your incident process. But for us, we wanted to make it, like, a really easy way that a project manager could help define the process in our tool. And when you click the button and say, “Declare Incident: LDAP is Broken,” and I have a CEO standing behind me, our tool just would corral the people for you.It was kind of like a bat signal in the air, where it was like, “Hey, there's this issue. I've run all the other process. I just need you to arrive at and help solve this problem.” And we think of it as, like, how can FireHydrant be a mech suit for the team that owns incidents and is responsible for resolving them?Corey: There are a few easier ways to make a product sound absolutely ridiculous than to try and pitch it to a problem that it is not designed to scale to. What is the ‘you must be at least this tall to ride' envisioning for FireHydrant? How large slash complex of an organization do you need to be before this starts to make sense? Because I promise, as one person with a single website that gets no hits, that is probably not the best place for—Robert: Probably not.Corey: To imagine your ideal user persona.Robert: Well, I'm sure you get way more hits than that. Come on [laugh].Corey: It depends on how controversial I'm being in a given week.Robert: Yeah [laugh].Corey: Also, I have several ridiculous, nonsense apps out there, but honestly, those are for fun. I don't charge people for them, so they can deal with my downtime till I get around to it. That's the way it works.Robert: Or, like, spite-visiting your website. No it's—for us, we think that the ‘must be this tall' is when do you have, like, sufficiently complicated incidents? We tell folks, like, if you're a ten-person shop and you have incidents, you know, just use our free tier. Like, you need something that opens a Slack channel? Fine. Use our free tier or build something that hits the Slack API [unintelligible 00:18:18] channel. That's fine.But when you start to have a lot of people in the room and multiple pieces of functionality that can break and multiple people on call, that's when you probably need to start to invest in incident management. Because it is a return on investment, but there is, like, a minimum amount of incidents and process challenges that you need to have before that return on investment actually, I would say, comes to fruition. Because if you do think of, like, an incident that takes downtime, or you know, you're a retail company and you go down for, let's say, ten minutes, and your number of sales per hour is X, it's actually relatively simple for that type of company to understand, okay, this is how much impact we would need to have from an incident management tool for it to be valuable. And that waterline is actually way—it's way lower than I think a lot of people realize, but like you said, you know, if you have a few 100 visitors a day, it's probably not worth it. And I'll be honest there, you can use our free tier. That's fine.Corey: Which makes sense. It's challenging to wind up-sizing things appropriately. Whenever I look at a pricing page, there are two things that I look for. And incidentally, when I pull up someone's website, I first make a beeline for pricing because that is the best way I found for a lot of the marketing nonsense words to drop away and it get down to brass tacks. And the two things I want are free tier or zero-dollar trial that I can get started with right now because often it's two in the morning and I'm trying to see if this might solve a problem that I'm having.And I also look for the enterprise tier ‘contact us' because there are big companies that do not do anything that is not custom nor do they know how to sign a check that doesn't have two commas in it. And whatever is between those two, okay, that's good to look at to figure out what dimensions I'm expected to grow on and how to think about it, but those are the two tent poles. And you've got that, but pricing is always going to be a dark art. What I've been seeing across the industry. And if we put it under the broad realm of things that watch your site and alert you and help manage those things, there are an increasing number of, I guess what I want to call component vendors, where you'll wind up bolting together a couple dozen of these things together into an observability pipeline-style thing, and each component seems to be getting extortionately expensive.Most of the wake-up-in-the-middle-of-the-night services that will page you—and there are a number of them out there—at a spot check of these, they all cost more per month per user than Slack, the thing that most of us to end up living within. This stuff gets fiendishly expensive, fiendishly quickly, and at some point, you're looking at this going, “The outage is cheaper than avoiding the outage through all of these things. What are we doing here?” What's going on in the industry, other than ‘money printing machine stopped going brrr' in quite the same way?Robert: Yeah, I think that for alerting specifically, this is a big part of, like, the journey that we wanted to have in FireHydrant was like, we also want to help folks with the alerting piece. So, I'll focus on that, which is, I think that the industry around notifying people for incidents—texts, call, push notifications, emails, there's a bunch of different ways to do it—I think where it gets really crazy expensive as in this per-seat model that most of them seem to have landed on. And we're per-seat for, like, the core platform of FireHydrant—so you know, before people spite-visit FireHydrant, look at our pricing pitch—but we're per-seat there because the value there is, like, we're the full platform for the service catalog retrospectives, Runbooks, like, there's a whole other component of FireHydrant—status pages—but when it comes to alerting, like, in my opinion, that should be active user for a few reasons. I think that if you're going to have people responding to incidents and the value from us is making sure they get to that incident very quickly because we wake them up in the middle of the night, we text them, we call them we make their Hue lights turn red, whatever it is, then that's, like, the value that we're delivering at that moment in time, so that's how we should probably invoice you.And I think that what's happened is that the pricing for these companies, they haven't innovated on the product in a way that allows them to package that any differently. So, what's happened, I think, is that the packaging of these products has been almost restrictive in the way that they could change their pricing models because there's nothing much more to package on. It's like, cool there's an alerting aspect to this, but that's what people want to buy those tools for. They want to buy the tool so it wakes them up. But that tool is getting more expensive.There was even a price increase announced today for a big one [laugh] that I've been publicly critical of. That is crazy expensive for a tool that texts you and call you. And what peo—what's going on now are people are looking, they're looking at the pricing sheet for Twilio and going, “What the heck is going on?” Like, I—to send a text on Twilio in the United States is fractions of a penny and here we are paying $40 a user for that person to receive six texts that month because of a webhook that hit an HCP server and, like, it's supposed to call that person? That's kind of a crazy model if you think about it. Like, engineers are kind of going, “Wait a minute. What's up here?” Like, and when engineers start thinking, “I could build this on a weekend,” like, something's wrong, like, with that model. And I think that people are starting to think that way.Corey: Well engineers, to be fair, will think that about an awful lot of stuff.Robert: Anything. Yeah, they [laugh]—Corey: I've heard it said about Dropbox, Facebook, the internet—Robert: Oh, Dropbox is such a good one.Corey: BGP. Yeah okay, great. Let me know how that works out for you.Robert: What was that Dropbox comment on Hacker News years ago? Like, “Just set up NFS and host it that way and it's easy.” Right?Corey: Or rsync. Yeah—Robert: Yeah, it was rsync.Corey: What are you going to make with that? Like, who's going to buy that? Like, basically everyone for at least a time.Robert: And whether or not the engineers are right, I think is a different point.Corey: It's the condescension dismissal of everything that isn't writing the code that really galls, on some level.Robert: But I think when engineers are thinking about, like, “I could build this on a weekend,” like, that's a moment that you have an opportunity to provide the value in an innovative, maybe consolidated way. We want to be a tool that's your incident management ring to retro, right? You get paged in the middle of the night, we're going to wake you up, and when you open up your laptop, groggy-eyed, and like, you're about to start fighting this fire, FireHydrant's already done a lot of work. That's what we think is, like, the right model do this. And candidly, I have no idea why the other alerting tools in this space haven't done this. I've said that and people tend to nod in agreement and say like, “Yeah, it's been—it's kind of crazy how they haven't approached this problem yet.” And… I don't know, I want to solve that problem for folks.Corey: So, one thing that I have to ask, you've been teasing on the internet for a little bit now is something called Signals where you are expanding your product into the component that wakes people up in the middle of the night, which in isolation, fine, great, awesome. But there was a company whose sole stated purpose was to wake people up in the middle of the night, and then once they started doing some business things such as, oh I don't know, going public, they needed to expand beyond that to do a whole bunch of other things. But as a customer, no, no, no, you are the thing that wakes me up in the middle of the night. I don't want you to sprawl and grow into everything else because if you're going to have to pick a vendor that claims to do everything, well, I'll just stay with AWS because they already do that and it's one less throat to choke. What is that pressure that is driving companies that are spectacular at the one thing to expand into things that frankly, they don't have the chops to pull off? And why is this not you doing the same thing?Robert: Oh, man. The end of that question is such a good one and I like that. I'm not an economist. I'm not—like, that's… I don't know if I have a great comment on, like, why are people expanding into things that they don't know how to do. It seems to be, like, a common thing across the industry at a certain point—Corey: Especially particularly generative AI. “Oh, we've been experts in this for a long time.” “Yeah, I'm not that great at dodgeball, but you also don't see me mouthing off about how I've been great at it and doing it for 30 years, either.”Robert: Yeah. I mean, there was a couple ads during football games I watched. I'm like, “What is this AI thing that you just, like, tacked on the letter X to the end of your product line and now all of a sudden, it's AI?” I have plenty of rants that are good for a cocktail at some point, but as for us, I mean, we knew that we wanted to do alerting a long time ago, but it does have complications. Like, the problem with alerting is that it does have to be able to take a brutal punch to the face the moment that AWS us-east-2 goes down.Because at that moment in time, a lot of webhooks are coming your way to wake somebody up, right, for thousands of different companies. So, you do have to be able to take a very, very sufficient amount of volume instantaneously. So, that was one thing that kind of stopped us. In 2019 even, we wrote a product document about building an alerting tool and we kind of paused. And then we got really deep into incident management, and the thing that makes us feel very qualified now is that people are actually already integrating their alerting tools into FireHydrant today. This is a very common thing.In fact, most people are paying for a FireHydrant and an alerting tool. So, you can imagine that gets a little expensive when you have both. So, we said, well, let's help folks consolidate, let's help folks have a modern version of alerting, and let's build on top of something we've been doing very well already, which is incident management. And we ended up calling it Signals because we think that we should be able to receive a lot of signals in, do something correct with them, and then put a signal out and then transfer you into incident management. And yeah, we're are excited for it actually. It's been really cool to see it come together.Corey: There's something to be said for keeping it in a certain area of expertise. And people find it very strange when they reach out to my business partner and me asking, okay, so are you going to expand into Google Cloud or Azure or—increasingly, lately—Datadog—which has become a Fortune 500 board-level expense concern, which is kind of wild to me, but here we are—and asking if we're going to focus on that, and our answer is no because it's very… well, not very, but it is relatively easy to be the subject matter expert in a very specific, expensive, painful problem, but as soon as you start expanding that your messaging loses focus and it doesn't take long—since we do you view this as an inherent architectural problem—where we're saying, “We're the best cloud engineers and cloud architects in the world,” and then we're competing against basically everyone out there. And it costs more money a year for Accenture or Deloitte's marketing budget than we'll ever earn as a company in our entire lifetime, just because we are not externally boosted, we're not putting hundreds of people into the field. It's a lifestyle business that solves an expensive, painful problem for our customers. And that focus lends clarity. I don't like the current market pressure toward expansion and consolidation at the cost of everything, including it seems, customer trust.Robert: Yeah. That's a good point. I mean, I agree. I mean, when you see a company—and it's almost getting hard to think about what a company does based on their name as well. Like, names don't even mean anything for companies anymore. Like Datadog has expanded into a whole lot of things beyond data and if you think about some of the alerting tools out there that have names of, like, old devices that used to attach to our hips, that's just a different company name than what represents what they do.And I think for us, like, incidents, that's what we care about. That's what I know. I know how to help people manage incidents. I built software that broke—sometimes I was an arsonist—sometimes I was a firefighter, it really depends, but that's the thing that we're going to be good at and we're just going to keep building in that sphere.Corey: I think that there's a tipping point that starts to become pretty clear when companies focus away from innovating and growing and serving customers into revenue protection mode. And I think this is a cyclical force that is very hard to resist. But I can tell even having conversations like this with folks, when the way that a company goes about setting up one of these conversations with me, you came by yourself, not with a squadron of PR people, not with a whole giant list of talking points you wanted to go to, just, “Let's talk about this stuff. I'm interested in it.”As a company grows, that becomes more and more uncommon. Often, I'll see it at companies a third the size of yours, just because there's so much fear around everything we say must be spoken in such a way that it could never be taken in a negative way against us. That's not the failure mode. The failure mode is that no one listens to you or cares what you have to say. At some point, yeah, I get the shift, but damned if it doesn't always feel like it's depressing.Robert: Yeah. This is such great questions because I think that the way I think about it is, I care about the problem and if we solve the problem and we solve it well and people agree with us on our solution being a good way to solve that problem, then the revenue, like, happens because of that. I've gotten asked from, like, from VCs and customers, like, “What's your end goal with FireHydrant as the CEO of the company?” And what they're really asking is, like, “Do you want to IPO or be acquired?” That's always a question every single time.And my answer is, maybe, I don't know, philosophical, but it's, I think if we solve the problem, like, one of those will happen, but that's not the end goal. Because if I aim at that, we're going to come up short. It's like how they tell you to throw a ball, right? Like they don't say, aim at the glove. They say, like, aim behind the person.And that's what we want to do. We just want to aim at solving a problem and then the revenue will come. You have to be smart about it, right? It's not a field of dreams, like, if you build it, like, revenue arrives, but—so you do have to be conscious of the business and the operations and the model that you work within, but it should all be in service of building something that's valuable.Corey: I really want to thank you for taking the time to speak with me. If people want to learn more, where should they go to find you, other than, you know, to their most recent incident page?Robert: [laugh]. No, thanks for having me. So, to learn more about me, I mean, you can find me on Twitter on—or X. What do we call it now?Corey: I call it Twitter because I don't believe in deadnaming except when it's companies.Robert: Yeah [laugh]. twitter.com/bobbytables if you want to find me there. If you want to learn more about FireHydrant and what we're doing to help folks with incidents and incident response and all the fun things in there, it's firehydrant.com or firehydrant.io, but we'll redirect you to dot com.Corey: And we will, of course, put a link to all of that in the [show notes 00:33:10]. Thank you so much for taking the time to speak with me. It's deeply appreciated.Robert: Thank you for having me.Corey: Robert Ross, CEO and co-founder of FireHydrant. This featured guest episode has been brought to us by our friends at FireHydrant, and I'm Corey Quinn. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice, whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice, along with an insulting comment that will never see the light of day because that crappy platform you're using is having an incident that they absolutely do not know how to manage effectively.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.

Building Texas Business
Ep057: Navigating Corporate Resilience with Robert Grosz

Building Texas Business

Play Episode Listen Later Sep 20, 2023 33:38


Today's Building Texas Business Podcast episode finds us chatting with Robert Grosz, President and COO of the tech company WorldVue. Robert shares insights into how WorldVue has sustained success for decades through strong customer relationships and a responsibility-centered culture. He details their customer-centric approach and innovation fostering, revealing lessons learned navigating the pandemic with a dedication to service and constructive dialogue. Robert also opens up about transitions into leadership, emphasizing quick decisions, balancing loyalty with progress, and his thoughtful vision for a blended family-exploration sabbatical. From navigating disagreements to keeping pace with industry shifts, Robert offers a compelling view of resilient leadership. SHOW HIGHLIGHTS Robert Grosz, the President and COO of WorldVue, discusses how the company drives growth through strong customer relationships and a company culture rooted in responsibility. He highlights the importance of fostering innovation, creativity, and relevance in the ever-changing tech landscape to stay competitive. We discuss WorldVue's response to the pandemic, emphasizing the importance of their company culture, which includes responsibility, dedication to customer service, and the importance of constructive dialogue. He talks about his transition into a leadership role at WorldVue, emphasizing the importance of quick decision-making and his philosophy on loyalty. Robert shares his proposition for a 30-day sabbatical, and his appreciation for the dynamic beauty of Texas. The episode touches on building relationships and driving growth,We discuss how WorldVue has been successful for 50 years by solving problems, befriending customers, and adding value to their lives. Building a strong company culture is discussed, with Robert explaining how WorldVue managed to successfully navigate the pandemic thanks to its dedication to customer service and focus on responsibility. Building trust and success in leadership is also covered, with Robert emphasizing the importance of making decisions fast and how loyalty can be an adversary to that philosophy. Robert shares his vision for a 30-day sabbatical, which includes spending the first two weeks at home with family and the last two weeks exploring the dynamic beauty of Texas. Finally, We discuss Roberts approach to navigating leadership disagreements, sharing a key lesson learned from past experiences that resulted in lost opportunities. LINKSShow Notes Previous Episodes About BoyarMiller GUESTS Robert GroszAbout Robert TRANSCRIPT (AI transcript provided as supporting material and may contain errors) Chris: In this episode you'll meet Robert Grosz, president and Chief Operating Officer of WorldVue. Robert shares how WorldVue focuses on building a culture of responsibility by being a service-oriented company to its customers in order to drive growth. Robert:, I want to thank you for agreeing to come on Building Texas Business. It's a pleasure to meet you. Robert: Chris, it's great to meet you as well. Chris: Let's get started by just telling the audience about WorldVue and what it's known for. Robert: Chris, have you ever had a friend that is really good at something, whether it's fixing cars or technology, programming your TV, things like that? Chris: It's a friend that you can count on. Robert: It's their best friend. Sure, they go above and beyond. If you've got a problem, you know you can come to them. They respond quickly and they give it their all. Even if they don't know about the solution, they give it their all and they help you and they add value to your life and you build that friendship. That's what we strive for at WorldVue. WorldVue is a company that's been in business for almost 50 years now, houston-based. Our customers are hotels and our expertise is technology. So if a hotel brand, a hotel owner, an individual hotel has a problem with technology, we want them to come to us because we want to be their best friend forever and add value to their lives. So what we're known for is solving problems for hotels, befriending them, building relationships with them and just being part of that industry, being part of the hospitality business. Chris:And that's what's made us successful for 50 years. That's great. I love how it's so ingrained that it's about relationships and even using the analogy of best friend, what inspired you to get involved with WorldVue? What inspired this company to get to where it is today? Robert: Yeah, so they've been along a lot longer than I've been with them. Chris: Sure, I don't look that. You started a company. I started when I was one. Robert:No, no, that's started long before. It's a family business. It's still a family business. The founder still comes to work. He's usually the first one there and the last one to leave. I'm very, very engaged but of course the business has changed a lot over the years. I've known the company for the last 17 years. I actually was with Dish Network. Dish Network is where WorldVue gets their programming, their content, the TV content and some of their technology and I got to know them as a supplier, vendor, got to know the people. I fell in love with the people, fell in love with the company, the culture. The time came where they were kind of pivoting and it's kind of the next generation of WorldVue and we're building this company as a legacy business to last for the next 10 generations and they needed someone with my skillset, my expertise, to help lead them into that. And that's kind of how I got to know WorldVue and got to be involved with WorldVue. Now I'm the president and chief operating officer of the company and I've got a great team around us and teamwork I'm sure we're going to talk about teamwork and people are very, very important and kind of fulfilling our mission. So yeah, that's the origin story of how I got involved with WorldVue. Chris: Okay, that's great. So technology company means evolution and innovation have to be in the fabric of the company. So talk to us a little bit about what you do in your role to foster creativity, innovation, to keep WorldVue relevant in its industry. Robert: Yeah, sure, and relevance. I'm glad you said that word. Relevance is our key growth driver. So you know we've got two growth drivers One's relevance, which is all about product, it's all about the technology that we're out there evangelizing, designing and supporting and really becoming experts at, and with that relevance drives market share growth and getting into more and more and more hotel properties. We currently serve 7000 properties in the US, and now we're expanding internationally. But we're a product driven company because that's our expertise. You know, we want to be the best friend to our clients. That's kind of why we exist. But the what we do is the technology, and we will use technology from leading providers that are off the shelf, you know some big brands that everyone's heard of before, like LG and Cisco. You know brands like that, but what we'll do is we'll take those and we'll integrate them. So integration is kind of what we do best and it's kind of our secret sauce is how do you integrate big, big brands like an Oracle with a LG which does interim entertainment and TV technology? That's our secret sauce. Chris: So the integration. Robert: We're the glue between big technologies and we do it very well. And again, if you lean back on the why you actually want to develop this relationship to add value to your customers and we want your customer to be your best friend. That's kind of what we're doing. So it is related to the technology. We like to say we're a service company that just happens to do technology. We're not a technology company that tries to do service. That's one of our big differentiators. Chris: I would imagine that's a meaningful difference in mindset when you go to the hiring process and building your team to have that servant service oriented mindset be the lead, primary thing you're looking for. What are some of the things you're you do to make sure you're hiring the right people that fit that mindset? Robert: Yeah, yeah, yeah surrounding yourself with people better than you is one of our mantras at any level of the company, and I think if you, just if you, champion that mantra, you know constantly looking for people that do things a little bit better than you, whether it's a specific skill or an attitude, and I think attitude is something you can't really teach. Attitude is something that you carry with you as a human being in your existence, is your WorldVue, which is one of the reasons for the name world. Chris: Gotcha, that makes sense is. Robert: You've got to have that. You've got to have your head on straight as it relates to how do you interact with others, how you act with it, with a team, how you help build the team, how you pull in the same direction to achieve a goal, and those things are very important. We can hire people that are incredibly intelligent, incredibly book smart, have done amazing things and we do but but if, if you don't hire for the attitude and you don't hire for the teamwork, you're going to end up failing, and that's really what we look for there's some tools you have in place so that in that process, the people doing the interviews, whatever it is, and however you go about that, that help you identify or get a bead on the attitude that the candidate has. Yeah, so so we developed our own tools and we, of course, use off the shelf tools, personality assessments and things like that. But, we developed a tool that we called chirp. It's an acronym C, h, I, r, p coachable, humble, intelligent, responsive and persistent. So what we do is, when we're talking to someone, we try to bounce those, those, those challenges, those dynamics off of the candidate to see if they're open to actually learning and becoming a better person. Chris: And if you don't have the C, the coachable. Robert: It's going to be hard for you to be part of the team. Sure Because regardless of what you know, even the smartest person on earth, there's still something for them to learn and they have to be open minded about absorbing that and taking some direction and realizing the experience of others. So coachable humble humility is important. It's related to coachable Intelligence. Isn't book smart, it's more emotional intelligence. It's no one what to say when to say it. Being quick on your feet, having that mindset about who you actually are as a person and how you interrelate to each other, and then how you actually consult problems related to a specific tactical technology, that's intelligence. Chris: Responsive you know. Robert: When the phone rings, you answer it. When an email comes in, you respond to it, you don't let it dwindle. Right and persistence. Persistence is that hunger and that energy, right. Persistence is, you know, knowing that there's a goal, knowing that it's going to be tough to get to that goal, if it's worth pursuing and fighting for it. You know so. Together is the chirp. If you look at our logo, there's a wonderful sparrow icon, which is the chirp, which is a bird, so it all ties together. Chris: Okay. So how do you then take this service oriented mindset you hired using chirp, which I love the acronym. How do you then take that into action and actually go about building these relationships to where your customers become your best friends? How do you connect those dots? Robert: Yeah, so I mean it's about engagement with the customer on their turf right. The world revolves around the customer, doesn't revolve around us as individuals or as a company. So you go to where they are. You go to where the relevance factor is high to them, whether it's a trade show event or it's their office, whether it's charities that they might sponsor and support that are worthwhile getting involved with you. Try to make it about a personal relationship, and that's where our best customers and our best employees thrive is when you can truly make it about the individual. That's very, very important to us. We get on their turf and we try to understand who they are as a person. We're not just checking a box. If we check a box, we become a commodity. When we become a commodity, then the margins are rode, financial performance isn't there and we don't exist Right. So we've got to make it about that personalization. We've got to make it about the customer. Chris: Very good. So let's talk a little bit about how the company has maybe managed over these last few years. I would think, given what we experienced in 2020 and coming in a few years out of that there was, your customers, at least, had probably suffered some downturns in their business, which probably translated to you. What are some of the things you did to help manage the company through those tough times? Robert: Sure, yeah Well, the hospitality industry in general and a lot of industries, but especially the hospitality industry. When people stopped traveling for business, they stopped traveling for personal. They didn't go on vacation. We had a lot of our hotels closed down. Some of our hotels stayed open for first response medical personnel, things like that and they did okay. Some very limited service hotels that don't really exist for that business traveler but they exist just because they need a bed to rent Actually did okay. They thrived, they had good occupancy. We as a company were fortunate. We managed, not by laying people off and cutting back, but we managed by committing and recommitting to our employees. So we had no layoffs because of COVID. We took a kind of unique philosophy to the pandemic and that period of time two, three year period of time where we got back in the office as soon as we could and we did that in a safe way. So there was social distancing and making sure that everything was clean and being aware to the health of all of our employees and respecting individual wishes, but we encourage people to get back in the office in October of 2020. And we've been back since, and we do that because we think that people communicate best in person. It's probably one of the reasons you have us all here to have a podcast, as opposed to doing it virtually. Absolutely Is that personal connection. You can't put your finger on it, but it's important. So I think that that action was a cultural move and I think it's had it's paid dividends for us. I hope it's paid dividends for our employees and I think we'll continue with that mindset. We were there to help our customers, so we were making sure, from a commercial perspective, that we could give them as much relief as possible. We were there to help them turn up their properties, turn down their properties using all kinds of technologies. So there's a lot of different technology out there that a hotel uses. And we were there for them, in all fronts. Chris: That's great. I can totally identify with that thought process, that mindset. We took the same approach in 2020, got people back in in May of 2020, doing the same thing making sure the workplace was safe, but with the view that we work better together. It does foster a healthy culture. I think it makes us better in who we are and in our work and how we can serve our clients and customers. And, to your point, I'm pretty adamant that these podcasts although we've done a few via Zoom because we had to 90, I mean there's I don't need all fingers on one hand, they've almost all been in person, because you just can't replace the dynamic when you're together. So you touched on it. I want to go down this trail with you. And that's culture. How would you make, describe the culture at WorldVue and what are some of the things that you have done to build and foster that culture? Robert: Sure, so we have a culture of responsibility. We're responsible to each other as much as we're responsible to our customers and we have a promise that we make, which is we deliver every time, no exception. And that is as relevant for the guy in the office next to you as it is to your customer, which could be a couple thousand miles away. Right, you know, we deliver every time, no exception. So if someone needs something, we strive to deliver that right. We strive to deliver on the promise. Sometimes it's not easy, oftentimes it's not easy, but it takes a lot of energy and a lot of focus, and I think everyone knows that. But that promise in the company from, you know, from the, the, the, the newest call center rep, all the way to the top they all try to kind of pull that direction. That creates that culture of rowing in the same direction. And that is very, very important. Because if you've got a company that's rowing in multiple directions, it's going to be, it's going to be problematic, it's going to be expensive, the trust is going to be violated, you're not going to be able to move quickly and address customer needs, you're not going to look at the dynamic of what customers can offer in the marketplace and turn quickly to address that it's. It's really core to to who we are as a company, as as individuals. Chris: So what do you do as the president, chief operating officer, low leader, to show up so that people understand that you live the culture, you can enforce that culture. What are some of the things you do to reinforce that every day? Robert: Yeah, so you've got to lead from the front. It's all about attitude. You can't come in all slouched over. You've got to be on point and you've got to do it authentically. It can't be fake, right? And that's a challenge sometimes. Chris: For sure. Robert: And you've got to have your focus. You've got to have your eye on the prize, if you will. Communication is critical, so routine, touch-based meetings. I don't like to have long meetings that consume people's time or people attend the meeting to be attending the meeting. I want there to be a purpose and a reason. I want there to be lots of dialogue. Constructive criticism. Constructive differences make everything special and you can't just kind of dominate. You've got to listen to the different opinions. Chris: Ask more questions. Robert: Ask more questions. We like to say listen 10 times more than people are talking, and you've got to lead by example. If you don't do that yourself as an individual, again something's wrong and everyone sees it and everyone knows it. Chris: So I asked most guests about setbacks or failures and we learned sometimes much more by those. Is there a situation or experience you can think about as a leader where it didn't go as you hoped or it was a failure or setback in a decision or strategy, but you learned from it and the learning from that has made you better today than you were before. Yeah, absolutely. Robert: I mean I've got lots of setbacks and failures, but I think one big example would be if there is a disagreement between leaders and they're not seeing eye to eye and they don't address it quickly, it can create division and that division creates distraction and the distraction creates lost opportunities. And we've dealt with that over the last few years. We've had some disagreements on the direction we needed to go and the solution was coming in the room together, fixing it, getting it on the same page, having the confidence and the buy-in at the most inner level as a person, as an individual, and making the team more cohesive. So you can go from cohesive to a failure very quickly if you don't pay attention to that dynamic. So that was one of big lessons learned. There are others where you bring individuals into the company based upon their experience and their pedigree and you throw them into our mix and they just don't dance our dance and they create a bunch of disruption and you've got to move fast there. It's tough letting people go. It always is tough letting people go, but oftentimes it's good for them as much as it's good for the company, because they're not comfortable in their shoes. That's tough to be a person. When you're not comfortable in your shoes, it's tough to live a life. Chris: Yeah, you touched on something there that I think everyone that I've interviewed in these podcast agree. The biggest lesson learned maybe in that difficult time when someone's not fitting is making that decision faster than you feel like you probably want to, because the person that's not fitting in your organization will be better off because it's just not a good fit and they'll find the place they fit better and your organization will be better because that person that's not fitting is going to be a distraction. It potentially could erode culture and you're just always better off moving faster, even though it'd feel right in your gut sometimes. That's right. You're affecting human lives. Robert: Yeah, and loyalty, by the way is the adversary to that philosophy. Chris: Right, so we all want to be loyal to people. Robert: I think good people are loyal, but you have to have the vision, the foresight, the clarity to understand where there's loyalty and then there's a bad fit, a poor fit. And if there's a poor fit then the best move is always make it a better fit. So that's very important. Chris: As WorldVue has grown, what have you done to build a team around you and let go of some of the things that maybe you used to do more on a day-to-day basis and learn to make us trust and let go yeah, trust is a key word. Robert: So finding people better than you at things, making sure that they're the right fit and then trusting that they're going to get the job done, and sitting back and delegating some responsibilities that you may have you may think that you need to do to them or to their teams, and then watching it grow. And it's very easy to delegate to somebody, but it's difficult to give them enough rope where they're going to actually lead or fail. If they fail, then you can step back in and you can fix it and you can delegate to someone else. You could coach them, but if you've got good people around you I mean if you've got good people that are pulling in the same direction they will self-adjust, they will succeed because they want to reach the same goal that you want to reach. So in some ways it can be very, very simple and easy. Oftentimes it doesn't feel that way when you're doing it, so that's an interesting dynamic. Chris: It really is. The other thing I was going to ask you about, excuse me, is you kind of had an interesting experience in that. I guess I'm talking about transition, succession from founder of company that's still around, as you mentioned in the beginning, but you stepping in to the leadership role as president, chief operating officer maybe talk to us, because there's some listeners out there maybe doing that or or that's in their near future. Let's talk a little bit about what were some of the challenges of bridging that transition gap as you took over as the president of the company. Robert: Yeah, I think, from my personal story, it's about building trust and having integrity as well as having a deep level of respect. If someone founds a company that's been around for almost 50 years, I look up to them. I don't care what that company is. I mean, they've done something that a lot of people have never experienced or will never experience, and I've got to give them tons of credit for that and have utmost respect for that effort. But making that person or that group of people trust you and inspiring them to let you lead is a significant, significant initiative that you've got to have a lot of purpose, a lot of focus on, and that's kind of the most important part, I think, is to to build a relationship. Build that relationship, build the trust, be authentic, have integrity. They will then see that you can lead and take what they've done to the next level and hopefully that will benefit their family and families for generations to come, because that's the ultimate outcome. It's not building to flip it, it's not make a fast buck. In fact, the bucks have nothing to do with it. It's about the purpose. It's about what you deliver value to society, to your customers. It's about what you want to do. That's why that analogy to a friend a best friend is really good at something. I think that's a very good focus for us to have, and I think that if you can generate thousands and thousands of friends throughout the world that all have that need, you've got a successful business that's providing college educations, food on the table, happiness, travel, fun for families, countless families. That's really exciting. That's kind of the passion. Chris: Did you have any challenges as that transition, where the people that used to report directly to the founder maybe weren't coming to you at first, and how did you manage that? Robert: I would be lying to say that that doesn't still exist. It does. It's just a challenge that you have to acknowledge and you have to kind of embrace. I get it. Like I said, the respect level that I have for the founder, the founding family, is so high that I would expect that legacy employees that have been around for a long time. Look at that with the same level of respect. Chris: So you don't take offense to it, oh you can't take offense to it. Robert: It's an eagle driven thing. Chris: Yeah, well, it sounds like that attitude that you bring to it is consistent with the culture, that you're the mindset of the right attitude and that the company's got everyone going in the same direction. Yeah, that's right. So it's not easy running a company the scale and size that you do. What are some of the things that you've done personally to try to have a very successful business life, but also very successful and fulfilling personal life? Robert: Sure, yeah, I mean, I've got four children, twin three-year-olds, a seven-year-old and a 22-year-old and a wonderful wife at home and you know you can't lose focus on what they need and what they want. You can't lose focus on being at home. Right, home is where the heart is. Home provides all kinds of emotional support and you know that's kind of been my exercise routine is making sure that I can maintain a healthy home, which you know. There's this concept of balance that I haven't figured out yet Sure like everyone has their own definition right. Yeah, but because of technology you can be in one location and have a FaceTime call with someone else and you at least can, you know, make sure you're there from a voice and a conversation standpoint. But it's not easy. For sure, but it is definitely worth living for, it's worth striving towards, and you know I value the family component of my life tremendously and I'm hoping that that lends itself to the mission of where we are, the direction we're headed as a company. Out that comes off, and you know I try to treat the folks around me that are closest to me in the office like family as well, and I get a lot of practice. Chris: That's good, that's great, great attitude about it. So what do you see on the horizon? What's next for WorldVue? Where do you see the near future taking you? Robert: Well, our friends are getting larger and larger. We're getting more of them. We are expanding internationally. So we just formed entities in the UK and the EU and Dubai, as well as, I believe, in Singapore and Mexico City. So, we've got a strategy to expand what we do globally, which is going to be very, very exciting. It's going to be very, very difficult. The challenge is exciting, though, and the great people around me and our teams are all excited and enthusiastic about that. But, from just growing business and sticking to our knitting in terms of domestic growth. We've got great relationships with hotel brands. There are multiple. The environment of hospitality is multidimensional and very fascinating to me at least. Where you've got a brand presence, you've got real estate owners, you've got operators and then you've got, of course, guests and the occupants of the property and you've got to serve all four of those groups in a special way and make sure that you're coming through for them. And so we've done a pretty good job at all of those levels. We're excited about some of our brand relationships that are growing and we're becoming more of their best friend. They have other friends. Sure You're their best friend. So the growth plan with product competencies as one lever and market share expansion as the other lever, is what's going to take us forward, and we'd like to be five times larger than what we are in the next five years. Chris: Oh, it's aggressive, it's aggressive. I was going to ask you what's driving that growth? Robert: It's demand. The demand that there's so much technology out there. Technology has become this kind of ambiguous word, right. Sure when it could be hard technology, like a wireless access point or a TV or an ethernet switch or a door lock, or it could be a software right. The software is kind of the glue that makes that hardware valuable, and the software on each of those individual devices is unique. And the key is how do you integrate those softwares together to create an amazing experience, whether it's for a guest, for a hotel associate, the housekeeper or for the owner of the property? In terms of value creation through stronger profitability, there's opportunities to leverage technology to not only solve problems but create opportunities. We think that's where the real demand is going to come from. We just have to be there to be their best friend make it all work and when they have a problem, come to us. Chris: Be that trusted friend. Robert: Be the trusted friend, trusted advisor. Chris: So what advice would you give to someone who aspires to be a business leader or entrepreneur, based on your experience, Create a focus, like create something you really want to achieve. Robert: Start at the end, like what do you want your life to look like and what do you see doing that really is a passion for you. Leave all the other stuff out of that equation, leave the money out of that equation, leave the location out of that equation. But focus with the end in mind, in terms of how you'd like to live to, and then build backwards from there, like what does it take to get there? Create a roadmap for yourself. I know, very early on in life I saw the movie Wall Street and this is on silly, but I loved business after that. I don't know why I don't know what it was, maybe it was the acting, I don't know but I wanted to be a businessman, I wanted to be in business and then I lived my life. I got to college. I was lucky enough to run into some very influential professors. One of them happened to be a real estate guy. He was doing commercial real estate development and exposed me to a company called Equity Group Investments which is based in Chicago. I grew up in Wisconsin, based in Chicago. A guy named Sam Zell who just passed away this last year. And Sam was an iconic entrepreneur, a builder of businesses all along the real estate kind of foundational area, and I decided I wanted to work for Sam Zell. So I graduated college, moved to Chicago, no job, started originating mortgages 100% commission straight out of school and just pursued Sam's company, got involved with Equity Residential, which was his apartment rate, got in the flow of that company, developed this love of technology. I've always had a love of technology, applied technology to real estate early on in the early 90s, kind of made a name for myself, and then that took me to where I am today, which is real estate technology, the scene between the two, solving problems and then being someone's best friend. Chris: There's value there. Robert: And that's kind of how what. I would advise so, start with the end of mind. Chris: Okay, I love that Great story, so let's turn to a little lighter subjects. What was your first job? Robert: First job was? That's a great question. First job I worked in a warehouse and I was moving things around a warehouse after school and I was 14, 15 years old. Like no technology involved in that there was like a tow motor, a tow motor and a truck and a dock. But you know, and really exposed myself to an interesting lifestyle, you know, the people who work in warehouses are pretty salt of the earth and you know, boy, you sweat it in that job right, and then you know. But probably my most interesting job and the one that I was at the least or the shortest amount of time was. I joined a roofing crew in a summer in college and I was on that job for a total of four hours. Chris: And. Robert: I had blisters and bloody hands in that first morning. It was a commercial three-story roof, pitched roof, asphalt, you know, shingles and those guys. I've never seen someone work as hard as them and I couldn't do it. I just couldn't do it. So I went to work as a teller after that. Chris: Okay. Robert: Two weeks later, a bank teller. Chris: Okay, okay, well, so you mentioned you grew up in Wisconsin. Yeah, Been in Houston a while now, so, being newer to Houston and Texas, what do you prefer Tex-Mex or barbecue? Robert: Oh, barbecue. I love the quality of the food meats you know the taste. I think it's good that there's a competition between barbecue to see who's best. I love like playing that game. Chris: It's a good experience as well, there's so many good options. Last week, in fact, someone was visiting Houston, so we've heard all about Texas barbecue. Where do you recommend we go? And I was stumped. Tell me kind of what you like or what you want, because it depends. That's great. So if you could take a 30-day sabbatical, where would you go and what would you do? Robert: Yeah, so that's easy. I spend the first two weeks at home just being at home. You know being a dad being, you know being a husband. I think that's very, very important, boy, that would be a good vacation. Chris: Yeah. Robert: And then maybe the last two weeks I'd stay here in Texas. I go to Hill Country. Yeah, there's so many great places in Texas. It's like a whole different country really. Chris: Sure. Robert: You could go to Dallas and spend some time downtown Dallas doing some fun stuff. You could stay here in Houston and experience all kinds of interesting stuff. Or you could go to Austin, go to Hill Country. It's just the dynamic is incredible. Chris: Couldn't agree more, so I'd stay here close to home. I travel enough. Okay, fair enough, fair enough. Well, Robert:, thank you again for agreeing to be a guest. I loved hearing your story and what you're doing at World View and the team that you all have there. So thanks again. Robert: Absolutely, it's been a pleasure. Thank you, Chris. Special Guest: Robert Grosz.

BB on blast - Big Brother podcast
Big Brother Canada 11: Robert-oh no

BB on blast - Big Brother podcast

Play Episode Listen Later Mar 26, 2023 113:32


We've got two weeks of BBCAN11 action covering the rise and (half) fall of the boys, big bad wolf Zach, eyebrow maintenance, red flags, post office queues, bootays, moobs, our love of product placement, emotional players, hat loyalty, donkey balls and a visit to the first ever series of Celebrity Big Brother UK.Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy

brothers big brother canada celebrity big brother uk robert oh
From the Desk of Alicia Kennedy Podcast
A Conversation with Robert Simonson

From the Desk of Alicia Kennedy Podcast

Play Episode Listen Later Apr 6, 2022 26:39


You're listening to “From the desk of Alicia Kennedy”, a food and culture podcast. I'm Alicia Kennedy, a food writer based in San Juan, Puerto Rico. Every week on Wednesdays I'll be talking to different people in food and culture, about their lives, careers and how it all fits together and where food comes in.Today, I’m talking Robert Simonson, a contributing cocktail writer at the New York Times, Punch, and other outlets. He’s the author of many cocktail books, including one of my favorites, A Proper Drink: The Untold Story of How a Band of Bartenders Saved the Civilized Drinking WorldWe discussed how he went from theater critic to cocktail writer, the methodology behind 2016’s A Proper Drink, launching his newsletter The Mix, and the non-alcoholic beverage scene.Alicia: Thank you so much for being here, Robert.Robert: Oh, it's my pleasure.Alicia: Can you tell me about where you grew up and what you ate?Robert: Yes, I grew up in a small farming community in Wisconsin. It had the name Eagle with about 395 people in it. And my parents had moved there for a change of pace and their lifestyle, and we lived on a working farm. So my mother had a huge vegetable garden and my father raised pigs and other animals, so I kind of grew up knowing where all the food came from, all the vegetables came from our garden, all the meat that was in the large freezer in the basement, had once been living on our land, and we sent it away to a butcher and it came back. So I guess this kind of gave me a sort of a trusting attitude towards food, which is perhaps not well founded or well founded and how you look at it. I was very lucky in that respect. My mother was a good cook. She made a lot of, you know, home meals, mainly Germanic, the kinds of things that you would get in Wisconsin. And of course, you know, you eat a lot of cheese out there; you eat a lot of bratwurst. One thing we did every summer that I did not realize was special until the last ten years is, we took one of our pigs and we roasted it whole over a spit and we invited all the family over and we had this day-long pig roast. I think at the time as a kid, I probably thought it was pretty gross. But now of course, you know, that's, that's a very cool thing to have.Alicia: [Laughs] Well, when did you end up coming to New York then?Robert: I came to New York in 1988. I came here to go to graduate school at Hunter College.Alicia: Nice. And what did you study? Did you study journalism?Robert: I had studied journalism and English Literature at Northwestern University in the Chicago area. And I came here with the quixotic idea of getting a master's degree in dramatic criticism, which is not, you know, a going concern, not a way to make a living. But that's what I wanted to do. I really wanted to be a drama critic. My family is a theater family; they're a group of actors, directors and designers. I've… I've always been a writer, I knew I would be a writer from the age of 11, or 12. So that seemed what my role should be, although later on, I tried playwriting as well.Alicia: What did you take from dramatic criticism that now sustains you as a cocktail writer? Because you really, you've spent most of your career writing about cocktails, right?Robert: Yes, about 16 years writing about cocktails. There was a brief interval with wine, and before that, 15 or 18 years writing about theater. At first, I didn't see the parallels, but then they were very clear and right in front of me. Obviously, the bartenders behind the bar, many of them are former actors or current actors, but they are all performers, they are on a stage, we are looking at them, we are evaluating their performance, enjoying the show. The theater has a long and rich history, I always like the historical aspect if anything. And cocktails have been around for a long time, more than 200 years. So there was that history to dig into. There are a lot of traditions and superstitions; there are a lot of rituals surrounding both theater and the bar. So there's actually quite a lot between the two. And now… now in retrospect, I can see why I would have made what would seem like a very unorthodox career transferred from theater to cocktails.Alicia: How did that transition happen? What got you actually started in writing about wine and cocktails and going more in that direction? Robert: I think after about 20 years of writing about the theater, I was, quite frankly, burnt out. The theater is a very small world, even in New York, and I felt I had written all the stories I had interviewed all the people I… I hadn't seen all the plays, but I'd seen hundreds upon thousands of plays. And I thought to myself, you know, does a person have to do the same thing their entire life? I knew I had to write but I was… I was tired of writing about theater. And I just looked around, like I said, I did wine for a while. I was always fascinated with wine. I educated myself and wrote about that for a while. But then I found out that the wine world is kind of stuffy, frankly. And also there were… there wasn't a lot of opportunity there. The people who write about wine are quite entrenched, and they don't really open the door for a lot of new people. And then I discovered—this was like 2006, and the cocktail world was just discovering itself, and at least bartenders are reclaiming cocktail history, bringing back all these classic drinks, opening cocktail bars. So I was able to kind of get in on the, you know, so called ground floor on that. I'd always been interested in mixology and cocktails. Again, this was a thing that was in the back of my head, I didn't really realize it. But my parents always, you know, steadfastly honored cocktail hour, my mother drank old fashioneds. My father drank martinis. I'm from Wisconsin; drinking is a big part of the culture. And so I was fascinated with how you put those drinks together and where they came from, and where the names came from, and all that stuff. And so I made that switch and I'm glad I did.Alicia: Well, and your book, A Proper Drink: the Untold Story of How a Band of Bartenders Saved the Civilized Drinking World, is one of my favorites, because it caught me up to date on all these things that I had missed in the cocktail world, and then kind of came into it late. What was the research process for writing that book? Because it really is such a deep and extensive historical record, but also has a real narrative thrust to it as well.Robert: Yes, that was the second cocktail book I wrote, after The Old Fashioned at that point, it was in the middle of the 20 teens, it was about 2014. And I was looking around and having this historical bent in my mind, I was thinking what history is happening right now in the cocktail world, in the bar world. And nobody's really writing it down. I mean, they're writing it down piecemeal, article by article, but they're not taking the broad view…long view. And part of what we were all doing as cocktail writers was trying to rediscover the past because it hadn't been written down very well. So we were going back, like, who were the bartenders who created these cocktails? Why do we drink martinis? Why do we drink old fashioneds? How do you make them all that kind of stuff? So I thought, Well, let's not, let's not go through that again… let's write it all down while everyone's around, and everyone's alive, and the bars are still alive. And you can interview everyone. I went to 10 Speed Press, which is my publisher, and they thankfully took the idea I was… I was happy and surprised. And then, of course, I had the task in front of me, which was a daunting task. And so I interviewed more than 200 people in several countries, a few continents. It was just a matter of doing one after another.You just couldn't look at the entirety. So you started with one interview. And then it went on, I think I interviewed Dale DeGroff first, who seemed like the perfect choice for the first interview. And at this point, I had been writing about cocktails for about eight years, so I knew all the players and they trusted me when I interviewed them before and wrote about them. They knew that I wouldn't do a disservice to them or the history or this culture. I did the interviews and I think it took about a year and a half to do all the interviews. Then of course, you have to transcribe the interviews, which is absolute torture; it took so much time. And you know, just thinking about it right now, I'm exhausted. I could not… I can tell you right now, I could not do that again.If you… if you had given me this book contract today, I could not do it. It's just too tiring. It's the hardest thing I ever did. But I'm glad I did it and I'm glad I did it at the time I did because as you know, some of the major characters in that book are no longer with us. So I got to talk to them. But while they… they were still here.Alicia: Right, and, you know, there is a quote from Giuseppe Gonzalez at the start of chapter nine that ever since I read the book, I think about this quote all the time. But he said when you think of the classical bartender, it's always a tall white guy with a funny mustache. And he goes on to say how that erases people like him, Audrey Saunders, Julie Reiner. And that's been a real guiding point for me, but, you know, how have you tried in your work to kind of write the modern history of cocktails, not just in that book, but in your… in your journalism that you do, really do a justice to how diverse this… this job is really, and how diverse you know, the world of cocktails is. There's cocktail bars literally everywhere now in the whole world where they're all doing different things.Robert: Yes, yes. That's a great quote by Giuseppe, that moment. Giuseppe was always a good interview, he was always very unguarded, and candid. And the moment I heard that, I thought, Well, that's gold. That's going in the book. Alica: Yeah. [Laughs]Robert: And there's a reason I started a chapter with it, I knew it was a good quote. And it was an accurate quote; he was absolutely right. Happily, this world is becoming a more diverse world. I don't think it was when the craft cocktail movement began. All the people in it were just so excited about what was happening that bartenders were being respected again and cocktails were being made well again and seen as the liquid equivalent of what was going on in the kitchen. It was just this sense of discovery that they weren't necessarily looking around and aware of whatever inequities were right within the community. And they were, quite frankly, the same inequities that you see in every other field of enterprise, and achievement. One of the good things, I think, that has happened over the past two or three years is, the cocktail community has begun to recognize that and try to correct that. Bring more diversity, because it was an overwhelmingly male world, and overwhelmingly white world and these were the people who were interviewed. So I'm just as much at fault as anybody.But, you know, with the #MeToo Movement and the Black Lives Matter Movement, it opened a lot of people's eyes, both within the bar world and the people who cover the bar world. And so you start to reapproach your job, reapproach your assignment and say, like, well, who have I been neglecting? And maybe I should stop interviewing the same people over and over again, and look a little deeper and find someone else, you know, and concentrate on bars that are owned by women, that are owned by people of color, also, to look back into history, and find out those forgotten figures, which were indeed, you know, forgotten, and written out of history. They were there, though. And so it's… it's been our job to tell their stories, bring them back, I still think there's, of course, lots of work to do. Alicia: Well, you know, you recently launched a newsletter called The Mix, which is about drinks, but it's also, you know, a really, really big mix of content and subject matter. So what was your inspiration for going independent right now?Robert: Well, so many things changed during the pandemic, during the past two years, I think, you know, the scales fell from everybody's eyes. You know, what their lives were, what their employment was, what… what the greater culture was. Freelance writers are no different. You know, we fight and scrap and, you know, scrape together our living, you know, day by day. And then something like the pandemic comes along, and like, the scaffolds fall down, and then you realize you have no support whatsoever.Alicia: Right. [Laughs]Robert: It got harder to get assignments. I don't envy, uh, the editors and publishers; they didn't know what to do any more than we knew what to do. But at the same time, you have to make a living. And so I was lucky, because I was working on two book assignments during the pandemic, and that kind of kept me afloat. For much of it. But I knew that I had to reorganize my career to, I don't know, just find a new way to go about the same thing that I was doing. And I, quite frankly, I had never heard of Substack before the pandemic came along, and suddenly, there were lots of articles about Substack, talking about people like you, and people like you became an inspiration. You know, I was looking at what you were doing; you were charting your own territory, you were becoming independent and writing about what you wanted to write about. And that was very appealing to me. And it also allowed me a lot of freedom, because I can choose what I want to write about. I think there used to be a lot more generalists in journalism, who could write a little bit about everything. I've always been pigeonholed: I was pigeon holed as a theater writer and then I was pigeon holed as a cocktail writer. It's kind of a miracle that I actually got out of theater writing, because they… once you're in the box, the editors don't let you out.And I love… don't get me wrong. I love writing about cocktails, and bartenders. It's a very nice box to be in. But it's not the only thing I'm interested in. And now that I have this newsletter, I assigned myself you know, I can write about food, I can write about travel, I can write about regional eating traditions, I can… I can even go back to the theater. I mean, once I left the theater, I sort of burned all those bridges, and they cut me off, you know, no more theater tickets, no more free theater tickets. But now if I choose to, I can. And we've been doing it for six weeks and it's well, you know, it's a tremendous lot of fun. I don't know if you thought… do you find it fun? I find it fun.Alicia: I find it fun, it's… it's interesting. I mean, like you, I like to write about lots of different things. I started out as a writer thinking I'd be a book critic and so my first love is literature. And so I felt like I never got to talk about books anymore when I was a food writer, you know, and then… but even when I was, you know, writing about food, you know, as a freelancer and as some as not really a contributor, any… to any one place, I got to write about tons of different things, but at the same time, you know, people would be like, well, you sort of dabble in this world, but you're more of this world and then someone else would be like you're really of this world but you dabble in this other world like and so it was always this kind of trying to pin you down, always. So that was that… Now, as someone writing for myself and doing more essays and cultural criticism, I get to kind of combine everything that I care about. And I think that the reason I've had a moderate amount of success in this format is that people want that; people want to see, like—people love a voice, obviously; this is why we love art—but also people love to see connections between things, you know, we aren’t all people who just, we just go out to eat, or we just read books, like we all do all of these things. And so it's like, how do all of these things that I care about fit together? And I think that the reason we've seen so many writers really take to doing newsletters is because finally, they have a place to do that without editors saying like, no, you only can do this. And the only places I've found where I'm allowed to do that, at a bigger scale, are like literary places that don't pay well at all. And so, you know, you're doing 3000 words, and doing really what you want to do and like weaving all of these things together, and then you're getting like, you're spending hours and weeks on it, and you're getting not even the equivalent of a month's rent. So at least within the newsletter format, you can kind of set your own boundaries, and trajectory [laughs].Robert: That's right… I mean… that's why I called it The Mix. I struggled with the title. And The Mix, of course, is evocative of mixology. You know, and I know that most people are going to come to the newsletter looking for that drink stuff. But it's also a mixture of material and hopefully are getting… people are getting that, you know that yeah, just like I'm going to get a little bit of this a little bit of that little from Column A, Column B. And, and then they like that, but it's wonderful, removing all those impediments. All those middle people, you know, between you and the reader. It's just wonderful. I will say that I have rather stupidly given myself 100 percent more to do. I write… I write twice as much as I used to and it's a little exhausting sometimes. It's a little overwhelming, because I'm still writing for the same freelance outfits that I did before, and I've still got a book too. But now I have to feed the beast, which is the newsletter.Alicia: Yeah, no, finding that balance is really hard. How have you been? How have you been trying to structure your time these days?Robert: Well, I've settled upon certain days that I post on the newsletter. And so the day before that is all work. You just wake up every day and you know what you have to write that day, and you get it done. The stuff for the newsletter doesn't seem like work, however, it just seems like fun. It seems like something that you're doing for yourself. I mean, I can tell you, most of the things that I write about are things that I would not be allowed to write about anywhere else. And whenever this story has been something that I really care about, and then really passionate about, or, or I'm just having a great time researching, it's never work.Alicia: Right now is an interesting moment, though, in the cocktail world, like, how are you feeling about the rise of the nonalcoholic beverage and spirit and why? And you know, how is that? How is that fitting into your work? How is the, I would say, the rise of sobriety influencers as well—it's become a really interesting time to talk about drinking at all, because I don't know if you've found this, because people are really in a strange moment in their relationship with alcohol. How have you been experiencing this? Robert: Yeah, that's been an interesting trend and it's been going on for a few years. It was… it started before the pandemic came along but it was kind of pushed along by the pandemic. And we started out with low ABV drinks. I kind of think a lot of these things are often pushed by the bartenders themselves. I mean, we perhaps think that we're choosing our own drinking trends, but the person behind the bar decides what's on the list or what they're going to serve. And, you know, it could very well be you could argue that a lot of these people in the cocktail industry, perhaps overindulged for the first decade of this movement, and then they thought they took a, they took an appraisal of their life and said, I better take a few more steps back here, because this party can’t go on indefinitely. So they started drinking low ABV drinks. And then maybe some of them were actually quite a few of them stopped drinking altogether. And they said, okay, how can I have a good time in a bar if I'm not having an alcoholic cocktail? So they've come up with the low ABV drinks.That's been interesting to see during the pandemic. There was a real swing toward the beginning. We were all in shock, and we're just trying to comfort ourselves. So there was a lot of overdrinking. And then after six months, it was like, okay, let's not drink at all. So it's just, it was a swinging from extremes. I quite honestly did not know how to approach the subject for some time. Because I have schooled myself on the history of cocktails and cocktails are alcoholic drinks. And that's how they were invented. That's how they were made. And the world of the bar—for much of the bar’s history was a place where you drink spirits, or beer, or wine, or whatever. And to a certain extent, I wondered if non-alcoholic drinks weren't better covered by food writers? Because I just kind of thought of them as soft drinks, you know? So maybe this should be written about by somebody other than me. But lately, I've begun to take them more seriously, look at them more closely. My wife recently decided to stop drinking for a while and so it became important to find good things to drink. And so I had to go out and she had to go out and find what were they offering in terms of non-alcoholic spirits? Every time we went to a bar, she would order the non-alcoholic option. And of course, I tasted all these, and then you, you come to find, you know, what are the faults with these things? Where are the good ones? Who's doing it well? Who’s doing it badly? Where do we have to improve? And I now see, one of the most important aspects of the genre. I think, to a certain extent, these things can only be made as well as they can be made, but I think the more important role they play is that they invite everybody into the bar. So everyone comes in the bar, everyone gets their special drink, they're comfortable, they have a good time, and they can hang out together, as opposed to hanging out in separate places. So I like the social aspect of it that has changed things in recent years.Alicia: For sure. And you know, I'm not in New York anymore, so I feel very detached from what's going on. So now that we're kind of coming out of, I don't know, I feel like I don't want to say we're post-pandemic, of course, but I do want to say we're coming into a new phase, I guess, of the pandemic. And so, what's exciting about bars right now in New York, where are you finding excitement?Robert: Well, bars have had to reinvent themselves in so many ways. We lost a lot of great bars during the pandemic here in New York, and the other ones have struggled mightily. I'm sure that they're still reeling. Actually, I think it… is it today, or was it yesterday that they lifted the vaccination requirements at restaurants and bars, which I personally think is a mistake. But that's how it is now and so they're gonna have to struggle with that as well. How are they changing, what's exciting? Right now, everyone's just so excited to go back out again and there are a lot of new bars opening, obviously, almost no new bars open for almost a two-year period. And now there's a kind of flood of them. And so there are conventional stories to cover, as there used to be. I think the smart bars are trying to figure out how to do business differently and better, because they realized their relationship with the government was broken… their relationship with City Hall, their relationship with customers was based on a lot of perhaps unhealthy assumptions and habits. Changes in how they deliver the menu. I've seen in real time, they offer a lot more non -alcoholic drinks, like we were talking about. It's been a big wake-up call. I don't think running a bar is—well, it never was really a carefree enterprise… running a bar is really, really hard. But I think there are more worries now. And it's just, it's also too early. Somehow after going through the pandemic, it feels frivolous and a disservice to talk about drinking trends. Like, you know, blue drinks are hot, you know, yeah, who cares? You know, we've got bigger fish to fry. You know, there are a lot more important things to write about.Alicia: Well, that's actually really exciting to hear, because I can't wait to see what does change about… about cocktail writing and bar writing now that we've been through this and restaurant writing as well, because I think, yeah, when when you read a piece that kind of ignores all this context that we now have spent two years mired in, it feels very out of touch. And so like, how are people going to get back in touch with the audience? Is the audience going to be okay with talking about different things like labor issues, and you know, the policies that affect bars and restaurants, etc., etc.? So, it's going to be an interesting time for sure. So I usually ask people if cooking is a political act for them. Do you cook a lot?Robert: I do cook a lot, and I cooked a hell of a lot during the pandemic. I'm pretty good. Alicia: For you, is cooking a political act, then?Robert: Well that’s a good question. On one level, it's not because most of the time I'm cooking for my wife, or my son or my stepson. And so it's just a loving act, you know, a family act, but you do choose what you want to cook. I'm lucky enough to get a lot of cookbooks coming through the mail from 10 Speed Press and Clarkson Potter. And so I've been looking more at cookbooks of cultures that I'm unfamiliar with, or written by people of color and saying like, like, I've never made a dish like this, why don't we try? And so that's been eye opening, and very rewarding. So I guess you could say, in that small way, it's a political act.Alicia: Well, thank you so much for being here today and for chatting with me.Robert: Oh, this has been a pleasure. Thank you so much. This is a public episode. If you’d like to discuss this with other subscribers or get access to bonus episodes, visit www.aliciakennedy.news/subscribe

Screaming in the Cloud
“Liqui”fying the Database Bottleneck with Robert Reeves

Screaming in the Cloud

Play Episode Listen Later Dec 16, 2021 50:45


About RobertR2 advocates for Liquibase customers and provides technical architecture leadership. Prior to co-founding Datical (now Liquibase), Robert was a Director at the Austin Technology Incubator. Robert co-founded Phurnace Software in 2005. He invented and created the flagship product, Phurnace Deliver, which provides middleware infrastructure management to multiple Fortune 500 companies.Links: Liquibase: https://www.liquibase.com Liquibase Community: https://www.liquibase.org Liquibase AWS Marketplace: https://aws.amazon.com/marketplace/seller-profile?id=7e70900d-dcb2-4ef6-adab-f64590f4a967 Github: https://github.com/liquibase Twitter: https://twitter.com/liquibase TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: It seems like there is a new security breach every day. Are you confident that an old SSH key, or a shared admin account, isn't going to come back and bite you? If not, check out Teleport. Teleport is the easiest, most secure way to access all of your infrastructure. The open source Teleport Access Plane consolidates everything you need for secure access to your Linux and Windows servers—and I assure you there is no third option there. Kubernetes clusters, databases, and internal applications like AWS Management Console, Yankins, GitLab, Grafana, Jupyter Notebooks, and more. Teleport's unique approach is not only more secure, it also improves developer productivity. To learn more visit: goteleport.com. And not, that is not me telling you to go away, it is: goteleport.com. Corey: You know how Git works right?Announcer: Sorta, kinda, not really. Please ask someone else.Corey: That's all of us. Git is how we build things, and Netlify is one of the best ways I've found to build those things quickly for the web. Netlify's Git-based workflows mean you don't have to play slap-and-tickle with integrating arcane nonsense and web hooks, which are themselves about as well understood as Git. Give them a try and see what folks ranging from my fake Twitter for Pets startup, to global Fortune 2000 companies are raving about. If you end up talking to them—because you don't have to; they get why self-service is important—but if you do, be sure to tell them that I sent you and watch all of the blood drain from their faces instantly. You can find them in the AWS marketplace or at www.netlify.com. N-E-T-L-I-F-Y dot com.Corey: Welcome to Screaming in the Cloud. I'm Corey Quinn. This is a promoted episode. What does that mean in practice? Well, it means the company who provides the guest has paid to turn this into a discussion that's much more aligned with the company than it is the individual.Sometimes it works, Sometimes it doesn't, but the key part of that story is I get paid. Why am I bringing this up? Because today's guest is someone I met in person at Monktoberfest, which is the RedMonk conference in Portland, Maine, one of the only reasons to go to Maine, speaking as someone who grew up there. And I spoke there, I met my guest today, and eventually it turned into this, proving that I am the envy of developer advocates everywhere because now I can directly tie me attending one conference to making a fixed sum of money, and right now they're all screaming and tearing off their headphones and closing this episode. But for those of you who are sticking around, thank you. My guest today is the CTO and co-founder of Liquibase. Please welcome Robert Reeves. Robert, thank you for joining me, and suffering the slings and arrows I'm about to hurled directly into your arse, as a warning shot.Robert: [laugh]. Man. Thanks for having me. Corey, I've been looking forward to this for a while. I love hanging out with you.Corey: One of the things I love about the Monktoberfest conference, and frankly, anything that RedMonk gets up to is, forget what's on stage, which is uniformly excellent; forget the people at RedMonk who are wonderful and I aspire to do more work with them in different ways; they're great, but the people that they attract are invariably interesting, they are invariably incredibly diverse in terms of not just demographics, but interests and proclivities. It's just a wonderful group of people, and every time I get the opportunity to spend time with those folks I do, and I've never once regretted it because I get to meet people like you. Snark and cynicism about sponsoring this nonsense aside—for which I do thank you—you've been a fascinating person to talk to you because you're better at a lot of the database-facing things than I am, so I shortcut to instead of forming my own opinions, I just skate off of yours in some cases. You're going to get letters now.Robert: Well, look, it's an occupational hazard, right? Releasing software, it's hard so you have to learn these platforms, and part of it includes the database. But I tell you, you're spot on about Monktoberfest. I left that conference so motivated. Really opened my eyes, certainly injecting empathy into what I do on a day-to-day basis, but it spurred me to action.And there's a lot of programs that we've started at Liquibase that the germination for that seed came from Monktoberfest. And certainly, you know, we were bummed out that it's been canceled two years in a row, but we can't wait to get back and sponsor it. No end of love and affection for that team. They're also really smart and right about a hundred percent of the time.Corey: That's the most amazing part is that they have opinions that generally tend to mirror my own—which, you know—Robert: [laugh].Corey: —confirmation bias is awesome, but they almost never get it wrong. And that is one of the impressive things is when I do it, I'm shooting from the hip and I already have an apology half-written and ready to go, whereas when dealing with them, they do research on this and they don't have the ‘I'm a loud, abrasive shitpostter on Twitter' defense to fall back on to defend opinions. And if they do, I've never seen them do it. They're right, and the fact that I am as aligned with them as I am, you'd think that one of us was cribbing from the other. I assure you that's not the case.But every time Steve O'Grady or Rachel Stephens, or Kelly—I forget her last name; my apologies is all Twitter, but she studied medieval history, I remember that—or James Governor writes something, I'm uniformly looking at this and I feel a sense of dismay, been, “Dammit. I should have written this. It's so well written and it makes such a salient point.” I really envy their ability to be so consistently on point.Robert: Well, they're the only analysts we pay money to. So, we vote with our dollars with that one. [laugh].Corey: Yeah. I'm only an analyst when people have analyst budget. Other than that, I'm whatever the hell you describe me. So, let's talk about that thing you're here to show. You know, that little side project thing you found and are the CTO of.I wasn't super familiar with what Liquibase does until I looked into it and then had this—I got to say, it really pissed me off because I'm looking at it, and it's how did I not know that this existed back when the exact problems that you solve are the things I was careening headlong into? I was actively annoyed. You're also an open-source project, which means that you're effectively making all of your money by giving things away and hoping for gratitude to come back on you in the fullness of time, right?Robert: Well, yeah. There's two things there. They're open-source component, but also, where was this when I was struggling with this problem? So, for the folks that don't know, what Liquibase does is automate database schema change. So, if you need to update a database—I don't care what it is—as part of your application deployment, we can help.Instead of writing a ticket or manually executing a SQL script, or generating a bunch of docs in a NoSQL database, you can have Liquibase help you out with that. And so I was at a conference years ago, at the booth, doing my booth thing, and a managing director of a very large bank came to me, like, “Hey, what do you do?” And saw what we did and got angry, started yelling at me. “Where were you three years ago when I was struggling with this problem?” Like, spitting mad. [laugh]. And I was like, “Dude, we just started”—this was a while ago—it was like, “We just started the company two years ago. We got here as soon as we could.”But I struggled with this problem when I was a release manager. And so I've been doing this for years and years and years—I don't even want to talk about how long—getting bits from dev to test to production, and the database was always, always, always the bottleneck, whether it was things didn't run the same in test as they did, eventually in production, environments weren't in sync. It's just really hard. And we've automated so much stuff, we've automated application deployment, lowercase a compiled bits; we're building things with containers, so everything's in that container. It's not a J2EE app anymore—yay—but we haven't done a damn thing for the database.And what this means is that we have a whole part of our industry, all of our database professionals, that are frankly struggling. I always say we don't sell software Liquibase. We sell piano recitals, date nights, happy hours, all the stuff you want to do but you can't because you're stuck dealing with the database. And that's what we do at Liquibase.Corey: Well, you're talking about database people. That's not how I even do it. I would never call myself that, for very good reason because you know, Route 53 remains the only database I use. But the problem I always had was that, “Great. I'm doing a deployment. Oh, I'm going to put out some changes to some web servers. Okay, what's my rollback?” “Well, we have this other commit we can use.” “Oh, we're going to be making a database schema change. What's your rollback strategy,” “Oh, I've updated my resume and made sure that any personal files I had on my work laptop been backed up somewhere else when I immediately leave the company when we can't roll back.” Because there's not really going to be a company anymore at that point.It's one of those everyone sort of holds their breath and winces when it comes to anything that resembles a schema change—or an ALTER TABLE as we used to call it—because that is the mistakes will show territory and you can hope and plan for things in pre-prod environments, but it's always scary. It's always terrifying because production is not like other things. That's why I always call my staging environment ‘theory' because things work in theory but not in production. So, it's how do you avoid the mess of winding up just creating disasters when you're dealing with the reality of your production environments? So, let's back up here. How do you do it? Because it sounds like something people would love to sell me but doesn't exist.Robert: [laugh]. Well, it's real simple. We have a file, we call it the change log. And this is a ledger. So, databases need to be evolved. You can't drop everything and recreate it from scratch, so you have to apply changes sequentially.And so what Liquibase will do is it connects to the database, and it says, “Hey, what version are you?” It looks at the change log, and we'll see, ehh, “There's ten change sets”—that's what components of a change log, we call them change sets—“There's ten change sets in there and the database is telling me that only five had been executed.” “Oh, great. Well, I'll execute these other five.” Or it asks the database, “Hey, how many have been executed?” And it says, “Ten.”And we've got a couple of meta tables that we have in the database, real simple, ANSI SQL compliant, that store the changes that happen to the database. So, if it's a net new database, say you're running a Docker container with the database in it on your local machine, it's empty, you would run Liquibase, and it says, “Oh, hey. It's got that, you know, new database smell. I can run everything.”And so the interesting thing happens when you start pointing it at an environment that you haven't updated in a while. So, dev and test typically are going to have a lot of releases. And so there's going to be little tiny incremental changes, but when it's time to go to production, Liquibase will catch it up. And so we speak SQL to the database, if it's a NoSQL database, we'll speak their API and make the changes requested. And that's it. It's very simple in how it works.The real complex stuff is when we go a couple of inches deeper, when we start doing things like, well, reverse engineering of your database. How can I get a change log of an existing database? Because nobody starts out using Liquibase for a project. You always do it later.Corey: No, no. It's one of those things where when you're doing a project to see if it works, it's one of those, “Great, I'll run a database in some local Docker container or something just to prove that it works.” And, “Todo: fix this later.” And yeah, that todo becomes load-bearing.Robert: [laugh]. That's scary. And so, you know, we can help, like, reverse engineering an entire database schema, no problem. We also have things called quality checks. So sure, you can test your Liquibase change against an empty database and it will tell you if it's syntactically correct—you'll get an error if you need to fix something—but it doesn't enforce things like corporate standards. “Tables start with T underscore.” “Do not create a foreign key unless those columns have an ID already applied.” And that's what our quality checks does. We used to call it rules, but nobody likes rules, so we call it quality checks now.Corey: How do you avoid the trap of enumerating all the bad things you've seen happen because at some point, it feels like that's what leads to process ossification at large companies where, “Oh, we had this bad thing happen once, like, a disk filled up, so now we have a check that makes sure that all the disks are at least 20, empty.” Et cetera. Great. But you keep stacking those you have thousands and thousands and thousands of those, and even a one-line code change then has to pass through so many different tests to validate that this isn't going to cause the failure mode that happened that one time in a unicorn circumstance. How do you avoid the bloat and the creep of stuff like that?Robert: Well, let's look at what we've learned from automated testing. We certainly want more and more tests. Look, DevOp's algorithm is, “All right, we had a problem here.” [laugh]. Or SRE algorithm, I should say. “We had a problem here. What happened? What are we going to change in the future to make sure this doesn't happen?” Typically, that involves a new standard.Now, ossification occurs when a person has to enforce that standard. And what we should do is seek to have automation, have the machine do it for us. Have the humans come up and identify the problem, find a creative way to look for the issue, and then let the machine enforce it. Ossification happens in large organizations when it's people that are responsible, not the machine. The machines are great at running these things over and over again, and they're never hung over, day after Super Bowl Sunday, their kid doesn't get sick, they don't get sick. But we want humans to look at the things that we need that creative energy, that brain power on. And then the rote drudgery, hand that off to the machine.Corey: Drudgery seems like sort of a job description for a lot of us who spend time doing operation stuff.Robert: [laugh].Corey: It's drudgery and it's boring, punctuated by moments of sheer terror. On some level, you're more or less taking some of the adrenaline high of this job away from people. And you know, when it comes to databases, I'm kind of okay with that as it turns out.Robert: Yeah. Oh, yeah, we want no surprises in database-land. And that is why over the past several decades—can I say several decades since 1979?Corey: Oh, you can s—it's many decades, I'm sorry to burst your bubble on that.Robert: [laugh]. Thank you, Corey. Thank you.Corey: Five, if we're being honest. Go ahead.Robert: So, it has evolved over these many decades where change is the enemy of stability. And so we don't want change, and we want to lock these things down. And our database professionals have become changed from sentinels of data into traffic cops and TSA. And as we all know, some things slip through those. Sometimes we speed, sometimes things get snuck through TSA.And so what we need to do is create a system where it's not the people that are in charge of that; that we can set these policies and have our database professionals do more valuable things, instead of that adrenaline rush of, “Oh, my God,” how about we get the rush of solving a problem and saving the company millions of dollars? How about that rush? How about the rush of taking our old, busted on-prem databases and figure out a way to scale these up in the cloud, and also provide quick dev and test environments for our developer and test friends? These are exciting things. These are more fun, I would argue.Corey: You have a list of reference customers on your website that are awesome. In fact, we share a reference customer in the form of Ticketmaster. And I don't think that they will get too upset if I mention that based upon my work with them, at no point was I left with the impression that they played fast and loose with databases. This was something that they take very seriously because for any company that, you know, sells tickets to things you kind of need an authoritative record of who's bought what, or suddenly you don't really have a ticket-selling business anymore. You also reference customers in the form of UPS, which is important; banks in a variety of different places.Yeah, this is stuff that matters. And you support—from the looks of it—every database people can name except for Route 53. You've got RDS, you've got Redshift, you've got Postgres-squeal, you've got Oracle, Snowflake, Google's Cloud Spanner—lest people think that it winds up being just something from a legacy perspective—Cassandra, et cetera, et cetera, et cetera, CockroachDB. I could go on because you have multiple pages of these things, SAP HANA—whatever the hell that's supposed to be—Yugabyte, and so on, and so forth. And it's like, some of these, like, ‘now you're just making up animals' territory.Robert: Well, that goes back to open-source, you know, you were talking about that earlier. There is no way in hell we could have brought out support for all these database platforms without us being open-source. That is where the community aligns their goals and works to a common end. So, I'll give you an example. So, case in point, recently, let me see Yugabyte, CockroachDB, AWS Redshift, and Google Cloud Spanner.So, these are four folks that reached out to us and said, either A) “Hey, we want Liquibase to support our database,” or B) “We want you to improve the support that's already there.” And so we have what we call—which is a super creative name—the Liquibase test harness, which is just genius because it's an automated way of running a whole suite of tests against an arbitrary database. And that helped us partner with these database vendors very quickly and to identify gaps. And so there's certain things that AWS Redshift—certain objects—that AWS Redshift doesn't support, for all the right reasons. Because it's data warehouse.Okay, great. And so we didn't have to run those tests. But there were other tests that we had to run, so we create a new test for them. They actually wrote some of those tests. Our friends at Yugabyte, CockroachDB, Cloud Spanner, they wrote these extensions and they came to us and partnered with us.The only way this works is with open-source, by being open, by being transparent, and aligning what we want out of life. And so what our friends—our database friends—wanted was they wanted more tooling for their platform. We wanted to support their platform. So, by teaming up, we help the most important person, [laugh] the most important person, and that's the customer. That's it. It was not about, “Oh, money,” and all this other stuff. It was, “This makes our customers' lives easier. So, let's do it. Oop, no brainer.”Corey: There's something to be said for making people's lives easier. I do want to talk about that open-source versus commercial divide. If I Google Liquibase—which, you know, I don't know how typing addresses in browsers works anymore because search engines are so fast—I just type in Liquibase. And the first thing it spits me out to is liquibase.org, which is the Community open-source version. And there's a link there to the Pro paid version and whatnot. And I was just scrolling idly through the comparison chart to see, “Oh, so ‘Community' is just code for shitty and you're holding back advanced features.” But it really doesn't look that way. What's the deal here?Robert: Oh, no. So, Liquibase open-source project started in 2006 and Liquibase the company, the commercial entity, started after that, 2012; 2014, first deal. And so, for—Nathan Voxland started this, and Nathan was struggling. He was working at a company, and he had to have his application—of course—you know, early 2000s, J2EE—support SQL Server and Oracle and he was struggling with it. And so he open-sourced it and added more and more databases.Certainly, as open-source databases grew, obviously he added those: MySQL, Postgres. But we're never going to undo that stuff. There's rollback for free in Liquibase, we're not going to be [laugh] we're not going to be jerks and either A) pull features out or, B) even worse, make Stephen O'Grady's life awful by changing the license [laugh] so he has to write about it. He loves writing about open-source license changes. We're Apache 2.0 and so you can do whatever you want with it.And we believe that the things that make sense for a paying customer, which is database-specific objects, that makes sense. But Liquibase Community, the open-source stuff, that is built so you can go to any database. So, if you have a change log that runs against Oracle, it should be able to run against SQL Server, or MySQL, or Postgres, as long as you don't use platform-specific data types and those sorts of things. And so that's what Community is about. Community is about being able to support any database with the same change log. Pro is about helping you get to that next level of DevOps Nirvana, of reaching those four metrics that Dr. Forsgren tells us are really important.Corey: Oh, yes. You can argue with Nicole Forsgren, but then you're wrong. So, why would you ever do that?Robert: Yeah. Yeah. [laugh]. It's just—it's a sucker's bet. Don't do it. There's a reason why she's got a PhD in CS.Corey: She has been a recurring guest on this show, and I only wish she would come back more often. You and I are fun to talk to, don't get me wrong. We want unbridled intellect that is couched in just a scintillating wit, and someone is great to talk to. Sorry, we're both outclassed.Robert: Yeah, you get entertained with us; you learn with her.Corey: Exactly. And you're still entertained while doing it is the best part.Robert: [laugh]. That's the difference between Community and Pro. Look, at the end of the day, if you're an individual developer just trying to solve a problem and get done and away from the computer and go spend time with your friends and family, yeah, go use Liquibase Community. If it's something that you think can improve the rest of the organization by teaming up and taking advantage of the collaboration features? Yes, sure, let us know. We're happy to help.Corey: Now, if people wanted to become an attorney, but law school was too expensive, out of reach, too much time, et cetera, but they did have a Twitter account, very often, they'll find that they can scratch that itch by arguing online about open-source licenses. So, I want to be very clear—because those people are odious when they email me—that you are licensed under the Apache License. That is a bonafide OSI approved open-source license. It is not everyone except big cloud companies, or service providers, which basically are people dancing around—they mean Amazon. So, let's be clear. One, are you worried about Amazon launching a competitive service with a dumb name? And/or have you really been validated as a product if AWS hasn't attempted and failed to launch a competitor?Robert: [laugh]. Well, I mean, we do have a very large corporation that has embedded Liquibase into one of their flagship products, and that is Oracle. They have embedded Liquibase in SQLcl. We're tickled pink because that means that, one, yes, it does validate Liquibase is the right way to do it, but it also means more people are getting help. Now, for Oracle users, if you're just an Oracle shop, great, have fun. We think it's a great solution. But there's not a lot of those.And so we believe that if you have Liquibase, whether it's open-source or the Pro version, then you're going to be able to support all the databases, and I think that's more important than being tied to a single cloud. Also—this is just my opinion and take it for what it's worth—but if Amazon wanted to do this, well, they're not the only game in town. So, somebody else is going to want to do it, too. And, you know, I would argue even with Amazon's backing that Liquibase is a little stronger brand than anything they would come out with.Corey: This episode is sponsored by our friends at Oracle HeatWave is a new high-performance accelerator for the Oracle MySQL Database Service. Although I insist on calling it “my squirrel.” While MySQL has long been the worlds most popular open source database, shifting from transacting to analytics required way too much overhead and, ya know, work. With HeatWave you can run your OLTP and OLAP, don't ask me to ever say those acronyms again, workloads directly from your MySQL database and eliminate the time consuming data movement and integration work, while also performing 1100X faster than Amazon Aurora, and 2.5X faster than Amazon Redshift, at a third of the cost. My thanks again to Oracle Cloud for sponsoring this ridiculous nonsense. Corey: So, I want to call out though, that on some level, they have already competed with you because one of database that you do not support is DynamoDB. Let's ignore the Route 53 stuff because, okay. But the reason behind that, having worked with it myself, is that, “Oh, how do you do a schema change in DynamoDB?” The answer is that you don't because it doesn't do schemas for one—it is schemaless, which is kind of the point of it—as well as oh, you want to change the primary, or the partition, or the sort key index? Great. You need a new table because those things are immutable.So, they've solved this Gordian Knot just like Alexander the Great did by cutting through it. Like, “Oh, how do you wind up doing this?” “You don't do this. The end.” And that is certainly an approach, but there are scenarios where those were first, NoSQL is not a acceptable answer for some workloads.I know Rick [Horahan 00:26:16] is going to yell at me for that as soon as he hears me, but okay. But there are some for which a relational database is kind of a thing, and you need that. So, Dynamo isn't fit for everything. But there are other workloads where, okay, I'm going to just switch over. I'm going to basically dump all the data and add it to a new table. I can't necessarily afford to do that with anything less than maybe, you know, 20 milliseconds of downtime between table one and table two. And they're obnoxious and difficult ways to do it, but for everything else, you do kind of need to make ALTER TABLE changes from time to time as you go through the build and release process.Robert: Yeah. Well, we certainly have plans for DynamoDB support. We are working our way through all the NoSQLs. Started with Mongo, and—Corey: Well, back that out a second then for me because there's something I'm clearly not grasping because it's my understanding, DynamoDB is schemaless. You can put whatever you want into various arbitrary fields. How would Liquibase work with something like that?Robert: Well, that's something I struggled with. I had the same question. Like, “Dude, really, we're a schema change tool. Why would we work with a schemaless database?” And so what happened was a soon-to-be friend of ours in Europe had reached out to me and said, “I built an extension for MongoDB in Liquibase. Can we open-source this, and can y'all take care of the care and feeding of this?” And I said, “Absolutely. What does it do?” [laugh].And so I looked at it and it turns out that it focuses on collections and generating data for test. So, you're right about schemaless because these are just documents and we're not going to go through every single document and change the structure, we're just going to have the application create a new doc and the new format. Maybe there's a conversion log logic built into the app, who knows. But it's the database professionals that have to apply these collections—you know, indices; that's what they call them in Mongo-land: collections. And so being able to apply these across all environments—dev, test, production—and have consistency, that's important.Now, what was really interesting is that this came from MasterCard. So, this engineer had a consulting business and worked for MasterCard. And they had a problem, and they said, “Hey, can you fix this with Liquibase?” And he said, “Sure, no problem.” And he built it.So, that's why if you go to the MongoDB—the liquibase-mongodb repository in our Liquibase org, you'll see that MasterCard has the copyright on all that code. Still Apache 2.0. But for me, that was the validation we needed to start expanding to other things: Dynamo, Couch. And same—Corey: Oh, yeah. For a lot of contributors, there's a contributor license process you can go through, assign copyright. For everything else, there's MasterCard.Robert: Yeah. Well, we don't do that. Look, you know, we certainly have a code of conduct with our community, but we don't have a signing copyright and that kind of stuff. Because that's baked into Apache 2.0. So, why would I want to take somebody's ability to get credit and magical internet points and increase the rep by taking that away? That's just rude.Corey: The problem I keep smacking myself into is just looking at how the entire database space across the board goes, it feels like it's built on lock-in, it's built on it is super finicky to work with, and it generally feels like, okay, great. You take something like Postgres-squeal or whatever it is you want to run your database on, yeah, you could theoretically move it a bunch of other places, but moving databases is really hard. Back when I was at my last, “Real job,” quote-unquote, years ago, we were late to the game; we migrated the entire site from EC2 Classic into a VPC, and the biggest pain in the ass with all of that was the RDS instance. Because we had to quiesce the database so it would stop taking writes; we would then do snapshot it, shut it down, and then restore a new database from that RDS snapshot.How long does it take, at least in those days? That is left as an experiment for the reader. So, we booked a four hour maintenance window under the fear that would not be enough. It completed in 45 minutes. So okay, there's that. Sparked the thing up and everything else was tested and good to go. And yay. Okay.It took a tremendous amount of planning, a tremendous amount of work, and that wasn't moving it very far. It is the only time I've done a late-night deploy, where not a single thing went wrong. Until I was on the way home and the Uber driver sideswiped a city vehicle. So, there we go—Robert: [laugh].Corey: —that's the one. But everything else was flawless on this because we planned these things out. But imagine moving to a different provider. Oh, forget it. Or imagine moving to a different database engine? That's good. Tell another one.Robert: Well, those are the problems that we want our database professionals to solve. We do not want them to be like janitors at an elementary school, cleaning up developer throw-up with sawdust. The issue that you're describing, that's a one time event. This is something that doesn't happen very often. You need hands on the keyboard, you want people there to look for problems.If you can take these database releases away from those folks and automate them safely—you can have safety and speed—then that frees up their time to do these other herculean tasks, these other feats of strength that they're far better at. There is no silver bullet panacea for database issues. All we're trying to do is take about 70% of DBAs time and free it up to do the fun stuff that you described. There are people that really enjoy that, and we want to free up their time so they can do that. Moving to another platform, going from the data center to the cloud, these sorts of things, this is what we want a human on; we don't want them updating a column three times in a row because dev couldn't get it right. Let's just give them the keys and make sure they stay in their lane.Corey: There's something glorious about being able to do that. I wish that there were more commonly appreciated ways of addressing those pains, rather than, “Oh, we're going to sell you something big and enterprise-y and it's going to add a bunch of process and not work out super well for you.” You integrate with existing CI/CD systems reasonably well, as best I can tell because the nice thing about CI/CD—and by nice I mean awful—is that there is no consensus. Every pipeline you see, in a release engineering process inherently becomes this beautiful bespoke unicorn.Robert: Mm-hm. Yeah. And we have to. We have to integrate with whatever CI/CD they have in place. And we do not want customers to just run Liquibase by itself. We want them to integrate it with whatever is driving that application deployment.We're Switzerland when it comes to databases, and CI/CD. And I certainly have my favorite of those, and it's primarily based on who bought me drinks at the last conference, but we cannot go into somebody's house and start rearranging the furniture. That's just rude. If they're deploying the app a certain way, what we tell that customer is, “Hey, we're just going to have that CI/CD tool call Liquibase to update the database. This should be an atomic unit of deployment.” And it should be hidden from the person that pushes that shiny button or the automation that does it.Corey: I wish that one day that you could automate all of the button pushing, but the thing that always annoyed me in release engineering was the, “Oh, and here's where we stop to have a human press the button.” And I get it. That stuff's scary for some folks, but at the same time, this is the nature of reality. So, you're not going to be able to technology your way around people. At least not successfully and not for very long.Robert: It's about trust. You have to earn that database professional's trust because if something goes wrong, blaming Liquibase doesn't go very far. In that company, they're going to want a person [laugh] who has a badge to—with a throat to choke. And so I've seen this pattern over and over again.And this happened at our first customer. Major, major, big, big, big bank, and this was on the consumer side. They were doing their first production push, and they wanted us ready. Not on the call, but ready if there was an issue they needed to escalate and get us to help them out. And so my VP of Engineering and me, we took it. Great. Got VP of engineering and CTO. Right on.And so Kevin and I, we stayed home, stayed sober [laugh], you know—a lot of places to party in Austin; we fought that temptation—and so we stayed and I'm texting with Kevin, back and forth. “Did you get a call?” “No, I didn't get a call.” It was Friday night. Saturday rolls around. Sunday. “Did you get a—what's going on?” [laugh].Monday, we're like, “Hey. Everything, okay? Did you push to the next weekend?” They're like, “Oh, no. We did. It went great. We forgot to tell you.” [laugh]. But here's what happened. The DBAs push the Liquibase ‘make it go' button, and then they said, “Uh-Oh.” And we're like, “What do you mean, uh-oh?” They said, “Well, something went wrong.” “Well, what went wrong?” “Well, it was too fast.” [laugh]. Something—no way. And so they went through the whole thing—Corey: That was my downtime when I supposed to be compiling.Robert: Yeah. So, they went through the whole thing to verify every single change set. Okay, so that was weekend one. And then they go to weekend two, they do it the same thing. All right, all right. Building trust.By week four, they called a meeting with the release team. And they said, “Hey, process change. We're no longer going to be on these calls. You are going to push the Liquibase button. Now, if you want to integrate it with your CI/CD, go right ahead, but that's not my problem.” Dev—or, the release team is tier one; dev is tier two; we—DBAs—are tier three support, but we'll call you because we'll know something went wrong. And to this day, it's all automated.And so you have to earn trust to get people to give that up. Once they have trust and you really—it's based on empathy. You have to understand how terrible [laugh] they are sometimes treated, and to actively take care of them, realize the problems they're struggling with, and when you earn that trust, then and only then will they allow automation. But it's hard, but it's something you got to do.Corey: You mentioned something a minute ago that I want to focus on a little bit more closely, specifically that you're in Austin. Seems like that's a popular choice lately. You've got companies that are relocating their headquarters there, presumably for tax purposes. Oracle's there, Tesla's there. Great. I mean, from my perspective, terrific because it gets a number of notably annoying CEOs out of my backyard. But what's going on? Why is Austin on this meteoric rise and how'd it get there?Robert: Well, a lot of folks—overnight success, 40 years in the making, I guess. But what a lot of people don't realize is that, one, we had a pretty vibrant tech hub prior to all this. It all started with MCC, Microcomputer Consortium, which in the '80s, we were afraid of the Japanese taking over and so we decided to get a bunch of companies together, and Admiral Bobby Inman who was director planted it in Austin. And that's where it started. You certainly have other folks that have a huge impact, obviously, Michael Dell, Austin Ventures, a whole host of folks that have really leaned in on tech in Austin, but it actually started before that.So, there was a time where Willie Nelson was in Nashville and was just fed up with RCA Records. They would not release his albums because he wanted to change his sound. And so he had some nice friends at Atlantic Records that said, “Willie, we got this. Go to New York, use our studio, cut an album, we'll fix it up.” And so he cut an album called Shotgun Willie, famous for having “Whiskey River” which is what he uses to open and close every show.But that album sucked as far as sales. It's a good album, I like it. But it didn't sell except for one place in America: in Austin, Texas. It sold more copies in Austin than anywhere else. And so Willie was like, “I need to go check this out.”And so he shows up in Austin and sees a bunch of rednecks and hippies hanging out together, really geeking out on music. It was a great vibe. And then he calls, you know, Kris, and Waylon, and Merle, and say, “Come on down.” And so what happened here was a bunch of people really wanted to geek out on this new type of country music, outlaw country. And it started a pattern where people just geek out on stuff they really like.So, same thing with Austin film. You got Robert Rodriguez, you got Richard Linklater, and Slackers, his first movie, that's why I moved to Austin. And I got a job at Les Amis—a coffee shop that's closed—because it had three scenes in that. There was a whole scene of people that just really wanted to make different types of films. And we see that with software, we see that with film, we see it with fashion.And it just seems that Austin is the place where if you're really into something, you're going to find somebody here that really wants to get into it with you, whether it's board gaming, D&D, noise punk, whatever. And that's really comforting. I think it's the community that's just welcoming. And I just hope that we can continue that creativity, that sense of community, and that we don't have large corporations that are coming in and just taking from the system. I hope they inject more.I think Oracle's done a really good job; their new headquarters is gorgeous, they've done some really good things with the city, doing a land swap, I think it was forty acres for nine acres. They coughed up forty for nine. And it was nine acres the city wasn't even using. Great. So, I think they're being good citizens. I think Tesla's been pretty cool with building that factory where it is. I hope more come. I hope they catch what is ever in the water and the breakfast tacos in Austin.Corey: [laugh]. I certainly look forward to this pandemic ending; I can come over and find out for myself. I'm looking forward to it. I always enjoyed my time there, I just wish I got to spend more of it.Robert: How many folks from Duckbill Group are in Austin now?Corey: One at the moment. Tim Banks. And the challenge, of course, is that if you look across the board, there really aren't that many places that have more than one employee. For example, our operations person, Megan, is here in San Francisco and so is Jesse DeRose, our manager of cloud economics. But my business partner is in Portland; we have people scattered all over the country.It's kind of fun having a fully-distributed company. We started this way, back when that was easy. And because all right, travel is easy; we'll just go and visit whenever we need to. But there's no central office, which I think is sort of the dangerous part of full remote because then you have this idea of second-class citizens hanging out in one part of the country and then they go out to lunch together and that's where the real decisions get made. And then you get caught up to speed. It definitely fosters a writing culture.Robert: Yeah. When we went to remote work, our lease was up. We just didn't renew. And now we have expanded hiring outside of Austin, we have folks in the Ukraine, Poland, Brazil, more and more coming. We even have folks that are moving out of Austin to places like Minnesota and Virginia, moving back home where their family is located.And that is wonderful. But we are getting together as a company in January. We're also going to, instead of having an office, we're calling it a ‘Liquibase Lounge.' So, there's a number of retail places that didn't survive, and so we're going to take one of those spots and just make a little hangout place so that people can come in. And we also want to open it up for the community as well.But it's very important—and we learned this from our friends at GitLab and their culture. We really studied how they do it, how they've been successful, and it is an awareness of those lunch meetings where the decisions are made. And it is saying, “Nope, this is great we've had this conversation. We need to have this conversation again. Let's bring other people in.” And that's how we're doing at Liquibase, and so far it seems to work.Corey: I'm looking forward to seeing what happens, once this whole pandemic ends, and how things continue to thrive. We're long past due for a startup center that isn't San Francisco. The whole thing is based on the idea of disruption. “Oh, we're disruptive.” “Yes, we're so disruptive, we've taken a job that can be done from literally anywhere with internet access and created a land crunch in eight square miles, located in an earthquake zone.” Genius, simply genius.Robert: It's a shame that we had to have such a tragedy to happen to fix that.Corey: Isn't that the truth?Robert: It really is. But the toothpaste is out of the tube. You ain't putting that back in. But my bet on the next Tech Hub: Kansas City. That town is cool, it has one hundred percent Google Fiber all throughout, great university. Kauffman Fellows, I believe, is based there, so VC folks are trained there. I believe so; I hope I'm not wrong with that. I know Kauffman Foundation is there. But look, there's something happening in that town. And so if you're a buy low, sell high kind of person, come check us out in Austin. I'm not trying to dissuade anybody from moving to Austin; I'm not one of those people. But if the housing prices [laugh] you don't like them, check out Kansas City, and get that two-gig fiber for peanuts. Well, $75 worth of peanuts.Corey: Robert, I want to thank you for taking the time to speak with me so extensively about Liquibase, about how awesome RedMonk is, about Austin and so many other topics. If people want to learn more, where can they find you?Robert: Well, I think the best place to find us right now is in AWS Marketplace. So—Corey: Now, hand on a second. When you say the best place for anything being the AWS Marketplace, I'm naturally a little suspicious. Tell me more.Robert: [laugh]. Well, best is, you know, it's—[laugh].Corey: It is a place that is there and people can find you through it. All right, then.Robert: I have a list. I have a list. But the first one I'm going to mention is AWS Marketplace. And so that's a really easy way, especially if you're taking advantage of the EDP, Enterprise Discount Program. That's helpful. Burn down those dollars, get a discount, et cetera, et cetera. Now, of course, you can go to liquibase.com, download a trial. Or you can find us on Github, github.com/liquibase. Of course, talking smack to us on Twitter is always appreciated.Corey: And we will, of course, include links to that in the [show notes 00:46:37]. Robert Reeves, CTO and co-founder of Liquibase. I'm Cloud Economist Corey Quinn, and this is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice along with an angry comment complaining about how Liquibase doesn't support your database engine of choice, which will quickly be rendered obsolete by the open-source community.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.Announcer: This has been a HumblePod production. Stay humble.

Pushing The Limits
How to Rise Above Trauma with Robert Cappuccio

Pushing The Limits

Play Episode Listen Later May 13, 2021 62:25


Challenges, obstacles and painful experiences — these are just some of things life throws our way when we least expect them. But no matter where you are in life right now, remember that you can push past the hard times. You can learn how to rise above life’s challenges. And if you feel lost, here’s a little secret: help others. Being of service to other people can help you find strength and a way out of your problems. In this episode, Robert Joseph Cappuccio, widely known as Bobby, joins us to share his inspiring story of defying hardships and helping others. It’s easier to succumb to self-sabotage and addiction. But you have the power to make your experiences an opportunity for change and hope. Bobby also shares the importance of helping others, especially as a business owner and leader. If you want to learn how to rise above trauma and be inspired to become a force of good to the world, then this episode is for you!    Get Customised Guidance for Your Genetic Make-Up For our epigenetics health program all about optimising your fitness, lifestyle, nutrition and mind performance to your particular genes, go to  https://www.lisatamati.com/page/epigenetics-and-health-coaching/.   Customised Online Coaching for Runners CUSTOMISED RUN COACHING PLANS — How to Run Faster, Be Stronger, Run Longer  Without Burnout & Injuries Have you struggled to fit in training in your busy life? Maybe you don't know where to start, or perhaps you have done a few races but keep having motivation or injury troubles? Do you want to beat last year’s time or finish at the front of the pack? Want to run your first 5-km or run a 100-miler? ​​Do you want a holistic programme that is personalised & customised to your ability, your goals and your lifestyle?  Go to www.runninghotcoaching.com for our online run training coaching.   Health Optimisation and Life Coaching If you are struggling with a health issue and need people who look outside the square and are connected to some of the greatest science and health minds in the world, then reach out to us at support@lisatamati.com, we can jump on a call to see if we are a good fit for you. If you have a big challenge ahead, are dealing with adversity or are wanting to take your performance to the next level and want to learn how to increase your mental toughness, emotional resilience, foundational health and more, then contact us at support@lisatamati.com.   Order My Books My latest book Relentless chronicles the inspiring journey about how my mother and I defied the odds after an aneurysm left my mum Isobel with massive brain damage at age 74. The medical professionals told me there was absolutely no hope of any quality of life again, but I used every mindset tool, years of research and incredible tenacity to prove them wrong and bring my mother back to full health within 3 years. Get your copy here: https://shop.lisatamati.com/collections/books/products/relentless. For my other two best-selling books Running Hot and Running to Extremes chronicling my ultrarunning adventures and expeditions all around the world, go to https://shop.lisatamati.com/collections/books.   Lisa’s Anti-Ageing and Longevity Supplements  NMN: Nicotinamide Mononucleotide, a NAD+ precursor Feel Healthier and Younger* Researchers have found that Nicotinamide Adenine Dinucleotide or NAD+, a master regulator of metabolism and a molecule essential for the functionality of all human cells, is being dramatically decreased over time. What is NMN? NMN Bio offers a cutting edge Vitamin B3 derivative named NMN (beta Nicotinamide Mononucleotide) that is capable of boosting the levels of NAD+ in muscle tissue and liver. Take charge of your energy levels, focus, metabolism and overall health so you can live a happy, fulfilling life. Founded by scientists, NMN Bio offers supplements that are of highest purity and rigorously tested by an independent, third party lab. Start your cellular rejuvenation journey today. Support Your Healthy Ageing We offer powerful, third party tested, NAD+ boosting supplements so you can start your healthy ageing journey today. Shop now: https://nmnbio.nz/collections/all NMN (beta Nicotinamide Mononucleotide) 250mg | 30 capsules NMN (beta Nicotinamide Mononucleotide) 500mg | 30 capsules 6 Bottles | NMN (beta Nicotinamide Mononucleotide) 250mg | 30 Capsules 6 Bottles | NMN (beta Nicotinamide Mononucleotide) 500mg | 30 Capsules Quality You Can Trust — NMN Our premium range of anti-ageing nutraceuticals (supplements that combine Mother Nature with cutting edge science) combat the effects of aging, while designed to boost NAD+ levels. Manufactured in an ISO9001 certified facility Boost Your NAD+ Levels — Healthy Ageing: Redefined Cellular Health Energy & Focus Bone Density Skin Elasticity DNA Repair Cardiovascular Health Brain Health  Metabolic Health My  ‘Fierce’ Sports Jewellery Collection For my gorgeous and inspiring sports jewellery collection ‘Fierce’, go to https://shop.lisatamati.com/collections/lisa-tamati-bespoke-jewellery-collection.   Here are three reasons why you should listen to the full episode: Discover how to rise above adversities. Understand the importance of intention and knowing who you serve. Learn the difference between internal and external customers and why you need to start focusing on the former.    Resources Gain exclusive access to premium podcast content and bonuses! Become a Pushing the Limits Patron now! Harness the power of NAD and NMN for anti-aging and longevity with NMN Bio. Connect with Bobby: Website | Twitter | Facebook | LinkedIn | Instagram The Self-Help Antidote podcast by Bobby Cappuccio PTA Global The You Project Podcast by Craig Harper The Psychology of Winning: Ten Qualities of a Total Winner by Denis Waitley    Episode Highlights [05:49] Bobby’s Childhood Bobby was born with deformities. He was adopted by a man who had cancer.  After Bobby’s adoptive father passed, his adoptive mother entered a relationship with a cruel man. Bobby experienced all kinds of abuse throughout his childhood on top of having Tourette’s syndrome.  Doctors had to put him on Haldol, which damaged his brain.  Yet, Bobby shares that these painful experiences helped him resonate with others and thrive in his industry.  [12:48] How Bobby Got to Where He is Today  Bobby initially wanted to become a police officer for special victims.  He almost passed the written and psychological assessments, but there was an issue because of Tourette syndrome. At this time, he started working at a gym.  Bobby worked hard. Eventually, he caught the eye of the gym owner, Mitchell.  Mitchell became like a surrogate father and mentor to him. Listen to the full episode to hear how Mitchell shaped Bobby and put him on the path to success!   [20:31] Complications from Abuse and Empathy Some adults tried to intercede for Bobby when he was being abused as a kid. However, he avoided their help because he was scared of being harmed further. You can't just leave an abuser — it's difficult, and even simply attempting can hurt you. We should understand that abuse can affect anyone.  Confident and intelligent women may be particularly susceptible to abuse because they find themselves in a situation they didn’t expect.  [28:58] How Abuse Isolates People Abusers progressively isolate people by creating enemies out of strong alliances.  This can make someone lose their sense of self, making them more vulnerable and dependent on their abusers.  Assigning fault or blame to those being abused will not help anyone.  If anything, that stops people from coming forward.  [30:34] Help Others to Help Yourself Bobby learned how to rise above his traumas and negative emotions.  His mentor taught him to look beyond himself. It was only by helping others find a way out of their problems that Bobby found a way to help himself too.  He started to focus on helping people who were going through something similar to what he went through. [33:32] Focus on the Intention While working as a trainer, Bobby focused less on the transactional side of training and more on the transformational.  He wanted to help people find what they need at that moment and give them the support they need.  By focusing on his intention, he was able to get high rates of retention.  For Bobby, helping others means understanding their goals and wishes.  [36:12] Bobby’s Promotion Bobby’s exemplary performance led him to a promotion that he didn’t want. He was scared of disappointing Mitchell.   He did poorly in managing his team of trainers, which is when a consultant sat him down and gave him advice.  Mitchell also had Bobby stand up and speak in team meetings.  You need to know who you work for and who you serve. When your perspective is aligned with your work, you will bring that to every meeting and interaction.  Are you taking care of the people you need to be responsible for? Hear how Bobby figured out his answer in the full episode!  [43:14] Lessons on Leadership Companies often adopt a top-down mentality where bosses need to be followed. However, a company should not be like this. Companies are made up of people. Your business needs to care for your valuable customers, both internal and external.  Treat your team members with the same level of tenacity, sincerity and intention as your external customers. You can accomplish a lot if you hire the right person, set clear expectations and understand each individual’s motivations. Through these, you can develop the team’s capacity and channel it towards a common vision. [51:19] On Recruiting the Right People David Barton hired Bobby to work as his head of training.  Bobby asked David what two things Bobby should do to contribute the most to the company. David wanted Bobby to be a connoisseur of talent and to train them, train them and train them again.  Bobby brought this mindset throughout his career, and it’s served him well. Don’t be afraid to hire people who are smarter than you.   7 Powerful Quotes from This Episode ‘When you know that there's somewhere you want to go, but you don't know exactly where that is. And you don't have complete confidence in your ability to get there. And what a good guy does is they help you go just as far as you can see.’ ‘We form and calibrate and shape our sense of identity in the context in which we navigate through the world off of one another. And when you're isolated with a distorted sense of reality, and you lose your sense of self, you become highly incapacitated to take action in this situation.’ ‘So I started focusing on things and a mission and people outside of myself. Who's going through something similar to what I have gone through, even if it's not precisely the same situation? How do I help them find their way out? And by helping them find their way out, I found my way up.’ ‘I never saved anyone; you can't change anyone but yourself. But the reason why he called me that is anytime someone would think about joining the gym...I approached it from a transformational perspective.’ ‘And your job is to create and keep your internal customer by serving them with at the very least with the same tenacity, sincerity and intention that you are serving your external customer. If you don't do that, you're going to be shit as a leader.’ ‘I think the only people who don't have impostor syndrome are imposters. Because if you're fraudulent, you wouldn't engage in the level of self-honesty, and humility, and conscientiousness, to go, “Am I fraudulent; is there something that I’m missing?”’ ‘Anything I've ever accomplished, it's totally through other people. It's because I hired people that were a lot smarter than me.’   About Robert Robert Joseph Cappuccio, or Bobby, is a behaviour change coach, author, consultant, speaker and fitness professional. He is a trainer of trainers and at the forefront of the life-altering and ever-evolving industry of coaching.  For over two decades, he has been advocating and pushing the industry-wide and individual shift of perspective in development. Behaviour change is rooted in a holistic approach, not just goals to health and fitness. With his vision, he co-founded PTA Global. It has now become a leader in professional fitness development.  No matter how successful Bobby seems, it didn't start this way. His childhood was filled with neglect, abuse and traumas that could lead anyone on the path to drinking and addiction. Bobby is no stranger to hardship and challenges, but he uses these experiences to connect and relate to others, using his past hardship as a way to help others. Bobby is also the former head of training and development at David Barton Gym, former director of professional development at the National Academy of Sports Medicine (NASM), content curator for PTontheNet, development consultant for various companies including Hilton Hotels, Virgin Active, Equinox, David Lloyd Leisure and multiple businesses nationally and abroad.  With his forward-thinking mindset and work ethic, Bobby champions practical programs that help both corporate and industry personnel, including individuals, get what they truly want. He advocates the process of change mixed in with the mantra of ‘you can be free to play’.  Interested in Bobby’s work? You can check out his website and listen to his Self-Help Antidote Podcast! Reach out to Bobby on Twitter, Facebook, LinkedIn and Instagram.    Enjoyed This Podcast? If you did, be sure to subscribe and share it with your friends! Post a review and share it! If you enjoyed tuning in, then leave us a review. You can also share this with your family and friends to offer them one way to rise above their trauma. Have any questions? You can contact me through email (support@lisatamati.com) or find me on Facebook, Twitter, Instagram and YouTube. For more episode updates, visit my website. You may also tune in on Apple Podcasts. To pushing the limits, Lisa   Full Transcript Welcome to Pushing the Limits, the show that helps you reach your full potential with your host, Lisa Tamati, brought to you by lisatamati.com. Lisa Tamati: Welcome back to Pushing the Limits, your host Lisa Tamati here, and today I have a fantastic guest all the way from America again, this man goes by the name of Bobby Cappuccio. And he is a world-famous fitness professional. He trains a lot of the trainers that are out there. But Bobby has an incredible story that I really want to share with you today. So, Bobby was born with a severe facial deformity. And he also had deformed legs, and he was given up for adoption. His mother couldn't care for him, and he ended up being adopted by another man. But he had a very, very abusive rough childhood. He also developed Tourette Syndrome at the age of nine. In all this adversity you'd think like ‘oh my gosh, what sort of a life is this guy going to live’? But Bobby has had an incredible life. He's a fitness professional, as I said, he's worked in many gyms. He was the founder and co-owner of PTA Global, which does a lot of the professional fitness development. And he has devised his own strategies and ways of educating people. And his programs are just second to none. When I told my business partner, Neil, that I just interviewed Bobby Cappuccio, he's like, ‘Oh, my God, he's a legend in the space.’ So yeah, he was really a bit jealous that I got to speak to him. So I hope you enjoy this interview. It's some rough topics in there. But there's also some really great gems of wisdom. And the funny thing is what Bobby is just absolutely hilarious as well. So I do hope you enjoy it. Before we head over to the show, though, just want to let you know that we've launched a premium membership for the podcast. This is a patron membership so that you can become a VIP member of our tribe, help support the podcast. This podcast has been going now for five and a half years. It's a labour of love, I can tell you. It takes up a huge amount of my time and resources in both getting these world-class gifts for you, and also in study and research so that I can talk really, and interview very well all these crazy, amazing doctors, scientists, elite athletes and performers. So if you want to support us in keeping the show going, and like what we do in the world, and you want to keep those valuable content being able to be put out into the world, we'd love your support. And for that, we're going to give you lots of member, premium member, benefits. So, check it out at patron.lisatamati.com. That’s patron.lisatamati.com. That’s P-A-T-R-O-N dot Lisa Tamati dot com. And I just also wanted to remind you about my new anti-ageing and longevity supplement, NMN. I’ve co-worked together with molecular biologist, Dr. Elena Seranova, to make sure that you get the best quality NMN there is now. I searched all over the world for this stuff, when I learned about it, and researched about it, and how it works and what it does in the body, and there is a huge amount of science on it. A lot of it's up on our website, if you want to do a deep dive into all things NMN and the NAD precursor, then check it out. It's all about longevity. It's all about slowing down the ageing process and even reversing the ageing process. So if that's something that interests you, and you want high performance, you want help with cardiovascular health, with neuro protection, with metabolic disorders, then this is something that you should look into as well. So check that out at nmnbio.nz, that’s nmnbio.nz, and go and check that out. The supplements have been so popular that I haven't been able to keep up with orders. So on some of the orders, there is a bit of a backorder. But bear with me while we will scale up production. But go over and check that out at nmnbio.nz. Right over to the show with Bobby Cappuccio. Lisa: Hi, everyone, and welcome back to Pushing the Limits. Today I have another very, very special guest and I was recently on this gentleman's show and now we're doing a reverse interview. I have Robert Cappuccio with me. Robert, welcome to the show. Robert Cappuccio: Oh, thank you. When you say you had a very special guest, I thought you were bringing someone else on. Lisa: You are a really special guest. Robert: Had a lot of anticipation like who is this person? What a surprise! Lisa: Well, you're a bit of an interesting character. Let's say that, throw that. Robert: Just the microphone. Lisa: No, I'm really, really interested to hear your story and to share your story with my audience, and to give a bit more of a background on you. And share gems of wisdom from your learnings from your life, because you've done some pretty cool stuff. You've had some pretty hard times and I'd like to share those learnings with my audience today. So Robert, whereabouts are you sitting at the moment, whereabouts are you in the States? Robert: Okay, so at the moment, I'm in a place called Normal Heights, which is probably a misnomer. It's not normal at all. But it's a really cool, funky neighbourhood in San Diego. Lisa: San Diego, awesome. And how’s lockdown going over there, and all of that sort of carry on? Robert: Oh, it’s great. I mean, on St. Patty's day, I've got my skull from our own green. I've just had a few whiskies. So far, so good. Lisa: This is a very interesting interview. So can you give us a little bit of background? Because you've had a very interesting, shall we say, difficult upbringing and childhood. And I wanted to perhaps start there and then see where this conversation goes a little. Robert: Is there any place you want to start, in particular? How far back do you want to go? Do you want to start from the very beginning? Lisa: Please go right at the very beginning, because you're intro to your backstory is quite interesting from the beginning, really isn't that? Robert: Okay, so I was born, which is obvious, in Manhattan, and I moved to Brooklyn early. So I was born, rather deformed. I was born with a significant facial deformity. And my lower extremities, my legs, quite never— like, if you saw my legs now, they're great. I have a great pair of legs at this moment. I'm not going to show you that because that would be a little bit rude. But my legs were kind of deformed and contorted. I had to walk with braces for the first couple of years of my life. I was given up for adoption. I'm not exactly sure, I have the paperwork on why I was given up for adoption, but I'm not really certain about the authenticity of that story. And I wasn't adopted for a while. So as an infant, I was parentless and homeless and really not well-tended to. I'm not going to get into why I say that because it's pretty disgusting. And then I was adopted. And then my adoptive father, this is kind of interesting, he had cancer, and he knew during the adoption process that he was probably not going to make it. He wanted to make sure that I found a home because nobody wanted to adopt me. Because when they came in, I was physically deformed. It's like, ‘Oh, this baby’s, it's broken. Something's wrong. Do you have a better baby’? And when he saw that, he thought, ‘Right, I've got to give this kid a home.’ So he passed. He passed when I was two. I didn't know him for more than a few months. And I hardly have any memory of him at all. My mother who adopted me, to be fair, she's developmentally disabled, and so she was a single uom with not a lot of skills, not a lot of prospects, terrified. And she basically, I think she met a guy when I was five, who I don't know if there's a diagnosis for him. He was mentally disturbed. He was a psychopath. I don't know if clinically he’s a psychopath, but that's pretty much how it felt. Lisa: You were a child experiencing this. Yeah. Robert: Yeah, I'm not like, I'm never sure in what direction to go with stuff like this. Never sure what’s valid, what's relevant. I spent my childhood in stressed positions, being woken up in the middle of the night with a pillow over my face, having bones broken consistently, and a series of rape, emotional abuse, physical abuse, and just every sort of trauma. Like imagine when I was nine years old, I was diagnosed, on top of that, with Tourette Syndrome. So I was physically deformed, going through shit like that at home. And then on top of it, I started losing control of my bodily functions. I started exhibiting tics, I started exhibiting obsessive compulsive behaviour. At some point, it was uncontrollable, like lack of control of my impulses, of the things that I would say, vulgarity. At some point, the doctors just thought that perhaps I was Scottish. Lisa: And you’re funny as well. Robert: And they put me on Haldol, which damaged my brain. That and the fact that, it's estimated, I've had at least over a half a dozen major concussions within my childhood — Lisa: From the abuse. Robert: — half a dozen to a dozen massive concussions. Yeah. Lisa: Absolute horrific start into life. Robert: When I was 10, I started binge drinking. And I thought this will help, this is a solution. But you know what? It's not. It's a little bit weird when you start a story off like this, because in some sense, it's not me being delusional, or Pollyanna, because I tend to think that I'm a little bit of a realist, sometimes too much, sometimes to the point of walking a fine edge between being hopeful and being a cynic. But I have to say that a lot of things that I experienced when I was growing up, turned out to be quite beneficial. It’s shaped me in a way and it helped me engage in certain career paths and certain activities that I don't think I really would have sought out, had this stuff not happened. So it's not like me, delusionally trying to create like all silver lining about stuff, it was shit. I understand the severity of what I went through. But I also understand where that led me. And I understand the good fortune that I had of running into certain people that resonated with me, and I resonated with them, largely in part because of my history. I don't think I would have related to these people had I not come from where I came from. Lisa: So you’re talking like people along the way that were, ended up being mentors, or teachers or friends or helping you out and through these horrific situations? Is that what you're meaning, sort of thing that would actually helped you? Because I mean, given a background like that, if you were a complete disaster and drug addict, and whatever, nobody would blame you.  You didn't have a good start in life, whatsoever. I mean, look at you now. Obviously you don't have any facial deformities, and you don't exhibit, right now, any of that stuff that actually you were and have been through. So how the hell did you get to where you are today? Because you're a very successful person, you have a very successful and a very strong influence in the world. What, how the heck do you go from being that kid, with brain problems and concussions and Tourette’s and abuse and rape and all of that, to being the person who comes across as one, number one, hilarious, very crazy and very cool?  How the heck do you get from there to there? Lisa: Just listening to, I can tell that you're someone who's highly intelligent, perceptive and an amazing judge of humour. So thank you for that. I think a lot of it was quite accidental. So I had thought when I was younger, that I wanted to be a police officer, originally. And I wanted to be involved with special victims, even before that was a TV show. Brilliant show, by the way, one of my favourite shows on TV. But even before that was the TV show, I thought, if I'm going through what I went through, and it's very hard because I had Child Services in New York City, they were called ACS. They were at my house consistently. But the problem is, I believed at a young age that my stepfather was nearly invincible, like nobody could touch him. Lisa: You were powerless against him. Yeah. Robert: And when they came to the house and like, look, I had broken bones, my arm was in a sling. A lot of times, I broke my tibia. They won't take me to the hospital because they thought they would suspect stepdad of doing it. I couldn't even walk. And these people were sitting down, said, ‘Well just tell us what happened.’ And I somehow knew that, at a critical moment, my adopted mother would falter. She would not have my back. She would rescind on everything she says. Lisa: She was frightened too, no doubt. Robert: She was frightened. I don't think she had the emotional or intellectual capacity to deal with the situation. That's all I'll say on that. But I knew once they left, I just knew they couldn't do anything, unless I was all-in. And if anything went wrong, he would kill me. So I would have to just say that, ‘Well, I fell.’ And it’s like, there's no way a fork, like I would go into camp and I would have stab wounds in the shape of a fork. And people are like, ‘What happened?’ And I said, ‘I was walking, and I tripped, and I fell onto a fork that went through my thigh and hit my femur.’ It's like, okay, that's just not possible. But I kind of knew. And I kind of felt like nobody's coming to the rescue. And I thought, if I was a police officer, and I was worked with special victims, maybe I could be the person that I always wished would show up for me. But then, there were issues with that. So I think I got like, out of a possible 100 on the police test. I did fairly well. I think I got 103, there were master credit questions. And I thought, right, yeah, I'm going. And then I took the psychological and by some weird measure, I passed, that seems crazy to me now. It kind of seems problematic. I think they need to revisit that. But then when I took the medical, and with Tourette's, it was kind of like, ‘Ah, yeah.’ It was a sticking point. So I had to petition because otherwise I would be disqualified from the employment police department. And during that time, I started working in the gyms. And when I was working the gyms, I kind of thought, there's no way I'll ever be as intelligent as some of these other trainers here. I'm just going to make up with work ethic what I lack in intellect. I would run around and just tried to do everything I could. I would try to clean all the equipment, make sure that the gym was spotless. But again, kind of like not like having all my wits about me, I would be spraying down a machine with WD-40. And what I didn't account for is, the person who was on the machine next to me, I'd be spraying him in the face with WD-40 when he was exercising. Lisa: They still do that today, by the way. The other day in the gym and the girl next to me, she was blind, and she was just spraying it everywhere. I had to go and shift to the other end of the gym, is that right, cause I don't like that stuff. Robert: I mean, in my defence, the members were very well-lubricated. And so, people would go upstairs, and like there is this fucking trainer just sprayed me in the face. And the owner would say, ‘All right, let me see who this guy is. What do you talk? This doesn’t even make sense? Who hired this guy?’ We kind of had like the old bowl, the pin. And like you could walk up top and look down into the weight room, and there I was just running around. And there was something about someone running around and hustling on the gym floor that made him interested. He's like, ‘Get this kid up into my office. Let me talk to him.’ And that forged a friendship. I spoke to him yesterday, by the way. So we've been friends for like three decades. And the owner of the gym became kind of like a surrogate dad. And he did for me what most guides do and that is when you know that there's somewhere you want to go, but you don't know exactly where that is, and you don't have complete confidence in your ability to get there. And what a good guy does is they help you go just as far as you can see, because when you get there, you'll see further. And that's what Mitchell did for me. And he was different because I have a lot of adults. So I grew up with not only extreme violence in the home, but I grew up in Coney Island. I grew up living on the corner of Shit Street and Depressing. And there was a constant violence outside the home and in school and I got picked on. And I got bullied until I started fighting, and then I got into a lot of fights. And you just have these adults trying to talk to you and it's like, you don't fucking know me. You have no idea where I come from. You can't relate to me. When you were growing up, you had a home, you were being fed. You were kind of safe, don't even pretend to relate to me. And he was this guy, who, he was arrested over a dozen times by age 30, which was not why I chose him as a mentor. But he had gone through some serious shit. And when he came out on the other end of it, he wanted to be somebody other than his history would suggest he was going to be, and he tried harder at life than anybody I had ever met. So one, I could relate to him, I didn't think he was one of these adults who are just full of shit. I was impressed at how hard he tried to be the person he wanted to be. So there was this mutual respect and affinity, instantly. Lisa: Wow. And he had a massive influence. And we all need these great coaches, mentors, guides, surrogate dads, whatever the case may be, to come along, sometimes in our lives. And when they do, how wonderful and special that is, and someone that you could respect because like you say, I've had a wonderful childhood. In comparison to you, it was bloody Disneyland, and so I cannot relate to some of those things. And I have my own little wee dramas, but they were minor in comparison to what you experienced in the world. So how the heck can I really help you out if you're a young kid that I'm trying to influence. And not that you have to go through everything in order to be of help to anybody, but just having that understanding that your view, your worldview is a limited, privileged background. Compared to you, my background is privileged. Robert: Well, I don't think there's any ‘compared to you’. I think a lot of my reaction to adults around me who tried to intercede — one, if your intercession doesn't work, it's going to get me hurt, bad, or it's going to get me killed. There have been times where I was hung out of an 18-storey window by my ankles. Lisa: You have got to be kidding me. Robert: Like grabbing onto the brick on the side of the building. I can't even say terrified. I don't even know if that encapsulates that experience as a kid. But it's like you don't understand what you can walk away from once you feel good about interceding with this poor, unfortunate kid. I cannot walk away from the situation that you're going to create. So it was defensive mechanism, because pain is relative. I mean, like, you go through a divorce, and you lose this love and this promise, and somebody comes along, ‘Oh there are some people in the world who never had love, so you should feel grateful’. You should fuck off because that's disgusting. And that is totally void of context. I don't think somebody's pain needs to compare to another person's pain in order to be relevant. I think that was just my attitude back then because I was protecting my existence. I've really changed that perspective because, like, my existence isn't threatened day to day anymore. Lisa: Thank goodness. Robert: So I have a different take on that. And I understand that these adults were well meaning, because I also had adults around me, who could have probably done something, but did nothing. And I don't even blame them because my stepfather was a terrifying person. And the amount of work and energy, and the way the laws, the structure, and how threatening he was, I don't blame them. And me? I’ll probably go to prison. But I don't blame them for their inaction. Lisa: Yeah, and this is a problem. Just from my own experiences, like I said, this is not even in childhood, this is in young adulthood, being in an abusive relationship. The dynamic of the stuff that's going on there, you're frightened to leave. You know you are going to be in physical danger if you try and leave. So, I've been in that sort of a position but not as a child. But still in a position where people will think, ‘Well, why don't you just go?’ And I’m just like, ‘Have you ever tried to leave someone who's abusive? Because it's a very dangerous thing to do.’ And you sometimes you’re like, just, you can't, if there's children involved, even, then that's even worse. And there's complicated financial matters. And then there's, whatever the case may be or the circumstances that you're facing, it's not cut and dried. And as an adult, as a powerful woman now, I wouldn't let myself be in a position like that. But I wasn't that back then. And you weren't because well, you were a child. See, you're even more. Robert: I just want to comment on that a little bit. And this is not coming from clinical expertise. This is just coming from my own interpretation experience. I think, obviously, that when a child goes through this, you would think, ‘Okay, if this started at age five, what could you have done?’ But a lot of times we do look at, let's say, women who are in severe domestic violence situations, and we say, ‘Well, how could you have done that? How could you have let somebody do that to you’? And I think we need to really examine that perspective. Because powerful, confident, intelligent women might be especially susceptible. Lisa: Apparently, that’s the case. Robert: Because you have a track record, and you have evidence to support that you are capable, and you're intelligent, and you find yourself in a situation that you didn't anticipate. And I think it's easier to gaslight someone like that. Because it's like, ‘How could I have had a lapse — is it me?’  And it creeps up on you, little by little, where you doubt yourself a little bit more, a little bit more, and then you become more controlled and more controlled. And then your perspective on reality becomes more and more distorted. So I think we have to be very careful when an adult finds themselves, yes, in that position, saying, ‘Well, why didn't you just leave? How could you have let yourself very easily?’ It can happen to anyone, especially if you have a strong sense of confidence and you are intelligent, and because it becomes unfathomable to you, how you got into that situation. Lisa: Looking back on my situation, which is years and years ago now, and have no consequences to the gentleman that I was involved with, because I'm sure he's moved on and hopefully, not the same. But the fact that it shifted over many years, and the control shifted, and the more isolated you became. I was living in a foreign country, foreign language, unable to communicate with my family, etc., etc. back then. And you just got more and more isolated, and the behaviour’s become more and more, more radical ways as time goes on. It doesn't stop there. Everybody's always lovely at the beginning. And then, as the power starts to shift in the relationship — and I've listened to a psychologist, I’ve forgotten her name right now, but she was talking about, she works with these highly intelligent, educated women who are going through this and trying to get out of situations where they shouldn't be in. And she said,  ‘This is some of the common traits. They're the types of people who want to fix things, they are the types of people who are strong and they will never give up.’ And that is actually to their detriment, in this case. And I'm a very tenacious type of person. So, if I fall in love with someone, which you do at the beginning, then you're like, ‘Well, I'm not giving up on this person. They might need some help, and some, whatever’. And when you're young, you think you can change people, and you can fix them. And it took me a number of years to work out and ‘Hang on a minute, I haven't fixed them, I’ve screwed myself over. And I've lost who I am in the process.’ And you have to rebuild yourself. And like you and like your case is really a quite exceptionally extreme. But like you, you've rebuilt yourself, and you've created this person who is exceptional, resilient, powerful, educated, influential — Robert: And dysfunctional. Lisa: And dysfunctional at the same time. Hey, me, too. Robert: And fucked up in 10 different ways. Lisa: Yeah. Hey, none of us have got it right. As our mutual friend, Craig Harper would say, ‘We're just differing degrees of fucked-up-ness’. Robert: That would be spot on. Lisa: Yeah, yeah, yeah. And totally, some of the most high functioning people that I get to meet, I get to meet some pretty cool people. There's hardly any of them that don't have some area in their life where they've got that fucked-up-ness that's going on, and are working on it, because we're all works in progress. And that's okay. Robert: The thing you said that I really caught is you lost your sense of self, and the isolation. And that is what abusers do, is progressively they start to isolate, and create enemies out of strong alliances and allies. And when you lose your sense of self, and you're so isolated — because as much as we want to be strong and independent, we are highly interdependent, tribal people. We form and calibrate, we shape our sense of identity and the context in which we navigate through the world off of one another. And when you're isolated with a distance sense of reality and you lose your sense of self, you become highly incapacitated to take action in this situation. And you develop, I think what Martin Seligman, called learned helplessness. And I think assigning fault or blame or accusation either to yourself or doing that to somebody else, not only does that not help, it stops people from coming forward. Because it reinforces the mental state that makes them susceptible to perpetual abuse in the first place. Lisa: Yeah, it's so true. So how did you start to turn around? So you meet Mitchell, Mitchell was his name, and he started to be a bit of a guiding light for you and mentor you, and you're in the gym at this phase stage. So, what sort of happened from there on and? So what age were you at this point, like, your teenage years, like teenagers or? Robert: I met Mitchell  when I was like 19 years old. And what he allowed me to do, and it wasn't strategies, he allowed me to focus outside of myself. Because every emotion, every strong emotion you're feeling, especially in a painful way, resides within you. So if you feel a sense of despair, or you feel disgust, or loneliness, or isolation, or any type of pain, and you would look around your room and go, ‘Well, where's that located? Where's my despair? I searched my whole desk, I can't find it’. It's not there. It's not in your outer world. It's your inner world. And what he gave me the ability to do is say, ‘Okay. I grew up physically deformed. And despite everything I was going through, my physical deformities were one of the most painful things’. But the irony, more painful than anything else because you could see me out in the shops and go, ‘Okay, this is a person who has been severely physically sexually abused, who's suffered emotional trauma’. You could see that as I walk through the aisles, because you say, ‘Okay, this is someone who doesn't look right. This is someone who —', and I can see the look of disgust on people's face when they saw me physically. And then there’s nowhere to hide, you couldn’t mask that. I started thinking, ‘Well, what about people who feel that about their physical appearance and they don't require surgery? What are they going through? And how do I focus more on them? How do I take a stand for that person? What's the areas of knowledge? What are the insights? What are the resources that I can give these people to be more resourceful in finding a sense of self and finding their own way forward?’ Lisa: Being okay with the way that they are, because it must be just— Robert: People are okay with the way they are, seeing an ideal version of themselves in the future. And engaging the behaviours that helps them eventually bridge that gap, where their future vision, at some point, becomes their current reality. So I started focusing on things and a mission and people outside of myself, who's going through something similar to what I have gone through, even if it's not precisely the same situation? How do I help them find their way out? And by helping them find their way out, I found my way up. Lisa: Wow, it's gold. And that's what you ended up doing then, and within the gym setting, or how did that sort of work out from there? Robert: Well, I became a trainer. And in the beginning, I was like an average trainer. But I became, what Mitchell called, like the person who saved people. I never saved anyone; you can't change anyone but yourself. But the reason why he called me that is, anytime someone would think about joining the gym, if they would sit down with someone, they approached it from, ‘Well, what can we do? Can we give you a couple of extra months? Can we give you a guest pass to invite some —‘. They approached it from a transactional perspective, where when I sat down with these people, I approached it from a transformational perspective. ‘What did you want most? What do you want most in your life in this moment? And what hasn't happened? What missed? What was the disconnect? Where have we failed? What did you need that was not fulfilled in your experience here and how do we give you those resources? How do we support you going forward?’ And it was also like, ‘Look, if you want to leave, we totally respect that. You've given us a chance to help you. And obviously, the fault was ours. I never blamed anyone. But if you had the chance to do it again, what would have made the difference? And give us that opportunity’. It’s like, ‘Oh, this person is like a retention master’. It's not that, my focus wasn't in retention, it was the intention rather, to relate to the individual in front of me.  Lisa: I’m hearing about the actual person and their actual situation and their actual wishes and goals, rather than, how can I sweeten the deal so you don't leave? Robert: Precisely, and that had some unintended consequences, because it put me in a bad situation, because I got promoted against my will. And I didn’t want to get promoted. And I thought, ‘I'm just getting a reputation for being somewhat good in my current job. And now they're going to promote it to my level of incompetence. And now I'm going to disappoint Mitchell, he's going to find out this kid's actually an idiot, he's a fraud — ‘I was wrong.’ And the one person who believed in me, I'm going to lose his trust and his faith, and that's going to be damaging.’ So me being promoted into management led to a series of unpredictable events that shaped my entire career. Lisa: Okay, tell us about that. Tell us about it. So you were pushed out of your comfort zone, because you just got a grip on this thing, the crazy worker. Robert: So Mitchell had a consultant, and his name was Ray. His name still is Ray, coincidentally. And he said, ‘Yeah, I think you should promote Bobby, just a small promotion to head trainer. Not like fitness manager, just head trainer’. And when they approached me, it was almost like they told me like, I had to euthanise my pet. It was horrible. I was not excited about this. I was like, ‘Oh, thanks. But no, thanks. I love where I'm at.’ Lisa: Yep. ‘I didn’t want to grow.’ Robert: Well, they had a response to that. They said, ‘There’s two directions you can go in this company, you could go up, or you can go out’. And they fired me that day. Lisa: Wow! Because you wouldn’t go up? Robert: They’re like, ‘You've chosen out. And that's okay. That's your decision’. And I was devastated. Like that my identity is connected to that place. And on my way out the door, Mitchell's like, ‘Come into my office.’ And he’s sitting across from me, and he kind of looked like a very muscular, like an extremely muscular version of Burt Reynolds at the time, which was very intimidating, by the way. And he puts his feet up on the desk, and he's leaning back, and he's eating an apple. He says, ‘You know, I heard a rumour that you're recently unemployed. And so I would imagine, your schedules opened up quite a bit this week. You know, coincidentally, we're interviewing for a head trainer position. You might want to come in and apply because you've got nothing to lose’. What a complete and total cock. And I say that, with love, gratitude, gratitude, and love. So I showed up — Lisa: Knew what you needed. Robert: I remember, I showed up in a wrinkly button-down shirt, that is not properly ironed, which was brought to my attention. And I got the job. And I was the worst manager you've ever met in your life because first of all, my motivation was not to serve my team. My motivation was not to disappoint Mitchell. And that was the wrong place for your head to be in, if you have the audacity to step into a leadership position. Whether you tell yourself you were forced into it or not, fact of the matter is ‘No, I could have chosen unemployment, I would have done something else. I chose this. Your team is your major responsibility.’ And that that perspective has served me in my career, but it well, it's also been problematic. So I had people quitting because for me, I was in the gym at 5am. And I took two-hour breaks during the afternoon and then I was in the gym till 10 o'clock at night, 11 o'clock at night. I expected you to do the same thing. So, I didn't understand the worldview and the needs and the aspirations and the limitations and the people on my team. So people started quitting. I started doing horribly within my position. And then Mitchell brought in another consultant, and he gave me some advice. I didn't take it as advice at the time, but it changed everything. And it changed rapidly. This guy's name is Jamie, I don’t remember his surname. But he sat me down and he said, ‘So I understand you have a little bit of trouble’. Yeah, no shit, man. Really perceptive. ‘So, just tell me, who do you work for?’ So, ‘I work for Mitchell’. He said, ‘No, no, but who do you really work for?’ I thought, ‘Oh. Oh, right. Yeah. The general manager of the gym. Brian, I work for Brian’. So nope, who do you really work for? I thought it must be the fitness manager, Will. So, ‘I work for Will’. He’s like, ‘But who do you work for?’ And now I'm starting to get really irritated. I'm like, yeah, this guy's a bit thick. I don't know how many ways I can explain, I've just pretty much named everybody. Who do you reckon I work for? He said, ‘No, you just named everyone who should be working for you?’ Lisa: Yeah, you got that one down. Robert: ‘Have a single person you work for? Who are your trainers?’  He said, ‘Here, let me help you out. Imagine for a second, all of your trainers got together, and they pooled their life savings. They scraped up every bit of resource that they could to open up a gym. Problem is, they're not very experienced. And if they don't get help, they're going to lose everything. They're going to go out of business. They go out and they hire you as a consultant. In that scenario, who do you think you'd work for?’ I was like, ‘Oh, I'm the one that's thick. I've worked for them’. Because in every interaction you have, it made such a dip because it sounds counterintuitive. But he said, ‘In every meeting and every interaction, whether it's a one-on-one meeting, team meeting, every time you approach someone on the floor to try to help them, or you think you're going to correct them, come from that perspective and deliver it through that lens’. And things started to change rapidly. That was one of two things that changed. The second thing that changed is Mitchell believed, because he would listen to self-help tapes, it inspired him. So he would have me listen to self-help tapes. And he believed that oration in front of a group public speaking was culturally galvanising. And in a massive team meeting where we had three facilities at the time, where he brought in a couple of hundred people for a quarterly meeting. He had me stand up and speak. Oh, man. I know you've done a lot of podcasting and you do a lot of public speaking in front of audiences. You know that experience where you get up to speak but your brain sits right back down? Lisa: Yeah. And you're like, as Craig was saying the other day, ‘It doesn't matter how many times you do it, you're still absolutely pecking yourself.’ Because you want to do a really good job and you go, ‘This is the day I'm going to screw it up. I'm going to screw it up, even though I've done it 10,000 times. And I’ve done a brilliant job. Then it’s coming off.’ Robert: If you’re not nervous in front of an audience, you've got no business being there. That is very disrespectful. I agree with that. I mean, this is coming from, in my opinion, one of the greatest speakers in the world. And I'm not just saying that because Craig's my mate, and he gives me oatmeal every time I come out to Melbourne. I'm saying that because he's just phenomenal and authentic in front of a room. But I had that experience and I'm standing up brainless in front of the room. And as I start to realize that I am choking. I'm getting so nervous. Now this is back in the 1990s, and I was wearing this boat neck muscle shirt that said Gold's Gym, and these pair of workout pants that were called T-Michaels, they were tapered at the ankles, but they ballooned out. You know the ones I’m talking about? And I had a lot of change in my pocket. And all you hear in the room, as my knees were shaking, you can hear the change rattling, which wasn't doing anything for my self-confidence. And just instantly I was like, ‘Right, you're either going to epically fail at your job right here. Or you are going to verbatim with intensity, recite word for word, like everything you remember from Dennis Waitley’s Psychology of Winning track for positive self-determination’. Sorry, Dennis, I did plagiarize a bit. And I said it with passion. Not because I'm passionate, because I knew if I didn't say it with fierce intensity, nothing but a squeak will come out of my mouth, Lisa: And the jingle in the pocket Robert: And the jingle in the pocket. And at the end of that, I got a standing ovation. And that’s not what moved me. Lisa: No? Robert: What moved me was weeks ago, I was clueless in my job. I got this advice from Jamie on, ‘You work for them. They are your responsibility. They are entrusted to you. Don’t treat people like they work for you.’ Now I had this, this situation happened. And my trainers avoided me a month ago when I got promoted. But now they were knocking on my office door, ‘Hey, can I talk to you? Would you help me’? And it just clicked. The key to pulling yourself out of pain and suffering and despair is to focus on lifting up others. Lisa: Being of service. Robert: That was it. I thought I could be good at something. And what I'm good at is not only, it's terrifying before you engage in it, but it's euphoric after, and it can help other people. I can generate value by developing and working through others. Lisa: This is like gold for management and team leaders and people that are in charge of teams and people is, and I see this around me and some of the corporations where get to work and consultants stuff is this was very much this top-down mentality. ‘I'm the boss. You’re doing what I say because I'm the boss’. And that doesn't work. It might work with 19-year-olds who have no idea in the world. Robert: It reeks of inexperience. You think you're the boss because you've had certain qualities, and that's why you got promoted — do what I say. You are a detriment to the company — and I know how many people are fucked off and calling bullshit. I don't care. I mean, not to toot my own horn. Like anything I've ever accomplished, I've learned I have accomplished through hiring the right people and having a team that's better than me. But I’ve been in so many management positions, from the very bottom to the very top of multiple organizations I've consulted all over the world, you are only as good as your team. And to borrow from the late great Peter Drucker, ‘The purpose of a business is to create and keep a customer. And your most valuable customer’s your internal customer, the team that you hire. Because unless you are speaking to every customer, unless you are engaging with every customer complaint, unless you are engaging in every act of customer service on your own —' which means your business is small, which is fine. But if it's a lot, you're not ‘— you could scale that, it is always your team. And your job is to create and keep your internal customer by serving them with, at the very least, with the same tenacity, sincerity and intention that you are serving your external customer. If you don't do that, you're going to be shit as a leader. And honestly, I don't give a fuck what anybody thinks about that. Because I have heard so many opinions from people who are absolute — they've got a ton of bravado, they beat their chest, but they are ineffective. And it's extraordinary what you can accomplish when you know how to be, number one, hire the right person. Number two set expectations clearly — clearly, specifically. Number three, understand what motivates each individual, as an individual person and as a team, and then develop that team's capacity individually and collectively to channel that capability towards the achievement of a common vision, of a common monthly target. Period. Lisa: Wow. So that's just, that’s one whole lot going on in one. Robert: That is leadership in a nutshell. Lisa: Yeah. And this is the tough stuff because it's easier said than done. I mean, I'm trying to scale our businesses and grow teams and stuff. And number one, hiring the right people is a very big minefield. And number two, I've started to realize in my world that there's not enough for me to go around. I can't be in 10 places and 10 seats at once. You're getting overwhelmed. You're trying to help the universe and you're one person, so you're trying to replicate yourself in the team that you have, and provide the structure. And then you also need those people where you're weak, like I'm weak at certain aspects. I'm weak at technology, I'm hopeless at systems. I know my weaknesses. I know my strengths, so. Robert: I resemble that comment. Lisa: Yeah, In trying to get those people where you, that are better than you. Not as good, but better than you. And never to be intimidated because someone is brilliant at something. They're the ones you want on your team, because they are going to help with your deficits. And we've all got deficits and blind spots and things that we're not good over we don't love doing. And then trying to develop those team members so that you're providing them and treating them respectfully, looking after them, educating them. And that takes a lot of time too, and it's really hard as a smallish business that's trying to scale to go from there wearing a thousand hats. And a lot of people out there listening will be in similar boats as ours, like, wearing a hundred hats and trying to do multitasking, getting completely overwhelmed, not quite sure how to scale to that next level, where you've got a great team doing a whole lot of cool stuff. And then realizing the impact that you can have as tenfold or a hundredfold. Robert: Absolutely. And I'm not really a good business person, per se, like I've owned a few businesses myself, I've worked within quite a few businesses. And I think what I'm good at, and this goes back to another person that I worked for shortly after Gold's Gym. So Gold's Gym was sold, that's a whole story you don't need to get into. This is an interesting guy. I was doing consulting, I was just going out and doing public speaking, I had independent clients. And I crossed paths with an individual named David Barton. This is someone you should get on your podcast. Talk about an interesting individual. And David Barton had the one of the most unique and sexy edgy brands in New York City. And that's when you had a lot of competition with other highly unique, sexy, edgy brands. And he was the first person — he coined the phrase, ‘Look better naked,’ it was actually him. That's the guy. It was on the cover of New York Magazine. I mean, he was constantly, like his club in Vogue, at Harper's Bazaar, he ended up hiring me as his head of training. And his company at that time in the 1990s, which is quite the opposite of the mentality, the highest position you could ever achieve in his company was trainer. It was all about the training, and it made a difference culturally, and it made a difference in terms of like we were probably producing more revenue per club and personal training at that point than almost anyone else in the world, with the exception of maybe Harpers in Melbourne. So this is how far me and Craig go back actually. Lisa: Wow. It’s that right. Robert: Yeah, because we had found out about each other just a few years after that. Lisa: Some of that Craig Harper. Robert: Craig Harper, yeah, when he had his gyms. So we were introduced by a guy named Richard Boyd, a mutual friend who's like, you got to meet this guy, because he's doing what you were doing. And it all started when I went into David Barton gym, and I just thought, this is a different world. This is another level. Am I in over my head? So again, it was that doubt, it was that uncertainty. Lisa: The imposter syndrome.  Robert: But I did. Yeah, and I think we all have, and I think the only people who don't have imposter syndrome are imposters. Because if you're fraudulent, you wouldn't engage in the level of self-honesty, and humility and conscientiousness, to go ‘Am I fraudulent, is there something that I’m missing’? Only a con artist never considers whether or not they're fraudulent, it's ‘Does that keep you stuck? Or does that help you to get better and more authentic, more sincere?’ So I had the presence of mind to ask David a very important question. And I said, ‘David, if there was like two things, or three things that I can do in this company, exceedingly well, what two or three things would best serve the member, the company as a whole, and of course, my career here with you?’ And David leaned back and he did one of these dozens of things he gave me, literally. And he sat there for — it must have been like five seconds — it felt like an eternity and I'm thinking, ‘Oh my god, that that was the stupidest question I could possibly ask. He probably thinks I should have this whole, like sorted out. After all, he hired me, or am I going to get sacked today?’ And then I was like, ‘I can't get sacked. My house just got ransacked by the FBI’. That was a totally different story. He comes, he leans forward. And he says, ‘Two things. Two things you got to do. Number one,’ and a paraphrase, but it was something very similar to, ‘I want you to be a connoisseur of talent, like a sommelier is a connoisseur of wine. I want you to hire interesting, and great trainers. That's number one.’ And he just sat there again. And I'm like, I think it was a power move. Looking back, it was a power move. Lisa: Using the silence. Robert: What’s number two, David? And he said, ‘Train the shit out of them. And when you're done with that, here's number three, train them again. Number four, train them again. Number five, train them again.’ And that stuck with me. And a year later, I wound up leaving David Barton, and I come back to work with him periodically over the course of many years, and I personally loved the experience every time. We’re still good friends today. And I went to NASM, and I became a presenter, senior presenter, and eventually I became the director of professional development for the National Academy of Sports Medicine. And I brought that with me. And trust me, there was times when I was quite a weirdo, because I thought quite differently than then a team of educators and clinicians. But it helped, and it served me well, and served me throughout my life. So I am shit at so many aspects of business. But I am really good, and probably because I'm very committed to recruiting people with the same level of insight, precision, intuition and sophistication that a sommelier would approach a bottle of wine. Lisa: Oh, I need to talk to you about my business at some point. I need the right people because I keep getting the wrong one. Robert: That, I'm very confident I can help. When it comes to recruiting and selection and hiring and training and development, that is my world. Lisa: That’s your jam. Robert: And because anything I've ever accomplished, it's totally through other people. It's because I hired people that were a lot smarter than me. It's funny because that's another piece of advice I got way back in my Gold Gym days, where one of the consultants was in the room and said, ‘You'll be successful to the degree that you're able and willing to hire people that are more intelligent than you’. And Mitchell quipped, ‘That shouldn’t be too hard for you, Bob’. Okay, yeah. Thanks, Mitchell. Yeah. Lisa: Oh, yeah, nice, friend. You need those ones, don’t you? Hard case ones. Hey, Bobby, this has been a really interesting and I feel like we probably need a part two because we haven't even touched on everything because you've had an incredible career. And I just look at you and how you how far you've come and there must have been so much that you haven't even talked about, have been all the really deep stuff that you went through as a child — Robert: No, I've told you everything. There's nothing else. Lisa: But how the hell did you actually turn your mindset around and how did you fix yourself and get yourself to the point you know where you are today, but I think we've run out of time for today. So, where can people engage with what you do and where can people find you and all of that sort of good stuff? Robert: Okay, well, I just started my own podcast. It's decent. Lisa: Which is awesome because I've been on. Robert: So if you are looking for, like one of the most dynamic, interesting and inspiring podcasts you've ever encountered, go to The You Project by Craig Harper. If you still have time after that, and you're looking for some decent podcast material, go to The Self Help Antidote, that is my podcast. And I'm on Facebook. Social media is not really where I live. It's not where I want to live. It's not where I like to live, but I'm there. I'm on Facebook. I mean the rest of the older generation, yeah, piss off kids. And I'm on Instagram. I'm occasionally on LinkedIn, but not really. I will be on Clubhouse because I got to find the time Lisa: What the hel

Two Ewes Fiber Adventures
Ep 157: It Ends in a Fit of Laughter

Two Ewes Fiber Adventures

Play Episode Listen Later Mar 10, 2021 59:38


More discussion about shots (not from a glass) and needles (not for knitting). Sorry! We finally get down to knitting, bored dogs, and new projects. We end by laughing at own ridiculousness when read in a transcript.  Show notes with full transcript, photos, and links can be found in the podcast section of our shop website: TwoEwesFiberAdventures.com. If you’d like to become a patron and support the show financially, visit our Patreon page.  Subscribe on Apple Podcasts or Subscribe on Android or Subscribe on Google Podcasts Marsha’s Projects I’m still working on the pair of socks for myself using Drops Fabel Print that I bought in San Luis Obispo. I’ve knit about 6” of my Walk Along tee by AnkeStrick and I’m using Little Fish Stitches fingering. Beginning to worry if I will have enough yarn. Spinning on and off with olive green merino roving. We had one beautiful sunny day this week that I could sit on the deck and spin. Heaven! I’m combining it with another merino I ordered from Paradise Fibers in Spokane, Washington in a dark brown called Bitter Chocolate. Making a 3 ply with two green and one brown single. I’ve spun two skeins. Swatching to make the Abington Mitts by Jennifer Lassonde as part of our Extremities Knit/Crochet Along. Using Dale Garn Helio that I got from Kim’s bag of yarn headed to the thrift store. Enough yarn for a brown and a burgundy pair. Kelly’s Projects  I finished the pair of socks for Robert!  And another Ice Time Hat! The Ice Time Hat is a pattern given to me by BostonJen of Down Cellar Studio podcast. I used two different yellow and purple variegated skeins.  Check out my project page.  Started the Iced Matcha Socks by Dots Dabbles. I’m using handspun wool mohair yarn that I spun from batts I carded. The wool is Charlotte (a gray sheep whose fleece I bought twice in the early 2000s). The mohair is a similar vintage mohair fleece that I bought and dyed.  Both of these patterns are from the designers who have donated prizes for the Extremities K/CAL.  I also started Frog and Toad from frogandcast.com.  I’ve finished Toad and now need to start Frog. Then there are clothes to make. Extremities Knit/Crochet Along This KAL/CAL was inspired by the generous donation of these patterns: Abington Mitts, Jennifer Lassonde, Down Cellar Studio Coffee Socks Collection, Dotsdabbles Designs, Deborah It ends on April 25, 2021. Knit anything for your extremities (hands, arms, legs, feet). Winter Weave Along Ends on March 31. We will have prizes, including a class generously donated by Erica at Weavolution. Ep 157 final Mon, 3/8 5:41PM • 59:38 SUMMARY KEYWORDS yarn, knit, socks, laughing, transcript, marsha, appointments, pattern, talking, extremities, vaccine, people, thought, podcast, weaving, hat, crochet, pair, fun, vaccinated SPEAKERS Kelly, Marsha   00:03 Hi, this is Marsha and this is Kelly.   Marsha 00:05 We are the Two Ewes of Two Ewes Fiber Adventures. Thanks for stopping by.   Kelly 00:10 You'll hear about knitting, spinning, dyeing, crocheting, and just about anything else we can think of as a way to play with string.   Marsha 00:17 We blog and post show notes at TwoEwesFiberAdventures.com.   Kelly 00:22 And we invite you to join our Two Ewes Fiber Adventures group on Ravelry. I'm 1hundredprojects,   Marsha 00:29 and I am betterinmotion.   Kelly 00:31 We are both on Instagram and Ravelry. And we look forward to meeting you there.   00:36 Enjoy the episode.   Marsha 00:43 Good morning, Kelly.   Kelly 00:44 Good morning, Marsha. It's Friday. Yeah. I'm not sure Friday means much to to a lot of people during a pandemic, but it means a lot to me.   Marsha 01:01 Yeah, it doesn't really mean... it doesn't mean... Friday, in fact, well, yeah. Friday doesn't mean that much to me anymore. But yeah, if you're retired, yeah. And you know, Ben does his own school thing. Idon't... I'm not involved in that. And and   Kelly 01:14 I hope I should hope not.   Marsha 01:16 I know at the age of 23. I should not be involved in it. I'm not. Such a relief.   Kelly 01:23 I have students whose children are involved in their college education, helping them but   Marsha 01:31 Oh, yeah, yeah,your children appearing in zoom meetings and stuff. Zoom.   Kelly 01:35 That too. Yeah. I have a couple of students that come to my office drop in hours, and their children are usually in the background, or you can hear you can hear the schooling going on in the background, while the children are on their own zoom, their own zoom meeting. So. So yeah, I have a class for kind of a beginning level math class, you know, basically no prerequisites. You know, anybody can take it. And some of those students have their kids helping them. "I got confused, and I watched your video, and then I got my kid to help me."   Marsha 02:14 So yeah, it's a family, a family affair. Sweet.   Kelly 02:20 When parents talk about, you know, having school and kids and all of that, I always, I always tell them how, how much I think it's great. Because it's such a role model for their children, you know, that you continue to learn, but it's rough. I can't imagine the students I have, who are, who are parents who are going back to school, who are working, who are helping their children do their school, I always admire, you know, the parents who are coming back to school and the amount of work that they have to do. But in this pandemic, it's just been, like magnified. Yeah, very impressive. Yeah. their commitment to education.   03:01 Oh, yeah.   Marsha 03:02 It's a struggle, but it'll be worth it in the end, you know?   Kelly 03:07 Yes. And some of us in the struggle, I'm not including myself in that us really, some people in the struggle will be able to talk about it in the same way that, you know, of the sacrifices that people made during war time. Or, and some people are not, are not stepping up in that way. I sort of wonder what it would be like if they were having to live through war time, or, you know, like, the Greatest Generation they talk about, that, you know, lived through World War Two and made all those sacrifices. And our society is not quite measuring up, I don't think, to that standard.   Marsha 03:47 Well, I don't know. I mean, well, you mean, in terms of wearing masks?   03:52 Willing make a..? Being willing to make a sacrifice?   Marsha 03:55 Oh,   Kelly 03:56 for the good ofeveryone.   Marsha 03:59 It may sort of depend on where you live.   Kelly 04:01 Yeah. Yeah.   Marsha 04:02 You know, because if you're talking like masking specifically, everybody masks up. In fact. I mean,here...   Kelly 04:10 what I'm specifically talking about here, I guess I should I should be clear. What was specifically talking about here in California, is all of the complaining about teachers not going back and the teachers unions not wanting to go back and parents can't get their kids back in school. And, like, I understand that, I understand that it's hard. But you don't get to have your same old life. Right? I mean, this is what I want to say to people, right? You don't. None of us gets to have the same life we had last February, none of us does.   Marsha 04:16 My mind was going... Well. And I say even with the vaccine, it sounds like we're not going to have our same lives, right?   Kelly 04:55 For a while at least.   Marsha 04:56 it's going to be a different version of our of our of our same You know, yeah, so,   Kelly 05:02 I think I talked about the whole, you know, push to get teachers vaccinated which is happening, and that's really good. But what was being said about what was happening and what was really happening were two different things. And so it makes it seem like, you know, well, all of you teachers are all vaccinated. So why aren't you wanting to come back? Well, we're not all vaccinated. I have my appointment, though.   Marsha 05:26 That's good.   Kelly 05:27 Yeah. Quick shift of the subject to be more positive. Okay. Just to be clear, I was finding myself going to an ranty place and I don't want to do that. So   Marsha 05:45 well, just before you shift, let me just say here, like, I think that where I live in Seattle, everybody's wearing a mask. And so like, it seems to everybody's very compliant. I'm not going to restaurants. Stores that I've gone to, I always go in and say like, you check, how do you want me to do this? Everybody seems very on board with this in my world. In fact, so much so like, when I take Enzo for a walk, I always bring a mask with me. Because even though I don't come in contact with anybody, everybody's masked up even walking through the neighborhood. Yeah. Which I don't even know how necessary that is. But I think it's sort of it's becoming kind of a sign of solidarity, you know, but anyway, yeah. Yeah. But yes, on to more positive things. You're getting your vaccine. Yay.   Kelly 06:27 Yeah, yeah. So my first dose is the 13th. And honestly, it felt like I was trying to get concert tickets. We had multiple alerts coming out on the faculty email at work, saying, Oh, I just checked the site, and they've got vaccine appointments, and then I go and no appointments. And when I got up in the morning, I get on the computer, I always check and I go through the whole thing. And the dumb thing is that you had to go through the whole process of putting in all this information. Not all of your information, but you had to click a whole bunch of places, just to be told that there were no appointments available. Like, okay, I'd rather on the very front page, right when I, you know, right, when I click on to the front page, you tell me there's no appointments available. But anyway, I do that every morning, and nothing would be available. And then the other morning, the other morning, I got on and I checked, and there was nothing. And all the dates were old. And I mentioned to Robert Oh, they haven't even updated this website yet. You know, they've still got all the old, all the old dates, they don't have the newest dates. And so then I went on to do my you know, play on the computer, read Ravelry, read my email, that kind of stuff. And I'm reading my email and one of my colleagues had emailed that there were now-- there was-- our county office of education was hosting a vaccine site. And so I went to that. So get this. She, she so it came on, it came on the screen, sometime in like a 10 minute timeframe of when I had looked and when I got the email that it was there. So I went there. It was I mean, at most 10 minutes after it had been live on this website. They had multiple appointments, like six to eight appointments every four minutes, from 10 until 4pm.   Marsha 08:32 Mm hmm.   Kelly 08:32 So that's a lot of appointments.   Marsha 08:34 Yeah.   Kelly 08:36 And I made mine. So I got it. I was like, Okay, I'm going to pick a time that has, you know, five appointments available as opposed to two because I don't want to be cart-jacked. You know, I don't want to get to the end and find out my appointment was already taken. So I do that. And then I texted some other people to let them know. And then I went back to look and they were all taken.   Marsha 09:01 And you were cart-jacke? I mean they took that one.   Kelly 09:05 Oh, no,no, no, I got mine. Okay. But I I texted and then I went back to check on it to see to see like, how many more appointments there still were, and nothing! Okay, so like within 15 minutes. All those appointments, you know, eight, five to eight appointments every four minutes, from 10am to 4pm. All of those appointments were taken within probably 15 minutes. Wow. It felt like I was... or like I was trying to get yarn from a super super popular dyer! Wake up in the middle of the night when the update happens and like in the early days, the Wollmeise I think was one of them. Yeah. You know, people used to get up in the middle of the night to try to get Wollmeise yarn. And anyway, I felt like that as I was trying to get my point. I've never been this excited for a shot in all my life, not even a shot of bourbon!   Marsha 10:07 So then, so you'll have, I'm assuming this is the two part vaccine.   Kelly 10:14 Yeah, yeah.   Marsha 10:15 So then how do you know when you get your second one?   Kelly 10:18 I don't know. Yeah.   Marsha 10:20 Okay, how that's gonna work?   Kelly 10:22 I'm not sure how that's gonna work. Yeah, I'm assuming that the same site will have the second round. And then all of us who got appointments for that first site will go to the second site, go to the second round at that same site, but I don't know for sure. I don't think we know for sure.   Marsha 10:41 I was gonna say the thing about the websites, too. So let me just say, you know, in the state of Washington, I don't know what this is, all states have this. But we have Find Your Phase where you can go and find out. And you know, I'm not...I'm not eligible yet. But I went back. They say, well, they will, they will email me when I'm eligible. And I've not received any notification. So I thought, well, I'll go back and to see where I am. Maybe there's more. Because it said, when I when I registered for it, they said they don't know when my category would be eligible. No information, check back. So I thought I'll go check back. You have to register again, there's no way to go in and just log back in and find your own status, even though I've registered. And so this is a long way of saying I think they've... they've thrown these websites together as quickly as they can. And they didn't have I think... Normally with websites don't they go through for companies, they go through testing, right? Everybody uses them to check them all out. I don't think they've had any time to do that. And so there's problems in the system. Yeah Because I have no idea. You can't... Right now, I'm sure if anybody lives in the state of Washington, any of our listeners, they can tell me what's really going on but I couldn't find my status in there. I just had to reregistered again. So and then just add to all of this hearsay, rumor, confusion. Um, my brother registered in Find Your Phase and never got notified. But he's he has medical insurance with Kaiser Permanente. And so he went to the website, and he just started poking around and, and he was able to make an appointment through their website to get the vaccine. And he's never been notified that he was eligible by the state of Washington. Yeah. So I don't know. And he said, also their website, too, again, I think that they are doing the best they can sort of getting something in place, right? But he said that there isn't, like, on the website, if you want a vaccine, click here and make your appointment. He said, You have to dig down through the site, you actually have to say that you want to make an appointment to get like a flu shot or any kind of shot. And then you have to go through the and then it gets you to the part where say what I want is the COVID-19 vaccine.   Kelly 12:33 Yeah, like they should have just a big button right on the front, a big button that you push to...Yeah, right. So I bet you're right. I mean, I'm complaining.   Marsha 13:08 No, I mean, I mean,   Kelly 13:10 it's something that had to be put together quickly.   Marsha 13:13 Well, and I should say cuz I'm not... I have no idea. Now. The President came out two or three days ago saying that pretty much everybody who wants a vaccine will have it by May. So I think I will get it soon. I mean, I just it's just a matter of being patient. But I will say again, rumor hearsay, guessing, all this. It is interesting like people posting on Facebook or Instagram that are getting the vaccine. There's somebody who posts on Facebook, I know who posted that she was getting the vaccine. And as far as I know, she doesn't meet any of the criteria-- multi generational household, age, underlying health, as far as I know. And so like, how did she get it? I don't know. It's like, you know, let it go. Just let that go.   Kelly 14:08 It's possible there's something you don't knowabout?   Marsha 14:10 It's possible there's something I don't know. Because like, it could be an underlying health condition that I don't know about. So. So it's not about-- you can't sit there going like, well, how come they got it? You know, but yeah, that's-- Yeah, we're human. And that's where our mind goes, right? But it really, you know, vaccinate as many people as possible it doesn't really matter even.. you know?   Kelly 14:33 I'd be and in my thinking,...Gosh, we've been on this topic for a long time. Sorry, everyone.   Marsha 14:39 Yes, I know.   Kelly 14:40 But my thinking you know, at first was well, I'm not in contact with anyone. I'm not teaching face to face yet. I don't really need to get the vaccine. You know, I wasn't too worried about jumping.... I wasn't sitting on the computer like it was a rock concert that I wanted tickets to or you know, Hamilton or something big. Cuz I thought well I'm home, you know, I'm not teaching face to face, I'm not going to be teaching face to face in the fall. I don't have to rush. But what you want is everyone, everyone who can, to get it.   Marsha 15:13 Yeah,   Kelly 15:14 Everyone who can get who can't who can, by whatever means really should get it because that's how you get immunity in, you know, community wide, right. So in the mathematics, there's an interesting-- there was an interesting article about mathematical modeling. And the mathematical model was, what if we do it in phases versus what if we do it as whoever wants it, come and get it? And it actually was more effective in the mathematical modeling, to make it available, you know, to make whatever was available available to whoever wanted it.   Marsha 15:52 I know, that's what I was kind of wondering if that would actually make more sense.   Kelly 15:55 It was, mathematically, it was more effective. Yeah. But politically, you know, like, I'm getting the vaccine, even though I'm not going to be back in the classroom. Robert goes to work every day. He doesn't work directly with the public, but he goes to work every day, and he's not eligible yet. Yeah. But politically, I mean, they're not distinguishing between educators who are going back to the classroom and educators who are not, it's just easier not to do that. And they, you know, and the the political reality is they needed to make sure that educators got vaccinated because there's such a pressure for our schools to reopen the K 12 schools to reopen. So anyway, yeah, this is a long topic. We're probably, we're probably, we're probably treading on the boundaries of what our listeners are wiling to listen to   Marsha 16:46 people are gonna be listening to this walking the dog driving the car going. "Oh, for goodness sakes, stop talking!"   Kelly 16:53 Where's the knitting?   Marsha 16:54 Where's the knitting? Well, yes, while we wait... So anyway, patience is a virtue. I will get mine soon. I I'm looking forward to it. My vaccination. I'm excited. So anyway, and grateful that we have one. Yeah, pretty speedy the process.   Kelly 17:12 Yes,so...and apparently CVS, this part of the email I got this morning. The CVS website is already doing appointments for the Johnson and Johnson one shotvaccine. So all right. That was cool to see. Yeah. That's a lot of very fast science.   Marsha 17:30 Yes. Yeah. Okay. Ah, so we talk knitting?   Kelly 17:37 Yeah. That's what they're here for. Right?   Marsha 17:43 Yeah.Let's give...   Kelly 17:43 Sorry, you guys!   Marsha 17:44 Let's give them what they want!   Kelly 17:46 Yes.   Marsha 17:48 Okay, so how about you? Do you want to talk about your projects?   Kelly 17:51 Sure, yeah. Okay. So I finished Robert's socks. They turned out really nicely. I'm actually Oh, I'm calling them finished. And I'm actually weaving in ends right now. But, but they're finished. And I've marked them as finished in the project page. He hasn't worn them yet, because I haven't woven in ends. But he tried them on. I did end up making the toe of the first sock bigger than I had done before. The look so funny! I, I have a picture of them. And because of the toe is made from my hand spun it's thicker. It's a little-- it's not quite fingering weight. It's a little bit heavier than that. Plus, it's a, it's a denser yarn. They have the most bulbous toes, but they're not pointy. So he loves them. And I'm like, they look so big. And he said, No, no, they look perfect. So   Marsha 18:51 yeah. Are they comfortable? The   Kelly 18:52 Yeah, he likes them.   Marsha 18:53 The big poofy toes. Yes, he has room for his for his toes. So they're not   19:00 pointy, and they and they are big enough, but they do kind of bulge out while the sock is ribbed. So that's part of it, too. So the ribbing sucks in the foot of the sock. And then I added stitches when I made the toe because it was too dense and stiff and tight. So anyway, yeah, it's they're interesting looking.   Marsha 19:25 Well, you'll have to share a picture of them.   Kelly 19:27 So I will Yeah, the leading men fiber arts yarn is really nice. I'm gonna get myself some more of this. Maybe not this color. I don't know. I like this color! But it's just a really nice sock yarn. This is-- I think this one might be bfl sock, I can't remember now. But it just it feels nice. It was nice to knit with and the put up is very large. You get a lot of yarn in a skein of this.   Marsha 19:59 [Laughing] Okay. Sorry, I'm interrupting. I'm just looking at the   Kelly 20:04 you see what I'm talking about?   Marsha 20:05 Yes. Yeah.   Kelly 20:10 The toes are quite bulbous.   Marsha 20:11 Yeah, but they look comfortable.   Kelly 20:14 Yes. And they aren't--I mean, they aren't baggy when he wears them. They actually do fit it. Yeah, it's really more of a function of the, the ribbing on the foot, making the ribbing skinny   Marsha 20:25 It's when they're lying in repose. [Laughing]   Kelly 20:31 But they don't have pointy toes when you fold them top to bottom. [laughing]   Marsha 20:36 Yeah,   Kelly 20:37 Speaking of starting socks, I did start the Iced Matcha socks by Dots Dabbles. And the yarn I'm using is a handspun. It's a gray. It was... the sheep was Charlotte and I bought her fleece a couple of times. It's the same fleece that I used for the funky grandpa sweater.   Marsha 20:56 Okay.   Kelly 20:57 And I finally had used both. I bought two of her fleeces two different years back in the early 2000s, late 90s. And I finally spun up the end of it a couple of years ago with some mohair. So these are mohair wool. It's only a two ply. So I don't know how hard wearing they will be. But the mohair should help. It's probably a little bit thicker than a fingering weight. But not not, not so much bigger that I won't be able to use like a size one needle. And I usually use size zero, I'll probably use a size one. And anyway, I decided to make the iced matcha sock pattern. It's like ribbing, you know, has kind of a ribbing effect, which I like. And then it has a little bit of detail, but not so much detail that I won't be able to knit on them during school meetings and that kind of stuff. So and then I'm going to start another pair of of socks. I don't know which ones. I think maybe one of the cabled pairs from either from this collection, or maybe one of the Louise Tilbrook. I have quite a few of her patterns. And I have one pair of socks that I really like that was one of her patterns. So I might make one of hers. They're very involved. So, so the the Iced Matcha of socks will be sort of a medium-involved. Not not super involved, which will be good. So I'm enjoying, I just barely started those. So that's there's not much going on there. Except basically a cast on. I did also finish another Ice Time hat. The first one that I made I don't remember if when I talked about it last. But the first Ice Time hat that I made her pattern. This is from the pattern is by Jennifer Lassonde, Down Cellar studio, BostonJen. And she gave me as a gift, a copy of this pattern. And so I thought, oh, I'll try it. And I mean, I used two variegated yarns. And I looked on the pattern because it came out a little small, my gauge, you know, I usually knit pretty tightly. And so I thought, Oh, this is a little small. But then I looked on the pattern, and she has as the head circumference 18 inches, I think, which is smaller than what I normally do for a hat. Plus the cross stitches, I think have a tendency to make it tighter. Yeah. And plus, it's like a beanie.   Marsha 23:41 Yeah.   Kelly 23:42 And so, so I thought, Okay, well, this is good, because it's the size for a kid and that was my plan. But I want to make a bigger version. So first, I was gonna, I was gonna just add, you know, like, one pattern repeat or two pattern repeats. And, and then I thought, well, it's when -- when you do the decreases, you divide it into fou. Into four groups to do your decreases. And so like the decreases make an X on the top of the hat. And I thought, okay, that's going to make those four groups different sizes.   Marsha 24:18 Yeah.   Kelly 24:19 And I just thought, you know what, I'm just going to add four repeats, because 18 inches is small to me for hat circumference.   Marsha 24:26 Mm hmm.   Kelly 24:27 So that's what I did made it a lot easier to do the decreases and then made the slouchy version, which is more like the kind of hat--again, this is nota hat that I'm going to keep-- but more like the kind of hat that I wear. Doesn't smash your hair as much, you know, hat head. So anyway, I really like it. It came out really great. And so now I have a pair like a mother and daughter a pair of hats.   Marsha 24:57 Sweet   Kelly 24:58 Yeah, in purple. purple and yellow.   Marsha 25:02 So I don't they're not in your project page yet, though, right?   Kelly 25:06 Oh, you know, the first one I finished a long time ago. And I just put the second one in the same. So it's farther down on the project page. Oh, I'm, I'm suddenly distracted, because there's someone on the roof right outside.   Marsha 25:19 Oh, really?   Kelly 25:22 We had the roof put on. And then they had to replace some flashing and replaced--we have these like scupper boxes that the water goes down. They replaced those. And so apparently they're here to do something else with with the flashing. So I suddenly looked up, and there's a stranger on my roof. Right outside the window. Because the   Marsha 25:49 and he's wondering why you're talking to yourself?   Kelly 25:51 Yes. [laughing] Because the kitchen window or the kitchen roof is right outside the vanity area where I record so anyway. Life at the Locke household!   Marsha 26:03 Yes.   Kelly 26:05 So both of the designers, dots dabbles of the Iced Matcha socks and Jennifer Lassonde from this Ice Time hat have donated prizes for our extremities KAL that we'll talk about. So it's fun to be using. It's fun to be using their patterns. Although a hat does not count for the extremities KAL.   Marsha 26:25 Yes.   Kelly 26:27 I looked it up. It's not an extremity. several I looked actually I looked at several dictionaries. When you you know, I looked at I put in extremities and then I looked under several online dictionaries. And none of them included heads. So   Marsha 26:46 it's a headless knit along.   Kelly 26:50 Exactly! I started something really fun.   Marsha 26:54 Oh, yes.   Kelly 26:55 Yes. Frog and Toad. Oh my gosh. So cute. And you know, I was talking about socks. The socks being only medium-level involved. Then I started with toad. that's involved! Okay, that kind of knitting is involved, right? I mean, it's kind of sorta like your rabbit.   Marsha 27:20 Yeah, lots of increases, decreases. And it's just like a blob until you... it starts. And then they begin to take shape. But originally, initially, you don't really know what you're making,   Kelly 27:31 Right!   Marsha 27:31 you know, it's the legs but what?   Kelly 27:34 It's pretty much one piece, you do have to go and add the arms at the end. It's pretty much one piece. So that was good. You don't have a lot of sewing to do for the extremities. But you do have to do sewing for the eyes. Okay, and you do, you do like afterthought heels where you cut your knitting to make the holes for the eyeballs.   Marsha 27:58 Oh, Dear!   Kelly 28:00 Yeah, so it reminds me of... I looked at the pattern and it reminds me of when I did the afterthought buttonholes. Because it's a real small thing that you open up, you know, you cut open a piece of your knitting. And   Marsha 28:14 so this type of knitting I have to say I'm, I always think the same thing. The mind that can think this way. , To create these very--just adorable and just so creative. I mean, to think like, they can figure out you have to put your decreases here, your increase there and your short rows here and like how they can do all that? How many frogs did the designer make to get the final pattern? You know?   Kelly 28:45 Right.A lot of experimentation.   Marsha 28:47 Yeah.   Kelly 28:48 In the creation process. In fact, her website is frogandcast.com. So as of today, March, what is it March 5 2021. The front page of her website is this little bear and the whole article is about about how she, how her design process for this bear worked. So I highly recommend it as a very interesting read. And it's also a cute pattern. But I'm not going to make this bear I'm going to stick to my Frog and Toad. So I've made toad. And I'm going to.. I want to start on frog soon. I'm gonna wash him, the toad, because I'm using the Ruama. Now I can't remember how that is pronaunced. Finnulgarn   Marsha 29:42 Oh, right, right, right   Kelly 29:43 that we bought. So this is yarn that Marsha and I bought at stitches one year because we, I was taking the Argyle sock class and so at lunch during my class, during a break, and Marsha and I went down to the floor of the marketplace. And we just started putting color combinations together. And it's Ruama Finnulgarn is what I'm using. The frog is going to be our Toad is in a brown color. And then I have another one of these Ruama Finnulgarn that is alpaca and I have a green, like a limey, goldie... Lime is not the right word, kind of a goldy, green color, kind of an avocado. You know, like 1960s, avocado, refrigerator look or something. Anyway, it's kind of a goldy green that I'm going to use for Frog. And I have the books. And I've been getting the books out and comparing the pictures on the book to the My yarns and stuff to to try to get the right combination. So but this yarn is the the one I use for Toad that doesn't have the alpaca in it is a little bit. It's toothy. You know, it's a woolly wool. And so I know those soften up when you wash them, so I'm going to block him before I stuffed him. And also the yarn will kind of bloom and help keep the anything is stuffed, you know, help keep the stuffing from showing. So yeah, but I'm using size zero or size one needles. I think I'm using size zero and the let me just double check. Yes, it calls for size one. And I'm at I'm using a size zero needle because my yarn is a little thinner. The pattern calls for a DK yarn. And I'm using a thinner yarn its more like a sport.   Marsha 31:43 I'm sorry, it calls for DK and size zero needles?   Kelly 31:47 It calls for size one needles.   Marsha 31:50 Oh one, ok.   Kelly 31:50 and it has a I mean,   Marsha 31:52 that's still that's really small. Because it's you want to have a really dense, right?   Kelly 31:56 Right, , so the stuffing doesn't show. Yeah, so anyway, I went down to size zero. And actually it was worked out well, because the size zero needles that I have are short. And the size one needles were longer. And it's so tiny, that it's really nice having the I don't know, they're just like maybe four inch needles, double points. They're they're small. They're small double points. And, and I don't use them. I can use them on socks. Like I bought them for socks. And I use them for socks for me. They're not my favorite sock needles, because I like using the wooden ones. But I can use them for socks for me. But for socks for Robert. With 72 stitches. They're just too, they're too short. Yeah, but they're perfect for this. I think magic loop would work. You know, you just have to keep track of where where she says to place the markers. Yeah. So that you can make all the all the little adjustments. Yeah, but super fun. His little fingers! You do little you do on his on his on his hands. You do little PicoT bind off. So you get little fingers. It's so my gosh, so cute.   Marsha 33:20 Again, Igo back to what I said. It takes a certain kind of mind. Yes, like amazing mind. This kind of stuff   Kelly 33:27 His little knees. He has nice has a little frog legs have little knees. So very fun. Very fun. I can't wait to start Frog this weekend. I'm hoping I'm hoping maybe I can have I can have them done by Easter would be kind of a fun thing to do for to give to Faye for Easter. So yeah, that's kind of my that's kind of my plan. We'll see if I am able to do it. But but that's what I'm hoping. fiddley definitely worth it. So that's my, that's the extent of my projects Marsha.   Marsha 34:08 Well, and I just have to ask the the, the Afghan the Oh,   Kelly 34:14 I have been working on it. The last the last time we recorded I hadn't done any significant work on it at all. But I have been working on it. Now I've made probably maybe five of the squares. Not the big octagons. But the smaller, the smaller ones that can connect and kind of... I made about five of those. And then I made another I have I have done one of the octagons but then.. I was... One night I was just focusing on something simpler. And so it's basically just a granny square. And then it has an edge that has a little bit of detail something a little more complicated. So I was just doing the basic granny square part and I did about I did about five of them and then I started...Another day, I picked them back up and started doing the outer edge of each of the squares. So yeah, I made made some progress on that. So maybe sometime in the late spring, I'll be done. I'll be done with that one. But I'm not going to make any promises.   Marsha 35:15 Yeah. Yeah. Never make promises.   Kelly 35:20 So what about you?   Marsha 35:21 So my Walk Along Tee, I've knit about six inches of the body. And I love the technique that we have discussed the Helical, right, we discussed? It's, it's great. There's some times when I get to the... there's fake side seam on the sweater and where you do you hold the yarn in front, and then slip the stitch through the back loop. And sometimes if you have any details, something like that, that's just not straight stockinette then you have to do a little fiddling around. Yeah. So like, as I said, in previous episodes, you know, this would not work for cables, or Yeah, this technique, it just has to be stockinette. But so I'm, that's just sort of my knitting when I watch Netflix. I just go around and around and around and around on them. I think you do about... you start doing increases on the way down. And I think I talked about this before, I'm not sure if I'm gonna put all of them in it. It ends up being a total of 20 stitches, which is fair amount, so I may not put all those in. I'm also beginning to worry about if I'm going to have enough yarn.   Kelly 36:37 Oh. Another one of those   Marsha 36:41 I know. It could be just illusion.   Kelly 36:44 Yeah, yeah.   Marsha 36:46 Because I have now... I had three skeins which I divided into half, right. So I had six cakes. I've used up two cakes. And I am probably halfway through the second set of two cakes. And I'm six inches of the body. And then I also have to do sleeves. So I-- but I'm going down to-- we're going down to Seabrook. I think we leave the 13th. So and that's where I bought the yarn at the string theory yarns in Seabrook, Washington. So I'm, when I'm down there, I'm going to have a better idea and I can maybe pick up another skein. I'm hoping I don't have to, but we'll see. Anyway, so I'm making progress on that. And I've been spinning on and off on the olive green Merino roving that I have that I'm combining with the dark brown, that's called bitter chocolate. And I've I had made two skeins and now I'm just filling up the bobbins again, so I filled the two green and now I'm filling up the brown bobbin. So I had-- it was-- we had a couple of nice days this week. And so I think it was Wednesday. It was nice. And I just sat on the deck. My new deck.   Kelly 38:13 Yeah.   Marsha 38:15 And spun. By the way, thinking that I was sitting out there spinning, Did you see my Instagram post of Enzo, staring at the dog.   Kelly 38:26 Yes. Yes.   Marsha 38:27 Isn't that the funniest thing that was so cute. Anyway, if you don't know what I'm talking about, go to my Instagram. And you'll see the picture of Enzo looking at the neighbor's dog. But the neighbor's dog is in the window peering out and they stare at each other for a good 15 minutes. It was pretty funny.   Kelly 38:45 I feel bad for Bailey because I think she's, I mean, she spent a good a good part of her life before she came to live with us living at a dog boarding kennel right? Doggy daycare and boarding kennels. So, so she was around other dogs all the time. And now it's you know, it's just her. And we have neighbors and they have... one of our neighbors has dogs that they fence fight, which I don't like so I keep her away from that. But the other neighbor has a lab that sometimes I can't find her in the backyard and I go looking for her and she's down at the fence and they are just like nose to nose at the fence talking to each other. Like, you know, not barking. Just like somehow communing. They're like keeping company with each other next to the fence. I feel like ohhh.   Marsha 39:36 I was gonna ask that, put this question out to people and to our listeners later on in the podcast, but since we're on this topic, I'm just going to mention it. Because Enzo has been acting really weird recently. I've been doing long walks, I take him out and he just drags towards the end of his walk. I have to pull him along to get him home. And he's very lethargic. So I thought and I was like.. I wonder if I had to take him to the vet, you know, he's not it. Maybe there's something wrong with him. I finally thought, I think he's bored.   Kelly 40:08 Mm hmm.   Marsha 40:09 His life is basically sleeping around the house while I do things. One long walk during the day, and then back to sleeping around that house.   Kelly 40:16 Yeah, he doesn't want the walk to end.   Marsha 40:19 Yeah, that's what I'm kind of wondering. And so I, I'm varying the route. I also am playing with him every day because I realized I wasn't playing with him. And Ben doesn't live with me now who would have time playing with him. So I, every day I take, I either chase him around the house, chase him around in the backyard, which he loves. Or I, the other thing I do, which he loves is that down in the basement, I take the ball and he stands at the top of the stairs, I throw the ball up to him, and then he kicks it, he knocks he pushes it down the stairs. And then I throw it back until we do that for about 40 minutes, 45 minutes, depending on how long we want to do it. And then I also decided to get him back into agility. But I'm having a difficult time getting him into class because I think so many people have dogs now. I went like all of the... We've done all the obedience classes, but they're all full till April or May. And so I signed him up for agility, but I can't get in until I think the end of April. Yeah. So I'm going to put it out to listeners if you have any ideas what to do to keep him... because he does seem depressed, kind of or bored.   Kelly 41:30 I'm going to give a suggestion. I am interested to hear what people have to say, but I'm going to give a suggestion. tricks. Teach him tricks.   Marsha 41:40 Oh, yeah.   Kelly 41:41 Well, you took a class, right? You did a trick class.   Marsha 41:44 Yeah. But I can't get into it now. So. Oh, but I can just do it on my own.I don't need to go.   Kelly 41:51 Yeah. So I mean, yeah, you know how to, I mean, you have some ideas for how to teach some of this stuff. But it's kind of fun. Is it a little more entertaining? I'd do that, at least for me, it'd be a little more entertaining than throwing the ball up the stairs for 40 minutes. Yes, for the human part of the partnership, it's more interesting   Marsha 42:13 well and use his mind more you know, I because that also, you know, he just needs to use his mind. But like, my brother came by yesterday said what's wrong with the dog? And so like he saw I was like, okay, you're here. He's usually excited. He's super excited to see Mark. But he was excited and then like, laying on the sofa. And then Mark came back in the house and he didn't even get up off the sofa. I have a towel down on the basement sofa and doesn't even get up to the greet him. He's like, That's weird. I mean, cuz he usually... Like they say poodles are smart. I sometimes wonder because he's super excited to see you. You go out to the garage, you come back into the house, and he's like, Oh, you've been gone. He's so happy to see you. Like literally two minutes, but, okay. Yeah, so anyway, people, listeners, if you have suggestions for how to get my dog, I don't think he's really depressed. But I think he feels like he's depressed and bored. And like the rest of us in the pandemic, you know. But anyway, yeah, so I'll go back to projects. so I've been spinning and I'm enjoying that I just find the spinning so meditative. And just that one day where I was able to sit out there on the deck was so nice in the sun. It just sort of gives me hope that spring is on its way. And then I, as we're talking I am swatching to make the Abington Mitts by Jennifer Lassonde and as we talked in... that's our segue into our, the knit along. But I just tell you, the yarn I'm using is Dale Garn Helio.   Kelly 43:53 Is that like a Dale of Norway yarn?   Marsha 43:54 Oh, I'm sorry. It's it's a Heilo. It's H E I L O, and it's a, I believe it's DK weight, which is what is required for the mitts.   Kelly 44:04 Something from your stash. Okay. Your Spirit yarn.   Marsha 44:07 No, no, it's not from my stash. It's from Kim's stash. I went and had dinner with her one night and she had a bag of yarn that was going. She had gone through her stash and she had yarn that was going to the Goodwill. And I said do you happen to have anything that's this weight because I don't need a lot for the mitts and I don't really want to go out to a store so... and I didn't have... I have DK weight but I didn't have anything that was not painted. I want a solid or semi solid. I thought it would look better with this pattern. And so she had this yarn, a whole bag of this yarn in two colors. The one I'm going to use is kind of milk chocolate color, brown, like a natural color. And then also she has another color in here a kind of a burgundy. So I think there's another yarn I can make two pairs, one in each.   Kelly 44:59 Oh, that's fun!   Marsha 45:01 So anyway, I'm swatching for that. And so for our knitalong, so we should talk about the knitalong   Kelly 45:08 So we are having an extremities knit along, and it was inspired by two offers of prizes. One is the Coffee Socks Collection that I already talked about, by Dots Dabbles Designs, Deborah. And the other gift that we got-- offer of a prize--was the Abington Mitts that Marsha is making. And so with these prizes when they came at the same time, and one was for feet, and one was for hands, and so we just decided, oh, let's have an extremities knit along/crochet along so you can knit or crochet anything for your hands, arms, legs, feet.   Marsha 45:45 We've had lots of discussion about this, but it's not your head. Because Kelly did lots of research and your head apparently is not   Kelly 45:55 according to the authorities on the internet [laughing]   Marsha 45:58 Yes. According to the internet, your head is not an extremity!   Kelly 46:02 That's no no hats in this time. Yeah, but legs, feet, arms, hands, you know, there's lots of lots of possibilities there. Mitts, socks are the most...   Marsha 46:15 And even though we're saying it's called a knit/crochet along you can weave, you can macrame.   Kelly 46:24 Okay, I don't know macrame sock? That   Marsha 46:28 Yeah. Interested in any you know, like any? We were also talking in the last episode, what is it called the   Kelly 46:35 Nalbinding. Now, that's how you say it? That's a that's a close facsimile of how it's pronounced at least. Oh,   Marsha 46:45 you know what I think would be really cool. Do you know those lace the little lace gloves that Ruth Bader Ginsburg would wear?   Kelly 46:53 Yeah,   Marsha 46:55 That'd be really fun to make.   46:56 Oh, you know, as we're sitting here, I'm sitting in the vanity area of our spare bedroom. And at the vanity table normally... not right now because I move everything when I want to record. But at the vanity table, I have a little, one of those little vanity mirrors with perfume bottles. And then I have a pair of crochet gloves. Do you remember Marsha when I bought those at the antique store?   Marsha 47:24 Yeah,   Kelly 47:25 I have no idea how old they are. But they're teeny tiny still little crochet stitches. And they have the little buttons. They're long gloves though. They go up your arm and they have the little ...they have the little buttons and the buttons are crocheted. And the little button loops are all crocheted. The button holes don't go all the way up the gloves. Like the whole gauntlet part of the glove doesn't open up. There's just a section of buttonholes. Yeah, that would be fun. A knit or crocheted set of fancy, old fashioned.   Marsha 48:01 They were kind of like fishnet kinda.   Kelly 48:04 Yeah. Like afternoon tea gloves.   Marsha 48:06 Mm hmm. I'm as we're speaking, this is bad podcasting, but I'm just looking at online and there's like a, there's a crocheted pair. From J and P coats. It looks like it's very old because it's a black and white photo with an old car. Okay. I don't know if they're Yeah,   Kelly 48:25 that's a that's a company that makes like the crochet cotton. Yeah. Oh, that would be fun. Well, and you know, the other thing that I thought of is our we had bought the silk to make silk socks. Last year at Stitches. I haven't started those yet either. But I'm gonna-- I'm gonna stick to the socks that I have for right now. But yeah, the mesh gloves. There's there's a lot.   Marsha 48:50 We'll search, Yeah. And apparently you can buy this on on Amazon. It's not that old a book. It was published in 2009. I guess that is old. Well, no. That's right.   Kelly 49:03 I'm thinking of like, gloves from the 1950s or something.   Marsha 49:08 Yeah, that's what it kind of looks like but it's a it's like those lace gloves like she wore in that really fine cotton. And so and there's other patterns here too. So   Kelly 49:15 cool.   Marsha 49:16 Yeah, I don't know. Okay, well, we went we went down a rabbit hole on that. Okay.   Kelly 49:23 But you know, you can have a, you could have a nice pair of gloves for Easter. So lots of possibilities. Join us. There's a chat thread and there's a finished object thread. Quite a bit of chat going on about the projects that people are doing not very many finished objects yet but there are a few I noticed.   Marsha 49:42 So,   49:43 and then our Winter Weave Along, not much time left. I have hopes of getting at least something else started if not finished. But we'll see. The only reason I still have hope is because I have spring break. Coming the third week of March, so two weeks, two weeks from now I have spring break. Yay. So maybe I could do something during spring break in terms of the weaving, but otherwise, I'm almost, I'm almost sure that I don't I, I'm almost sure I won't get something finished. But I might get something else on the loom. Because it ends March 31. So another year of weaving coming to an end for us. But if you're in the Jane Stafford Guild, her year of weaving is just starting. So that's kind of fun.   Marsha 50:37 Okay, one ends and one begins so you get you get to truly a full year. Well, I guess it's been a full year.   Kelly 50:44 I haven't ever kept up with hers. And like woven the thing, the projects in the guild, at the time that everybody else, you know, at the time that the the videos come out? I wanted to do that this year, but I'm not sure. I don't know. This might not be the year teaching online. It's getting better. I have to I have to admit it is getting better. But well, you know. It's it's not my favorite thing.   Marsha 51:11 Well, we should not end the podcast on the same vein as it started. Listening to Kelly rant about stuff she doesn't like! Yes. So anyway, the winter weave along is, is ending March 31. So get your projects in, put them in the finished objects thread. Then we'll be doing a drawing and one of the things that we have as a prize is a class that was donated by Erika from Weavolution. So. And then the other thing that I just wanted to say, before we end is I wanted to thank our new patrons! We have three new patrons. Jane, Heddi, and Jan since the last time I mentioned new patrons. So if you'd like to be a patron, how you do that is you go to patreon.com/twoewes. And you'll see our... I guess it's a channel or a page. I don't know, our account. And then and you can you can become a patron and support the show. So really, thank you so much Jane and Heddi, and Jan for for contributing to the show. It allows us to provide, you know, the podcast hosting and prize mailing and all those kinds of things and something new, Marsha! Something really exciting that we're able to do because of the patrons. Transcripts. Oooh! Oh, yes.   Kelly 52:41 So we now have a transcript of our podcast. Having used the transcription service for my classes, I learned a little bit more about the company that's powering the transcriptions for our for work on our classes. It's otter.ai. And so I went to their website, and they have regular accounts for regular people. And not you know, not just education and and such. And so I found out a little bit more about it. And so we just when the when the podcast is done, you submit it, it creates a transcript. You have to edit it because it's not entirely... It's not entirely accurate. It doesn't always understand when Marsha and I talk over each other. So there is a little editing to do for that. But But now we have a transcript that is attached. It's in the show notes at the end. So we have our regular show notes posted on the blog. And then at the end of that show notes post is the transcript. Okay, I have to say it is almost as an nerving to read as my math. My teaching transcript. I don't know if you read if you had a chance to read?   Marsha 54:06 I didn't read it. And now actually as you were talking about all this I was sort of thinking to myself, I don't know that I want to read it because...Oh, here it is. Okay. Here. I'm sorry. I think this is what we say every every episode. Kelly: hi Marsha. Marsha: Hi, Kelly. Kelly: How's it going? Marsha: Pretty good. Kelly: Good.   Kelly 54:28 Yes. It doesn't... I have to say, yeah, it made me laugh to read how it sounds, but it makes it available to people that wouldn't be available to otherwise.   Marsha 54:41 So Kelly, we need to edit this. Because you say you know "good," and then I say "had pretty exciting weather here in Seattle. A little unusual for us that we had a huge snores" Oh! This is what I said "Excuse me, snore a huge snowstorm came through. [laughing} I did actually say that! Okay, [laughing]   Kelly 55:06 yeah.   Marsha 55:07 Okay, This is terrible. This is embarrassing. I'm gonna have to do a much better.   Kelly 55:14 So now remember when we talked about how I was like, Oh my god, how could I have been teaching this long and not make any sense?   Marsha 55:23 Yes. Well, what I'm just laughing about is is that it was not the episode where I'm trying to explain helical knitting. Yeah, and I'm waving my hands around in the air trying. Yeah, but so   Kelly 55:39 it's been an interesting process, we'll probably get better. The transcripts will probably get better as we go along. But, you know, I become more aware, it would never have occurred to me a year ago, two years ago, it would never have occurred to me that you would need a transcript for a podcast. My thinking would have been well, why would someone who can't hear even think to listen to a podcast? Right? And, and my, my eyes have been opened, you know, having to make my class accessible to my students. And then other things, you know, the conversations about racism and structural, structural racism. And all of those conversations have just kind of opened my eyes and made me think about things that, that I didn't think about before, I would not have thought about a reason for making a podcast, an audio experience, available to someone who couldn't hear.   Marsha 56:40 So I'm not.[laughing] I'm sorry, I am not laughing about what you're saying. Just so you know, I'm sort of chuckling because I'm listening to what you're saying. But I'm also kind of scanning the transcript. So I'm sorry, I am not laughing at all at what you're saying.   Kelly 56:52 What are you laughing about now?   Marsha 56:54 Okay, so um, so it was very pleasant to sit out there on a snowy day because you have heat but anyway, period. Then that night, it just started coming down and it snowed all day period. I mean, all Friday night, Friday morning, or excuse me, Saturday morning, all Saturday into Sunday. Just It never stops. And we have I mean, eight someplace about eight inches probably at my house. Snow, that's a lot of snow for us. We don't usually get that much. But of course then Sunday, late Sunday afternoon or evening. It just turned around. [laughing]   Kelly 57:36 Marsha, this is what we talk about.   Marsha 57:38 Oh my gosh. [laughing] And then it just became soup out there. You know? Kelly? We have to do a better job. This is terrible! So eye opening what sounds okay in normal conversation is not okay. The transcript it's unreadable. Pretty much. Oh, my gosh, it's too funny. [laughing] Well, anyway, I have work to do. On clarity,   Kelly 58:15 We both, we both do, I think, having having read through it last last time to do the editing. Yeah, we both do. So anyway, now we have transcripts. And I'm very happy that we're able to do that. And it's thanks to the contributions of our patrons. So thank you very much for contributing to the podcast.   Marsha 58:41 I'm still laughing I'm sorry. I will stop laughing.   Kelly 58:48 Okay, Marsha. [laughing] Are we done?   Marsha 58:54 This reminds me of those times over the course of our friendship where we'd have those laughing attacks.   Kelly 58:59 Yes.   Marsha 59:00 And have accidents. So I better get off the podcast. We better get off the phone before I have an accident.   Kelly 59:07 All right. Bye! [laughing]   Marsha 59:13 Okay, bye bye. [laughing]   Kelly 59:16 To subscribe to the podcast visit Two Ewes Fiber Adventures dot com.   Marsha 59:21 Join us on our adventures on Ravelry and Instagram. I am betterinmotion and Kelly is 1hundredprojects   59:29 until next time, we are the Two Ewes doing our part for a world fleece!  

Pursuing Health
Reversing Prediabetes with Dr. Robert Oh PH182

Pursuing Health

Play Episode Listen Later Feb 9, 2021 49:06


Seemingly healthy and in his late thirties, Robert Oh was shocked when routine blood work showed that he was prediabetic.     He was at a healthy weight, did CrossFit 3-4 times per week, ate mostly healthy foods, and worked as a military family physician.  He had no family history and no risk factors, and he had no intentions of starting the metformin recommended by his colleagues.   The more he researched, the more Dr. Oh began to believe that a statin medication he had been taking for 10 years contributed to his insulin resistance.   Instead of adding another pill to his daily routine, Dr. Oh decided to drop the statin and experiment with his nutrition.  He ultimately adopted a Paleo/low carb diet and saw dramatic improvements in the way he felt, his waist circumference, and his blood markers.   Not only did this approach help Dr. Oh reverse his prediabetes, the changes inspired him to pursue a fellowship in Sports Medicine so that he could help others like himself- in the military and unknowingly having insulin resistance- heal through lifestyle medicine as well. You can connect with Rob via Twitter @RobertOhMD   Related Episodes: Ep 16 - Pete Katz and Dr. Isaacson on Using CrossFit and Paleo to Overcome Chronic Disease Ep 93 - Debunking Nutrition Myths with Gary Taubes   If you like this episode, please subscribe to Pursuing Health on iTunes and give it a rating or share your feedback on social media using the hashtag #PursuingHealth. I look forward to bringing you future episodes with inspiring individuals and ideas about health every Tuesday. Disclaimer: This podcast is for general information only, and does not provide medical advice. We recommend that you seek assistance from your personal physician for any health conditions or concerns

Up Next In Commerce
How Kellogg's is Leveraging Emerging Technologies and Strategic Partnerships to Build a Scalable B2B2C Platform

Up Next In Commerce

Play Episode Listen Later Jul 14, 2020 57:02


You may only know Kellogg’s as the company that makes your favorite cereal. But there is so much more to the company than just delicious treats. Robert Birse is the Head of Global B2B Ecommerce at Kellogg’s, and he has been leading the charge to position Kellogg’s as one of the leaders in creating scalable B2B Ecommerce strategies. On this episode of Up Next in Commerce, Robert explains all the ways that Kellogg’s is upending traditional Ecommerce strategies in order to help customers find greater success. Using technology like A.I. and machine learning, and by developing a platform that all of their customers and partners can use, Kellogg’s has been pushing the ball forward on bringing small and large businesses into the world of Ecommerce and helping them get the most out of their Ecommerce strategies.  3 Takeaways: A brand like Kellogg’s has the power to up-end the typical Ecommerce strategy. Instead of asking how to get customers to buy more, they ask how they can help their customers sell more. In doing so, their customers and partners become more successful, and it’s a win-win for all parties Change management is important because many of the small businesses Kellogg’s works with have to fundamentally change the way they think about doing business.hey have to rely much more on technology than ever before. But the appetite is there because A.I. and predictive analytics are proving to be critical tools in helping businesses determine what to stock and how to look at consumer behavior B2B Ecommerce is still in its infancy, but there is an appetite for innovation across the board from brands to retailers to distributors. They’re eager to test, iterate and experiment with new technologies in order to create better one-to-one engagement at scale For an in-depth look at this episode, check out the full transcript below. Quotes have been edited for clarity and length. --- Up Next in Commerce is brought to you by Salesforce Commerce Cloud. Respond quickly to changing customer needs with flexible Ecommerce connected to marketing, sales, and service. Deliver intelligent commerce experiences your customers can trust, across every channel. Together, we’re ready for what’s next in commerce. Learn more at salesforce.com/commerce --- Stephanie: Welcome to Up Next in Commerce. This is Stephanie Postles, your host from Mission.org. Today I'm very excited, we have Robert Birse on the show, the head of Global B2B & B2B2C E-commerce at Kellogg. Rob, how's it going? Robert: It's going great. Thank you very much, from captivity. Stephanie: Yes, yes. How is life in captivity? Robert: Well, I'm thinking about calling Amnesty International, see if they can get me out of here. Stephanie: Well, we were just talking about what life looks like right now, just us eating lots of Cheese-Its on our bed at home, calling into Zoom calls, or maybe that's just me. Maybe that's not you. Robert: No, I think that's a typical picture across the world right now. Stephanie: Yeah, which is okay. Temporarily, it's okay. So, I saw you have a very long history in E-commerce. I think I saw dating back to even early 2000s, right? Robert: I'm afraid it was in the '90s. Stephanie: Oh nice, okay perfect. Well, I would love to hear a bit about your background and what led you into E-commerce. Robert: Sure. Well, I was working for a catalog distributor, so not a distributor of catalog. We use the catalog as our medium to communicate with our customers who were predominantly engineers in factories across Europe. The business that I was responsible for at the time was a small specialist distributor, and we were struggling a little bit to find our position as E-commerce was starting to take more of a role in the consumer engagement or the customer engagement in our case. So we were on the tube and this was the late '90s, and we took a digital transformation, even though digital still wasn't really a bonafide strategy because it was only emerging. The first task we undertook was to create a digital asset library from all the bromides and things that we'd cumulated to support the catalog production. Robert: So we partnered with a startup in London, a bunch of basically college graduates who were trying to create the first digital content management system. And that was more than 20 years ago. So we did that and we started to work to create a digital presence online, starting with static content and then moving into transactional capabilities. It helped transform that little business into something that had a much greater future. So that was my first introduction to digital and then never looked back since to be honest. Stephanie: Oh, that's great. What kind of transformations has your career seen since the starting point in the '90s to now? And what does your role look like now at Kellogg? Robert: Yeah, I mean, I've used digital disruption and innovation in all the roles I've had since that position in the UK to varying degrees of impact. When I joined Allied, and I moved to Texas, we transformed that business collectively from a couple of hundred million to 600 million in a very short period of time. Just really ensuring that we unified the sales channels with the digital channel. In the early '90s, or early 2000s was very popular to Ring-fence E-com as a separate channel, and I felt that was wrong. So when we moved to the US I tried to ensure that the unification happens, so it was the best one to punch we could possibly give our customers, we're always on capability with the human interaction. I have used that principle throughout my career to build success. Robert: Ultimately all the way to Kelloggs where now, I'm using technology to create value for our customers, changing the paradigm that was always traditional in sales engagement of how do I get my customers to buy more? Now the principle behind our E-commerce strategy from a B2B perspective, is how do we enable our customers to sell more? And then we will be the recipients of the downstream benefit in due course, and that's a big change in the approach. Stephanie: So what did your first, maybe like 90 days look like? When you came to Kellogg's and you saw the lay of the land, what were some of the initial things that you were like, we have to do this, or have to shift this? What did you do? Robert: Well, the train was leaving the station when I joined Kellogg and I decided to embark on a pilot, a B2B pilot, in Brazil of all markets, one of the hardest B2B markets in the world. So it was an interesting challenge to ramp up very quickly. Now, thankfully that we're using Salesforce Commerce Cloud as the technology platform, which I was very familiar with. So that was okay, but getting familiar with our business model in Brazil, which was a direct store delivery model was a different beast for me. And then obviously with Portuguese language challenges, it was an interesting 90 days, but it was certainly a massive. You know the saying, jump in the deep end and [inaudible] and that's where I found myself. Stephanie: Thankfully you're still swimming today, which we all are glad about. So what does your day to day look like now? And how would I think about B2B when it comes to Kellogg's? Because from a consumer perspective, I don't really think about what goes on behind the scenes. I just go to my local whole foods. I find my cereals and my RXbars, and I don't think about how it gets there or how maybe it gets to a smaller Mom-and-pop stops. So how do I think about Kellogg's B2B experience and B2B2C experience? Robert: Well, I hope the consumer will start to see how B2B is impacting the shopper experience, not directly but indirectly. So as part of our mission, we're trying to use technology B2B platforms to create a conduit where we can influence, educate, and inform and enable our retail, especially our independent small retailers. Not a frequency store or space in particular, to be better store owners and to create a better in store experience. As well as use some of the modern engagement tactics, such as social media engagement to bring more food traffic to their store from within their community. Therefore, strengthen their business and providing a jumping off point for them to become more successful in the future. Robert: So the consumer should recognize that when they go to the store, the store has always got the product they're expecting to find in the store, and if that product is displayed in a fashion that's compelling and it's positioned next to other products, they well, that would be the perfect combination. Then B2B commerce, modern B2B commerce is starting to have an impact on the buying experience. So that's what goes on behind the scenes, and that's what our vision is built around. Stephanie: Yeah. That is something I never think about, is this product positioned next to another one to make a better, maybe make me buy more. How do you figure out what products should be next to each other? And how do you work with the store owners to ensure that they abide by those rules? To make sure that, maybe not rules, but it'll also help them sell more as well. So how do you work with the store owners to creating a partnership? Robert: Well, in the past, it was always through traditional sales engagement. The Lucas success has always been a principle behind how we've engaged our retailers in using planograms and driving compliance around these planograms and the science behind them has been well understood, and the discipline has been in place for a long time. However, the cost of serving and maintain that relationship at a cadence that we need to continue has become ever more challenging. So digital is helping to change that paradigm and allowing us to go back to the long tail and really start to help our smaller retailers to really become stronger and more effective in their day to day life. So we see things like AI driving the intelligence around product recommendations for a store type, for instance. Robert: So if you are an independent store owner and you are in a rural environment where you are a 1,000 square feet and two the cash registers, that we would like to be able to cluster you with other retailers just like you, do the analysis and determine what you must stock, what you could stock and what you shouldn't stock. And then ensure that we're talking to the owner operator on a cadence that would allow us to then do more of that and offer and recommend as consumers trends change. So we're always ahead of demand, not buying demand in the long tail. Stephanie: How do you stay ahead of demand? What kind of tools and technologies are you using to ensure that you're able to quickly react to consumer buying behaviors or inventory levels for the store owner? How do you stay ahead of those things? Robert: Well, you're giving me way too much credit to say that we're actually ahead of those things, we're aiming to be ahead of these things. So let's make sure that's completely clear and we're being transparent, there's a lot of work to do here. So what we see is the ability to take all that historic purchasing information, and then combine it with social listening to see what consumers are talking about, then plugging in triggers like weather and other influences on buying patterns and then continue to feed machine learning and AI logic to build a picture that is constantly dynamic and changing so that we can then say to the customer, the retailer, "Hey, this product is starting to decline its popularity so we're recommending you start to reduce the inventory you carry. And by the way, this product is gaining popularity and we're going to drive a marketing campaign in your market to promote it. So now it'll become a hot commodity, please accept this recommendation and capitalize on that demand and it will happen in the coming weeks." That's what we're aiming for. Stephanie: Do you see the partners being ready to accept that and wanting to stock the products that you're recommending? Are they trusting your guidance or has it been an uphill battle when it comes to those recommendations? Robert: Well, first of all, the primary segment we're focused on is that high frequency store, independent retailer, a C-store, a convenience store that kind of customer segment, and they've been incredibly underserved for many years now. So any insight that we've given them so far, and the questions we've asked them about would it just be of interest, they've all unanimously said, this is what we've been asking for years, please help me grow my business. So I think the appetite is definitely there. Stephanie: Yeah, that's amazing. How do you set up platforms and systems for these different businesses? Because I could see each one needing something a little bit different. So how do you scale that model to provide the data to each company in a different way, or each, like you said, store in a different way? Robert: Right. It has to be done without human intervention to start with, we cannot be responsible for building an army to support such endeavor. So at Kellogg we're really focused on a single global platform, one ecosystem of applications that will scale globally across markets and channels and the customer segments within these channels, with a lower cost of ownership as we scale it out. So that's the first guiding principle. The second end is, if a machine can do it, we probably shouldn't do it. So everything is going to be machine driven. And then by rewarding the owner operators to complete their profiles, that allows us to capture information like, is your store rural, suburban, or urban, gives us another great data point to then create more effective costuming. Robert: And then in these clusters, the analytics can be very powerful and the machine can then start to communicate through marketing automation on a cadence that we could never possibly imagine before, and then touch them with relevant content that is absolutely pertinent to their business. So I would make a recommendation to you and your store that you're missing these two products, you should this and if you do stock these, we predict that you will make X number of dollars incrementally every year thereafter. And that's very powerful for comparison. Stephanie: Yeah, no, that's great. Are there any pitfalls or learnings when going about this partnership model and helping the retail stores that you saw along the way that you would find maybe other companies or brands will need to do this, where you're like, "Hey, we ran into this problem along the way, or this was a big hiccup that other people could probably avoid if you listen to this podcast." Any advice around that? Robert: Well, I think it's going to be the same answer that everybody gives, and that's really focused on education, change management. You're asking people to change their habits. So in emerging markets like Brazil, for us high growth markets, there's a full service that the reps provide to date. And so the store owners are accustomed to doing a particular style of business with us, we're asking them to change that and be more responsive from a digital perspective. Now corporate, for all the bad and sadness that's come with corporate, it has been the catalyst for changing the perspective of many retailers to how they should interact with their brands. So that's been that the silver lining of corporate is it's elevated the position of why B2B could be a very important tool in their growth strategy going forward. And that's changed the perspective of consumers considerably. Stephanie: Yeah, that's a good silver lining. So I saw that you also created a mobile app to reach some of the smaller retail clients. Can you tell me a bit about what problem you were facing and why you thought mobile was the best way to solve that problem? Robert: Well, that's a really easy one is the business tool of choice for small business owners. The internet and the mobile device and companies like Kellogg's are now developing solutions, online solutions that years ago would have been financially out of reach. Now they have all these tools that they can run their business, and that's why mobile is so important to us. Stephanie: Got it. Do you ever feel like you're encumbered by trying to meet your partner obligations or that the experiences maybe can't be what you want them to be because of certain obligations you have with partners? Robert: No, I feel more enabled to be honest, because it's a difficult market. The times are always challenging. So anything that might add value to a relationship, I think it goes a long way to creating a winning business scenario. So don't feel there's any barriers, maybe some adoption challenges that those would have been there regardless. So I feel that there's such a large opportunity to use Ecommerce to change our engagement model, that there're enough partners that have put their hand up and will put their hand up to say, "Yeah, I would love to be part of that because I can see that could create competitive advantage for me and alone I can't do it but in partnership with you, I feel that you could guide us and help us aspire to our own digital endeavors going forward." Stephanie: Yeah, completely agree. How do these retail partners keep track of all their other brands? So I'm thinking, if Kellogg's has their website that you would log into and you would look at the recommendations and get your orders and your inventory and all that kind of stuff. How would a retailer keep track of everything else they have in their store too? Is there like a single source that they can rely on or how do they think about that? Robert: So that's a great question, and it's greatly misunderstood. There is no real lifespan for a single application to serve a single brand in a retail environment. Who in their right mind would manage 50 different applications from different brands? So for two different models, I foresee. So in a mature, disciplined distribution based market, such as North America where most of our distribution wholesale partners have a web presence to date with E-commerce capabilities, we will be looking to integrate into that, to improve the experience in that environment. So think about a store within a store concept, and that would be where I would see brands like Kellogg's and others prospering and allowing the retailer to buy across a broad selection of products available from the distributor, but also to technically punch out to reach my Kellogg experience, where they can see their performance plus with their peer group to get the recommendations that we're offering, being informed about trends and product demand and so forth. Robert: And then if they're inclined to confer upon a recommendation we've given them that product order will go back into the distributor environment to be processed in a normal fashion, thereby allowing them to continue to go about buying other products for the store. Now in markets where distribution isn't as well evolved from a digital perspective, then marketplaces become the answer to ensuring that a retailer can go to a marketplace designed for their customer segment, with brands that represent at least 40% of their shelf. So that there's enough for them to do in one execution to not create administration, but to reduce administration in the procurement of product. Stephanie: I got it, that makes sense. How do you think about working with different platforms? You just mentioned marketplaces and I saw when you go on Kellogg's website, you direct people to go on platforms like Amazon and then also CVS and Target. How do you balance working with bigger stores and retail partners, and then also platforms like Amazon within your Kellogg strategy for E-commerce? Robert: Well, there's a lot of room for improvement on both ends, so in the end you're referring to where the large platforms are in play, there's a ton of up side to improve content, to improved recommendations, to really get deeper integration, that we can take all that learning and insight and present it as a more refined offer list dynamic. Obviously the price part architecture element of ensuring that what we're presenting is something that's scalable and profitable for us, as well is a key factor in these relationships at both ends, of course. I would say that they're not mutually exclusive in the sense that, we can operate in two spectrums here. So in the large platform, but also taking that technology and applying it to enable the long tail to prosper. Robert: Monetizing the long tail is actually, a very worthy prize worth unlocking for every CPG company in the world. And I think that's where the glue on your food is to be honest, we do a great job in most cases with our Walmart's, and our Target's and our Amazon's. We don't do a tremendous job today with a smaller, high-frequency stores as an example. Stephanie: Yeah. That long tail does seem really important. How would you advise other CPG brands to engage with those? Like you said, the long tail? Robert: Do you know, I think partnerships are key. The synergistic product from more than one brand that you could curate into a collective offer, there is a lot of power in that. So strengthen in numbers has always been the case. So I think we could really team up better in the industry to make a more powerful proposition to our retailers, that creates greater value, greater economies of scale, and it's easier to adopt. And I think that's what's missing today because everybody is a little nervous about working together, trade secrets and what if the competition find out. But honestly in my entire career, I've always had a hard time just getting our innovation execution done, nevermind, stealing somebody else's in time. So in reality, it will never happen, but there's an insecurity, that's common to human nature, I guess. Stephanie: Yeah, I see the same thing in startup world where people don't want to share their ideas and you're like, "Trust me, I've got my own stuff to work on, I'm not trying to steal your idea and build a whole nother startup on top of the stuff that I'm working on. Don't worry." Robert: So true. Stephanie: Have you seen any successes when it comes to those partnerships that you would advise others to think about it this way, when it comes to letting people lower down their guards and allowing them to see this could have benefit for everyone, any successful case studies there? Robert: No, nothing is mature as a case study yet. We're still very much in the embryonic stage of developing this strategy. You can see it though in play from time to time when we do joint ventures with other brands targeting the consumer, to be honest. We did last year, we did a very exciting campaign with cheeses and house wine, that was the box wine company. Stephanie: Oh, tell me more about that? Robert: Well, this one is very interesting and very simple, it was a box wine. The box had to be extended to contain cheeses. Cheese and wine, as you know, is a perfect combination. I personally was just eager to get my hands on a box and, yeah, that morning it went live at nine o'clock and we sold everything in about 40 seconds, I believe. So none of us got any, so the power- Stephanie: You're still on the wait list. Robert: It's never coming back, I don't think. Stephanie: Oh, no. Robert: We have to recover from the demand. Yeah, cheeses doesn't need much help [inaudible] as I said, we can't make enough to meet consumer demand. That's a great example of when you can join forces and just make the proposition more compelling. So I see that playing out in the B2B space as well, as I said before, together we're stronger. Stephanie: Yeah. How do you think about what partnerships are advantageous to have? It seems like it'd be hard, and I could see a lot of brands maybe partnering randomly, and you're like, "Ah, that's not really even helpful to the consumer." So how would you think about striking up new partnerships in a way that's mutually beneficial to both brands and is good for a longer term strategy? Robert: Well, it depends what your ambition is, of course. So there'll be different solutions for different approaches. I mean, obviously, we wouldn't partner with a Benjamin Moore Paint brand, there's no correlation. So within the food industry taking snacks as an example, the beverage industry is the perfect partner, beer, wine, alcohol, Cheez-It and Pringles, it's a perfect combination. So the same as for cereal, milk and yogurt, it's a perfect combination. So there's definitely groupings of product where you can see which brands aspire to the same vision, it would be critically important as well. So just because the product has synergy doesn't mean that the strategy is there, you can't force a round peg into a square hole. Robert: So my first checkbox criteria would be, is the digital ambition the same? Do both companies, or do three or four companies aspire to own breakfast across all hospitality in the world? Well, if we do, then we've got a common objective. Now, how do we go about it together is the next step. Stephanie: That's great. It seems like the larger brands too, might have to give a little bit more, or provide a little bit more help to the smaller brands, if they're picking someone like ... If you were partnering with a smaller wine company or something, it seems like you might have to be ready to do maybe the 80% of the heavy lifting, because maybe they don't have the resources or the budget. Is that kind of how you're seeing things play out when you pick partners, that sometimes Kellogg's has to do the heavier lifting to create a partnership? Robert: Yeah. Even with partners with some of the bigger brands we're actually willing to do the heavy lifting. We made a decision with our leadership to own our destiny in this space. So it's from top to bottom, and I do see that small startups in an incubator fashion, we would be a great big brother to get products launched. And we have our own startup business within Kellogg's where we're giving grants to products like Leaf Jerky and so forth, which is a different plant-based product that challenges the status quo of what we felt like Jerky was in the past. So yeah, I could see that there could be a market verticals that we would go after, there might be health club awaited before we joined the Kohler, we were talking about RXbars and examples. Robert: So predominantly through health clubs and so forth, why not probiotic yogurts? Why not non-alcohol based beer? So why not the combination? All plays well to the health industry, so there might be some small companies in there that are pioneering excellent alternatives that we would be, I think, more than delighted to partner with them. Stephanie: Yeah. No, that's great. So Kellogg's is over, they've been around for over a 100 years, right? Since 1906, is that correct? Robert: Yeah, it's correct. Stephanie: Okay. Oh, good memory, Stephanie. So with a company that's been around for that long, how do you think about making sure that the company continues to innovate? Like you said, you have a startup within Kellogg's, what do you see within that startup? What kind of products do you see coming out of that? And would you advise a lot of other large companies to also put on their startup hat to compete with these B2C companies that are all popping up everywhere? Robert: Well, change has become the new norm. I mean, taking COVID aside, people want to taste new things, that is my impression, anyway. I think, there's an appetite for new and more challenging flavors and so forth. So in the food industry, I can see that the innovation around our product offers is actually critical for success. But the innovation doesn't stop there though, we have to be more innovative in how we present these products, how we ensure these products create value other than just in flavor, but in health and wellbeing as well. So Kellogg has always been a very health driven business right from its inception, that continues to be an underpinning philosophy of our company. I see a great deal of passion in our business and investment for innovation. It's not just digital, it's all down to food, not innovation kitchens and the chefs we have, they're inspired to really go find new products. Robert: We do a great job of creating an incubator within our business by constantly searching for ideas within our employee base around what we could do with Kellogg products. So I think you look inwards and outwards there's no stone not worth turning over to find out an idea about a new product. Stephanie: Yeah, that makes sense. When you mentioned marketing earlier, it seems like you would have to market to two different audiences. You have to market to your retail partners and then also to the consumers, how do you go about, maybe within your platform where you're selling to retailers, do you market differently than how you do to consumers? Or how do you think about that? Robert: Well, so now you bring up an interesting subject in the sense that direct to consumer, which could in sense be side by side be B2B, does provide you with an awesome channel to test the appeal of new product, and affordable cost if you engineered it appropriately so that you've got something you can stand up and tear it down quite quickly without major investment. So I don't know if you would really want to continually be knocking on the door of your retailers with new products without having some good market data behind it, to say that this will sell. And so testing that product in market that becomes a critical part of the evolution of the go to market strategy. So I see traffic consumer testing being interesting proposition for companies like Kellogg's going forward. Stephanie: Got it. So you test the product with a market first, and then you go to your partners and say, "Hey, a lot of people like this, you should also put this in your store?" Robert: Absolutely, because that's where we get the scale, and then we can then turn on all of our abilities to cross sale and use some of the capabilities we talked to earlier about in the B2B platform, ensuring that our retailers know how to create success with new product. There's another interesting aspect of that too, so if you'd go back to the conversation around the long tail of retail, these companies, these business owners don't have sophisticated inventory management tool. So one of the biggest challenges we're solving for is ensuring that new products, our products we've recommended for that retail when they're placed that they stay. Because we see a lot of occasions where a new product is being placed or our product from the portfolio that they should be adopting, has been taken. Robert: And then a week later has been sold and never replaced because somebody in the evening has just redistributed product on the shelf to complete the look and that position be lost. And so making sure that these products are reordered and reordered again, until they become habitual, their presence is habitual on the shelf is a massive opportunity so it's not about just new product and innovation, it's also about ensuring the stickiness of product they are placing on a shelf. Stephanie: What ways do you engage with your partners to make sure that they, like you say, keep reordering, have you seen any best practices to stay top of mind with these people even if they do excellent and lose a spot in the shelf. They're like, "Oh, hey, this product actually belongs there." How do you go about building those patterns? Robert: Well, there's also technology becoming available from scanning to just constant recognition. So there are solutions coming, they're not particularly affordable today for the segment we've been addressing, which is the high frequency stores segment. So the challenge has been resolved by manpower up until now, and of course, that's not very affordable. It's interesting when you go to markets like India, if you don't show up something else will steal your space. Stephanie: [inaudible 00:32:09]. Robert: I know, so there's a whole bunch of, I must run ... Making sure that you hold onto the shelf space that you've worked so hard to attain. So we're looking at tools like, asking our retailers to take shelfies using the robot cameras and uploading- Stephanie: Shelfie? Tell me more about a shelfie. Robert: So a shelfie is just, the shelf equivalent of your selfie, in the sense that, we're to set challenges for our retailers and say, "Listen, take a shelf of your cereal display." And then we'll match that image to the planet ground that the AI has in its memory, and then give them a score, and that score will then be translated into points, Kellogg points that they can use for purchasing everything from a discount to cleaning services, say for instance, in the future. So one thing happens in this process, is we ask them to do a challenge, before the actually did their pictures there is a pretty good chance they're going to address any gaps on their shelf. So we see it being a little self serving and helping us get a better position in the store, but also then just educating the retail around best practice and reinforcing that practice. So the look of success is getting closer and closer in the package stores within their reach. So that's just one example, I guess. Stephanie: Yeah, no, that's awesome. That's a really fun example. Have you seen the rewards program that you have actually really incentivize these retailers to, like you said, take these shelfies and engage with your brand more? Robert: No, again, you gave far too much justice. I talk with authority, but we're still very much in the theory and the testing, the technology is still catching up, but we see rewards and we have a rewards engine built into our platform to date. We haven't really turned it on to its full force yet, but it will be a cornerstone of our strategy. We're looking at gamification rewards and recognition as being a key driver of behavior going forward, and creating the path to best practice. So it will be a constant in our engagement strategy, so at eight o'clock, nine o'clock at night, we'll be connecting with an owner operator of a store through WhatsApp or email or text to say, listen, we have a challenge for you, and this challenge is worth a 1,000 Kellogg points. If you go and take that shelfie or if you can tell us, answer this question about the new product you recently stocked, did it sell out, did customers come back and repurchase? Did you get any feedback in any shape or fashion about the flavor? What did they think, and reward them for that first party data insight. Robert: Now, all of a sudden you've got this incredible ability to harvest information that could be invaluable to your R and D teams. At the same time, you've got the opportunity to influence best practice and take the customer on a journey, the customer being the retail owner operator on a journey to become better at their craft, which is super exciting to us. Stephanie: No, that's really awesome. It seems like there'd be room to build a community among these store owners, to all do the challenges together and to talk about best practices. Have you all explored that? Robert: We're exploring it. We're definitely exploring it. So it came from, when we looked at one of our customer's segments being a K through 12 schools starting here in North America, there's a lot of schools that are rural. They're isolated, they don't have large school communities to support them, and there's so many challenges that they face from allergies and health and nutrition, taking food and making education subject matter. All of these things we're looking into to say, okay, so our community together would be again stronger. So connect schools that are similar together and then connect schools that are not similar and let them use our product as a teaching aid. So we aspire, this is long away from happening. Robert: So please don't take this as something that's been executed today, but we can see that sometime in the future, we'll create a syllabus around corn and our cornflakes and how it changes the flavor of patterns in Japan compared to Idaho, and then to schools when their kids are having their breakfast, they can share the differences in the sweetness and so forth because the [inaudible 00:36:46], the climate is different so that the plant takes on a different flavor. So that's a subject that you could turn into a syllabus and education and bring kids together. Yeah, it is a very exciting proposition for us and different from anything we've ever done before. Stephanie: Yeah, that's awesome. And I did not know that flavors around the world would be different. So you definitely taught me something brand new here. Robert: Yeah. We've done a few things at Kellogg's in the office in Chicago where they've taken five or six or seven different sources of cornflakes and put them all in independent bowls unmarked, and then tasted them and people were convinced that sugar had been applied and so forth. And it actually hadn't, it was just that the different produce, produce different flavors and it was quite an epiphany for many of the folks tasting them. Stephanie: Yeah, no, that's really interesting. So when it comes to your B2B platform, what are some of the best capabilities that you're using today that maybe you weren't using a year or two ago? Robert: Again, cornerstone of what I'm trying to do with the B2B platform is create efficiency, and so to create efficiency, the first thing I'm trying to tackle is preventing any waste of time as it pertains to identifying a product. So we are integrating scan into the mobile device, using the mobile device camera, quickly scan that barcode it will take you straight to the product in our platform. So no need to key in, no need to type in the barcode or any keywords that are associated, just quick scan within less than a second you're on the product detail page, and you got a path to purchase with one click. You've got a path to understand your performance versus your peer group with one click. And you've got a path to understand how to sell more by accessing the tools that give you the toolkits that will help you do that. So that's, that's one aspect. Robert: The second aspect is to create value around ensuring that big data is conferred into some form of exportable logic that says that, hey, you are not creating the optimal product assortment. Companies, businesses, stores, like you sell these products successfully, and you're missing revenue as a result of not taking them. So here's a recommendation for these products. Here's the stocking quantity that we believe you should take. And here's a revenue projection based on MSRP from the class that you belong to that. That to me is transformational in so many ways. Stephanie: So are you using AI behind the scenes to create a lot of these recommendations? And do you think a lot of brands are also doing this or is there a lot of room for them to adopt to this technology? Robert: Yeah. AI is the key to success. So we've talked about AI for several years now, and it has really not delivered what it says in the box as of yet, but I am a 100% confident we're getting closer and closer all the time. Anybody that's been getting with AI knows that a lot of teaching into the logic that supports the output, but we're definitely getting closer to being able to use it at scale. What I see in the next year to 24 months will be the ability to then turn on that dynamic, self-sustaining logic that continues to morph as it reads more data and continue to present very tailored recommendations to all of our retailers worldwide, simultaneously because the computing power, obviously, continues to scale at an exponential rate. So it doesn't do necessarily what it needs to do today, but the path is now clear, and I think it's just around the corner, to be honest. Stephanie: Yeah, no, I completely agree. Are you all training your own models for AI? Are you relying on a platform to help you with that? How would you recommend another brand or a larger or smaller brands to start adopting this technology or start experimenting with it? Robert: Well, there's a lot of data scientists that they're all better actor than I am for sure. Stephanie: Sure? Robert: Yeah, I'm absolutely positive. So we've been looking outward to smaller businesses, as well as some of our larger partners to use their experience. Because clearly they see the opportunity too, so I would continue to just make sure that you're using a blend of traditional partnerships and innovative new businesses that come up with some left-field idea about how to resolve one of the challenges. Constantly looking for new ideas from the marketplace, from the periphery where there's new startups starting and looking for an agent, they might have a great concept that we can use. I often equate it to something you might see in a Paris fashion show where coming in the the runway is a presentation that could be quite outrageous, but some form of it we'll get to the high street that will be very popular with the consumer. So a really wild idea can really translate and be boiled down to something that can be a game changer in reality. So never assume that it has to be something that's already in place, but to be open to suggestion and I try and work on a daily basis to be that way. Stephanie: Yeah. I think that's a really good lesson too, to look at tangental markets and industries that could also help influence not only new products, but also E-commerce strategies and just like keeping tabs on what other people are doing, especially startups who are moving quickly and experimenting quickly. How do you keep tabs on companies like that stay up to date with what other people are trying? Robert: Well in prior lives, working for brands that were less recognized, it was on me to continue to search and find, and encourage my team to continue to look for these innovations. Working for a brand like Kellogg's, there's a lot of people come calling. So I'm obviously in a fortunate position to be exposed to a lot of these ideas on a day by day basis from various entrepreneurs. I feel that Kellogg's could prosper from taking on the idea so that role has changed. So I'm very fortunate in that regard to be exposed to great ideas across the industry and not just from within the food and beverage industry as an example but from sending an upturn to, you name it aerospace, there's a lot of innovation going on. Stephanie: What is definition of success for E-commerce? What kind of metrics do you look at? What do you think is successful? Robert: Yes. Okay, so none of the traditional metrics are really going to be of any interest. So for me, the success has moved upstream. So when I think about what does success look like from a digital perspective in B2B, it's very much around ensuring that the retailer is selling more products more effectively and more efficiently, and putting more money in their pocket. So if I can look back and say that all the retailers that we supply our products are prospering as a result of our E-commerce engagement, because we're delivering not just the fundamentals of E-commerce, which is about auto management and everything else that comes with it. That's just table stakes, whatever else comes with it, where we create the value through AI recommendations, access to toolkits, marketing campaigns, guidance on how to create the perfect store. If that's translating into more dollars at the point of sale, then that's what success looks like to B2B commerce going forward, in my opinion. Stephanie: Yeah. It seems like that partnership and education is really important in B2B, have you guys seen success with doing that? Robert: Well, again, I wish I had something much more tangible to give you in terms of the successful metrics. This is still ground zero, we're still very much in day one of our B2B engagement. I think you will find that modern B2B is still in day one globally across both industries. So there's still a lot of learning, a lot of testing, a lot of refinement to do, but the appetite is there. When I talk to other brands, they feel the same way about how we can harness technology to create value. The retailers I've talked to they are hungry, and so is our distributor and wholesaler partners too, to participate in this new era of one-on-one engagement at a scale that's affordable and on a cadence that has never been achievable before. Just that combination of menu items is really driving the hunger to get to that point quicker. Robert: I wish I had to go quicker, we're definitely trying to get there quicker, but it just takes time to build. And so ask me again in six or 12 months, and I'll be in a far stronger position to give you a better answer. Stephanie: Oh, you've just invited yourself around two. So with things changing so quickly, are there any new or emerging digital channels that you all are focused on or trying out? Robert: Again, comes back to just watching and keeping an eye on how things are changing, an example would be, for instance, say WhatsApp for instance. So WhatsApp starts life as a messaging tool, becomes incredibly popular worldwide, supplanting email, phone, texting everything. Now WhatsApp is developing your online ordering capability that will potentially change the trajectory of B2B commerce. So we're watching it very, very carefully, but there's a caveat, there's so much low hanging fruit in just doing what we already know, we can do better in B2B commerce. The WhatsApp example would be a very shiny object while we still need to continue to look to shop opportunities, we need to temper our enthusiasm to be distracted, it can be a distraction. We know that there's enough revenue potential just executing our primary mission without chasing rabbits down holes. Robert: I don't want to be the anti-innovator, but there's got to be a balance. So I use three words to caution myself, stop, better and clever. Stop doing things that create no value. Identify what you do well, but do it better. And say Friday afternoon is for the clever things. So Friday afternoons are dedicated to it, but don't let it become all consuming and that's how I approach this. Stephanie: That's great. That's a really good lesson, Friday afternoons with a beer maybe then you're even more creative, right? Robert: Why not? Yeah, certainly, my wine consumption during COVID is gone up tremendously. Stephanie: I think everyone else. So are there any B2B commerce trends that you're excited about that are coming down over the next couple, well, maybe even in the next year? Robert: Well, I just think the fact that the chatter around B2B has climbed exponentially in the last three or four months, is exciting. I'm super excited about what machine learning can do for scale in just enabling us to do the value added services that we've aspire to do, but couldn't execute because of the cost. So these two elements that B2B is becoming a cornerstone of business strategy, and it's not seeming to be as a poor cousin of B2C, B2B can be sexy. We're taking all of the goodness from the user experience and applying it, but then with this logic, that's data driven it's hard to turn down when we recommend products to a particular owner operator that I've got a revenue projection associated with them, that's a hard proposition. Plus we're giving them an award for accepting the recommendation. If that recommendation comes and was close to our prediction, then I think conversion could be a 100% going forward. Robert: Now in digital, we usually have 2% conversion and an action was great, a 100% conversion, wow, that's perfect execution. What does that do to the industry? Truly transformational. Stephanie: Yeah, I completely agree. So when it comes to implementing technology and stuff, because I think, like you said, a lot of people and a lot of platforms are focusing on B2B now, it is a new player to look at where B2C was maybe the sexier area before. How would you advise other companies to think about onboarding new tech technologies and tools in a way that sets them up for longterm success? Robert: Well, first of all, think scrappy. You can't innovate with the mindset of perfection. Large companies, I think suffer more than small companies, of course, there's a procedure and there's an ROI calculation, and there's a certain set of expectations. Especially when you're dealing with technology that can't quite deliver on the initial promise, but you have a fairly competent perspective on it, we'll get there. So you have to be a little ashamed of what you take into market, because quite frankly, in my experience, you see the flaws, whereas the target audience does not. They see something different, something value added, they know it's a work in progress, and they can see it resolves a pain point. It removes all of the inadequacies of what you didn't do as a result of getting to market quicker and testing a reaction. So that would be my recommendation. Feel a little ashamed, to be a little ashamed about what you go to market with initially. Stephanie: So is there anything that we didn't cover that you want to cover before we move on to the lightning round? Robert: Oh, no, I didn't know there was going to be a lightning round. Stephanie: Yes. There's a lightening round. Robert: That's a little scary. Stephanie: Yeah, anything high level, E-commerce trends, the industry that you're like, "Man, I really wish Stephanie asked this question and she just didn't." Robert: No, I don't think so. I think we've covered off the fact that, I think the biggest thing that's missing in the industry is that more collaboration. I think collaboration is going to be a game changer in terms of driving success. So that's what I'm seeking to build through networking and working with other brands to try and find some common ground we can explore in. So if anybody is interested, please reach out to me and I'll be happy to partner. Stephanie: Yeah. I completely agree. That's great. All right. So the lightning round brought to you by Salesforce Commerce Cloud is where I ask a question and you have one minute or less to answer. Are you ready, Rob? Robert: No. Okay, I am. Stephanie: All right. You're ready. What's up next in your cereal bowl? Robert: Oh my God. No, Scott's, it should be porridge, but it isn't. I like porridge, I'm a diehard Frosties guy. I don't know, there's not a bad time in a day to consume Frosties, so that's what's always in my cereal bowl. Stephanie: I agree. It's a delicious choice. What's up next on your Netflix queue? Robert: Netflix, I just finished watching Altered Carbon and it was a book that I'd read, three books I'd read many, many years ago. And it was actually a really good rendition of the novel. So I thought it's Sci-fi is very forward looking, it's probably what you'd expect me to watch, but I thought I enjoyed that series. Stephanie: Yeah, that sounds great. What's up next on your podcast list or audible? Robert: Yeah, so podcast, during COVID, I mean, I listen to a lot of podcasts, especially at nighttime and I've started to rediscover Vinyl. So I've become a bit of a pseudo audio file or want to be, at least I fought the big stuff, but I'm working my way into. So I started to listen to Vinyl's audio file podcasts, which have been fantastically interesting, but suddenly they're talking about technology I can't afford or justify. My wife keeps a very close eye on me, so sorry- Stephanie: Oh, man, so rude of her. Robert: I know terrible, isn't? But logical, she saves me from myself. Stephanie: That's good. Yeah, that's really fun. Well, if you were to have a guest on a podcast of your own, so if you were to have The Robert's podcast and you want to bring on your first guest, who would you bring and why? Robert: Oh, that's easy. That's easy. I am a big soccer fan from the UK. And one of my idols is Alex Ferguson. I would love him to be my first case on a podcast. He has such great insight into leadership, management, the stories he has. He would be, there's an entire encyclopedia of subjects we could discuss, and he's an idol of mine. Stephanie: That'd be a fun one. I would listen to your podcast. All right. The last hard question. What one thing will have the biggest impact on E-commerce in the next year? Robert: One thing, I think, changing the culture within companies to really embrace innovation, not to necessarily wipe the investment and make a net positive operating gain in the short term but to be more risk orientated. I see a lot of challenges around investment strategies and payback periods and so forth, and it really does slow down our ability to go to market. So if we can get to a point where there's an acceptable investment tolerance, and that will obviously vary by company size and profitability, then I'd like to see more about an entrepreneurial approach to taking that startup fund internally, and going to market with it, improving success or a failure. In Kellogg's we've done a tremendous job recently of celebrating failures. Robert: We've even have an award, for the peace of the award for failure. So it's a transformation that's underway, but we still have to get more comfortable with capital investment that can be used to experiment rather than the business case that supports it longterm, which will come, that will come when we determine what the metrics are or what the levers that work that can be expanded upon and so forth. So that's what I'm looking for. Stephanie: I love it. You are a lightning round expert, so nice job. Well, it's been a blast having you on the show, where can people learn more about you and Kellogg's? Robert: Well, they can see my profile on LinkedIn, obviously, I'm not a big social media user today. So reach out to me through LinkedIn and I'll be happy to engage. Stephanie: Awesome. Thanks for coming on the show, Rob, it's been a blast and we will have to bring you back since we have an invitation now for round two, we'll have to bring you back in the future. Robert: That was a mistake, wasn't it? Stephanie: No mistake, we'll have even more fun then. Robert: I look forward to it. Thank you very much for having me on. It's a great pleasure. Stephanie: Thanks.

All Social Y'all Podcast
TikTok & Alternative Social for Business? How an Investing & Personal Finance for Millennials Company is Serving Audiences on Social Media

All Social Y'all Podcast

Play Episode Listen Later Jun 24, 2020 26:29


Hi everybody. Thank you so much for being here today. I am so excited to introduce you to the owner of The College Investor. His name is Robert Farrington. He's with us today. Robert, you want to say hello? Robert Hey Carey and Everyone, thanks so much for having me. I'm excited to be here. Cool. And you're, you're out in sunny, Southern California. I'm here in Atlanta. So, um, it's nice place to be during this time of year, especially. No, it's great. I I'm blessed to be able to be here. Awesome. Well, tell us a little about yourself and how you got started with your company, the college investor. Definitely. So I started the college investor, honestly, as a side hustle. When I was finishing college, I had always been passionate about making money investing and, uh, you know, I wanted to share my random thoughts on the topic with people. And I, you know, I really love technology and websites and I saw some other bloggers starting and I was like, you know, I can, I can start a blog and share my thoughts as well. And so that's honestly how it started over 10 years ago now at this point in time. And it's just really grown into a full on, uh, you know, media company at this point in time. But it started just as me wanting to share my random thoughts and kind of evolved quite a bit from there. Wow. That's amazing. And are your customers teenagers, college students, parents? Can you tell us a little bit about who, who, um, you help? Yeah, Definitely. So I started really just wanting to share my thoughts mostly with young adults, right. But at this point in time, I would say most of the people we help are anywhere from college graduates to families, to people approaching retirement. Um, you know, we don't get too many young people and we don't get too many retirees, but everyone in the middle there, um, seems to be who we help. And sadly, I think that kind of reflects more on how who's dealing with student loan debt. Who's trying to get started in life. Who's trying to get investing than anything else. So, um, yeah, we have a really broad range of people we help. That's awesome. Such a needed thing. And I don't think people really know where to turn. So your blog helps with discovery online. Right? And that's it? I mean, So student loans is one of our bread and butter topics and, uh, it's hard because there are so many options out there and there are so few tools out there to help people and the tools that we have, like they don't, people don't trust them because it's like our loan servicers, and they're the ones that are part of the problem. And so, you know, it's really hard for people to get an independent resource, to help them navigate their student loan debt. Um, and then in turn, you know, start building wealth and navigating personal finance because, you know, sadly it's not something that's usually taught in school and, you know, a lot of people's role models might not have been the best in terms of showing them how to do it. That's so true. Yeah. I've heard that, like kids have to move home after college and, um, gosh, with the, with that pandemic now it's even harder to find a job. So can you tell us yeah. What, what services do you provide and can, can you kind of take us through like the buying journey online? Like where did they discover you and kind of, how does it go from there with the various interactions? Yeah, definitely. So, I mean, we're a traditional media site. So the services we really provide are just trying to provide the best in depth, comprehensive knowledge that you can have when it comes to personal finance topics. Um, we do a broad range of editorial content. We also review as many products and services as we can find to give people an honest opinion on, you know, what's legit, what's not legit, what's the best, what's not the best. Um, you know, we do have some products and services as well. We have lone buddy, which is our DIY student loan software. You can put all your information in and, you know, it'll tell you the best outcome for your student loans. Um, but really like, I really want to educate and that's really the bread and butter of what the college investor is. It's designed to educate people on their student loans on their money. And, you know, we really try to be top notch and search we're on social or on video or on audio because I'm also a big believer in meeting people where they're at. And, uh, you know, if people really listen to podcasts, like listen to this show, right? Like they're listening to audio, so can we connect with them there? But you know, there's also a good contingent of people that love YouTube and love videos. So how do we connect with them there? And then of course there's always the traditional reading and searching for things on Google and we want to connect with them there as well. Yeah. Awesome. You sound really savvy like, because you've been and also have been in business for 10 years. That's funny. Yeah. You know, it's, it's hard. I mean, we didn't start there though. I think it's important to, if you're starting out like pick one lane and then iterate as you go forward, because it's a lot of work too. That's right. And you really want to listen to your customers and find out what they're needing and kind of pivot from there. Would you say you're like, are you finding that people are having a harder time now managing their college debt and earning income? Like have you shifted at all since COVID has hit Oh yes. A hundred percent. So it's sad because, you know, there's just topics now that we didn't touch on until now. So unemployment stimulus checks, uh, how to navigate some of the small business loan programs. Um, what's out there for side hustlers, people that were driving for Uber and door dash. How did that, how does that work in the new unemployment system? Um, and these are topics that historically, I mean, in 10 years, we've never really had to dive in and talk about, and, you know, people don't really care so much about other things when they're like, I don't have a job today and I don't know when I'm going to be working again, like what can I do today? And so it's really been important for us to put out the best content we can as fast as we can, but it's also been challenging because I mean, it's been a fire hose of information coming out of Washington DC. And it seems like these programs are changing and shifting and, you know, new proposals are coming out all the time. And so there's also a ton of misinformation out there. And so for us, it's really cutting through all that misinformation, trying to get people what's accurate and timely, um, so that they can, you know, help themselves today. Yeah. That's, that's really so important. And also with mental health now that, you know, they, the reports are saying that mental health in the world really is really getting worse and worse because of the challenges that people have financially, you know, with the relationships that might not be so great at home and stuff like that. So I would think like you providing support and some reassurance that there is a way there are there answers, you know, would probably help a lot of people. Do you have, do you have any stories? I know that's not like something we necessarily talked about, but I was just wondering if any good stories or examples? I mean, it's, it is sad. I do see a lot of it. I mean, sadly, one of the things that has increased in trending a lot is suicide and student loan debt. And a lot of people see that as the option. And it is really heartbreaking because there's a lot of options out there that is definitely not a good option. And, but people don't know how to navigate it. And when people are in such desperate straights and there's not a lot of answers out there and there's definitely no one to help you. And now in this remote day and age where like, you can't necessarily have like someone with you, like it's all virtual, it's even more challenging. So it is definitely challenging. It's sometimes sad to see, but that's why we also try to be there is that source of education be there as those tools and resources so that hopefully people find the answer before it's too late. Yes.... Do you have a Facebook group? I know I went on all your social media. You're on a lot of different platforms. Do you, do you do help people connect with each other? So they don't feel like they're alone?  We Do have a large Facebook group, ....probably about 24,000 people in it.  you know, I keep it pretty vague cause it's, it's the investing and personal finance Facebook group and it's all for people that are interested in money topics. And so yeah, we do find a lot of connection and things in there, but it's hard because, you know, it runs the gambit of people's personal financial situations. I mean, you have to have so many people and so many diverse perspectives that even in a Facebook group type setting, it's hard to foster connections. And then the other challenge with money topics is that there's a lot of people that prey on other people, insurance salesman or, you know, unscrupulous financial planner. And so sometimes when people do open up, I mean, they just get unsolicited, you know, direct messages and, and things. And you know, so it's, it's very challenging to, you know, make sure people connect, but you know, you have to remember you're online and people try to take advantage of that as well. I hadn't thought of that. That's so true. And then it's just the main maintaining it, like, and making sure as the owner of the group that you like, see if there's any inappropriate comments and stuff like that. Right. Yes. So, I mean, we're very vigilant. We're very vigilant on it.  We do. We have a good moderator team and, you know, we have all the Facebook alerts set up. So when people comment certain things it flags right away, but where they get around it is through those direct messages. So I would say like every two weeks we have to remind our group, if you get an unsolicited direct message, please let the moderator team know so we can take action and remove it. And I've been known to publicly shame some of these unscrupulous insurance salesman. I'll reach out to their companies and organizations and say Hey, you need to follow up with this individual.... Who's violating your company, social media policy, and you need to follow up because it drives me nuts. Especially I rag on insurance people a lot, but it really usually is insurance salesmen, not financial planners. And they do not have the best interests of you at heart. They are trying to sell you on a product that you probably don't need. And it drives me nuts. Yeah. Well, I have a friend that is in that industry and she said that, and this isn't true for all., but she said that the management was still kind of pushing the salespeople as if it weren't like COVID and like just like pushing them so hard. And so you sometimes kind of wonder like how much of is coming from the leadership and doing the right thing for the customer and having the salespeople be the, the interacting face and yeah, it can, it can be so easy online and can be kind of dangerous to people if they're in a vulnerable situation as to what's real, what's not real, what should I pay attention to?  Yeah, my rule of thumb though, is, you know, no one in this world is going to care more about your money than you. So always go into every conversation with that in mind, you know, anyone that's out there trying to help you probably isn't going to care as much as you do because they have no reason to.  Yes!  And start young and they're always there. Time is on your side when you're younger, I can attest to that. So what, what are some of the most important things you think that the younger generations need to know about personal finance? I think the biggest thing for me is that it starts with getting organized and this might sound counterintuitive to like a personal finance conversation. But honestly, there's just so many moving parts today to everyone's money. Right? You have different incomes, you got side hustle, income, your job income, you have multiple accounts, probably got a bank account, a savings account. You got maybe a 401k. Maybe you have an IRA. And then like you have a bunch of expenses. You might have a credit card or a debit card and you're charging. So it starts with just getting organized with your money. And the other thing that's hard about this is everyone's different. So like I'm an app guy, right? So I like to have my finances on an app on my phone. And that's where I'm most comfortable, but I'm not everybody. Some people really like Excel spreadsheets. Other people really like planners and pen and paper and writing stuff down on like a paper calendar. So the real thing is, is find whatever style works for you and get organized with your money because you can't make an informed decision about what to do. If you don't know where everything is, what's coming in, what's going out. Like, should you budget better? I don't know. Are you organized? Should you try to get a side hustle? Like, I don't know. Do you need to earn more money? Like if you're not organized, you can't make the next financial decision. Hm. Good point. Yeah. And just not putting it off, like, there are different types, like you said, it's individual and there's some different types of people and some people avoid, some people worry, some people don't, you know, they're so generous. They give, give all their money away to other people like theirs. Yes, totally. And if you put, if you don't know what's happening, like you can't even make the decision. And I, and I will tell you that in 10 years of working with people, helping people, talking to people that 99% of people that are struggling, it all goes back to this organization. And well, if I ask I'm like, well, like what's your budget look like I don't have one. Or, or like, what's the shortfall? Like, are you short a hundred bucks a month in your monthly expenses? Like where do you, what, what is it? And they couldn't tell me how much debt do you have? I don't know. When are you going to pay off that debt? I don't know. Um, you'd just be, it always starts with knowledge. Like if you get organized, you know, where everything is, then you can decide like maybe, maybe all you need to do is cut $50 off your monthly expenses and you will be in the black and you'll be rocking and rolling, and you can do that easily, but maybe there's a bigger gap here. Maybe it's a $500 gap. Maybe you need to look at getting a second job or a side hustle or asking for a raise at work. But like, we can't even figure that out if you don't have it all laid out and organized and know what's going on. Yes. So knowledge is power and reality as well. Like when you get organized in whatever way that is, like you said, it's a variety of different ways to get organized, but then you have it in front of you. And, you know, you have that knowledge which has power to move forward and then take steps that, you know, really help, help get to the next, next level and security financial stuff. Exactly. And that's the thing is, you know, personal finance is personal. Right. And so I can't tell you, I can't just say it's a blanket, one size fits, all thing. Like it definitely is a personal conversation And accountability. Would you say that, like your services kind of help people with any accountability at all? Or do you not really track that? Yes, we don't really track it because it's hard. I don't also want to get in the business of being the data collector. Um, you know, it is personal, right. And there's also a lot of laws and regulations and rules and other things around all that kind of stuff. Um, but really it's about, you know, getting organized, but then we can take the next steps and I love being there to guide out. Like, let's, let's talk about budgeting and let's talk about earning more. I'm a big believer of the earn more mindset, like, uh, you know, yeah. There's probably some fat, we can all cut from our budgets, but like, is there a way you can go out and side hustle and earn a little bit extra and then live a lifestyle you'd like to live more of instead of like really cutting down to nothing. I love that. That's huge right now, like on, on tiktok, do you, have you ever gone on ticktock ? I'm a fan of tiktok. We were really doubling down on tiktok and I follow a lot of the financial influencers and others and, I'm all about, I'm all about tictok! Speaker 1: (16:19)All right. Let's talk tick tack for a little bit then, because I actually have not touched on this yet in our series. And so this would be a great start since you're a fan. So how did you get on, when did you get on and kind of what, what is, what are you finding as far as like what people like? So, I mean, I've been, I've been on the platform since last fall, so probably about nine months now, but we didn't start creating content until earlier this year. I really just like consumed. I just consumed a lot of content seeing what was working, what's not working and I'm still figuring out I'm not by an expert by any means. But the one thing I love about tiktok is that even if you don't have a huge following on tiktok, your posts have a very good chance of going viral. If you're following trends and talking about interesting things and, or just being interesting. And so a lot of people think tic talk is like about dancing to music and, you know, yeah, that's a good chunk of it, maybe 50%, but I would say the other 50% is, you know, just people talking, being interesting, being funny, being entertaining in some way, shape or form. And, and for us on talking about money on Tech-Talk, it's the same concept. It's like, how do we make something short, sweet, interesting, and entertaining in a, you know, 15 to 60 second video. And so, you know, we try to use some of the music sometimes, or some of the trending themes, because some of them are kind of like jokes effectively, but you have to kind of know what's going on, on tiktok to follow the joke and you integrate your own concepts into it. And so I find it to be a lot of fun and you can go down a rabbit hole of watching tiktok videos for like an hour. And you're like, Oh my God, where'd my afternoon go?! For sure!  I've heard people say that they've gone even longer, like three, four hours. Yeah. And then sometimes like it just this morning, as a matter of fact, it was early and I love Italians. And, there's a Italian guy and his mother and they are so cute and funny and I'd realize, Oh, I haven't been on tiktok for a few days. Maybe I missed some of his, their videos. And so you can click on just like with Instagram y'all if you're not on tiktok yet is you can click on their bio, like ontheir name or whatever it shows their channel. And then you can go and see all of their posts just like Instagram. So I consumed like six or seven of their videos that I had missed,.... which, ticktock for business as something that's real, you can use hashtags, you can, like Robert was saying, do things that are trending, make it entertaining, also educational. So it's to attract the attention of, like Robert said earlier, where people are. so that's cool. And, and I think a lot of people have this misconception that tiktok is all teenagers. And, you know, there is a lot of teenagers on there, but you know, your content and your, whatever you are will attract your audience because there are over 60, there are a lot there's I think a parent's over 30 hashtag. Like there are a lot of adults on the platform as well. And there are so many different industries and niches, and here's a great example. Um, we're thinking about redoing our backyard and it's kind of like a dream board wishlist kind of thing right now. Right? Well, I'm scrolling on TechTalk and I found a local landscape designer on tiktok. I loved his work. I reached out to him and he's going to come out and we're going to talk about things. And so like, I don't know, result in any business, but when you're thinking about it for your business, whatever your business is, there is things on there that, I mean, your business should be on tick talk. If you want to connect with people that are engaged in that audience. And it's a huge audience. I mean, I don't know, you can kind of talk about all kinds of things. I see woodworking, I see a lot of construction. We're doing remodeling stuff. So maybe that's my feed right now. Right. But I see a lot of those kinds of trades showing up in my tiktok feed. It had, the algorithm definitely picks up and how you went about it is exactly what is recommended and what we recommend to get on the platform first and just start discovering what other people are posting and what people are doing, and kind of just get familiar with it. And, you know, if you start now, if, if you can make it relevant to your business and make it relevant to your customer is that, you know, it's going to benefit you a year or two years from now. And you can also share the videos on other platforms so you can save the videos and then post them in, on another platform. Do you ever do that, Robert? Oh, yeah. And I mean, that's the thing is like, if you're already kind of doing short format things, if you're on YouTube or Instagram using Instagram stories, like, I mean, it's like a natural repurpose bit and, uh, you know, you might as well be there for minimal extra effort, but, uh, you know, when you look at the growth of things, you know, tick talk is definitely on the growing end and you know, some of these other platforms are not growing as much anymore. And so, you know, it's get there early claim, your stake, be one of the early influencers in your space. And, you know, maybe it fails, but you will have learned something because I think video, however, its purpose is going to be around forever. So Absolutely. Yeah, I think that will happen was when stories came out, people got comfortable and then started really liking the short form. And, you know, you're just sitting, waiting for an appointment. So, you know, for them to call you from the lobby or whatever, and you can just real quickly go online, be entertained, discover something, learn something, whatever it is. And then, you know, we got used to that. And then now that tiktok's you can post a 15 second video or, or a 60 second video on tiktok. And,so yeah, we're at, and I love your enthusiasm about it, Robert. So before we wrap here, what other platforms are working well for you? Like you mentioned YouTube - what is your favorite, would you say? Or is it tiktok? Well, it's hard. I don't know, like my personal favorite social media platform right now is Reddit. I would say Reddit is my home base of not necessarily for my business, but as a personal social media consumer, I I'm a Redditer and I love it.  I think every business should be on Reddit. You should own your own subreddit. And I think you need to engage where your audience is. So the one thing about Reddit, right, is it's, it's, it's made up of subreddits, which are kind of akin to Facebook groups, right. Um, and there's groups on every single topic under the sun. And it's, I want to say that Reddit is, I am betting that within the next 12 to 18 months, Reddit is going to surpass Facebook. I think it's already like the now it's like, I think it's tied or just beat Instagram in terms of monthly visitors per month, uh, in terms of traffic. And so it's just, it's just continuing to grow. Whereas some of the other platforms are declining, but, uh, there's, your, your audience is on Reddit. You can subscribe to subreddits and you can become, you know, a voice on there and your things. And I just think it's, it's got such a better user interface. It provides a better curated content than it does for like Facebook and other things. So I am a huge Redditor. That is so interesting. I I've not heard anyone else say that. So I think that is just awesome. And it reminded me when you were saying that this weekend I Googled something and the answer was on Reddit. Yup. And that Reddit comes up in all the search results. And I would say that, you know, and granted it is my primary social media platform. But if you look at my social media referrals to my website read, it's usually fourth. I'm right there. You got the, you got Facebook, you got Pinterest, you got Twitter. And then read it, usually beats all the other ones. Um, and it's usually, it's very quality traffic because I'm talking about things that are related to what I'm doing. Right. And so it just all works out. Nice, great information. You, you seem so savvy. I love it. I'm so happy that you joined us today and I'm sure you inspired a lot of people. where can people find you, your website, social media, wherever you want to send people? Yeah, definitely. So our website is the college investor.com. If you like to listen to podcasts, we have the college investor audio show, and then we're on pretty much every social platform out there at the college investor. So whatever is your favorite, maybe you're not a Redditor like I am, but we're out there on pretty much everybody's social media platform. Yay. Awesome. Thank you so much, Robert. This was a thrill and I really appreciate your time and, hope you have a great rest of your week.

THMC EM
Do Not Boast About Tomorrow

THMC EM

Play Episode Listen Later Oct 28, 2019 41:32


Proverbs 27:1 "Do not boast about tomorrow, for you do not know what a day may bring." This is a THMC EM sermon by Dr. Robert Oh, spoken at Ttokamsa Home Mission Church in Los Angeles, CA

THMC EM
To Live...

THMC EM

Play Episode Listen Later Oct 22, 2019 50:37


Philippians 1:21 "For to me, to live is Christ and to die is gain." This is a THMC EM sermon by Dr. Robert Oh, spoken at Ttokamsa Home Mission Church in Los Angeles, CA

AMSSM Sports Medcasts
CrossFit: Dangerous Fad or Fitness Panacea?

AMSSM Sports Medcasts

Play Episode Listen Later Sep 2, 2019 22:25


Few topics in sports draw such universally strong opinions from medical providers as that of CrossFit. Most seem to love or hate it, but are their strong opinions justified? Does current data back-up the concerns many of us have regarding the safety of this sport? What are the common injury patterns that are found? Host Devin McFadden, MD is joined by Sean Rockett, MD and Robert Oh, MD to explore these topics and more on the AMSSM Sports Medcast.Dr. Sean Rockett is an Associate Professor of Orthopedic Surgery at Tufts University School of Medicine, president of Orthopedics New England and author of 321GoMD.com an injury prevention website for CrossFitters. He is head of the Orthopedic division for the Medical team for The CrossFit Games. Dr. Robert Oh, Sports Medicine physician and CrossFitter for 12 years. He’s the Chief of the Family Medicine Dept at Madigan Army Medical Center and Fellowship director for the Leader and Faculty Development at Madigan.

BJSM
CrossFit: dangerous fad or fitness panacea? Episode #392

BJSM

Play Episode Listen Later Aug 2, 2019 22:26


CrossFit: dangerous fad or fitness panacea? The AMSSM talks safety with Drs Sean Rockett and Robert Oh. Few topics in sports draw such universally strong opinions from medical providers as that of CrossFit. Most seem to love or hate it, but are their strong opinions justified? Does current data back-up the concerns many of us have regarding the safety of this sport? What are the common injury patterns that are found? Host Dr. Devin McFadden, MD is joined by Dr. Sean Rockett, MD and Dr. Robert Oh, MD to explore these topics and more on the AMSSM Sports Medcast. Dr. Sean Rockett is an Associate Professor of Orthopedic Surgery at Tufts University School of Medicine, president of Orthopedics New England and author of 321GoMD.com an injury prevention website for CrossFitters. He is head of the Orthopedic division for the Medical team for The CrossFit Games. Dr. Robert Oh, Sports Medicine physician and CrossFitter for 12 years. He’s the Chief of the Family Medicine Dept at Madigan Army Medical Center and Fellowship director for the Leader and Faculty Development at Madigan. References: 1. Sport Med - open. 2018;4(1):11. doi:10.1186/s40798-018-0124-5. 2. J Sports Med Phys Fitness. 2017;57(9):1147-1153. doi:10.23736/S0022-4707.16.06827-4 3. Orthop J Sport Med. 2018;6(10):2325967118803100. doi:10.1177/2325967118803100 4. J Sport Rehabil. 2018;27(3):295-299. doi:10.1123/jsr.2016-0040. 5. Sport Med. 2017;47(3):479-501. doi:10.1007/s40279-016-0575-0 6. Annals of epidemiology 2006; 16(9):712-719.) 7. Work Heal Saf. 2017. doi:10.1177/2165079916685568. 8. Mil Med. 2016;181(7):627-637. doi:10.7205/MILMED-D-15-00273 9. US Army Med Dep J.:36-47. http://www.ncbi.nlm.nih.gov/pubmed/24146241. Accessed August 5, 2018.

The Frontside Podcast
112: Language Formation with Amanda Hickman and Amberley Romo

The Frontside Podcast

Play Episode Listen Later Oct 11, 2018 57:12


Guests: Amanda Hickman: @amandabee | GitHub Amberley Romo: @amberleyjohanna | GitHub | Blog In this episode, Amanda Hickman and Amberley Romo talk about how they paired up to get the safety pin, spool of thread, and the knitting yarn and needles emojis approved by the Unicode Committee so that now they are available for use worldwide. They also talk about how their two path crossed, how you can pitch and get involved in making your own emojis, and detail their quest to get a regular sewing needle approved as well. Resources: Unicode Technical Committee Draft Emoji Candidates The Unicode Consortium Members Sewing-Emoji Repo Proposal for Sewing NEEDLE AND THREAD Emoji This show was produced by Mandy Moore, aka @therubyrep of DevReps, LLC. Transcript: ROBERT: Hello, everyone. Welcome to Episode 112 of The Frontside Podcast. I'm Robert DeLuca, a software developer here at the Frontside and I'll be your episode host. With me as co-host is Charles Lowell. Hey, Charles. CHARLES: Hello, Robert. Good morning. ROBERT: Good morning. This is an exciting podcast. Today, we're going to be discussing writing a proposal to the Unicode Committee, getting it accepted and rejected. This is basically making emojis which I think is really awesome. We have two guests today who have an amazing story, Amanda Hickman and Amberley Romo. Thank you both for joining us. You two have an amazing story that I would really love to dive into and we're going to do that today. It's about basically creating your own emoji and getting that accepted so everybody can use that and I think that's super, super cool, something that I've always kind of wanted to do as a joke and it seems like that's kind of where your stories began, so you two want to jump in and start telling? I think Amanda has a great beginning to this. AMANDA: Sure. I mean, hi and thanks for having me. I don't know where to begin and really for me, this starts with learning to sew my own clothes which is an incredibly exasperating and frustrating process that involves a lot of ripping stitches back out and starting over and Instagram was a really big part of me finding patterns and finding other people who are sewing their own clothes and learning from the process. I wanted to be able to post stuff on Instagram and it started to drive me absolutely crazy, that there's emojis for wrenches and nuts and hammers and there are no textile emoji. The best I could find was scissors which is great because cutting patterns is a place where I spend a lot of time procrastinating but that was it. I knew a woman, Jennifer 8 Lee or Jenny who had led a campaign to get the dumpling emoji into the Unicode character set. I knew she'd succeeded in that but I didn't really know much more about how that had worked. I started thinking I'm going write a sewing emoji. I can do this. I can lead this campaign. I started researching it and actually reached out to Jenny and I discovered that she has created an entire organization called... What was that called? She's created an entire organization called Emojination, where she supports people who want to develop emoji proposals. CHARLES: Before you actually found the support system, you actually made the decision that you were going to do this and you found it. You know, from my perspective, I kind of see emoji is this thing that is static, it's there, it's something that we use but the idea that I, as an individual, could actually contribute to that. I probably, having come to that fork in the road would have said, "Nah, it's just it is what it is and I can't change it." What was the process in your mind to actually say, "You know what? I'm actually going to see if I can have some effect over this process?" AMANDA: It definitely started with a lot of anger and being just consistently frustrated but I knew that someone else had already done this. It was sort of on my radar that it was actually possible to change the emoji character set. I think that if I didn't know Jenny's story and it turned out I didn't know Jenny story at all but I thought I knew Jenny story but if I didn't know that basic thing that that somebody I knew who was a mere mortal like me had gone to the Emoji Subcommittee of the Unicode Consortium and petition them to add a dumpling emoji, I am sure that I wouldn't bother. But I knew from talking to her that there was basically a process and that there were a format that they want proposal in and it's possible to write them a proposal. I knew that much just because I knew Jenny. I think at that point, when I started thinking about this, the Emoji 9 -- I should be more of an expert on that actually, on emoji releases but a new release of emoji had come out. There were a bunch of things in that release and it got a little bit of traction on Twitter. I knew that the Unicode Consortium had just announced a whole new slate of emoji, so I also was generally aware that there was some kind of process by which emoji were getting released and expanded and updated. ROBERT: That's interesting. Do you know when that started? Because it seems like Apple started to add more emojis around like iOS 7 or something but it was pretty static for a while right? Or am I wrong? AMANDA: I actually am tempted to look this up but the other piece that is not irrelevant here is that at the time, I was working at a news organization called BuzzFeed that you may have heard of -- ROBERT: Maybe, I don't know. It sounds kind of familiar. AMANDA: I do feel like people kind of know who they are. I was surrounded by emoji all the time: in BuzzFeed, in internet native of the highest order and we had to use emoji all the time and I had to figure out how to get emoji into blog post which I didn't really know how to do before that. I can put them on my phone but that was it. I was immersed in emoji already. I knew that there was a project called Emojipedia, that was a whole kind of encyclopedia of emoji. One of my colleagues at BuzzFeed, a woman named Nicole Nguyen had written a really great article about the variation in the dance emoji. If you look at the dance emoji, one of the icons that some devices use is this kind of woman with her skirt flipping out behind her that looks like she's probably dancing a tango and then one of the icons that other character sets use and other devices use is a sort of round, yellow lumping figure with a rose in its mouth that you sort of want to hug but it's definitely not to impress you with its tango skill. She had written this whole article about how funny it was that you might send someone this very cute dumpling man with [inaudible] and what they would see was sexy tango woman. I think there was some discussion, it was around that time also that Apple replaced the gun emoji with a water gun. There was some discussion of the direction that the various emoji's face. One of the things that I learned around that time was that every device manufacturer produces their own character set that's native to their devices and they look very different. That means that there's a really big difference between putting a kind of like frustrated face with a gun pointing at it, which I don't really think of it as very funny but that sort of like, "I'm going to shoot myself" is very different from pointing the gun the other way which is very much like, "I'm shooting someone else," so these distinctions, what it means that the gun emoji can point two different ways when it gets used was also a conversation that was happening. None of that answers your question, though which is when did the kind of rapid expanse of emoji start to happen. ROBERT: I feel like the story is setting in the place there, though because it seems like there's a little bit of tension there that we're all kind of diverging here a little bit and it's sort of driving back towards maybe standardization. AMANDA: There's actually, as far as I know, no real move toward standardization but the Unicode Consortium has this committee that actually has representatives from definitely Apple and Microsoft and Google and I forget who else on the consortium. Jenny 8 Lee is now on the consortium and she's on the Emoji Subcommittee but they actually do get together and debate the merits of adding additional emoji, whether they're going to be representative. One of the criteria is longevity and I tend to think of this as the pager problem. There is indeed a pager emoji and I think that the Unicode Consortium wants to avoid approving a pager emoji because that was definitely a short-lived device. CHARLES: Right. I'm surprised that it actually made it. Emoji must be older than most people realize. AMANDA: My understanding is that very early Japanese computers had lots emoji. There's a lot of different Japanese holidays that are represented in emoji, a lot of Japanese food as well are represented in emoji, so if you look through the foods, there's a handful of things that haven't added recently but a lot of the original emoji definitely covered Japanese cuisine very well. ROBERT: I definitely remember when I got my first iPhone that could install iPhone OS 2, you would install an app from the App Store that then would allow you to go toggle on the emoji keyboard but you had to install an app to do it and that's kind of where the revolution started, for me at least. I remember everybody starting to sending these things around. AMANDA: But if you look at Emojipedia, which has a nice kind of rundown of historical versions of the Unicodes, back in 1999, they added what I think of as the interrobang, which is the exclamation/question mark together and a couple of different Syriac crosses. Over the years, the committee has added a whole series of wording icons and flags that all make sense but then, it is around, I would say 2014, 2015 that you start to get the zipper mouth and rolling your eyes and nerd face and all of the things that are used in conversation now -- the unicorn face. ROBERT: My regular emojis. AMANDA: Exactly. CHARLES: It certainly seems like the push to put more textile emoji ought to clear the hurdle for longevity, seeing there's kind of like, what? Several millennia of history there? And just kind of how tightly woven -- pun intended -- those things are into the human experience, right? AMANDA: Definitely. Although technically, there's still no weaving emojis. CHARLES: There's no loom? AMANDA: There's no loom and I think that a loom would be pretty hard to represent in a little 8-bit graphic but -- CHARLES: What are the constraints around? Because ultimately, we've already kind of touched on that the emoji themselves, their abstract representations and there are a couple of examples like the dancing one where the representation can vary quite widely. How do they put constraints around the representation versus the abstract concept? AMANDA: You don't have to provide a graphic but it definitely kind of smooths the path if you do and it has to be something that's representable in that little bitty square that you get. It has to be something representable in a letter-size square. If it's not something that you can clearly see at that size, it's not going to be approved. If it's not something you can clearly illustrate at that size in a way that's clearly distinct from any other emoji and also that's clearly distinct from anything else of that image could be, it's not going to be approved. Being able to actually represented in that little bitty size and I don't know... One of sort of sad fact of having ultimately worked with Emojination on the approval process is that we were assigned an illustrator and she did some illustrations for us and I never had to look at what the constraints were for the illustration because it wasn't my problem. ROBERT: Sometimes, that's really nice. AMANDA: Yes, it's very nice. I ended up doing a lot of research. What made me really sad and I don't want to jump too far ahead but one of things that made me really sad is we proposed the slate and the one thing that didn't get approved was the sewing needle and it also didn't get rejected, so it's in the sort of strange nether space. That's kind of stuck in purgatory right now. I did all this research and learned that the oldest known sewing needle is a Neanderthal needle so it predates Homo sapiens and it's 50,000 years old. CHARLES: Yeah. Not having a sewing needle just seem absurd. AMANDA: Yeah. We have been sewing with needles since before we were actually human being. ROBERT: That's a strong case. AMANDA: Yes, that's what I thought. If I sort go back to my narrative arc, I wanted to do a sewing needle and started researching it a little bit -- CHARLES: Sorry to keep you interrupting but that's literally the one that started this whole journey. AMANDA: Yes, I wanted a sewing needle and I really wanted a sewing needle. I did a little research and then I reach out to Jenny and to ask her if she had any advice. She said, "You should join my Slack," and I was like, "Oh, okay. That's the kind of advice." She and I talked about it and she said that she thought that it made more sense to propose a kind of bundle of textile emoji and I decided to do that. She and I talked it through and I think the original was probably something closer to knitting than yarn but we said knitting, a safety pin, thread and needle were the ones that kind of made the most sense. I set about writing these four proposals and one of the things that they asked for was frequently requested. One other thing that I will say about the proposal format is that they have this outline structure that is grammatically very wonky. They ask you to assert the images distinctiveness and they also ask you to demonstrate that it is frequently requested. I found a couple of really interesting resources. One, Emojipedia which is this sort of encyclopedia of emoji images and history maintains a list of the top emoji requests. I actually don't know how they generate that list or who's requesting that and where but I think it's things that they get emailed about and things people request in other contexts and sewing and knitting, I've done on that list and I started compiling it in 2016. ROBERT: To be a part of the proposal process, to show that it is requested, without that resource, you just start scouring Facebook and Twitter and history and shouting to people like, "I really want this emoji. Why it didn't exist?" That seems pretty hard. AMANDA: Actually our proposals all have Twitter screen shots of people grousing about the absence of knitting emoji and yarn emoji and sewing emoji. I know that Emojipedia, they do a bunch of research so they go out and look at based what people are grousing about on Twitter. They look at places where people are publicly saying like, "It's crazy that there's no X emoji," and that's part of their process for deciding what kinds of emojis people are asking for. Their research was one resource but we took screenshots of people saying that they needed a safety pin emoji and that was part of making the case. One of the things that I found as I was doing that research was that, I guess at this point it was almost two years ago, when the character set that included the dumpling emoji came out, there was a bunch of grousing from people saying, "Why is there not a yarn emoji?" There was a writing campaign that I think Lion Brand had adopted. Lion Brand yarn had put in this tweet saying like, "Everyone should complain. We needed a yarn emoji," but it doesn't matter how much you yell on Twitter. If you don't actually write a proposal, you're not going to get anywhere. I had been told that the Emoji Subcommittee, they're really disinclined to accept proposals that had a corporate sponsor, so they weren't going to create a yarn emoji because Lion Brand yarns wanted them to create a yarn emoji. ROBERT: Right, so it was like counter-peer proposal. AMANDA: Right. But as I was digging around the other thing I found was this woman in... I actually don't know if you're in Dallas or Austin but I found Amberley, who also put a post on Twitter and had started a petition, asking people to sign her petition for a yarn emoji proposal or a knitting emoji. I don't remember if it was a yarn emoji or a knitting emoji but I found her petition and reached out to her to ask if she was interested in co-authoring the proposal with me because she had clearly done the work. She actually had figured out how the system worked at that point. I think she knew who she was petitioning, at least. I reached out to Amberley and we worked together to refine our proposal and figure out what exactly we wanted to request. I think there were a bunch of things that were on the original list like knitting needles, yarn and needles. I think crocheting would have been on the original list. We were sort of trying to figure out what was the right set of requests that actually made sense. ROBERT: So then, this is where Amberley stories comes in and it is interesting too because she has entirely different angle for this. Maybe not entirely different but different than outright. This kind of ties back to the word software podcast mostly. It kind of ties back to the software aspect, right? AMBERLEY: Yeah. I think, really they're kind of separate stories on parallel tracks. My motivation was also two-fold like Amanda's was, where I started knitting in 2013 and I had a really good group of nerd friends with a little yarn shop up in DC, like a stitch and ditch group -- ROBERT: I love it. AMBERLEY: It was a constant sort of like, where's the insert emoji here, like where's the yarn emoji? Where's the knitting emoji? And we would sort of sarcastically use the spaghetti emoji because it was the most visually similar but that was something that was in the back of my mind but it teaches you a lot about yourself too because I was like, "Oh, this is like fiber art, not really an emoji. It's kind of technical, like on a tech space," and I didn't really connect that it was relevant or that I might have any power to change it. It just didn't occur to me at the time. ROBERT: Interesting. I feel like a lot of people are in that similar situation or maybe not situation, even though you can make change on this. AMBERLEY: Right, so my brain didn't even make it like, "Why isn't this a thing? let me look at how to make the thing." When that happened for me, Amanda mentioned using emoji and everything in the BuzzFeed space. I love how you explained BuzzFeed a while ago, it's my favorite description of BuzzFeed I ever heard. Something similar that happened for me was I was a software developer and in 2016, the Yarn package manager was released and that kind of turned something on in my head. That was like I'm seeing all these software engineers now be like, "Where's the yarn emoji?" and I'm like, "Welcome to the club." ROBERT: "Do you want to join our Slack? We can complain together." AMBERLEY: Right. It has been like a pretty decent amount of time, I'm semi-seriously ranting and complaining to my coworkers who were primarily male software engineers. I remember I went to [inaudible] in the Frost Bank Tower after work and was just like, "I'm going to figure out how this happens," and I spent a couple hours at the coffee shop. I found the Unicode site and I found their proposal process and their structure for the proposal and everything and I just started doing the research and drafting up a proposal specifically for yarn. Maybe it was a bit naive of me but to me it was like, "Okay, here's the process. I follow the process. Cool." I mean, you have to make a case and it has to be compelling and has to be well-written and it has to be supported and all that and that to me it was like, "Okay, there's a process. At the same time, I did read about the dumpling emoji but I didn't connect it to Emojination and they had started the Kickstarter. We should talk about this later but I think the sort of idea the issue of representation on the committee and who gets to define language is really interesting but I saw that they had done the Kickstarter and there was a campaign aspect to it, so I ended up just building up this simple site so that if anyone Google, they would find yarn emoji. It's still up at YarnEmoji.com and that was how Amanda found me. I got this random email, I sort of like had this burst of energy and I did all the research and I wrote the draft, sort of piecemeal, filling out the different sections of the way they have it outlined on the Unicode site and then I feel like a month or two went by and I had kind of not looked at it for a bit and then, I get this random email from this website that I almost forgot about. It was like, "Hey, I'm working on this series of proposals. If you're working on knitting or yarn or whatever, maybe we could work together," and I was like, "Well, that's sweet." Then she opened up this whole world to me. There's this whole Emojination organization, sort of 100% devoted to democratizing the process of language formation through creating emojis and so then, I got really into that. My primary motivator was yarn. CHARLES: So what's the status of the yarn spool, those emoji right now? AMBERLEY: The yarn, the spool of thread and the safety pin, they're all approved emoji for the 2018 released. Amanda and I are actually at the end. Amanda, a couple of months ago when I saw someone used the spool thread emoji for a Twitter thread -- you know how people will be like all caps thread and have a thread of tweets -- I saw someone do that just out of the blue. I was like, "Oh, my God. Is it out?" and the thing about these individual vendors, it sort of gets released piecemeal, so at the time Twitter have I think released their versions of this series of new emoji but others hadn't. CHARLES: How does that work? Because you think the Twitter would be kind of device depending on what browser you're using, like if you're on a Windows or a Mac or a Linux Box, right? ROBERT: -- Emoji set, right? I know Facebook does this too. AMBERLEY: I'm painfully aware that Facebook does it because I can't use the crossed finger emoji on Facebook because it actually gives me nightmares. ROBERT: I have to go look at this now. AMBERLEY: Because it's so creepy-looking. CHARLES: Okay. Also like Slack, for example is another. It's like a software-provided emoji set. AMANDA: Right. AMBERLEY: I'm not totally sure that Slack actually adheres to the standard Unicode set. I think it's kind of its own thing but I might be wrong about that. AMANDA: Sorry, Slack definitely supports the full Unicode set. They also have a bunch of emoji that they've added that aren't part of the set. AMBERLEY: Slack emojis? AMANDA: Yes. CHARLES: Yeah and then every Slack also has its kind of local Slack emoji. AMBERLEY: Right. CHARLES: But how does that work with --? ROBERT: Okay, this crossed-finger Facebook emoji is... yes, I agree with you, Amberley. AMBERLEY: Thank you. I had yet to find someone who disagrees with me about that. AMANDA: I have never seen it before and I'm now like, "What is going on?" CHARLES: Yeah, so how does it work if a vendor like Twitter is using a different emoji set? How does that work with cut and paste, like if I want to copy the content of one tweet into something else? Are they using an image there? AMANDA: They're using an image. I think it's doesn't happen as much anymore but for a long time, I would often get texts from people and the text message would have that little box with a little code point in it and you were like -- AMBERLEY: More like an alien thing? AMANDA: Yeah. Definitely, if you don't have the emoji character set that includes the glyph that you're looking at, you're going to get that little box that has a description of the code point and I think what's happening is that Twitter is using JavaScript or generally programming. There were air quotes but you can't see. Twitter is using their software to sub in their emoji glyph whenever someone enters that code point. Even if you don't have the most up to date Unicode on your computer, you can still see those in Twitter. If I copy and paste it into a text editor on my computer, what I'm going to see is my little box that says '01F9F5' in it but if I get it into Twitter, it shows up. I can see them on Twitter but I can't see them anywhere else. AMBERLEY: Damn, you really have the code point memorized? AMANDA: No, I -- CHARLES: Oh, man. I was really hoping -- AMBERLEY: Oh, man. ROBERT: You live and breathe it. AMANDA: No, I'm not that compulsive. AMBERLEY: We definitely have our emojis on our Twitter bios, though. AMANDA: Absolutely. ROBERT: If you see Amanda's bio, it's pretty great. AMANDA: They started showing up on Twitter and I think that somebody in Emojination probably told me they were out and that was when I first started using them. Amberley might have actually seen it. It sounds like you just saw it in the wild, which is kind of amazing. AMBERLEY: I saw it in the wild with this tweet thread and yeah, it's just [inaudible]. I was like, "Amanda, is it out?" CHARLES: Yeah, I feel like I saw that same usage too, although I obviously did not connect any dots. AMANDA: This last week, October 2nd -- I'm also looking things up. I'm just going to come to the fact that I am on a computer looking things up so I can fact check myself -- after they actually released their emoji glyph set, so by now any updated iOS device should have the full 2018 emoji, which in addition to a kind of amazing chunky yarn and safety pin, there's also a bunch of stuff. There's a broom and a laundry basket. There's a bunch of really basic, kind of household stuff that certainly belongs in the character set alongside wrenches and hammers. AMBERLEY: I think one of the big ones too for this year was the hijab? AMANDA: No, the hijab actually came out with a dumpling. Hijab has been available -- AMBERLEY: It's been up, okay. ROBERT: So did it come with iOS 12 or 12.1? I don't know for sure. I just know -- AMANDA: I'm looking at it and it's 12.1. I really feel that I should be ashamed that I have used the internet and search for this. AMBERLEY: I would say, I have no idea what their release numbers are. AMANDA: [inaudible] as it appeared for the first time in iOS for 2018 with today's release of the iOS 12.1, Beta 2 for developers. ROBERT: That is amazing. Do you get some kind of satisfaction -- like you have to, right? -- from people using the emoji and it's starting to make its way out there? AMANDA: So much. Oh, my God, yeah. AMBERLEY: I didn't really expect it, like saying that random tweet using this spool of thread for a tweet thread. I just thought and I just got so psyched. For me, I'm a knitter. I have knitter friends and it started with yarn and then really, Amanda and through Amanda, Jenny really sort of broadened my idea of what it all really meant. To think someone using it in the wild for a totally different application than I had ever thought of was like, "That's legit." AMANDA: I definitely have a sewing emoji search in my tweet deck and sometimes, when I'm feeling I need a little self-validation, I'll go look over there and find people who are saying things like, "Why is there no sewing emoji?" and I'll just reply with all the sewing emoji, like it is part of my work in this life to make sure that not only do they exist but people know about them. ROBERT: That is awesome. I would do the same thing, though to be honest. You'll be proud of that. AMANDA: Totally. ROBERT: Were there any hitches in the proposal process? I know we're kind of alluded to it but the thing that you started off one thing, Amanda didn't make it. Right? AMANDA: I know. ROBERT: So how did that process happen from you two meet each other and then going through the actual committee and the review process and then being accepted. What would that mean? AMANDA: The process is actually incredibly opaque. We wrote this whole proposal, a bunch of people edited it, which is one of the other nice things about collaborating with Emojination. There was a bunch of people who are just really excited about emoji and the kind of language making that Amberley was talking about. There's a whole bunch of people who just jumped in and gave us copy edits and feedback, which was super helpful and then, there was a deadline and we submitted it to the committee and it actually shows up in the Unicode register which is also a very official kind of document register. I was a little excited about that too but then they have their meeting. They first have a meeting and there's like a rough pass and the Emoji Subcommittee makes formal recommendations to the Unicode Consortium and then the consortium votes to accept or reject the Emoji Subcommittee's recommendations. It's a very long process but unless you're going and checking the document file and meeting minutes from the Unicode Consortium meetings, you'll never going to know that it happen. AMBERLEY: -- You know someone connected through there because one of the things in our first pass, it wasn't that it was rejected. It was that we needed to modify something. We do have art for knitting needles with yarn because at one point, I think we weren't totally sure that a ball of yarn would be visually distinct enough in this emoji size to look like yarn and so, we had put it with sort of knit piece on knitting needles. AMANDA: Oh, that's right. There was a tease of a little bit of knitted fabric. AMBERLEY: Right and I think that, probably through Jenny or the people actually in the room, the feedback I remember is that there is a crocheter in the room who was like, "Yeah, why isn't there a yarn emoji but knitting needle?" so there was a little bit of like that was how I think we ended up from knitting needles with a fiber piece to ball of yarn, maybe. AMANDA: I think that sounds right. I'm actually sure of that. It's just all coincide with my recollection. There were some things that they had questions about and that happened really fast because I feel like we had a couple of days and they have stuck to our guns and said, "No, we're only interested in knitted bit of fabric." Also, we worked with an illustrator and went back and forth with her because the initial piece that she had illustrated, I feel like the knitting needles were crossing in a way. That was not how knitting works and so, there was a little bit of back and forth around that as well. But then once they decided that the they like the thread, yarn and safety pin, we're going to move to the next stage. I actually had to go back and look at the minutes to find out that the two reasons that they didn't move the sewing needle on to the next stage is when they thought it was adequately represented by the thread, which I wholeheartedly disagree with and they thought it wasn't visually distinctive. That's so much harder because a sewing needle, which is really just a very fine piece of metal with an eye at the end, you get down to a really small size and it is maybe a little hard to know what you're looking at. But I think there's such a big difference between the static object which is the spool or the thread which represents a lot of things and is important and the needle, which is the active tool that you use to do the making, to do the mending, to do the cobbling. CHARLES: Yeah. I'm surprised that it almost isn't reversed when certainly in my mind, which I think is more culturally important in terms of the number of places which it appears, it's definitely the needle as being kind of... Yeah. AMANDA: Yeah and I think that the thread and yarn, they're important and I think that the decision to have a ball of yarn rather than a bit of knitting makes sense because there's a lot of things that you can use a ball of yarn that aren't just knitting and they think that -- AMBERLEY: And it's the first step too that doesn't exclude anyone in the fiber art community. AMANDA: But there's so many things like in sutures and closing wounds, you're not using a little spool of cotton thread for that or polyester thread and stuff like embroidery and beadwork, you might be using thread or fiber of some sort that started on a spool but you might not. Embroidery floss was not sold in a spool and there's all these places where we use needles and all kinds of different size and you don't always use thread. Sometimes, you're using yarn. Sometimes, you're using leather cord. Sometimes, you're using new bits of, I would say Yucca. You're using plant fibers to do baskets and in all of these different practices, that process of hooking it through the eye and sewing it is how it's actually made. It still sort of mystifies me why they haven't accepted it but they also didn't reject it, which is really interesting. I don't know how many other emoji are sort of sitting in this weird nether space because sometimes they just reject them outright. I think there was a proposal for a coin that they just said no. ROBERT: They were a like, "A coin?" That would be [inaudible]. AMANDA: Oh, God. ROBERT: They have to add one for every -- AMANDA: [inaudible]. CHARLES: Literally, the pager of 2017. AMANDA: Exactly. CHARLES: So what recourse is now available to you all and to us, by extension, to get the sewing needle? AMANDA: I'm actually working on a revised proposal and I've been trying to figure out what are all the arguments that I'm missing for why sewing and the needle are not adequately represented by the thread and yarn. A bunch of things that a friend of my named, Mari who's half-Japanese, half-American but lives in Guatemala and does all this kind of arts in textile work, pointed out that there's a whole holiday in Japan devoted to bringing your broken needles and thanking them for their service. I thought that was really cool. I've been trying to formulate what are all of the arguments for the necessity of both a needle and a spool. If anybody has interesting ways to phrase that, I would love for arguments. CHARLES: Yeah but it's hard to imagine the arguments is just anything being more compelling than the arguments the you just laid out that you named about seven context: shoemaking, medicine, different fibers where the needle operates completely and totally independent of the thread. It's looming so large in kind of our collective conscious like holidays, being dedicated to them, except I think the Cro-Magnon pager, which is made out of stone, I believe, the being the artifact that pre-dates... AMANDA: There's the idiom landscape as well. Things like finding a needle in a haystack, that has a very specific meaning -- ROBERT: And for puns. I've been resisting saying a pun this whole time. AMANDA: Oh, share your pun with us. AMBERLEY: Yeah, you have to say it. ROBERT: Well, you could say that trying to get this through the committee is like threading a needle. Butchered but -- AMANDA: There's a biblical quote about getting into heaven -- a camel through the eye of a needle. I forget actually how it... CHARLES: To thread a camel through the eye of a needle than for a rich man to get into heaven. AMANDA: Exactly and there's this sort of do-re-mi, saw, a needle pulling thread. There are all these places where it's about the needle and somebody had -- CHARLES: It's primarily ancient. AMANDA: I know. CHARLES: It is the prime actor. Maybe, this is a good segue into kind of talking about the makeup of the committee and the decision making process and these kind of what seem like very clear arguments might not be received as such. AMANDA: I certainly don't want to say anything bad about anybody on the committee. CHARLES: No, no, I don't think that there's anything bad. I think that being receptive to things which are familiar to us versus with things that aren't is a very natural human thing and it can be interesting to see that at work and at play. AMANDA: The Unicode Consortium is also evaluating all of these requests for whole language glyphs sets. Lots of languages and lots of character sets that are kind of obvious, like there has to be a sort of like character set like there has to be an Arabic character set but there are a lot of languages that have been left out of that because they're very small minority languages or they are historical languages, where the actual writing is no longer written the same way but there's historical reasons to be able to represent those characters. One of the reasons why the Emoji Subcommittee cares about what gets into the formal character set is that everybody has to accommodate it and there's already been, I think some grousing. People start to moan and groan about how there's too many emoji, then it's too hard to find things. CHARLES: And there's no take backs. AMANDA: There's no take backs. You can't undo it. The committee is made up of representatives from a lot of tech companies primarily, although there's a couple of other kind of odd additional folks on there. I do try to find the committee list and I can find it right now. AMBERLEY: I have it from Emojination. I don't know if it's up to date but Oracle, IBM, Microsoft, Adobe, Apple, Google, Facebook, Shopify and Netflix. The other voting members -- ROBERT: Shopify? AMBERLEY: Yeah, right? The others being the German software company, SAP and the Chinese telecom company, Huawei and the Government of Oman. AMANDA: Yeah, the Government of Oman is a fascinating one. I don't think they're the ones that are biting us on this. Especially for those tech companies, every time the emoji character set adds 10 or 12 emoji, they don't have to accommodate it on their devices. They have to put illustrators on it, they have to deal with everyone saying that the crossed fingers emoji in Facebook looks like I-don't-even-know-what. AMBERLEY: Hey, Amanda. AMANDA: It's all your fault. There's a whole process and there's non-trivial work associated with every single new emoji, so wanting to put the brakes on a little bit and be intentional about where and when they apply that work, it doesn't seem crazy to me. I just want them to approve the thing that I want. AMBERLEY: I like the way that Emojination captures it. I looked at their website earlier and actually, they take it down but their goal quote "Emojination wants to make emoji approval an inclusive representative process." There has to be a process. There's overhead involved but looking at the makeup of the decision makers are not a trivial question. CHARLES: Right. This is a great example like [inaudible] metaphor but these little artifacts, these emojis are literally being woven to the fabric of a global culture and certainly, everybody uses them and they become part of the collective subconscious. It does seem like very important to be democratic in some way. It sounds like there is a process but making sure that everyone has a stake. AMBERLEY: Yeah. ROBERT: What was the reason that they gave for not accepting the needle and thread? Was it like a soft no? You said it's like just hanging out, not really rejected but not accepted. We're going to drop a link in the show notes for the proposal and your GitHub and everything. I'm looking at the PDF that was put together and it seems like it was all a package deal like we talked about. How do they just draw or they just take like a lawyer would, just like draw or cross it out like, "Well, no but we'll take the other ones." AMANDA: Yes, basically. What they did is they need to discuss and I don't know how long they've been meeting but they need to discuss all of the proposals that have been supplied by a particular deadline and -- ROBERT: That sounds painful. AMANDA: Yeah, I mean, it's -- ROBERT: Just imagine the power of thinking about emojis. AMANDA: One of the things that they rejected, I think because there's the smiling poo face. Somebody wanted a frowning poo face and they rejected that. There's a bunch of things that actually do get rejected. I don't know if they've been really care about a smiling poo face versus a frowning poo face. ROBERT: What about an angry one? AMANDA: We got all the feelings of poo. ROBERT: We got important work to do here. AMANDA: But they go through when they're trying to figure out. I think to some degree, you want to get them when they're not tired but I think the status that it's listed right now is committee pushback, so they've set it aside until we have some concerns. We're not going to reject it outright but we're not really sure why this isn't adequately represented. Then their most recent meeting, they just kind of passed on reconsidering it, which is fine because I think I was traveling and my proposal is not done. I really want to make sure that I have consolidated every imaginable argument in one place so -- ROBERT: And make it strong as possible. AMANDA: Yeah. If people want to help the other thing that would be amazing is any and all idioms that you can think of, especially ones that are not in English or European languages, idioms in Central European languages, idioms in Asian languages that refer to needles, either translations of the kind of classic, 'finding a needle in a haystack,' but also any idioms that are kind of unusual and specific to a culture outside of what I have experience with would be amazing for making the case, so this is an international need. ROBERT: Do they need any specific or actionable feedback or do they just say, "We're going to push back on this. We're just not quite sure?" AMANDA: The two things that we're in the minutes -- there are minutes and they publish the minutes to Unicode.org -- were it was not visually distinct, which is not totally crazy. We actually worked with an illustrator to get a different image. The first image was almost at 90 degrees. It was kind of straight up and down and it is a little hard to see and the second is -- ROBERT: Especially, because it's thin. AMANDA: The second image is actually a kind of stylized needle because it's fairly a little fatter and the eye is bigger but it's much more distinctively a needle. I'm hoping that that will also convince them but you have to be able to tell at a very small size that it's a needle. The other thing that they said was that sewing was already represented by the thread, that we didn't need thread and needle but it was literally one line in the minutes that referenced that and then it sort of like, "Did you have somebody in the room or not?" and so, if there is somebody on the committee who is willing to tell you really what their concerns were, then you have some sense of what they're looking for and why they're pushing back. When you can very much see in the earliest emoji character sets that I have a hammer and I have a wrench and I use them but there's these very conventionally male tools. We have all of the kind of office supplies but all of homemaking and housekeeping and textile production, none of them were there until very, very recently. I think it does reflect the gender of the people who've been making these tools, that sewing and knitting weren't important enough as human practices to be included in this glyph set. AMBERLEY: I guess, that's non-trivial to mention because that wasn't an argument that I made in my original yarn draft and Amanda and Jenny sort of pushing to open it up to this whole slate of craft emoji. I didn't realize until they brought that up. I took a stroll through pretty much the whole slate of emoji and you can count on almost one hand the number that represented the creative endeavors or sort of more traditionally known as creative things like camera or painting palette and stuff like that. It was extremely limited. AMANDA: I think they have stuff like that. I think there's a few different variations on the camera and then there's painting palette and that's it. AMBERLEY: Oh, there's the theater mask. AMANDA: Oh, that's right. There is the theater, the happy and sad -- AMBERLEY: And I don't know it exactly and I haven't read the minutes like Amanda has but I think and I hope that that was a particularly compelling piece of that argument. AMANDA: I think they definitely heard it. AMBERLEY: Yeah. CHARLES: Opening it up then, what else is coming in the way of craft? It sounds like this is historical but these pieces are being filled in not only with the work that you all are doing but by other emoji which you're appearing. AMANDA: Yes. CHARLES: And are you in contact with other people who are kind of associated with maybe craft and textiles and other kind of what you're labeling historically creative spaces? AMANDA: I don't think there are anymore with a possible exception. Someone's working on a vinyl record proposal which I think is great. CHARLES: Yeah, that's awesome. ROBERT: Antiquated, though. AMANDA: Maybe not, I don't know. AMBERLEY: Take a stroll through the Emojination Slack and people discussed that. AMANDA: Yeah. If you click at Emojination.org, the whole Airtable database is on there. There's not a lot of other creative ones. A friend of mine got really bent out of shape about the lack of alliums and wrote a whole slate proposal for leeks and scallions and garlic and onions. ROBERT: Oh, there is a garlic one, right? AMANDA: No. I mean, there is -- AMBERLEY: Actually, I'm looking at the Unicode page for current emoji candidates. They first get listed as... I forget the exact order. They become draft candidates and then provisional candidates or vice versa but I don't see any pending further creative ones but garlic and onion are on there. AMANDA: Yes. ROBERT: That makes my Italian a little happy. AMANDA: I think there's some prosthesis, the mechanical leg and the mechanical arm, a guide dog -- AMBERLEY: Ear with hearing aid, service dog. AMANDA: Yeah, there's a good chunk of interesting things that have been left out. I guess they've been approved by the subcommittee but are still waiting on final approval by the Unicode Consortium. ROBERT: Okay. What are the next steps that we can do to help push the thread and needle proposal through it. You mentioned a couple things like coming up with idioms that are in different languages and whatnot but how can we contact you and push this effort and help? AMANDA: That's such a good question. I don't even know. I mean, I am Amanda@velociraptor.info and you're totally welcome to email me if you want to help with this and I will -- ROBERT: That's a great domain, by the way. AMANDA: Unfortunately, there's no information about velociraptors anywhere on that site. ROBERT: That's the way it should be. AMANDA: But also, if you're excited about working on emoji proposals, Emojination is an incredibly great resource and folks there, including me actually will help you identify things that are on other people's wish lists that you could work on if you just want to work on something and we'll help you refine your proposal if you know what you want and we'll help you figure out whether it's worth putting the time in or not and how to make it compelling. You can definitely check out Emojination.org. I think there's a path to get on to the Slack from there. AMBERLEY: Oh, yeah. The Slack and the Airtable. AMANDA: Yeah. ROBERT: It sounds like there's a whole community that was born out of this, where everybody is trying to help each other and collaborate and get their shared ideas across. AMANDA: Definitely and there's a woman, Melissa Thermidor who is fantastic, who actually is a social media coordinator. It's her actual title but she works for the National Health Service in the UK and was tasked with getting a whole series of health-related emoji passed. There's a bunch of things that she's -- AMBERLEY: Is she's the one doing blood. AMANDA: She's doing blood. AMBERLEY: That's a good one. AMANDA: Because there's a lot of really important health reasons why you need to be able to talk about blood and getting blood and blood borne illnesses and -- AMBERLEY: That one was listed on the emoji candidate page or blood donation medicine administration. AMANDA: Yeah. ROBERT: That's really interesting, so she works for the government, right? and that was part of her job to do that? AMANDA: Yes. ROBERT: That's awesome, actually. I love that. AMANDA: Yeah, I think the drop of blood, the bandage and the stethoscope are the three that are in the current iteration, which is interesting because the existing medical emoji were the pill and that gruesome syringe with a little drops of fluid flying off of it, which do not do a lot to encourage people to go to the doctor. ROBERT: No, not at all. AMANDA: So a few more, we're welcoming medical emoji. ROBERT: You have a GitHub. Is that where you're still doing for the follow up and the prep work for the sewing emoji? AMANDA: Yeah, that's probably the best place. I do have a Google Docs somewhere but that's probably a better place to connect even than my ridiculous Velociraptor email. The GitHub -- ROBERT: But it's still awesome. AMANDA: It is awesome. I won't lie. I'm very proud of it. I am AmandaBee -- like the Bumble Bee -- on GitHub and the sewing emoji, the original proposals are there and I will make sure that there is information about how to plug into the revised needle proposal there as well. You guys are a tech podcast, so if people want to just submit suggestions as issues on that repository, that's awesome. We'll totally take suggestions that way. ROBERT: That would be pretty rad. Well, I appreciate you two being on the podcast. I love hearing your stories and how it ended up converging in parallel tracks but it end up achieving the same goal. Still unfinished, right? Let's see if we can help push this over the finish line and get it done because I would really like to see a needle. I could definitely use that in many of my conversations already now, making all kinds of puns. Thank you, Amanda for coming on and sharing your story. AMANDA: Thanks for having me. ROBERT: And thank you, Amberley for also coming on and sharing your story. This was super awesome. AMBERLEY: Yeah and thank you for connecting us to finally have a voice conversation. AMANDA: I know. It's great to actually talk to you, Amberley. CHARLES: Oh, wow, this is the first time that you actually talked in audio? AMANDA & AMBERLEY: Yeah. ROBERT: We're making things happen here. The next thing we have to do is get this proposal through and accepted. AMANDA: Yes. CHARLES: You've converted two new faithful sewing and needle partisans here and I'm in. AMANDA: Awesome. ROBERT: I know you've already gotten, what? Three through accepted? AMANDA: Yeah. ROBERT: We talked about that, it's got to be really awesome. I think I want to try and jump in and get that same satisfaction because a lot of people use emojis. AMANDA: Exactly. CHARLES: It definitely makes me think like you look at every single emoji and there's definitely a story. Especially for the ones that have been added more recently, there's a lot of work that goes into every single pixel. That represents a lot of human time, which I'm sure you all know, so thank you. AMANDA: Thanks for having us on. AMBERLEY: Yeah, thank you guys. ROBERT: Cool. That is the podcast. We are Frontside. We build UI that you can stick your future on. I really love this podcast because it wasn't necessarily technical but had a lot of interesting conversation about how to work with a proposal and probably make a bigger impact than any of us with software, just because the sheer reach that emojis have are insane and the fact that you can influence this process is new to me and really cool, so I hope a lot of other people learn from that too. If you have any feedback that you would like to give us on the podcast, we're always open to receive feedback. We have our doors and ears open, so if you like to send an email at Contact@Frontside.io or shoot us a tweet or DM us at @TheFrontside on Twitter. We'd love to hear it. Thank you, Mandy for producing the podcast. She always does an amazing job with it. You can follow her on Twitter at @TheRubyRep. Thanks and have a good one.

The Frontside Podcast
111: Accessibility in Single Page Applications

The Frontside Podcast

Play Episode Listen Later Sep 20, 2018 53:36


In this episode, Robert, Charles, and Wil talk about the whys and hows of accessibility, as well as what makes single page applications special, why they are they harder for accessibility, and frameworks that can do this for you. Resources: #SkyQ app on #iOS from a #VoiceOver user's Perspective Rob's Routing Doc Wil's PR Single Page Apps routers are broken Greater Than Code Episode #92: A11y Ally with Rob DeLuca This show was produced by Mandy Moore, aka @therubyrep of DevReps, LLC. Transcript: ROBERT: Hello everyone. Welcome to The Frontside Podcast. This is Episode 111. I'm Robert DeLuca, a software developer here at the Frontside and I'll be your episode host. Today, we're going to be discussing accessibility in single page apps. With me as co-hosts are Charles Lowell. Hey, Charles. CHARLES: What is up Robert? ROBERT: And Wil Wilsman. Hey, Wil. WIL: Yo, yo, yo, yo. ROBERT: Sounds like we're ready to drop a disc track. We're not going to be dissing anybody here. We're going to be talking about helpful things with accessibility in single page apps. Before we get into the nitty-gritty of accessibility in single page apps because we're getting into some deep stuff, I think I want to cover a lot of 'how' because I know accessibility things are usually about why you should be doing it and then they touch on things like, "You should be using alt attributes for your images," but for single page apps, I think we need to go further. CHARLES: It always ends up like, "Then draw the rest of the accessibility owl." ROBERT: Yeah, here's your two circles and the alt-tags are your circles and then the rest of the freaking owl is focus management and everything else that comes with it. Before we get there, what is accessibility? I guess, if we trim the giant umbrella down a little bit from everything that is accessibility that can be physical space things, like wheelchair accessible ramps or things like that, what about just technology? WIL: People need assistive tech to interact with technology such as switches or keyboards and obviously screen reader is a big one but when it comes to the software itself, you could even talk about colors and people who are color blind, so red might not be red to everybody. ROBERT: Speaking from experience there? WIL: Yeah. I'm colorblind. Red is brown to me. CHARLES: Things like hearing and all of it, right? It really is like just designing it in such a way that it can be used by as many people as possible. ROBERT: Right. WIL: And that includes your mom who may not be the best with technology but she still needs to pay your bills online or something. ROBERT: Exactly, yeah and in for context to listeners that might not know, my mom is 100% blind, so it's kind of where it comes from. CHARLES: But my mom is not but she has all kinds of problems. WIL: Yeah, same with my mom. CHARLES: That also falls under the category of accessibility, right? ROBERT: Absolutely. CHARLES: Right, accounting for age and culture. ROBERT: We're blending into the why of accessibility, which is perfect. One of the things that it's such a good segue because what people are starting to realize and I think why accessibility is really starting to catch wind and get some traction is because a lot of people that grew up in the technology age were open in using technology a lot. Our parents probably did not use technology heavily. That's definitely the case for my dad. He still has a flip phone and he says, he's a low tech man living in a high tech world and just refuses to pick up technology but those are the people that just didn't use technology. But now we have a lot of people that grew up with technology and use a lot and they're aging into more disabilities and they're going to need that accessibility, which I think is really interesting to think about because that's a lot of buying power if you're just going to start moving in that needs in accessibility, right? CHARLES: That's true. I know I may need glasses pretty soon, so colors and fonts were going to be heck a lot more to me in the next five years than they have over the last 20. ROBERT: Yup, exactly and that's going to be huge for that and that's one piece of the why, so what are the other reasons that you'd pick up accessibility other than people saying that it's morally correct. I don't like starting off conversations for accessibility because it's the thing that you should be doing. WIL: I think it goes even to my user experience like power users that don't like using the mice or mouse. That's me. I really prefer to just use my keyboard for everything. When the new Firefox browser came out and I couldn't navigate through the menus the way I was used to, I went back to Chrome. ROBERT: That's interesting. CHARLES: I still have not found a good workflow for navigating tabs with the keyboard without just kind of twisting my wrist all out of shape. You have to share that with me but again, that's another thing. That's an impediment that sits between me and the application, that actually -- ROBERT: Which is really interesting, you're getting into a keyboard navigation and focus management, which is really the crux of accessibility for screen reader users and switch users. CHARLES: What I'm hearing is that in this case, including good keyboard and focus management in your application, e.g. making it accessible to screen readers, you at the same time, enabling your power users. I think a great point is that by introducing these very low friction workflows, you're actually going to be enabling other parts of your customer base and not just catering to one, that there are ripple effects throughout your system. ROBERT: It may set it for everyone. WIL: Yeah, not only people who need it but people who don't know they need it. ROBERT: Yes, exactly. Think about the WCAG spec as user experience guidelines. They're not telling you how to implement a thing specifically for a screen reader. They're telling you how to implement it in a way that works for everyone, regardless of what ailment they have. It could be a temporary ailment. It could be a permanent ailment, where they have to use a screen reader or any kind of ailment that you can think of. They're not considering just one use case. It's a broad thing that shows how you can make your application better for everyone. I think that's a better way to look at the WCAG spec than I need to read through this and make sure that this auto complete works for a screen reader. If you look at the guidelines, they're not telling you just first screen reader. They're telling you how to make it work for a switch, someone who is colorblind or who is using a dictation software. I kind of tend to look at that as UX guideline, which really helps me build a better app overall because when you nail down that user flow, everyone benefits from it because it's pretty well thought out at that point. CHARLES: I like that too and I think that thinking of it as user experience and making sure that you have a complete user experience is a good way to think about it because it kind of separates the concerns of, "I've got HTML but is my application really HTML or is it a set of workflows and the data over which those workflows operate?" It really forces you to think my application is not a set of React opponents or web components or Ember components or what have you but really, there's a deep structure to it and it makes you kind of shine a light on that deep structure and try to map its surface. Then, if you really, really know it and you capture it, then you can represent it in any medium. I think it's just a win not just for one niche group of users but also for all of our users and then also for your future users that you don't have because your application is designed better and is going to work. Who knows? Maybe there's some new interface or some new medium, some new device that comes out that hasn't even been invented yet. But if you really have a strong internal representation of what your application is, you're going to be able to be the first to move to that market. ROBERT: Right and like I said earlier, people are starting to aid in the needing accessibility thing. If you need a dollar to justify it, that's going to be a big reason coming up. As a part of the new WCAG 2.1 spec, there is a zoom. I forget what this access criteria number is but the new criteria says your app basically needs to be responsive. That kind of maps directly to what you said earlier, Charles which is like you're going to need glasses soon and fonts and being able to zoom. It's going to be really important. We see that just pop up everywhere. To give a counter example of not just for accessibility like you need it for glasses but the other side of that could be like when we give demos on low resolution projectors or screencast or anything, when we zoom the screen, the apps just still be usable and you should still be able to demo it and that's just something that you have both sides to that, where accessibility kind of works out for everybody. People on the call probably don't need glasses but to see that tiny screen that's being shared, you should be able to assume that. CHARLES: Right. I'm just kind of restating what you said but I want to make sure to call it out explicitly because it was a definitely an aha moment for me, that you basically if you build yourself an accessible website, you build it so that it works on projectors and mobile devices too, so you kind of killed two birds with one stone and you don't have to make a special effort because zooming in the screen is tantamount to viewing it on a phone or viewing it on a tablet. WIL: Yeah, we mentioned it earlier about accessibility and physical space and one of those things is being able to access something from anywhere no matter the device that person is using. ROBERT: Yes. That's a lot of the 'why' of accessibility and I think we did a pretty good job of staying away from the more argument because morally we don't know if it's the right thing to do but a lot of the times it's not in front of you, it's hard to do and I want to make sure that you don't feel bad if you're not building accessibility in your apps. It's not easy. I don't sort of like people get up and say that, "Accessibility is easy. Just do this," because it's not -- WIL: If it was easy, everybody would do it. ROBERT: Exactly. I always come back to accessibility being just like UX -- user experience -- because if it were easy, everybody would have a really great user experience too. It's a hard thing to boil down and to simplify it, right? CHARLES: Right and like every other aspect, the kind of nonfunctional requirement, I say nonfunctional requirement that's a little bit of a contradiction terms but it becomes very hard if you haven't done it from the beginning. But if you didn't start with an accessible app, you weren't thinking about that or you inherited the app or it just wasn't on your radar for whatever reason. If you got a codebase that's two years old, going back and trying to make it accessible, it was extremely hard. It's expensive, expensive, expense. WIL: Yeah, it's going to cost more in terms of money and time to added it after the fact. ROBERT: Exactly. I spent a year on helping on Visa Checkout and there were some accessibility considered in the designs but a lot of the time my feedback wasn't just like, "Yeah, sprinkle some ARIA attributes on there and you're good." It was like, "Do we really need a carousel here to represent your list of carts because it's really hard to navigate around that?" A lot of the times, it ends up boiling up to is this the best way we can represent this data? Is this the best way we can navigate and build this user flow? A lot of times -- CHARLES: And if the answer is no, it's so painful, right? ROBERT: Yeah, exactly, so all that work that was put into building that carousel and all the components that built that carousel together is thrown out because it's just not a pattern that should be used there. Doing after the fact is really hard and really expensive and usually ends up in refactoring anyways. CHARLES: I just want to point that out because a lot of people find themselves in that situation, where they're staring down at a pretty big cost. Now, the reasons why your app may not be accessible or many and good and you shouldn't feel bad, if you're finally in that situation. ROBERT: I gave a talk at Nodevember a couple of years ago called Accessibility Debt and it's just like any technical debt. Your apps going to have it. It's okay. Don't get beat up about it, especially if anybody is trying to beat you up over it, don't listen to them. It really is just like any other kind of technical form of technical debt. It's something that you'll have to deal with and it is just something you have to work through. It's not world ending. It's just another problem to work through. What are some things like everybody usually talks about like the things you can do, the basics for making your app more accessible like using all its attributes and instead of doing a div with an on-click handler, just use a button or don't overuse ARIA attributes. Are there any other things that I missed there like the basics of accessibility? WIL: The biggest is the HTML structure. Screen readers and other assistive tech were built with the standards in mind, so if you're doing nonstandard things like putting divs in H1 and adding ARIA attributes within there, you're not going to have a great time. ROBERT: Right or splattering ARIA roles all over the place, probably not a good idea. That will be harder to debug. Also fun fact, ARIA roles, while you can implement directly to the spec, you may still have bugs across the different screen reader combinations or assistive tech combinations, so that's fine. CHARLES: Keep it super simple is what I'm hearing, like use semantic markup. If you're going to introduce a custom button, still make sure that it's a button. ROBERT: Use the platform. CHARLES: Yeah, use the platform. Don't fight the platform. Probably the best example of that is people implementing their own select boxes. That's the classic example. ROBERT: Wil and I, our lives has centered around that for a little while. It's so true. Usually, it's the first thing people go to grab to reimplement because selects are just ugly. I think Firefox has the ability for you to style select options now like you can change the color and the font but you can't style that. The pop up that comes, usually that's the system dialogue, which a lot of designers don't really like. That's usually the first thing that people go to implement and that's usually actually the first thing that stop somebody from signing up. A lot of sign up forms that I see, if your date of birth is in a select format, that probably will hinder somebody that uses assistive tech from signing up. CHARLES: Yeah. You just basically bounced that entire person. The thing is people don't appreciate the cost. This gets into the whole concept of accessibility that is how much money would that person or those group of people have actually brought into your site versus the cost that you spent redoing that select box. You might be thinking, "It only took this developer actually two weeks," but when you actually look at the actual cost over the course of your application, you're not factoring that into the decision to go with custom select box. Just in our experience, it's just the truly low cost option per quality of experience, that tradeoff there is almost invariably going with platforms select, right? ROBERT: Yeah. Your secret sauce and the best UX that you're going to provide is not going to be nicely styled select box and seriously, a battle that I had to fight a lot was if you really want to implement a custom widget, decide if this is what you want to spend your time on because custom widgets aren't just quick and easy things you implement. You're not going to implement the select that's fully accessible across all the AT combos in a couple of days. CHARLES: It's a lot of work. ROBERT: Yeah. You're going to fall down on a huge rabbit hole. CHARLES: Yeah. It is just you're committing to that work over the lifetime of your application. ROBERT: Exactly, if you can maintain that now. If you implement custom check boxes and custom radios and custom input that of content edible for some reason, I think -- WIL: I think what I see is like custom date pickers -- ROBERT: Oh, I just had a rant about that. CHARLES: Date pickers are hard and there's not really a good option. You just have to open your eyes to the true cost. ROBERT: Right, exactly. That's what I always try to explain, just like you have ownership over this now and you now have to maintain this and you can't regress. CHARLES: Right and if you do regress, it's your neck that gets choked. ROBERT: Yes. A good way to put it. We've talked a lot about things that are just general accessibility but nothing specific to single page apps. I do want to say like a lot of other things that people recommend is like if you're using React, use like the JSX ES1 plugin to help you analyze if you're writing any JSX that might not be accessible or use like HTML_CodeSniffer or aXe to statically analyze the DOM that you have. Those tools are great. I'd see a lot of people [inaudible] those things as like, "Look, this automated checkers says I'm inaccessible so I'm inaccessible," and that's not the case, especially in a single page apps. You can have 100% passing automated checkers but your app also could be 100% broken and why is that? WIL: I don't know. ROBERT: I'm wobbling the router question here. WIL: Yes. I guess that would just be due to routing. In single page applications, they handle their own routing, whereas static web sites and whatnot, the routing is handled despite URLs and the browser and reloading pages. ROBERT: Right. There are probably other major differences between single page apps but the biggest thing is the routing is managed by the client, the JavaScript and on a server-rendered page, you click a link, it's going to rerender the entire page for that next page and the screen reader and the browser know exactly what to do with that, to put the focus back to the top of the page and start working through the page for you. But with single page apps, you're just replacing a piece of the DOM and the screen reader has no idea of what's going on. An automated checker cannot check for this. They cannot tell you if your routes are accessible. The reason I'm bringing this up is because this has never talked about. I don't see in accessibility talks and this is the thing that actually is most broken and makes your app pretty much unusable to anybody that's using assistive tech. There's ways that people if they're savvy can navigate around it but if they don't know what's going on, they're going to think, "All right, I pressed this button and nothing happened, so I'm just going to leave now because it's not working." CHARLES: There's a great video that you point to me, I believe a guy from the UK who has recorded a bunch of his experiences using websites and apps -- ROBERT: Yes, I want to dig it up and put it in the show notes. CHARLES: Yeah. Those are great to watch because you'll really get it. ROBERT: Yeah and that's a really unique case because he's really savvy. I believe, I could be wrong but I think he might have said that he definitely work in tech somehow -- CHARLES: Right. He knows the workarounds and he knows these things but in some of the cases it's like, "If I didn't work in tech, there's no way that I would be able to use this website." ROBERT: Yeah. This is kind of the crux of like if you ever listen to anybody that is an accessibility consultant, they'll say, "You will never ever be able to automate accessibility," and this why I tie accessibility so much to user experience, would you ever have a user experience test that can tell you in a binary fashion? Yes or no, that your app has a great user experience? No, because it's pretty subjective. CHARLES: Of how does your users feel? right? ROBERT: Yeah. CHARLES: You can rate, "My users feel great." ROBERT: Accessibility is like that because there's a lot of context that you have to carry around. It's all about context. When I transition from this page, the next thing does the user have enough context of where they're coming from to where they're going to be able to operate on that page. Is there enough information to achieve the task they want? That is pretty much the crux of why there is no binary yes or no for that because it's contextual. It varies from person to person but you do your best to make sure that that works and that you provide enough information to do something. That's kind of a single page app as a crux. This is why we have a philosophy of testing as a whole. We don't test components individually because again, you can make all of your components individually accessible there but as a whole, they might not work together because you're not providing enough context on an entire page. We did this in one of the apps that we work on, which is open source, so we can link to the PR that Wil wrote for this and I wrote an entire routing documentation around our philosophy and the different things that we tried. How did we manage the focus in that application? I'm kind of just going to lob it over to you Wil since you did the work. Do you want to give context of the holdings and how that all kind of came together? WIL: Yes. One of the features of the app is these panels. It's like this three panel system. When you click an item in a list, a third panel pops up and this goes back to the context thing where if you're using a keyboard, you can't see the screen. You click an item in a list, how do you know that third panel popped up? The solution isn't for a component. The component can't be responsible for this. The list can't focus the item. It opens or vice versa, so this is definitely an application concern, where we needed to check against the route and see whether or not, the pane is opening or was already open or wasn't open before and when this pane opens for the first time, it will just focus it and that gives a lot of the context that the user needs when they click it, like they click an item in the list, it focuses this third pane and they're on a third pane. ROBERT: Right. We didn't even just focus on the entire div. We focused on the heading of the thing that you selected. WIL: Yeah because focusing the div, it might read something off but not all the time. The main thing we're focusing on that third pane opens is the heading to let them know that the item you click, you are now on that page and reading that heading. This is the same thing that would happen if you loaded up that page statically and the screen readers would usually just focus on that first heading. ROBERT: Right. That helped a lot. For a little bit more context, the middle pane is like kind of a master detail thing going on here and in the middle pane there that we have, it's an infinite scrolling list. You have different things there and one of them is like a package. If you select the package and without the focus management and focusing on that heading, you would have to go through every single package that's in that list which could be a thousand of them before you actually get over to the pane that you just opened because source order. You have to go through each one of those. WIL: And it's the same thing is true for power users, not just screen readers. It's like if they want to use tab once that pane open, they have to tab through the entire list. ROBERT: Exactly. It wasn't keyboard accessible and it made it really hard to navigate around with a keyboard because the focus just wasn't being managed. There was a lot of work that we did there. I want to focus on the routing situation there because if you can't navigate around with a keyboard in your single page app, like you click a link and it's not selecting the next thing that should be focused and you provide the right amount of context, your app probably won't be usable without a lot of trial and error to a user, which depending on what your product is, they may not have a lot of patience for trial and error, right? WIL: Yeah. ROBERT: It's really important to try and nail down the routing situation and there are some frameworks and things out there that can do it. In the app that we're talking about, it's React app and we use React router but we don't actually really hook into the router to handle that and that's because React router doesn't provide very much information. WIL: Yeah. You can think of React router as more of an outlet system, where your routes can render anything, anywhere on the page. That's kind of dangers of accessibility and that's kind of the reason that React router can't handle accessible things very well because at any point, the route can just change the button on the page to look like something else. CHARLES: Yeah. It just pop in and pop out. There's no deeper model, right? There's not -- WIL: Yeah, there's no tree. CHARLES: Right, there's the internal state -- WIL: Like a component tree, yeah. CHARLES: The internal state of what is happening is completely opaque. You can only analyze the second and third order effects of the React tree. ROBERT: Right and especially if you have nested route components, it's really hard to determine. One of the things that I've seen people do is focus on mount, which is a very naive approach because what if you have three nested routes, they're all going to focus on mount and the last one that mounts wins and that's a focus for which nobody wins. CHARLES: You all tried that, right? ROBERT: Yes. That's part of the document that I wrote up. We tried three different approaches and we ended up landing on something because we were using React router that was more of like an application state thing, so we were checking props because we knew what the user flow was. We knew what the user, when they come to this page is trying to accomplish, so we're able to kind of figure out from where they came from or where they're going through props and focus the right things for them. WIL: One of the examples, like we talked about the third pane opening and focusing the heading inside but what you know what happens when you close that third pane, you kind of lose contexts again, so we have to focus the previous list item that was active because if you focus back at the top of the list, they've essentially lost their place and the list of results. In that case, we couldn't use on mount. That list item is already mounted. We have to listen to props and we have to look at the route through these props to determine if that third pane was open. If it just closed and if an item in the list is active, it should have focus. It's a lot of logic going on. You have to really understand your app in order to make it a very good accessible app. You can't just sprinkle in ARIA attributes and focus on mount everywhere and think it'll work fine because you're accessible. You have to really know the flow. CHARLES: Right. All those signposts point towards having a deeper application state, a deeper understanding of your application than just the render tree. At that point, it's too late and so by that, I'm definitely lobbying a Reach/Ember router. WIL: Yes. We talked a lot about the React router and we can't really be too accessible with it but to create a React router to go out and there is now Reach router. Robert, have you heard any good things about that? You're the accessibility expert here. ROBERT: I haven't played with it myself, so [audio glitch] things that were lost from the React router three to four transition, I think and also, it's actually accessible routing which is nice because it comes out of the box and you know how to implement it. I haven't played with it. I know Gatsby has implemented that for their V2, that's their default router now, which makes me really happy because a lot of static sites that were being built with Gatsby were very inaccessible and broken which made me sad but now, they're not with V2. I haven't played with Reach router but one of the things that I think it provides which was missing from React router was transition hooks. It has a concept of like where you're going from and to for your routes, which really helps figure out what you need to focus. The one thing I will say about Reach router and I'm sure it's got to be configurable somewhere but I haven't really looked and the demos that I saw, they were just focusing the div of the content that's being rendered, like it kind of just wraps with a generic div or the tabindex="-1" and then focuses it. If you have a lot of content that's inside of that div, it probably will be confusing but at least, it manages the focus somewhere. If you're now off in a no man's land, you have no idea what's going on, at least it focuses that. But if you want to really nail the experience to be better, I would recommend trying to figure out what you should focus inside of that route that you just transition to, what is the best thing. That's for React. There are other things out there for other frameworks, like I am on Ember accessibility team that's out there and we have Ember A11y, which just provide you a focusing outlet for you to be able to just drop in your app and then when the route changes, it does the same thing. It focuses the wrapping div of that outlet that was just rendered. I want to emphasize more in talking about e-holdings work that we did that we were focusing the heading because that told you exactly where you're at and what package you're on or what thing you're on. You know the name of it and now you know how you can go and navigate through that. CHARLES: But it's conceivable, so how would you do that with the Ember router? Would you just introduce some way to delegate down to a particular component? Like when I'm rendered into an outlet, it focus on this component? ROBERT: That would be interesting. I actually don't know. It's been a long time since I've messed around with the Ember router and Ember accessibility. It's definitely a great first step and that's where it kind of came from. I think there needs probably some work done to help implement on what you want to focus. That's kind of where I was going with when we were first exploring the React router stuff and e-holdings was I wanted to have this like high order component that knew of your routing tree and it knew where you're coming from or where you're going. Then from there, it would just tell you, this is the route that we're going to and there's need to be focus management done, like if this prop exists, then you can pick inside of that component that what you want to focus. It leaves it up to the implementor of what they need to focus but it could be probably just like a fallback to the general div because that's not bad. It's a good first step. There needs to be a little bit of work there to get that done probably. CHARLES: Yeah. But it is worth pointing out that by starting from a position of having an externalized application state via the route structure, in an Ember application, you're starting 95% of the way there. An Ember application, at any point, you know where you are and during your transition, you know where you're starting and where you're going to end up and you know when you leave and you know when you got there. ROBERT: Yeah. Having an Ember route pivot handler there, like where you're pivoting from and to is just so nice and it kind of made it click together a lot easier. CHARLES: Right. Reach router looks interesting but as I understand, it's still couched in React components and it feels to me like this is a problem that ought to be solved, that ought to be framework agnostic. Because if I use something like Reach or I use some other routing library for another framework, some other tool might come out that I want to use and I shouldn't be locked in -- ROBERT: Right like what if I really like Redux little router, then I have to make a choice between Redux state that I like or accessibility. CHARLES: Exactly and that feels like a false dichotomy to me. What I would want to be looking for is a platform independent or a framework independent routing library that really just helps you represent your application state and the concrete state in which your application is in at any moment and then, also be able to represent the transitions between those states fully and completely. Then if you have that, you could embed that into any framework. ROBERT: Right. That would be really nice to have. Just like pull it off the shelf and help you out there. CHARLES: If anybody is listening who wants something to do for the next 18 months, no one will thank you for 18 months but you had to get on that. We'll give you lots of thanks then. ROBERT: [inaudible] compare with you. That would be awesome. CHARLES: I would love to be part of that. ROBERT: Yeah, that would be awesome. To kind of tie back to other things, I don't know too much about Angular but I'm sure there are solutions out there to help with Angular. I know Marcy Sutton used to do a lot of work in the Angular world, so I'm sure there's something out there that helps with that. I just don't know off the top of my head right now. I wrote a Medium 'think piece'... No, I wrote a little medium blog post about how all of single page out for routers are broken. I was pleasantly surprised by Vue. Vue brings its own router and their router has a concept of before each, so before each route transition you can run some code and that really helped with implementing the live, the announcer pattern where you use ARIA live to announce something but even beyond there, if you wanted to dig in there, you could probably figure out where you're transitioning from and to and give that next route some kind of attribute that says, "This needs to be focused. Figure out what you need to focus there and inside that route, you can focus wherever you want." I thought that was a really awesome. That's kind of the crux of what I was missing from React router. I wanted the concept of knowing where I'm coming from or where I'm going and I would help with everything but unfortunately, that kind of doesn't exists because they're just components. For better or for worse, they're just components. CHARLES: The world is so much more than just components. ROBERT: Yeah, a little bit off topic, I think it's kind of funny how React kind of just shoved everything into the Vue layer, just to make it all a component. CHARLES: Yeah, it's very easy. ROBERT: Yeah, until it's not. CHARLES: Yeah, exactly. It's easy but it's not simple. ROBERT: That's a lot of talking about how routes need to be done and what you can kind of do to manage focus. It's really about managing the context and how you can provide the most contexts. For somebody to operate on that information, can they complete this thing? What can you do to make sure that you've done this properly? What steps can you take to make sure that you actually are accessible and that your routes work? WIL: Manually testing those screen reader is probably the biggest thing, you know? CHARLES: Yeah. I think the biggest thing is really watching someone who uses assistive tech on a regular basis use your application and then trying to use it yourself. WIL: Yeah. ROBERT: Right. Yeah, I'll definitely -- CHARLES: If you can get a little bit of this yourself but then it's kind of like someone who is never used a mouse before and trying to learn something new. What really helps is seeing someone who's good at it and see how their expectations are either being met or not being met. ROBERT: Yeah, it's definitely the best way. If you can find somebody that actually relies on assistive tech, there's nothing that beats that kind of feedback. If they get to your app and they're really confused, I see some people that just dismiss it because they just don't understand. That is the best feedback you can actually get. If they don't understand what's going on, you have -- CHARLES: That's on you. ROBERT: Yeah, that is going to be what happens for everybody that uses that. Well, maybe not everybody because everybody has different experiences but it's probably going to be a thing that pops up everywhere. But if you don't have access to people that are actually using assistive tech regularly and are pros at it, WebAIM provides really great tutorials for how to use a screen reader. If you're using a Mac, you have a screen reader built in and you can use that called VoiceOver. If you ever want to turn it on or turn it off, its command F5. WIL: You might have to have that shortcut enabled, though. ROBERT: Really? I'm pretty sure it's quite default. WIL: I thought I had to enable mine but I could be wrong. ROBERT: It's interesting. CHARLES: Yeah. They got great tutorial too. It's like it notices the first time you turn it on, so it tries to help you navigate bullet lists and select boxes and input fields and check boxes and all kinds of good stuff. ROBERT: Yeah. It gives you a little bit of a boot camp but WebAIM also helps with specific to website and stuff because one of the things that we ran into while working on the e-holdings project is they're transitioning from a native app to a web app and there were just things that you can do on a native app that you cannot do on a web app. Just keep that in mind also when you're testing, there's just things that will behave differently. Like you're not going to have a lot of crazy key shortcut commands like you're not going to press command F to get to the search box if your app has a prominent search box because that is going to clobber a bunch of other assistive tech key commands. WebAIM is really a good help with giving you the tutorial of how to test a web app and many different screen readers, so they have it for JAWS, they have it for NVDA, they have it for VoiceOver iOS, they have it for TalkBack, which is the Android screen reader. There's a lot of really good resources there for you to start using as screen reader and test with your app. I highly recommend using it with a screen off. You gain a lot of context by looking ahead of your cursor and -- CHARLES: Yeah. It's true. ROBERT: -- The example that I usually give to people is like, "I worked on Visa Checkout. I went through that checkout flow pretty much every day for a year and eight months in, even then turning off the screen, I was still lost." Even though I knew what each screen was and what each component was there, I would find myself confused of like, what just happened and it's because sometimes, you'll get into something like you have a dropdown that sets the focus inside the dropdown and then the dropdown disappears from the DOM and your focuses in nowhere. You're like, "What is going? what am I doing. I don't even know where I'm at," and I turn the screen back on and I'm like, "Oh, now, I know what's going on." CHARLES: Right. It really is a lot like interacting with your application as though you were interacting with Siri or Alexa but with a keyboard instead, instead of voice commands. That's an excellent point. We would understand if where would Amazon be if Alexa couldn't successfully navigate those situations. The counterpoint or even the flip side of that is if you model your web application in such a way that it can handle that type of serial interaction, instead of the highly parallel environment to being able to perceive huge amounts of information concurrently, like you can on a screen, if that were effectively serialized, that means you could represent your application through nothing but voice commands. ROBERT: Yeah. Did you provide enough context for me to build this mental map is really what I'm going on to? CHARLES: Yup. ROBERT: Which I always thought was really interesting because I always wanted to know how my mom visualizes what a website looks like because it's wildly different than any of us. She's never been able to see what a website looks like. Does it look like a bunch of nodes and graphs and webs connecting to each other and how things pieced together? It's just a different way. But it's not only about screen readers, right? You can use a keyboard to navigate and that's definitely what we did with e-holdings is like can we tab through this [audio glitch] list, hit enter and go into the detail record, edit it, close it and go back and edit another one. Is that something that we can do with just a keyboard, not even a screen reader? WIL: And with the keyboard, we're not talking about shortcuts to hit edit. We're talking about like tabbing over and hitting enter like people with accessibility issues would have to do. ROBERT: Right and that's kind of a good segue into creating use cases. If you want to know if your app actually works, if your screen reader users or if your keyword users or if your dictation users are going to be able to navigate this app, create use cases. Things like actual user flows like how would somebody actually going to use this app? What task are they going want to complete? In that case, e-holding was like an electronic holdings management system for libraries. They probably want to get in there, add a couple of books or whatever you might have to their library and get out. A use case could be like, "Can I search for this thing? I'm going to search for something specific. I'm going to go through the list, find the thing that I want. I'm going to add it, close the pane, go back and then remove one thing and can they complete that flow successfully without running into any issues or any blockers or any showstoppers." I can tell you before we did the routing management stuff, you would hit search and that was it. There was nothing else that you could do. CHARLES: Yeah. They wouldn't even announce that anything can happen. ROBERT: Exactly. WIL: Yeah, and with these librarians, it's not necessarily a matter of they can't see the screen. It's just that they don't use the mouse because they're power users. ROBERT: Right. They don't have any disabilities but that was essential to the workflow. CHARLES: Yeah, exactly. Do that change. You just lowered the activation energy of that workflow by... What? three orders of magnitude? WIL: Yeah, at least. ROBERT: Let me click here right now. I can tab, now I can tab. Right now, let me click here and now I can tab, I can tab, I can tab. It's not as nice as just being able to completely do it through a keyboard. Through us making it super keyboard accessible, that also became super screen reader accessible and the people who use dictation were able to work through and get through the app and use it now, which was really cool. It really helps when you go for those things and create use cases to really figure out how a user is actually going to work through this app. That's the best way. Just get right through it. With Visa Checkout, we're like, "Can somebody buy something?" or if they don't have an account, can they sign up and buy? those were some of the use cases that we had because it turns out, those are actually pretty important to the business. That all have been said, you also can test your components for accessibility individually because even at a smaller level, some of your components might have to manage focus. The best one I can think of is models. When you open a model, you should trap the focus inside of that model and you should be able to hit escape to close the model and when you close the model, it should go back to what triggered the model to be opened. These are all things that are individual that can be tested also. But just because your components are individually accessible, it does not mean your application as a whole was accessible either. I don't want to paint the picture like, you don't have to care about your components accessibility individually because you do. It really does help but I think a lot of people miss the whole of the application, rather than individual with components. CHARLES: Right. The components are the individual stitches but you have to follow the thread throughout the entire garment. ROBERT: Right, exactly. CHARLES: Man, what I really want to do is I want to find out how your mom visualizes website navigation and use that as a visualization technique. ROBERT: That might be a fun webcast or something. CHARLES: Yeah and then see like could we actually use it as a tool because I have to imagine, it's probably pretty simple. It's much simpler than what we think of when we think of a website because it has to be really condensed down to its essence. ROBERT: Right. Yeah and [inaudible] users, they're not dumb. They have different ways. They know the gotchas. They know things that happen. They know there are different ways of getting trolled like my mom knows about focus jumping and she gets irritated what happens but she knows generally of what to do and it depends on her patience level. Like if it's focused jumping, she's like, "I don't need to use this thing. See you," and it's just not worth the frustration but there's different ways to navigate around like if you're a real power user, you might be able to recognize like the routing is inaccessible and you can navigate by headings or by regions or different landmarks. There's many different ways for users to navigate but to use those different navigation methods, you need to have a real strong coherent document structure. Your H1s have to actually be H1s and you have to have some things that they can navigate around to kind of work around those things. It's interesting and basically, do everything you can to help those situations. If you can provide semantic markup and give it a proper structure. If you can do the focus management, it's going to help everybody. It really will. I did see when we went through the use cases and defining those things, we actually learned a little bit more about our product because we had to put ourselves in a different seat and think about it because you get real close to it. You go through that same flow nine million times and you pick up real power user things that you can do like, "I'll work on that. I got this. I'll click this button. All right, we're good." Somebody that's going through it for the first time and you put yourself in that seat, it kind of opens your eyes a little bit and makes the experience better for everyone. I think that's kind of the underlying tone there. That's the message. WIL: Yeah, accessibility makes things better for everybody. ROBERT: That was a lot of content thrown at you there. We covered what is accessibility and why you'd want to do that and then kind of like more the basics things and how automated tools are really helpful and they can help you pick out things like using improper roles and nested things but they're not going to be able to tell you if your application is truly accessible or not and never will, unless we get something like a headless screen reader, where you can write automated tests for in that fashion but you're not to get something that will just run over you app and go, "Yup, you're good." CHARLES: Even so, it's a matter of user experience and that's not something you can get a thumbs up or a thumbs down to. When you as a user, it comes with application, you know when you see it but I would say until we have androids that accurately simulate human beings, I don't think we're going to actually have automated testing. ROBERT: Yeah. There's a joke for accessibility consultants. It's like if you put four accessibility consultants in a room and tell them to give you an alt attribute for an image, you'll get four different alts. We talked about the automated checkers, right? They'll not going to get everything for you and we talked about single page apps specifically in the routing and how we handled the routing in a React app and then how you can probably do it in an Angular app and how you can do it in an Ember app and Vue and different methods of how you can kind of attack that. We're definitely giving the link to the document that I wrote and the PR so you kind of see the real 'how' of how we did it because that would probably be helpful. I think there was a lot of good information there, so I would like to thank both Charles and Wil for being awesome co-host on this and -- WIL: Thanks for being an awesome host. CHARLES: Yeah, thanks for being an awesome host. I should say, you're welcome. ROBERT: I tried, I tried. We are The Frontside. We do accessibility consulting and training. If that's anything that your team needs help with, we're more than happy to jump on a call with you to kind of figure out what your needs are and what you need to do. If you need a WCAG support statement, if you need to audit, if you just need to figure out what's the next steps for you to even do, we're more than happy to help you sort through that. To reach out for that, you can contact us at Contact@Frontside.io or Sales@Frontside.io or Info@Frontside.io. You can contact us at any different ways and we'll be more than happy to help you. As always, thank you Mandy for producing the podcast. You're awesome and the next episode, what we're going to have is also still accessibility related and I'm really excited about this. It's about writing a proposal to the Unicode Committee and getting it accepted so basically, writing a proposal to get an emoji added and that's with Amberley and Amanda. They wrote three or four Unicode specs and actually got them accepted for, I believe it was sign language and deafness. That's really cool and I'm super excited for that because they'd be the first people that I've ever talked to that have actually created an emoji and gotten it accepted. WIL: Yeah, it's pretty cool. CHARLES: Yeah, that must feel great. ROBERT: Yeah, it's going to be awesome. That's our next episode. If you have any ideas or comments or anything, you can tweet us at @TheFrontside on Twitter or you can contact us through any of the emails that I talked about earlier. We're always open to hearing feedback. Thanks for listening. Take it easy, everyone.

The Frontside Podcast
108: Running an Online-Only, Free Conference on Twitch with Kristian Freeman

The Frontside Podcast

Play Episode Listen Later Aug 9, 2018 56:39


In this episode, Kristian Freeman tells us about ByteConf React: why he decided to start the conference, unique challenges of putting an online conference together, what he expects in terms of viewership and his hope for sponsors, and supporting speakers who haven't recorded videos or maybe haven't ever even given a talk before. ByteConf will take place on Friday, August 31, 2018! Grab your ticket! References: Twitter Facebook Twitch This show was produced by Mandy Moore, aka @therubyrep of DevReps, LLC. TRANSCRIPT: ROBERT: Hello, everyone. Welcome to Episode #108 of The Frontside Podcast. I'm Robert De Luca, the president here at Frontside and I'll be your episode host. Today, we're going to be discussing ByteConf, which is an online stream conference with Kristian Freeman. Kristian is a developer at Product Hunt. With me today as co-host is Wil Wilsman who is a software developer here at The Frontside. Before we jump into the discussion, I would like to make a little announcement. I'm going to be speaking at ByteConf and JSConf for BigTest. If you're interested in hearing about the next generation of UI testing for single page apps, you don't want to check that one out, I think. Without further ado, let's just jump into it. Hey Kristian, how are you doing? KRISTIAN: Hey. Thank you for having me. It's a pleasure to be here. ROBERT: You recently just moved to Austin and you moved from LA. How's that thing going? KRISTIAN: It's actually going really good. We packed all our stuff up and drove all the way across the US. I guess that's not really across the whole US but it was a good move. I've been here for about two weeks or so and I'm really happy with it so far. I have a full office and recording space now, so it's glorious. I can actually sprawl out and have mikes and all kinds of other gear out. I'm very excited. WIL: Nice. Now, what is it you do at Product Hunt? KRISTIAN: I'm a software developer there, kind of full stack engineer. Product Hunt is architected basically as a Rails app in the backend and then, a React app in the frontend, so I'm doing React obviously and GraphQL stuff and then Rails on the backend. It's been really cool. It's a really neat product and there's a really cool community there as well, so I'm been very happy with the transition. I've been there since the beginning of the year, so February or so. ROBERT: That's awesome. Are those projects split so it's like the React app separate from the Rails apps or is it like a monolith? KRISTIAN: It's a good question. I am not sure if it's planned to be split up eventually but as it stands right now, it's actually all one big application. We just have kind of that classic frontend folder where everything is dropped in and that's React related. We have some interesting stuff around server side rendering and things like that. All of that stuff was kind of there before I started working at Product Hunt but it's been really interesting coming from my previous gig where it was just very straightforward Ruby on Rails and then React like it's a totally separate thing, like they weren't really related at all as working on a couple of different projects. Coming to this, it has been really interesting. It kind of gives me a better sense of what Rails projects might look like in 2018, if that makes sense. ROBERT: Right, yeah. Are you using like the webpacker gem? KRISTIAN: I don't. I mean, it's not old really, in terms of web projects overall than in terms of like a Rails app. It's still running on an older version. I think we're pretty homegrown set up. We're not using webpacker. We kind of set things up and run them as like two different processes and stuff like that. It's been really interesting. There is a bit of onboarding stuff that it took me a while because I came from doing, like I said, kind of standard Rail stuff and I would say that they are really kind of pushing what you can do with half Rails, half React set up. There's a bit of time of me kind of flailing around and figuring out what was going on but it's been really cool. I definitely feel like I leveled up in my understanding of how all that stuff can fit together over the last couple of months or so. ROBERT: That's awesome. You're running a conference, right? You're running an online-only conference for free and streamed on Twitch. That's pretty bold thing, right? That's a new concept. How do that come together? I guess before we even discuss that, what is ByteConf? KRISTIAN: I'll start with the synopsis of what it is and I can talk a little bit about history. It's actually a conference series. I have other events planned and the first of those is ByteConf React, which Robert is speaking at. It's a React in JavaScript conference that is streamed on twitch. If listeners aren't familiar with Twitch, it's a live streaming platform. Kind of the primary use for it is for gaming. There's a lot of people who will stream themselves playing like Fortnight or whatever other things. I usually just watch Fortnight. It is primarily for gaming and in the last couple of years, they've started doing this separate section called the creative section, where there is non-gaming stuff. I've watched people paint. I've watched people play guitar or take song requests on the stream and all kinds of interesting stuff. What I can say is the idea for the conference wasn't a thing that I just came up with on the spot. I actually attended a really small conference that was streamed on Twitch. It was a game development conference. I wish I could remember what it was called but it was really interesting. There wasn't too many people in the stream but I was impressed with the way that it was put together, especially for a topic like game development, which is I would say, I kind of took a stab at it last year and I found it to be pretty difficult to get into and fairly opaque in terms of understanding how to get started and then make that progression into a career. I watched it and I enjoyed the format of the conference but I didn't really get learned too much from it because it was just too kind of complicated, I think unless you already were in the field. I started thinking about that and I thought it was a really interesting model and I felt like web development in particular, would be a really neat way to approach that format because web development has, I think a reputation if you want to get into programming. I don't know if I would say, entirely approachable. There's still a learning curve and there is a lot of work that you have to put into it too to get like junior dev role somewhere but I thought it was really interesting. I thought it would be interesting to take that format and apply it. My background, besides doing straightforward full stack engineering, I've done some courses for Pluralsight. I've done some in-person technical training, so I had a background in teaching and I felt like it would be an interesting just to try it and see what would happen. So far, we're a couple of weeks out from the conference and honestly it's been pretty wild how many people are excited about the conference. I don't think I've ever done a project on my own, like a side project that has had people that just tweeting about it without me prompting it or anything like that. I saw something on YouTube today like a Spanish YouTuber who does tech news and he was talking about the conference. I don't know Spanish. I was curious and wanted to see what he's talking about but I couldn't really understand what he's saying but I saw the logo and I was like, "What? This is crazy." I'm really excited about it and I'm sure we'll kind of get into this but there's some really interesting implications and ways that this format, I think it will be a different approach to the usual tech conference format. I'm really excited about it and I think it's going to be really neat. ROBERT: It's awesome that it's free and available for anybody at any time. KRISTIAN: Right and a part of that, I think when I started thinking about it like, "Can I make it free? What are the implications of that?" I think that the main thing is that when it comes to running a conference, getting the location or whatever, I would say is probably by far, the most expensive component of that. For me, I'm a remote developer and there's a lot of people that I talk to day-to-day. I think a lot of kind of my audience and people that I know online are also working remotely, so for the conference to just be online, it wasn't too crazy of an idea for me because most of the interactions I've done in development stuff like that have been through the context of remote work. But also, for people who aren't remote workers, who are getting into the field or even just have a small interest in web development, I think it removes some barriers of being able to access this kind of stuff. You know, if we can look back at the future and say, "This sounds very ambitious," but kind of a democratizing force of anyone can view this content and get access to it regardless of their skill level or economic level or things like that. WIL: I frequent trips sometimes and I know this is obviously, a free conference but are you expecting any donations? KRISTIAN: That's a good question. That's kind of one of those things I haven't really figured out the best way to do yet. In Twitch, I think there's the concept like 'Bits.' Is that what they're called? They're like microdonations. I genuinely don't know how that's going to work out. I know the plan is to take the talks after the fact and get any kind of additional slides and stuff like that. We're doing a couple of pre-conference events that I can talk about. I guess I should plug those as well before we wrap up but the way that that's going to work, I am not quite sure because I would like to sell the packages after the fact and actually, being able to pay the speakers. But in terms of little of bits and stuff like that, I'm not actually sure. I'm genuinely curious how that's going to work out. I don't know if people will do that. I guess it just kind of depends on the audience. ROBERT: -- In my talk now. KRISTIAN: Yeah, give me Bits please. ROBERT: "I intended to write, don't move to the next slide." KRISTIAN: Yeah. I use Twitch every once in a while. I said, I generally just watch like one game on Twitch but I don't watch Twitch all day, every day. I think it'll be interesting to see because this is probably a different audience than, say the average Twitch user. It'll be really interesting to see how that shakes out. I don't really have a great answer for you there. WIL: Do you have any guests like a number of people that are going to be attending? I see on the ByteConf site, there are 1500 subscribers. KRISTIAN: That's a good question. I guess I can talk about this stuff that we have planned before the conference. We've been building an audience for really, it hasn't been that long. It's been like four or five months since I announced it. We're using kind of dogfooding a thing that I've worked on a Project Hunt, which is this Ship product, which is for collecting emails and sending out newsletters and stuff like that. ROBERT: I saw that get announced not too long ago. KRISTIAN: Yeah, it's really cool. I'm really happy with the product and they have some built-in promotional tools on the site, which is pretty neat. But we have, I think like 1500 people on the mailing list. I think, we have, the last I checked, about like 4200 followers on Twitter. It's hard to convert that like how many people are actually going to attend. What we are doing and this is like A, because I think it be interesting and B, to kind of gauge this, hopefully as best we can. We're going to be doing some preconference like 'Ask me anything' interviews with some of the speakers and I'm hoping I can get a better sense of how many people will actually start attending any of the events that happen. The way the Twitch works is you can follow and subscribe. You'll get a notification when a channel goes live. The first time that we go live will be tomorrow, actually and so, we'll see how many people will turn out and it should be interesting. But in terms of actual numbers, I genuinely am not sure. I would hope that a lot of people who are on the mailing list will be there but it's been pretty neat. I've already been hearing of people who are trying to setup like in-person events, viewing parties and stuff like that. I've tried to help coordinate that as best I can without taking over the limited amount of time I have before the conference actually happens. Also, people in Europe and vastly in different time zones are actually kind of grilling me about, "When can I watch this? Will you do every broadcast so I can actually attend this because I don't want to see the conference at two in the morning," and I'm like, "Yeah, I know. I understand that." We're kind of figuring out those details as well. Like I said, I very much consider this like the MVP of a longer term event series so I'm excited. I think it will end up building something that a lot of people will attend multiple times and hopefully, we can expose people to new stuff as that happens. ROBERT: You mentioned that somebody in Europe like wanting to know like, "When I can watch this?" which actually makes me wonder like that's one of the unique challenges that you have for an online-only conference because no one's going to be asking that question if the conference is in... I don't know, LA, right? Everybody knows where it's going to be because it's all co-located, so what are some other unique challenges that come with running an online conference? KRISTIAN: That's a great question. We don't have the explicit location and time that it starts to kind of point people to. In some ways, it's a positive thing. We have a lot of people who can attend that normally wouldn't be able to. They're excluded by price, location and stuff like that but there are some things that you, I think kind of give up when you do the online format instead. One of those is just being there at the conference and running into people that may be you know or having sponsors with booths set up, where you can make a connection in that way. Some of that, we're trying to solve by building an active community. We have a Discord server that we started a couple of weeks ago, where people are chatting about this kind of stuff. I really think of it as like there's probably many ways to solve this problem and I'm trying a couple of different ways to see what sticks. Building a community where people can continue to talk before the conference, obviously they already are doing that and then continue after the fact and build the kind of connections and relationships and community that would maybe happen organically or at least, have a chance to happen organically in an actual physical conference. Some of the stuff, I genuinely still trying to figure it out like how best to give people the sense that they are welcomed and I guess, kind of feel like they're part of a community of developers. I remember when I started the conference, one of the first things I thought about was when I first went to a conference in San Francisco that Heroku put on and I remember being there, I was very, very junior as a developer and I remember sitting there being like, "Whoa. This is probably the first time I've ever been in a room with a bunch of other hundreds and hundreds of developers," and it was real interesting. It's one of the first times that I was like, "I actually am for real, doing this. This is pretty cool." I'm trying to figure and imagine and we'll iterate on this in the future like how best to give people that experience. Maybe that means doing a couple of physical ByteConf events. I'm thinking about that definitely but also, how do we keep the original idea of the format but also, how people feel like they're part of a community. It's very much a work in progress. WIL: I could see a future where you have a physical, smaller conference but you still stream it on Twitch and everybody could still attend. KRISTIAN: Exactly, yeah. I think that's probably the format. ROBERT: That'd be rad. KRISTIAN: One of the things that I thought would be interesting would be to do some kind of and actually, I think about this before when I moved out to Austin, like doing some kind of West Coast tour where we go up the West Coast and do events, maybe every a couple of nights in a really small format. The same kind of conferencing they have people from that area, come and give a talk but still stream that on Twitch. It's kind of a hybrid approach that the people who are already part of the community can still attend but for people who want that physical experience, they can do that as well. ROBERT: That's awesome and if you did that, then you wouldn't necessarily lose the whole way track. One of the things that I really love about attending conference is like the talks are great but I usually always find those online afterwards. But what I can't find online afterwards is the communication and the talk that I have with people that are there. That's an interesting challenge to have, maybe you could have... I don't know, like not to tell you how or what to do, maybe like a channel in the Discord for a Hallway Track channel or something that encourages conversation, maybe outside of but in connection with the talk. But I would just say, maybe that's just one of the tradeoffs that you're willing to have for an online-only conference. There are a plethora of things that you just shed by not having it out at a physical location, like a bunch of cost for one and AV setup and worrying about people connecting and getting and presenting properly -- KRISTIAN: Via conference Wi-Fi. If they have problems, that will be their house Wi-Fi. ROBERT: Yeah, exactly. KRISTIAN: I totally agree. I think it's not the worst problem to have because we're in a lot of ways kind of simplifying and really, it's the kind of thing that we can iterate on over time. When I was talking about the European time zone thing, I may be sounded like I was bothered by people reaching out or whatever. It's actually quite the opposite. It's really exciting and I have actively kind of sought feedback out and been like, "How can I do this better? How can I communicate this decision or that decision?" or even help me make this decision so that it's best that I do whatever works best for the community and I expect that will, as the community grows, just be more and more a factor. I think that's the kind of thing that tying up like the Hallway Track or something like that. I'm confident that people will have opinions on that and they'll say like, "This is what would work for me best to feel like I'm part of this community," and we're going to definitely try those things and iterate on them. It's not the worst problem to have because there is really nowhere to go but up, in terms of how we do it well and stuff like that. ROBERT: Good problems to have. KRISTIAN: Yeah, exactly. ROBERT: All the talks are prerecorded, right? What have you done or have you done anything to help support people who haven't recorded a video for speakers? What are you doing to kind of ease speakers into this new style? KRISTIAN: Yeah, it's interesting because in terms of a speaking lineup, there is clearly, some people who have experience both as conference speakers, also in particular in this format. It's basically recording like a Screencast. It's more or less the same thing. It's slightly a different format, maybe condensed to a shorter, like an hour talk. There are some people: Kentcdodds, Tracy Lee, they're two of our keynote speakers, I guess you could say. They have a ton of experience. They're pretty much giving talks regularly all the time, so for them, this is this is no biggie. But there are a couple of people I've tried to, like in terms of once we got our CFP, our call-for-paper, we were accepting talks submissions and also getting information about the speakers themselves like, "What is your experience of speaking at conferences? Do you have any experience speaking at conferences?" What I thought would be in the spirit of the conference itself and kind of our ideals and even, I would say like the ethics of how we think about this kind of stuff, I do actually think about it in that term. We want to have speakers that represent that. You know, bringing anyone from any experience level, in any location and stuff like that and having them be able to attend the conference and also speak at the conference. There's a couple people that just don't have a ton of experience speaking at conferences or even keep doing this kind of Screencast format and so, for those people like kind of the silly one, I've just been reaching out to them like, "If you need any help on the stuff, let me know. I've done this a couple of times, at least the Screencast part of it, I have a ton of experience with them, so if you need help, let me know of that." Also, if someone needed it, we bought them a mike and a webcam and we sent it to them and be like, "Don't need to worry about that because that's potentially --" ROBERT: Woah, that's awesome. KRISTIAN: Yeah. That can be like an economic kind of thing to make people feel uncomfortable, like maybe, you can't afford a mike or something like that but we will cover you and no strings attached. That kind of stuff, I think is really important. I think, the kind of the main thing is we just want people to feel comfortable. There is no reason that because someone hasn't given a talk at a conference before, there's no reason they can't start. Everyone has something interesting to say, I think and everyone's experiences is really interesting and brings a perspective. Especially in the conference format, I think it will bring a perspective that you're not used to seeing at a conference. Not to say that the kind of perspective of people who are super experienced and things like that. As a developer, as a conference speaker, that's obviously really useful but it's also useful to see things from the perspective of someone who is just getting into the industry. I think that being able to amplify those voices is really interesting and exciting to me. I'm sure there's probably ways that we could do this better in the future but for now, it's been just kind of like supporting them whenever they need it and trying to be encouraging and then any kind of small things like buying a make or something, we can provide that. ROBERT: That's awesome. There are some tradeoffs you could make always with anything but it's almost, I want to say better, to give your first conference talk or one of your first conference talk in this way. I know I was really excited about it when I first heard about it because I get pretty nervous getting up in front of people. At JSConf, I don't know how many people. It kind of gives me anxiety but with ByteConf, it's pre-recorded so I have the ability to go back and polish everything that I want and I can remove those odds and things like, "Oh, wait. That didn't quite slow right. Let me fix that real quick," or, "I didn't really like what I said there. I can go back and fix it." It does come with the added complexity of like, "Now, I have to go and cut it together and make sure that there's this whole post-production aspect of it," but it makes me feel a lot better because I feel that I can deliver something that I feel really good about and I know because I've watched it six times and gone over it with a fine-tooth comb, you know? KRISTIAN: Right. One of the things that I am hoping that we can do in the future is in terms of the editing and stuff like that. If someone feels comfortable like really fine-tuning their talk and stuff like that and giving almost a finished product to us, we're happy to obviously accept that but for people who just don't have that ability or needs some help in refining, I don't want to say the quality of their talk but just kind of the delivery of it, we can definitely help with that. In terms of refining, say you're going to give the talk again in your case, I think it's really interesting also. We're trying to coordinate as with as many of the speakers as we can, kind of like time zone permitting and things like that, having them in the 'attending the conference,' or 'viewing the conference,' and also being available in the Twitch chat and not necessarily having an interview there but maybe, if something comes up or someone is like, "I don't get what this slide means," or something like that and that's both an opportunity for, we're not going to like pause the talk or anything but the speaker can be there to clarify and add that additional, I guess dimension of understanding of what's going on in the talk. I think it's actually really interesting. I'm really curious to see how it turned out. WIL: Yeah, I'm curious too because I [inaudible] with Twitch sometimes and most videos, like you mentioned before, you want like some small conference and it was a very small chat and a lot of Twitch, for me is interacting with the person that I'm watching, through the chat. It's interesting to me that it'll be pre-recorded but the speakers are still going to be interacting through the chat, so it's going to be real cool to see. KRISTIAN: Yeah, I'm trying to -- ROBERT: I'm pretty excited about that. KRISTIAN: Yeah and I hope that you would be interested in being mixed. I'm sure people will have questions about that kind of stuff. I've already talked to a couple of speakers and I'm trying to reach out individually and see how many people can be there for that because it's really interesting. In your case, if there's enough people to say like, "This part kind of confused me," or, "You lost me here," that's an opportunity for you to refine the talk and get really explicit timed feedback. I think if someone came to you after, say your JSConf talk and was like, "You know, there's this part that I don't really understand," like you don't have the immediate understanding of literally, at what point in the talk are they exactly talking about. I think that will be really interesting. That's -- ROBERT: That's absolutely could be bigger. KRISTIAN: Yeah and I'm trying to figure out the best way to do this. If you've ever been in Twitch chat before, it can get a little rowdy and I'm trying to figure out the best way to manage that because I have literally zero tolerance for whatever kind of the most toxic of Twitch chat as I have zero tolerance for that in the conference. I'm trying to figure out the best way to make that happen. But if you're a speaker and especially, it's your first time ever giving a talk or something, if you get that kind of feedback, hopefully it's delivered in a way that doesn't suck and we're going to try and mediate that as best as we can. That's a great opportunity for really effective improvement on your presentation style and stuff like that, so I'm really excited about that. ROBERT: It's actually interesting to think about is what kind of trolls you might run into and -- KRISTIAN: And you have people who are like, "Vue is better..." ROBERT: Yeah or any kind of cross-trolling that might happen. That'd be interesting to see how that plays out and how you might enforce that code of conduct. KRISTIAN: We definitely do have a code of conduct in Discord and so far, I'm happy that we haven't had to enforce that in any way or there hasn't been anyone that has brought the quality of the chat down. I've seen people answering questions about different open source projects and stuff like that. I think, Robert you wrote up a solution to someone's problem in the TypeScript channel or something. Did I see that? ROBERT: Yeah. KRISTIAN: Yeah, stuff like that is really cool. ROBERT: Someone who was asking how to do radio buttons in React and I was like, "I'll just write a quick code chain box example that kind of showing this." KRISTIAN: Yeah and if I could pick one long term goal of where I want to see the conference in the community in a year or two, I want to be able to scale that up to, say like 10x or 100x the amount of people but still keep that quality of conversation. I think that is really looking at producing a conference. That part, honestly isn't the most complicated part. It's if you can use Adobe Premiere, you can pretty much make a pre-recorded conference work. It's keeping that quality and making people feel like they are a community, especially for people who know that they want to be a web developer, maybe they have no idea where to go or how to start. If people can join the ByteConf community and feel like this is a good place, that you can call this place home, I guess online and learn in that way. That's kind of the larger goal. The conference is just one aspect of getting there. WIL: This is all very exciting. I'm looking forward to attending. KRISTIAN: Yeah. I am really looking forward to it as well. It's pretty wild that it's August, that it's actually happening soon. I'm really excited. It's going to be sweet. ROBERT: Yeah and I'm seriously working on my talk right now, to try and get it together. The cool thing that I found about that, I'm talking about BigTest and Wil is a person that's writing BigTest and he's the mastermind behind it. It'd be great to have him in there and answering any questions alongside with me as the talk goes on. I didn't even consider it before you said it. It is really powerful because I'm going to be introducing something that might be foreign to a lot of people, this testing style and how you do it in single page apps. There will be a question and I know I won't be able to cover everything and hit all the bases and make sure that's not confusing because it is a complicated topic. I'm going to do my best but the added benefit of me being able to clarify things on the spot is kind of mind blowing there. KRISTIAN: It's huge and I'm trying to figure out the best way to archive that kind of dimension of the conference. I'm really interested to see it tomorrow. We're doing an 'Ask me anything,' but I'll plug that at the end. It's going to be an interesting to see what the kind of ratio, like signal-to-noise is in the chat and if it's good, especially at the conference itself, if people are asking really good questions and that kind of stuff and the speakers are responding, that is a really valuable thing to try and save. I'm trying to figure out how to do that as well, even save the most requested questions or maybe the most detailed answers that the speakers have and making that available in some way, I think it would be really valuable to people. WIL: Yeah, for sure. ROBERT: The other thing I just have some of thought of too, with all this being pre-recorded, you are able to schedule this out pretty well. At a normal conference, if somebody had a 45-minute slide and they finished in, say 30, the conference organizers will then have to go and figure out what they're going to do with that spare time but with all pre-recorded, you can just kind of spot it together and have a plan going forward. KRISTIAN: I think most of the talks, I've kind of ask people to keep them around 45, 50 minutes and we'll have some space between the talks for people to continue to ask questions in the chat or I can plug things like the Discord server in those spaces and sponsorship infos and stuff like that. But I'm also constantly thinking of these little formatic conference allows so many different little things to be tested. One thing we're thinking about doing is like at noon, there's going to be a break, kind of a lunch break, but ideally and I need to start thinking this out, getting some lightning talk style things from people who submitted a talk and didn't get accepted or something that and those are -- ROBERT: Would those be live? KRISTIAN: That's a good question. ROBERT: Or pre-recorded? KRISTIAN: That's a great question. I think the thing with live is that I would have to figure out how to get people to hop onto the stream. That might be possible but I'm not quite sure. I think we'll probably do pre-recorded, kind of across the board for this one but there's all of these little opportunities to do interesting things with the format. One thing that, I will take you on kind of a journey here like where my mind goes and I think about stuff like this over the last year or two. This is going to seem like such a tangent but I'll tie it up, I promise. Over the last year or two, actually longer, it's probably the last couple of years, I was really into Anthony Bourdain and all of his shows and I was really interested in, again this is going to sound really bizarre but I was interested in taking that idea and applying it to conferences. For say, the keynote speakers, I was thinking like it would be cool actually to go and meet them wherever they're working and stuff like that and introduce them in that format and maybe even sit down with them and do an interview or do some kind of live coding with them and have that available as a bonus material to the conference itself. Maybe air some of it in-between talks as part of the preface for their talk. There's all these kind of interesting things. I think that one thing that always kind of bothered me about the developer world is, I guess I always feel like it's really hard to visualize how to get started as a developer and then what is the day in the life of a developer and what do you actually do. I think I've been really interested in this idea of giving people a holistic view of how to get into this industry and to show people. At least in my opinion, there is a lot of hype and maybe, not intentional but it makes a scene a lot more difficult than it really is. That takes a lot of time but there are a lot of people who probably have been, whether that's kind of the Steve Job's worship of tech people or this other thing that no one can be like them unless you're whatever, if that makes sense. Basically, everyone in this industry is just a normal person. Maybe, there are some crazy personalities out there who are really dominating or stuff like that but for the most part, I think especially in the web developer world, everyone is, at least in my perspective, very welcoming and just like normal people and I want the aspect of the community to be letting people into that world and say like, "This is not as impenetrable as you may think," and there's a lot of different ways to -- ROBERT: Amplify the kindness and amplify the welcoming. KRISTIAN: Exactly, yeah. ROBERT: I like it. You did mention like around lunch time, there would be a break. At other conference, they usually cater lunch. Is there anything offered for that or is it like go on and find your own lunch? KRISTIAN: That's actually a really interesting question. No, there isn't anything planned but now, I wonder if I should find a company that's like... Is that DoorDash? Is that grocery delivery, is that restaurant delivery? You know what I'm talking about like -- ROBERT: Restaurant delivery. KRISTIAN: -- Or something like that. It'd be cool to have a coupon like if they're React, they might want to sponsor the conference. That would be interesting. That's a super -- WIL: -- Delivery fee. KRISTIAN: Yeah, that would be super cool. ROBERT: It might be too late for that now since we're a couple of weeks out but some of those companies do used React or in the future, for the future of ByteConf series, like if it's a SwiftConf and I know you've mentioned that before, you might be able to be like, "We're doing a Swift online conference. You guys use Swift. Do you want to sponsor?" KRISTIAN: Yeah. I think there are so many opportunities to do really cool things. That's a really cool idea. I haven't thought about that before. I'm going to write that down. That's a very cool idea. ROBERT: Could you tell I've been thinking about like a ByteConf accessibility conference? Because I have. KRISTIAN: Yeah. Let's do it. For real, that would be sweet. The format, we can tweak it in so many ways. It's like a full-day conference plan but there's definitely the opportunity to do really small form, like just an evening or something like that, where you get a couple of people together. The way that I visualize it in the future is there are these longer conferences but also, it just be really neat to do kind of continuous -- WIL: Online meetup essentially. KRISTIAN: Yeah, like broadcasting. I don't want to say like a TV channel but like this place that we're going to be airing new stuff to the people who are working on and we're going to be airing old talks from conference and stuff like that and giving people a space to constantly be learning. ROBERT: You can do like a nightly techcast. "Tonight, in JavaScript news, there are 15 new frameworks." KRISTIAN: Yeah. The thing is like with Twitch, they've done a lot of tools recently that I've become kind of aware of as I'm trying to figure out the best way to broadcast the conference. They have a lot of stuff around scheduling and stuff now that actually gives us the opportunity to basically run, maybe not nightly but weekly or monthly thing without having to explicitly setup... I don't know if either of you've ever done Twitch streaming but you have this broadcast software that you have to run on your computer and stuff like that. They're working on tools to remove that aspect of it and really just make it almost like a YouTube competitor in some ways and maybe like a more live aspect. That's stuff is really interesting to me because that totally fits in with the kind of aspect of what we want to do but there's all kinds of other opportunities too. I know there are a growing number of people who are doing live programming streams and it would be really cool to be able to share our audience -- ROBERT: Coordinate that? KRISTIAN: -- And stuff like that, so I'm trying to figure that out as well. ROBERT: Are you familiar with the Ember community at all? KRISTIAN: I was familiar with the Ember community a couple years ago. It's actually is what I learned before I learned React but I think I'm pretty out of date now. ROBERT: One of the team members here at Frontside, Taras, he started something similar like that two years ago called Global Ember Meetup and it was just an online meetup that would happen at night and people would come on and give their talks. It was actually really cool because there's a lot of engagement from all across the world, which was super neat. I would love to see that idea to continue live on. KRISTIAN: I know for our mailing list, we have a sense of where people are located and this is the nature to advertise and stuff because I think our most of our audience is still in the US, Canada, UK and stuff like that but there is growing numbers of places like Africa and South America and stuff like that, where I'm not as exposed to that community but I would to make it available to all of those people. I genuinely just haven't been exposed to those communities as much and I would both like to understand the unique problems of being a web developer in those areas and also, do my best to adapt the format of the conference and stuff to those groups. I imagine that people are really excited about it but I think after the conferences, really one of a lot of the interesting stuff happens because we can take a look back and say, what could we have done better to include all kinds of groups that are historically disenfranchised from attending this kind of stuff, if that makes sense. ROBERT: Even for me, I really want to go to conferences that are in Europe but that's a big investment. It's like breaking down those barriers. I'm pretty privileged in that regard but for somebody that isn't, even just attending a conference inside the States or somewhere that even kind of close for them, just the price of the conference ticket puts them out, so I'm really excited about this idea. Why not leverage the web and make everybody available to learn in conferences and have access to that community. KRISTIAN: Yeah. I think I actually saw that Facebook just announced. They're doing another React Conference and it was interesting speaking of ticket prices, I think a lot of you were saying it was super expensive. I don't know what the exact number was, maybe you know but I actually had some people tweet like, "This is why I'm excited for my ByteConf," and I was like, "What?" WIL: That's awesome. ROBERT: I don't know what their prices but when Facebook throws ReactConf, you have to enter into a lottery. You wouldn't even actually get a chance to buy a ticket. You have to enter a chance into winning a ticket for you to buy. KRISTIAN: Yeah and that kind of stuff, I mean that won't get too deep into my politics in general but generally, that's the kind of thing that I am extremely allergic to. Even the idea of having a lottery and stuff like that, there's a lot of people who, to make the decision and say they have the opportunity to attend the conference, like if they say they get a lottery email like you have a ticket, there are some people who will be able to swing that on the spot and say, "I want to buy a ticket and start to book my flights and stuff or whatever," but there's a lot of people who that's going to be a thing they need to plan for a really long time. They don't have the opportunity to wait on the email and say, "Yes, I can go to this to what I'm being paid." That's just a different dimension of financial and I think the ticket was like $600 or something, maybe $700. It was expensive but there are much more expensive conferences. Especially, if you don't work at a company that covers your conference costs, like I am fortunate to the both places I've been at for a longer period of time like say, two plus years, have both sponsored conferences, they allowed any of their employees to go to conferences with some budget in the thousands of dollars every year and for someone to pay that, say they want to get into web development, that's a huge financial burden if you're working minimum wage or something like that. I feel like I sounds I just came down very hard on the React Conference but it's fine. It's cool that they're going to get really cool speakers and stuff like that but I think it's something. ROBERT: It's the job position of online-only versus co-located, right? There's talk there. KRISTIAN: Yeah and we talked earlier, maybe there's a hybrid approach of doing ByteConf physically, I think the one thing I will never compromise on in terms of how we put on the conference is like if we're going to do a physical thing, it needs to still be available for people who can't attend it. I think even at this point, the first conference hasn't quite happened yet but I do strongly believe that's already in the DNA of the idea and kind of ideals of the conferences I want to allow people to always attend, whatever we're doing, regardless of their situation. WIL: That's huge. I never attended a conference until last year when the company I'm currently working for, Frontside, paid for it. Before this, I had never been to a conference. It's awesome to see, they're like free [inaudible] by now. KRISTIAN: The conference I talked about earlier, the San Francisco one, I just straight up put that on a credit card, like I could not afford it. I did it because I guess I felt like -- ROBERT: That thing -- KRISTIAN: Yeah, exactly but there are people who just straight up can't do that. By that point, I was interning at a web development place but I still was basically getting paid like minimum wage. It was like under paid but I did it because I felt like it would be an investment. I didn't actually get a job from any one of that conference or anything like that, so who can say what the actual value of that was but it was important kind of in a motivational way but I don't ever want people to go into debt to go to ByteConf. That sucks. There's no way I'll allows them to do that. ROBERT: Yeah, because it's not only the conference ticket. Depending on what conference you're going to, I've seen as low as $150 and as high as $2000, just for the conference tickets and then you have to get your hotel for a week and fly out there and food. It quickly turns into a really expensive endeavor. KRISTIAN: It is in a lot of ways. I think for people who are fortunate in tech, it's somewhat of a vacation because you get to go somewhere. Usually, the tech conferences, I think are held in pretty cool locations, unless it's some kind of indie conf that doesn't have a lot of sponsorships or something like that. I went to a conference a couple of years ago that was at Disney World and it was very much a vacation. I went to the conference and I had a lot of fun. It was an Elixir Conference. I learned a lot of stuff there but after the conference was done, I went to like... I'm trying to think what it is called. It's like Downtown Disney, basically or whatever, so I went like -- ROBERT: Oh, they renamed it to Disney Springs. KRISTIAN: Oh, really? Disney Springs, wow. That sounds very -- ROBERT: Yeah, I [inaudible] for two years. KRISTIAN: Actually that does sound right. Coming from LA, I used to go Disneyland all the time. Even if the conference is just on a hotel or whatever, usually the area around it is pretty nice but that definitely limits a lot of people, unless you're fortunate enough to be making a tech salary or have a company that will cover that conference budget for you. ROBERT: We're sending two people to JSConf Hawaii. We were able to snag the early bird tickets which are so much cheaper. Then I was shocked that the hotel cost on Waikiki Beach was cheaper than my Portland hotel, so I'm actually super jealous and it was a super awesome vacation on the beach in Hawaii for less than what probably took for me to get to Portland. KRISTIAN: Is that where JSConf is? It's just in Portland? ROBERT: That's JSConf Hawaii. Portland was Chain React, so shout out to React Native Conference. The JSConf US one is in San Diego which is coming up in two weeks. Oh, my God. KRISTIAN: Nice. If you are a conference speaker and stuff, I think you get some stuff cover. I don't know. Every conference is different or whatever, so if you go in that format, if you go to conferences as a speaker, I think it's a little bit different situation but I can think of a lot of times that I looked at a conference and there's been a couple of talks that I found interesting but just the amount of money that I would spend to see one or two talks that really interested me, it wasn't worth it. ROBERT: At least ByteConf kind of shed that and absolutely drops the barrier of entry of to nothing. I mean, nothing mean you have to have an internet connection. KRISTIAN: Yeah but there's still a couple of things. This is why I'm trying to deal the rebroadcasting and making it available after the fact is there are some people who still can't take a day off and watch a full seven or eight-hour conference, so it's important to make it available after the fact too. I think I mentioned, I want to sell the conference talks with the slides and with the bonus materials and stuff after the fact. There's people that are actual, like practicing React developers who would feel fine paying like $30 for those or something and that way, we can hopefully, ideally, I hope I'm not totally speaking out of this to make totally go wrong but ideally, pay the speakers to some degree. That's another kind of aspect of it that I eventually would to do well in the future. But like you said, lowering the barrier to entry to literally as close to zero as we can get is what's really important to me. Then they feel everything else, we can work back up to something, putting on the really big conference events that a lot of other people are doing but still keep those ideals that we had from the first place. ROBERT: I love it. ByteConf sounds super awesome. I'm very excited to be selected to be a part of it. I really appreciate that. Is there anything else that you want to plug about ByteConf? KRISTIAN: Yeah. A couple of things, tomorrow depending on when this comes out, August 10th at 5 PM PST, we have our first 'Ask me anything' with Kyle Shevlin, who is a speaker at ByteConf React this year. It's just going to be Twitch.tv/ByteConf. If you're on the mailing list or you're in the Discord server or stuff like that, you probably already know about this but I will obviously tweet about it as well. A couple of other things. The 24th of August, we're actually doing and this hasn't been announced yet. This is the first time I'm talking about it. ROBERT: You heard it here first. KRISTIAN: Yay! We got an 'Ask me anything' with Kentcdodds, one of our keynote speakers. I'm very excited about that. That hasn't been announced yet but I imagine that's going to be really cool. I think people are going to be very into that. Finally of course, the conference itself. ByteConf React is August 31st. It's one day, starts at 9 AM PST. You should join the mailing list and follow us on Twitter. It's just at @ByteConf. You'll see a link to the mailing list there as well and you'll get some more information there but it starts at 9 AM. On Twitch, it's Twitch.tv/ByteConf. That's all you need to do to attend. I would love for people to follow us on Twitter and join the mailing list but if you are allergic to following the people on Twitter or getting emails, you don't have to do any of that. You can just find us that day on Twitch. We have some more things that we're probably going to announce as kind of preconference events in between now and then but those are kind of the two or I guess three, main things. Thank you for having me on. It's been really awesome. I think it's maybe the first time I've talked about the bigger picture stuff with the conference so it's been really cool to get to talk about that. I'm excited for your talk as well. I think it's going to be really neat. ROBERT: Awesome. Thank you for coming on. Like I said, I'm really excited for ByteConf. When I saw this pop up as an idea, I was all over it. I think I actually submitted the CFP before you officially announced that there was CFP. I'm like, "I'm in it. I'm going for it." KRISTIAN: One more thing, I think I didn't mention just kind of organically is that all of the CFP submissions are actually reviewed by people in the community. I'm really proud to say that the talks they have selected, including Robert's were generally, because people were just super interested in them. I think that's going to really show when we air the conference. People are going to be really excited about this stuff. It's going to be super cool. I'm beyond hyped. I'm extremely nervous, extremely hyped and it's going to be great. WIL: I'll also going to say that if you have an Amazon Prime account, you get a free Twitch subscription, so you can go ahead and subscribe to ByteConf on Twitch. KRISTIAN: Yes. That is very true. I should do a better job of plugging that. Oh, one more thing. I guess I should be a good podcast guest and also say like, if you want to follow me on Twitter, my name is Kristian Freeman, it's at @imkmf on Twitter. For the most part, I just tweet about ByteConf stuff and Product Hunt stuff and then get mad about politics sometimes but I should do a better job of plugging my stuff. Again, thank you for having me on this. This has been really, really great and I'm looking forward to seeing you both at the conference. ROBERT: Cool. Thank you Kristian. This is a great conversation. I'm really excited about it. We are the Frontside. We build software that you can stake your future on. If your team needs any help with single page app testing, accessibility especially in single page apps, I'm really, really open to helping anybody. If you or your team need help in that or leveling up, be sure to reach out. We're open to pair. We're open to start a new engagement, anything that kind of helps you and your team to move forward, we're super interested in. As always, you can reach out to us Info@Frontside.io for any feedback on the podcast and thank you Mandy for producing our podcast. Thanks everyone. Have a good day. WIL: Yup. Thanks guys. See you at ByteConf.

The Health Fix
Ep 088: How to Prevent & Manage Shoulder Pain – An Interview with Sports Medicine Specialist Dr. Robert Oh

The Health Fix

Play Episode Listen Later Jul 26, 2018 41:05


Shoulder injuries are common and most of the time it's related to our poor posture. Focusing on strengthening your back and posterior shoulder muscles while improving shoulder mobility goes a long way to prevent injuries and pain. In this episode Dr. Jannine Krause interviews Dr. Robert Oh, MD, who specializes in family sports medicine, on preventing and managing shoulder pain. Dr. Oh recommends rowing machines, rowing exercises, lat pull downs and pull-ups in addition to stretching and release techniques to reduce tension in our chest, neck and shoulders. Listen in for more tips and techniques Dr. Oh recommends in this informative interview.   What You'll Learn In Today's Episode: Why your computer, phone & iPad are causing you pain How to stretch and release tension in your shoulder & neck Why strengthening your upper back prevents shoulder pain How to eat to prevent shoulder injuries & pain

The Frontside Podcast
105: Automating GitHub with Probot

The Frontside Podcast

Play Episode Listen Later Jul 5, 2018 47:43


Special Guests: Brian Douglas and Bex Warner of GitHub. In this episode, the panelists talk about automating GitHub with Probot. The origins of Probot are discussed, as well as making GitHub apps with the GitHub API, automating workflows with Probot, must-have Probots for every repo, and GitHub's V4 GraphQL API. References: Microstates README Probot github.com/integrations/slack github.com/marketplace/pull-reminders platform.github.community/c/integrations probot.github.io/apps/unfurl-links/ probot.github.io/docs/deployment/ probot.github.io/docs/extensions/#scheduler probot.github.io/community This show was produced by Mandy Moore, aka @therubyrep of DevReps, LLC. TRANSCRIPT: ROBERT: Hello everyone and welcome to Episode 105 of The Frontside Podcast. I'm Robert DeLuca, the director of open source here at the Frontside and I'll be your episode host. Today, we're going to be discussing automating GitHub with Probot with Brian Douglas and Bex Warner. I'm really excited about this topic. The idea of automating GitHub workflows with bots is amazing. This is something that I've been wishing the GitHub have the platform support for since I even started using GitHub for open source. Just being able to have a bot to take care of certain things like somebody doesn't leave enough of a PR description and they open up a PR, you can have a bot that just responds to it and saying, "Can you provide more information?" It's pretty awesome. With me as co-host today is Charles Lowell, who is also a developer here at the Frontside. Hey, Charles. CHARLES: Hey, Robert. ROBERT: Before we get into the discussion, I like to make a tiny little announcement. We've been building a composable and an immutable state container called Microstates. I'm sure Charles can talk about this more at length, then we will in the next podcast episode -- 106, but I would like to make a small announcement that Taras who is an awesome developer here just wrapped up a month's worth of work, creating a new ReadMe to describe the vision of Microstates and what you can do with them and everything about Microstates. If you're interested in that, I highly recommend checking out the ReadMe. I'll drop a link in the show notes for you that are interested. CHARLES: If I can add, it really is [inaudible] because it isn't like any other state management solution out there. ROBERT: No, absolutely not. I've been building something with it in React Native over the weekend of the 4th of July and it's amazing. But enough about that, you'll hear about that next episode. For this episode, I want to talk about Probot with Brian and Bex. Hi are you two doing? BRIAN: I'm well. BEX: I'm good. Thanks for having us. ROBERT: No, thank you for joining. This is really exciting. Like I said in the intro, I've been really excited about this project. I do a good amount of open source, I would say and this has been really helpful in all of our repos. We have, I think like 78 open source repos on the Frontside. We have Microstates, like we just talked about and Big Test and all of those repos use some combination of Probots that people have built and it's really nice, especially with the new Checks API that has just come out. You can integrate Probot into that, right? BEX: Yes. I, actually am currently working on shifting one of our bots from using the commits Statuses API to the Checks API. ROBERT: That's awesome. Before we go too deep into it because I want to come back to that because that sounds really cool and what the integration of that is like and what changes because I'm not even really that familiar with it. I just know it was released. I kind of want to go from the beginning here. Where did Probot come from and can we get a little bit of a history for everybody that might not know what Probot is? BEX: Sure. Probot originally started out as this simple idea to make GitHub scriptable. The original idea was you have a single file in your repository that would be like a JavaScript file and it would essentially spell out how the bot would act on your repository and the goal was to make GitHub apps accessible to people because if you ever look through our GitHub apps documentation, I think it can be a little tough to get started. There's, honestly, a lot of nonsense that you have to go through in order to get set up. For one thing, the way our GitHub app authentication works is it requires a JSON web token followed by using that JSON web token to request an installation access token and that process would be really tough for new people to get started. ROBERT: Yeah, it sounds like it. BEX: Yeah, so Probot was created to abstract all of that away and handle all of that authentication automatically and simply leave you with the payload that you get from listening on web token events and in authenticated GitHub client to make authenticated API requests while authenticating as an app. ROBERT: Cool, so that's where it started like a flat JavaScript file in the root but today, you use like EMO files and a .GitHub folder. How do that kind of progress? BEX: Originally, their use case was much simpler and it quickly became clear that a single JavaScript file in the GitHub repo was not scriptable enough and not easy enough to understand. The goal was to make like an API that could make that JavaScript file really, really easy to customize for every API of GitHub and it quickly became clear that that was not really a feasible thing to do. as time went on, it turned into this way to build Node JS applications and essentially, what the configuration files you're referring to are the way in which we make it customizable because right now, there's no way to be officially supported GitHub apps channels to pass secrets because it means you're a [inaudible] and the owners of GitHub apps, so that was just a way to kind of stop that problem. ROBERT: Gotcha, okay. BEX: The actual code for GitHub apps still lives in a Node JS module basically and the configuration file just specifies how that module runs. ROBERT: Right, so they're deployed like Heroku instances, if you want, like anywhere you can host a node app. BEX: Yup. Heroku, Now, yeah. ROBERT: Interesting. BRIAN: As a reason to that, some explorations of doing serverless deployments for Probot, I think there's a couple of issues of them. I'm not sure if anybody's shipped anything like the way they at but it's pretty much it's possible to. BEX: Just a week ago, we even released a new version in which we update our core from Node JS to TypeScript and now that things are typed, we have big plans for serverless. ROBERT: Nice. That's awesome, so then you'll be able to deploy to a Lambda and off to [inaudible]. BEX: Exactly. CHARLES: Can I actually interject here, as kind of a person who doesn't really know the relationship between GitHub apps and the GitHub marketplace and what exactly a Probot is before we hear the origin story. I would love to hear a very high level view of how this ecosystem fits together. BRIAN: I think a lot of people are pretty familiar with interacting with the GitHub API and OAuth integrations. I think I've just spent a lot of time at different companies previously to GitHub, just like making calls, either to cURL or through Node JS or more recently, [inaudible]. GitHub apps itself are a way to take all the things that you had to do to make an integration to GitHub much easier. It has a lot of cool things like OAuth, scopings, so you no longer have ask for all your repos ask access whenever someone logs in with GitHub and the connection between like, "Now have gone from OAuth to Now to GitHub apps," there was a lot of, as Bex mentioned earlier, ceremony that happens to getting set up with GitHub apps and integrations that Probot is like this tool to speed up the process of getting to the point where you just want to script some automation or some sort of workflow and it gives you all that bullet play for you. I don't know if that was a good high level for you Charles. CHARLES: Yeah. I've kind of witnessed this second hand with Robert installing a bunch of things here, so let's use an example, like you did some sort of automation on our repos, Robert, where when someone files a ticket, there's this workflow that automatically adds a triage label, so that we know that this thing hasn't even been dealt with, so we really need to address that issue. It doesn't need to be as a high priority. It doesn't need to be closed as a duplicate of something. One of the different aspects that you described there, how do they fit in terms of serving this workflow onto the end user? Or was that a good example, even? BRIAN: One of the cool thing about GitHub apps and what Probot does for you is that normally, if you want to add a label to an issue, either you Charles or Robert, would have to be admin or maintainer on the team for the Frontside and you could add labels. But somebody who opens up an issue, doesn't have that ability to have write access to your content, which is adding a label. What a GitHub app does, it actually takes a spot as if you would have another user on your platform, instead of creating a dummy account or a dummy user. Probot is basically building a bot for you to then, give you the ability to add that issue. That's sort of workflow that normally would have to happen through an actual real human could not happen through a bot without taking up a spot of like, "I guess, I probably shouldn't speak so ignorant about our platform and what we actually pay for nowadays for GitHub," but I know we used to have like a limited amount of seats for organization, like that seat no longer has now taken up and now, it could be just be used a bot can do something that normally us would take. ROBERT: Right. You no longer have to create a user to do these things. BRIAN: Correct. BEX: [inaudible] within GitHub. It's sort of built in a way that apps can take a lot of power in your repositories. CHARLES: So then, what is the relationship between Probot and an app? BEX: Probot is essentially the framework for building an app. You can definitely make the equivalent of any Probot app outside of Probot. It abstracts away all of, basically, the horrible parts and leave the easy part. CHARLES: Now, I think I'm ready to participate in this discussion. ROBERT: That was perfect, though. That's a great intro because I actually didn't have a total grasp or understanding of the relationship between GitHub apps and Probots. That's really good. BEX: Yeah. Additionally, going back a second. You mentioned the marketplace before. One thing to note that is that there actually are several Probot apps on the marketplace right now. The marketplace is essentially the home for any larger, usually third-party companies that have made apps and Probot is essentially supporting some of those. ROBERT: Interesting, so then my question would then be, do you know anybody selling their Probots. Does the marketplace charge? I'm going to assume it does. BEX: Yes. ROBERT: Okay. Is there anybody charging for their Probot? BEX: Yes. There is a quite a few, in-fact, charging for it. Recently, a pretty popular example is the GitHub Slack integration, which is if you open new issues, you can have them appear in your Slack channel. That whole application was recently rewritten by GitHub. It was previously owned by Slack and that was built on top of Probot. CHARLES: And I actually remember, we upgraded to that version. It's actually way, way, way better. BEX: I'm glad you feel that way. CHARLES: I didn't know the story behind there. I was like, "Oh, I just got a lot of... Awesome," you know? Although I don't know what's the costing. BEX: Yeah, I think that integration is actually free, so that wasn't the best example. I think it's for open source projects, at the very least. BRIAN: Brandon, one of the maintainers for the Slack integration and work at GitHub, also did a really cool talk at the SlackDev Conference a couple of weeks ago, so if you're interested what were the behind the scenes. That integration is all open source as well, so if you have request or you have features that you would like to add to the Slack integration, you can pop into the repo that hopefully will show up on the show notes because I'm not sure if it's like GitHub/Slack, but I guess we'll find that out in the show notes later on. BEX: It's Integration/Slack. BRIAN: But for an example of a paid app of a non-third party, we're not talking like Travis or Circle or another one with the big names but rather, a solo dev created. It's Pull Reminders, which is on the marketplace as of today and essentially, this gives you reminders of your pull quest, so you can actually ping inside the comments and tell Pull Reminders to say, "Tell me about the pull request like next week because it's Friday and I don't have time to look at this." ROBERT: That's awesome. I've also seen the one that's kind of related, that is like you can set your out of office at GitHub, which is actually kind of a neat concept. BEX: Was that the one where we are already changing that profile photos to have the overlay or the one where is just auto-replying to messages because I've seen a couple of -- ROBERT: I think, it's just auto-replies. BEX: Okay. CHARLES: So, it can change like your profile pictures and really, not just related to repo and history related activities but everything? BEX: Anything that you can access via the GitHub API, you can almost access via GitHub apps. There's a list of end points that I specifically enable for GitHub apps because there's something such as delete a repository that there's basically, a very few circumstances under which you want to give that permission to an app. Also, to things very specific like your profile or your personal page. About a year ago, there was an official internal audit of all of the API endpoints because there are lots of inconsistencies over what was and what wasn't enabled for GitHub apps, so they went there and kind of decided, what endpoints should be enabled and what endpoints actually get enabled. Now, that list is much longer than it was a year ago. Now, it's much more comprehensive. ROBERT: That's awesome and is this for the Rest API and the GraphQL API? BEX: Yes. Probot does support both. The Rest API is the one that specifically had all of these endpoints audited. The GraphQL, since it's a bit newer, we sort of built those and more. ROBERT: Cool. I really like working with the GraphQL API with GitHub. It makes it easier than trying to do a bunch of Rest calls. BRIAN: Yeah, there's a community form, it's like a discourse form that the API team actually manages and sort of pipes in there. Again, going back to like, if there's not something in the Slack integration that you would like to have, the form, that community is actually in there, if there's something not in the GraphQL API, that you would like to see. No promises on shipping it within an x amount of time but if enough people are requesting it obviously, there's going to be some resources [inaudible] at. ROBERT: What do you mean? We're doing open source. It has to be done yesterday. BRIAN: Yeah, exactly. And that form is at Platform.GitHub.Community, just a URL to get there. ROBERT: Awesome, that will be helpful to look through and get some recommendations in there. One of my favorite things I was going to say about the new integration for Slack and GitHub is the fact that I can highlight line numbers, paste that linked in and then it just expands it and the chat in Slack. That is so nice and I use it all the time. BEX: Yeah, I love that they built that feature. Actually, the original feature that was built on GitHub to allow those line expansions in the first place, like on GitHub itself, was actually built last summer by some folks who were also a part of my intern class at GitHub last year. ROBERT: Hey, intern power. That's awesome. BEX: Yeah. ROBERT: Everyone there is doing amazing work. I'm also following along with somebody that is also an intern and it's building a weekly digest program. BEX: Oh, yeah. That's actually a Google Summer of Code student. ROBERT: Oh, interesting. BEX: So, being sponsored through Google Summer of Code by Probot as an open source support. ROBERT: Is there anything more to unpack there? That sounds really interesting. BEX: Essentially, we submitted an application for Google Summer of Code because we thought it'd be a cool way to get more people, more students, a mentorship opportunity for the maintainers, basically and we were honestly overwhelmed. We got like almost 100 applications and it ended up being a huge of a deal but we're -- ROBERT: That's a great problem. BEX: Yeah, definitely a good problem but we were really happy. We, initially wanted to accept more students but Google limited us to only two students, so we have two Google Summer of Code students working on projects and one team of women from Rails Girls Summer of Code working on Probot. ROBERT: That would be awesome. What do they working on? BEX: I'm not sure yet. They actually just started a couple of days ago but the other Google Summer of Code student is working on a background checks API to eventually do sentiment analysis of comment history of someone new to your repository. ROBERT: That's interesting. That sounds like there will be some machine learning in there. I might just throwing out buzzwords? BEX: Most likely, I think they're just using some sentiment analysis API, like the perspective API. I don't think they're actually doing that themselves. ROBERT: Okay. CHARLES: Actually, I have a couple questions. Back on the subject of Probot. How does this square with the classic mode of integration because there was a lot out there? I think the first one that I remember that stuck in my mind was like Travis and I don't know if there had to be like a special relationship between the Travis developers and the GitHub developers, that's like, they was able to make that integration happen so many years ago. I don't know how that happened. I just remember it popped up and I was like, "Woah. This is incredible," and we see kind of the integrations gets more and more rich. For someone who's got, like you mentioned a couple of the big names, is the idea that eventually those would be able to be completely supported is GitHub apps or is it they're always going to be kind of a separate track for kind of the really deep integrations? BRIAN: I wasn't around when Travis first integrated with Lyft GitHub and I think that's a really cool integration and I know they have a very nice sized team that's able to do that. I think if we zoom back out like Probot, the way to get started with Probot is that we have the CLI command, which is to create Probot app. I believe it was intentionally copied off of create React app and the cool thing about create React app and create Probot app is that they abstract all the ceremony and boilerplate to get started really quickly. It was like, what developers or smaller teams can get started with integrating with GitHub apps. I highly doubt that Travis is going to rewrite their entire application with something like create Probot app but they're definitely going to be moving towards the new API calls, which would have been like GitHub apps. Part of the Checks API that we had launched at the end of May, Travis had blog post on how their integration with the Checks API works. They're making, though they have a lot of what Legacy endpoints and a lot of Legacy integrations in the way they integrate with GitHub, they are actively moving towards a GitHub app. I don't know if I could actually comment on their status of where they are today, to be honest but actively, we want all new apps and new integrations to follow the model of being a GitHub app, so that way, out of the box, you have access to all the newer features. You have all the access to all the newer GraphQL endpoints, if you want to use GraphQL and that way, we can serve one market, as opposed to everybody who had a GitHub integration from five or six years ago, that was all piecemeal together and sort of duct tape, like we run move away from duct tape everything together. CHARLES: I see. BEX: I definitely agree that I don't think Travis is going to switch to using Probot anytime soon and I don't think most of the large companies will be doing that but I do think, there will be shift towards GitHub apps in general. For those companies that don't already have the buildings of the GitHub app started, I think that Probot could be, in time to free some of them. BRIAN: In addition to that too, Travis and Circle and all the CI integrations, they're doing a really good job. I think the cool thing about GitHub apps is what you take away all that ceremony of getting your checks to work, now we can start opening up the door of like what's the next sort of CICD thing like? There's another term or another, I guess category of applications that can now be built to improve GitHub. CHARLES: The most amazing thing about having a great platform is the apps that you don't foresee, like it just come completely out of left field and you're like, "Woah. I can't believe that's actually a possibility now." When you have started to see some of those, some Probot or GitHub apps, you're like, "Man, I didn't see that coming. That's awesome." BEX: A hundred percent. I think it's the most exciting part of Probot because I think GitHub as a platform, we all know GitHub is the largest developer platform in the world and I think the idea that developers can build on top of this platform is the most exciting idea right now. I have honestly already seen apps that really excites me. The other day, I saw this app that was definitely not near completion but it was essentially updating and issue a comment box over and over and taking response through like checking a box and then listening on that common edit, in order to specify your coffee order. ROBERT: Woah. BEX: I was like, "Do you want an ice coffee or regular? Do you want milk or sugar and cream?" and it was going one at a time. It didn't actually order you your coffee at the end but it was super exciting to watch that. You're just editing the comment. I had never seen that before. ROBERT: That's pretty slick and that's taking the API pretty far. I'm sure there were some parsing in there and each Webhook response are like, "Was this box edited or not." That interesting. CHARLES: Yeah. Actually, now that we're having this discussion is kind of like changing my mind a little bit. Robert and I were actually talking yesterday about trying to standardize on our release management and our plan was basically to have some software that was going to run inside of our CI provider and have kind of a shared library, just a little ntm package that was shared by all of our repos but I'm thinking now, man, we should really explore doing this as a GitHub app. ROBERT: Yes, please. I've had three ideas that I really want to build out as a Probot. I'm just going to list them off and then we can build them all together and take equity and you know. I'm kidding. But the two that really excite me, that I kind of want to do is one concept that we work on this open source project for our clients and if somebody from the outside that doesn't have commit bits to be able to push to master, it would be really cool if we had a Probot that after it had an approved on the PR, from the maintainer, that the person that open the PR could then tell a Probot say, "This is approved by somebody that manages this project. Can we merge?" and then the Probot would then actually merge. I don't know if that's possible. That's something that I definitely wanted to explore. Then the other one, which is less cool, would just be like if we have a couple branches on some of our projects that we want to continue and we're not ready to put it back into master but we want to continuously run the test suite against it, so the idea there would be to have a Probot that would watch for changes on master and rebase as needed and continue to run the test suite and see where you're at. Those are the two things that I'm really excited about to do with Probot but I just want to automate everything with GitHub now. CHARLES: Right. BEX: Yeah, definitely, that first idea was actually pretty viable. I'm curious to know like how you actually get those commit links -- is that what you called it? ROBERT: Commit bits are more like commit permissions, I guess. BEX: Oh, I see. ROBERT: An outside contributor. CHARLES: Yeah, we want to push responsibility to the person who is the maintainer who can approve it but actually, the way we do it at Frontside is the person who actually is making the change is responsible for merging it. Once you get approval, you still have to hit the go button and that's just going to make sure that you're taking responsibility for saying it's done but that doesn't work for open source because people coming off the internet are going to have the right to push but we would like to give it to them, maybe via an app, if there is a maintainer who's approved it. BEX: Yeah. That's definitely something you can do. I've seen quite a few apps that, essentially add outside collaborators to the repo. Are you familiar with the... I forgot what it is called, like the all contributor section, where you cite everyone in your repo and everything and who's worked on it. There was a GitHub app that would add someone automatically after they merge their first change. CHARLES: That's awesome. ROBERT: I may have seen that on React State Museum but I'm not sure. It's a repo that we've contributed to and it has all the contributors at the bottom. It seemingly just kind of popped up there. BRIAN: There's an app that, I would like to mention too that I'm pretty excited about, that it sounds trivial too and it's almost similar... Not similar but it's sort of related to what you were talking about, Rob, with your first app, which is the WIP bot, which is the work-in-progress bot. This is a pattern of whenever I open a PR and I might not ready for a merge but I want to share my code so I can get feedback earlier on, I'll type in WIP so that append to my title of my PR. What this engineer did was every time you do WIP, it's going to go into the GitHub API and actually block the PR for merging, which is a feature available to GitHub. It's nested in your settings but the cool thing about this it actually blocks the PR for merging, so you don't have to worry about getting your, sort of like show and tell code merging the master without being ready. ROBERT: That's one of the first bots that I installed on all of our repos and then you can correct me if I'm wrong, it didn't always have the ability to block the PR from being merged but with the new Checks API, is that something that was introduced? BEX: Not exactly. The way that blocking of merging works is if you set it as the required status, so you can install any sort of CI on your account and have it not being required and ignore it whenever you feel like it, so it's really up to you to make it required. Otherwise, it just isn't checked and that's true for anyone who uses the Statuses or the Checks API. ROBERT: Okay, so that's a Statuses API. Okay, sorry. BEX: Yes. ROBERT: Also, the cool thing about that that I noticed when that was rolled out was I was now able to pick and choose and use workflows on Circle CI and each workflow is broken out as a different status check. I am now required like linting and the build and the test have to pass for these browsers before it can merge, which is really cool to be able to pick and choose. BEX: Yeah. It's awesome. I know personally on some of my repos, I have a few checks that I just don't require because I know I have to make them pass. ROBERT: Yeah. Speaking specifically about the work-in-progress bot, do you know how that works? It's open source, so I am sure I can go look. I think we want to go make a PR. We had some back and forth about this, Charles. CHARLES: I actually just [inaudible] we disagree. ROBERT: Yes. Charles opened a PR and one of his first commits in the PR had work in progress and the title had work in progress and we have this this Probot on our website and it was a blog post. You know, you make a couple more commits and you're further down, you move the work in progress in the title but the PR were still blocked because the first commit on a PR have work in progress in it. I think if it's the most recent commit or if it's in your PR title with work in progress, it should block but otherwise, it should not and Charles feels differently. CHARLES: I have about six commits and the very first one have WIP in the title or in the commit message and it blocked the whole thing but I kind of felt like it actually made me go back and I had to squash it down to two commits because I actually feel that your commit history should tell the story of the development, not like it should an absolute one-to-one journal of what happens but what you are intending. I actually felt that it could help me out because there's six commits that we're kind of all over the place and just kind of slapdash together have made me kind of go back, rethink it and tell a coherent story. I think it did me a service but it was not obvious. I definitely agree with that but I was like, "Why? Why were you still blocking?" ROBERT: Do I really [inaudible] admin privileges? BEX: I would say, I am friends with the creator of the web app. His name is Gregory Mantis and he is actually got a huge work in progress PR shifting work in progress over to using the Checks API and one of the features that he's using with the Checks API is essentially this mark as now work in progress button that will add the special line, like feel free to merge or something like that into your original PR description at the bottom. If that is there, the work in progress app will no longer be blocking. It's essentially like a hard override and honestly, that's the power at the Checks API versus the Statuses API. That's really exciting. ROBERT: Because I have seen the work in progress bot to get into a weird state, where I did remove the work in progress from the title but it didn't quite update and I'm still blocked. It's okay for me because I have admin privileges but other people on the team maybe not and they might be blocked from something that's actually work in progress. It's a lot like that hard override will be probably pretty helpful. BEX: Yeah, definitely. I think sometimes, there's some confusion with that just because of the way what perks work on GitHub and the way our pages are rendered, that you may need to refresh the page before you actually see it take effect. ROBERT: Right, yeah. Overall though, I love that bot. I go weekly, probably to the Probot apps listing and just go shopping. BEX: Wow. I'm actually the person who approves all the Probot apps to the listings so that's pretty motivating there. ROBERT: It's really nice. I am not even joking when I say shopping, I go through and I open up a bunch of tabs, I read through them, "Oh, this could be useful," that kind of thing. BEX: The first app you mentioned, which was like the one that requests more info is actually one that I built, so that was kind of funny. I guess you got that from the Probot apps too. ROBERT: Yup. That one, we definitely use on a couple of our organizations and repos. It has yelled at me a couple of times because of a blank PR. BEX: It yells at me all the time. I think I get yelled at more than people who are actually doing it wrong. ROBERT: I'm a little embarrassed like, "I should do better. I need to set an example." BEX: Definitely. ROBERT: Cool. I'm curious what both of your favorite Probot app is. This ought to be interesting. BRIAN: The app that I'm really impressed with so far, that I actually only use on a junk project at the moment, is the weekly digest one and it's mainly because I built something for this in my previous role at the company but then we shift it, which is basically go through every single repo. I worked at a company called Netlify previously and we had way too many repos to maintain... Oh, sorry, to keep track of and I was moving further and further away from the backend at the time so I was unable to keep up to date with all that was changing. I built a Lambda to watch Webhooks and then give me a digest of what was shipped like issues and PRs closed. It was way over-engineered and I never actually shipped that to actually make it work. But then the weekly digesting came out maybe a couple of weeks ago and it blew me away because I was like, "This is exactly what I needed," and I was trying to make it overly complicated through like a Lambda and like a bunch of Webhooks and this person, with only a few weeks, has the scaffolding of what I needed. That's the one thing I'm pretty excited about. It was already mentioned earlier too, as well. BEX: I guess, I would say one of my favorite ones is the unfurl a link app. I think that one it so simple but so nice. I don't know. I think having that unfurl link preview is just beautiful. Essentially what it does is it listens on issue comment creation or pull request comment creation or issues your pull request or whatever and read through the text or whatever was that issue or pull request and looks for links and then, essentially unfurls them so you can get a really nice preview of what you're going to. I think that's really beautiful and just so simple. ROBERT: Yeah. I love that one too. I have that added to all of our repos. BEX: It's so much nicer. Why would you not unfurl your links when you could unfurl your links? ROBERT: Exactly. CHARLES: I actually have a question. I think it's been touched on, probably at least twice throughout the conversation. I want to actually create a Probot, how do I actually go about deploying it? What does that look like? What does it look like to deploy and maintain it? BEX: We have a page on our docs about deployment and essentially the TL;DR is you can deploy it on any normal cloud hosting service that you wanted to deploy it. There are a few things you need to specify. For example, GitHub gives you a private key that you need to create your JWT and that private key means to be passed into your hosting service however you do that and then, there's a few bits of information that need to be pass in. We have pretty intense docs about it. Honestly, I'm not a deployment person. I usually try to let other people do that and I have never had a problem going through our docs and just getting it working immediately. BRIAN: It's also mentioned that there are examples like Heroku and Now and a couple of other ones. If you have a service that you already like, it's possible it's already in the docs, like steps to how to get that deployed. BEX: Yup and any other services are more than welcome to be added to the docs. Pull request are welcome. ROBERT: Sweet. It sounds like we need to set up a hack date to create a Probot, Charles. CHARLES: Seriously, my mind is brewing. ROBERT: I guess it's not directly related to GraphQL but there's something that I've always wanted to build. For prior history to everybody [inaudible], then the podcast, Brian and I used to work at a company called IZEA and one of the things that we built and I worked on a lot was we would create a collect metrics on people's social accounts that they're connected and do that and graph it over time. This idea came from when I was building up that feature all the way back in 2013, I want to graph the change in GitHub stars. Is there an API available for me to see like weekly GitHub stars or is that something that I still have to manually store and track? BEX: There's definitely an API endpoint to get the amount of stars and I don't see why you couldn't just do that on weekly basis and compare but I don't think there's any track that change API. ROBERT: Gotcha, like a history of it. I could do this by just stealing and looking at what the weekly digest Probot is doing because there is a change in stars section in there. I was just curious if there was now an API that was available. BRIAN: Yeah, that's more unlikely. I'm going to say no without looking at all the reference documentation. I think as far as that database, it's something you'd probably have to collect on your own but it's also a good candidate for a GitHub app, where you build a service that you can actually track stars once you've installed it and then if you want to monetize it, you can actually pay for private repo or whatever stuff like that, if you wanted to. But it sounds like a great opportunity to see this in the GitHub/Probot listings. BEX: I actually just look this app really quick in our docs because I was curious but apparently, you can receive the star creation timestamps. That could be doable through timestamp usage. ROBERT: Oh, and then I just kind of loop through back and build your graph in there. BEX: Yeah. ROBERT: Interesting. All right. Well, [inaudible] I was going to do today. BEX: Yeah. But I think it's exciting to bot the weekly digest and then what you could extract from that into stargazing is that Probot scheduler, which is essentially this all Probot extension we made that triggers a Webhook on a scheduled time period because right now, the way GitHub apps works are so centered around Webhooks. It can be difficult to find a way to trigger an action on something outside of a Webhook, like on a schedule basis. ROBERT: Yeah, that would be really helpful. I can definitely see how that would be a problem, if it's very, very central to reacting to Webhooks and events that happen on the system. BEX: Exactly. ROBERT: You're just hoping that somebody comes through and creates an event at a specific time. CHARLES: Can I ask you a question about, it's definitely on topic of extending GitHub but currently, just a question about, where the line is between what you can and cannot extend? You mentioned, for example in the rewrite of the WIP bot, being able to throw out a big button that says override this merge. Are there any plans to be able to actually extend the UI in novel ways? Everything there right now is happening with API calls, with I assume, UI elements that are related but the UI elements are static. If someone wants to put a novel piece of the UI, that button is going to require an extension of the GitHub UI by GitHub itself. Are there any plans to be able to, I know it's a dangerous waters, perhaps at a limited fashion at first but maybe more so, add different interactions and the actual application. BEX: I think this is actually the most exciting future of GitHub as a platform. In the past, GitHub APIs have only specifically supporting things that you can do through the command line or you can do through GitHub's UI itself. The Checks API introduced the very first non-integration specific UI element essentially and the merge button that I was referring to in WIP is exactly that. It's essentially this button that you can change the text of it to be whatever you want and you can listen on that action and then you can do as an integration or an app, anything that you want based on that. I think that's the most exciting direction for GitHub. Because if you look at Slack, Slack is a platform that has sort of really impressive integrations in that response. Your apps on Slack can really do all of these things, use custom UI elements, so I think the most exciting features for GitHub as a platform is all of this customization and giving the power to the apps. ROBERT: Yeah, that sounds an awesome way to be able to extend GitHub without having to try and throw the feature on to GitHub developers. BEX: Exactly. I feel that a lot of the struggle right now is that there aren't these nice ways of communicating via apps because I feel lot of the apps and bots end up just commenting on issues and pull requests and taking up a ton of screen real estate as a result and I just think that that's not the way that bot should ideally interact with the GitHub platform. They should have their own space to exist and that's the feature I'm most excited for. CHARLES: Yeah. I can think of having like progress bars for CI checks and your various appointments. It's too exciting. I'm glad. That's definitely the response I was hoping to hear. BEX: Yeah. We're excited for it too. ROBERT: Basically, you all have a massive community of a bunch of developers that would want to do this and are willing to get their hands dirty on it. Enabling that community is probably the root of all Probot is about. That's super awesome. BEX: Yup. CHARLES: That's a good place to end, because gosh, it's going to be so exciting to have the millions of developers on the planet, just like surgeon to the APIs that you're developing. BRIAN: One thing to add to that too, about the whole million developers, there's a number that's been thrown out from Stack Overflow and also, some other people who are saying like there's 50 million developers, there's 24 million developers. As far as GitHub, our public user number is 28 million, the cool thing about Probot and GitHub apps is that there's a good chance that all those people that are using GitHub today are not actually developers. They're like PMs or designers and what's really cool about this, like having interactions with that kind of platform in this way is that you can now enable all the non-developers to be able to interact with your GitHub repos and start bringing more designers and PMs onto to the GitHub platform to interact with the developers. ROBERT: That is an interesting point. That is awesome and something that I'm always looking for is a different ways to collaborate with non-developers on my team because... I don't know, developers tend to think everything is always centered around code but it's not. The shifting at work that are awesome, needs a lot of collaboration from non-devs and non-dev skills. That would be really interesting to see. I'm excited for that to play out. BRIAN: Yeah. There's a blog post that was published a month ago, I think about where the design team, design system teams rather, built the integration to Figma to update their icons effectively. I just posted that in the chat to look into but they also built this as a Probot app as well. ROBERT: That is awesome. BEX: Yeah, that one is super exciting. You would have the app comment, the diff between what the old icon versus what the new icon look like and it's just such a beautiful design change to be able to see that shift. ROBERT: Man, I'm happy that this is happening. The future seems super bright. Where can we direct people to get resources to contribute, to get involved and start really going at this? BEX: Basically, Probot.GitHub.io has all the Probot stuff, /app has all the listings for apps you can install today, /docs is where the docs are, if you want to get started and hopefully from there, we link up to the necessary things that you need to do. BRIAN: Also, what I mentioned too via Probot Slack channel, there's a Slack channel as well and they do a weekly call. I think, it's weekly or bi-weekly call to actually chat with the Probot community. If you have questions, you can actually bring your questions to the team. BEX: Yeah, we call it 'Office Hours' and it's once a week and it's under our community page, where we also have a link to our Slack. We have a link to another podcast we run and basically, how to get involved in the Probot community. ROBERT: Those are really helpful resources. I do remember seeing that Office Hours. It's on Thursdays, right? BEX: Yes. ROBERT: I was going to drop in for one and then, I actually forgot. Actually, it might be going on as we talk right now in this podcast. BEX: It starts in half an hour, I think. ROBERT: That's awesome. Cool. Well, thank you Brian and Bex for having a conversation about Probot. This is really awesome. Is there anything that you would like to plug for yourselves? How people can get in contact with you? BRIAN: Yeah, I am BdougieYO on Twitter. Everything you need to know about me is there and I am happy to say hello. I'm also helping with the GitHub developer program, which is sort of getting a soon-to-be announced rebranding. If you go to Develop.GitHub.com/Program and you want to have more conversation about the API and GitHub apps on the GitHub side, you can go there to sign up. BEX: And I am HiImBexo on Twitter. You can ping me in any Probot stuff. I'd be happy to look at any Probot code. I've been looking at it for a while now so I'm happy to do that. ROBERT: That's awesome. Thank you all for having a conversation with us. This was really fun. I'm so excited about everything you can do with Probot. This is a really fun project. I'm happy that this is happening and I will make a Probot in the future. CHARLES: I'm looking forward too. Robert has been excited for quite some time and he definitely talks a lot about it and now, I have some insight as to what -- ROBERT: It's happening, I'm telling you. Well. Thank you for being here and we are the Frontside. We build UI that you can stake your future on. We are specializing in JavaScript. We can build anything that you want throw at us. We do functional programming, React testing, Vue, anything in JavaScript, we specialize in. As always if you want to suggest anything for us to have on the podcast or talk about, you can reach out to us at Contact@Frontside.io and like I teased earlier in the podcast, next episode is going to be all about Microstates, the immutable and functional state container, composable model system that we've been building, it's controls as a brainchild for the past two years. That is next episode and I'm really excited about that. It's a really fun API and expressive to build models with. Thank you, Mandy for producing our podcast and we'll see you next episode.

The Frontside Podcast
103: React Components with Michael Jackson

The Frontside Podcast

Play Episode Listen Later Jun 14, 2018 48:51


In this episode, Michael Jackson of React Training and Rob DeLuca and Taras Mankovski of The Frontside talk about what is a component, and what a component is specifically in the context of React. They also discuss when it stops being a component and becomes something larger, how it has changed the way we develop UI, and thoughts on container and presentational components being synonyms for controller and view. References The Tweet that started it all Wil Wilsman: Does my application work in real life? Do you have opinions on this show? Want to hear about a specific topic in the future? Reach out to us at contact@frontside.io or on Twitter at @thefrontside. This show was produced by Mandy Moore, aka @therubyrep of DevReps, LLC. TRANSCRIPT: ROBERT: Hello, everyone. Welcome to Episode 103 of The Frontside Podcast. I'm Robert DeLuca, a developer here at the Frontside and I'll be today's episode host. We're going to be discussing what is a React component or what is a component with Michael Jackson. I'm pretty excited about this topic, a sort of off from a tweet that I sent out after a long workday, when it is something being called "component" because it was built with React components but it was more like a mini application? Then Michael replied to my tweet, as they're happening and he said, "What is your definition of a component?" which is exactly what we're going to be discussing today. I thought that was a really great question. With me, as a co-host is Taras Mankovski. TARAS: Hello, hello. I'm also a developer at Frontside. ROBERT: Before we get into the discussion, I would like to make a little announcement. We've been working on building a suite of testing tools to make acceptance testing JavaScript apps like React or Vue or Ember or anything else kind of JavaScript, fast and easy to maintain over the past few months. We call it BigTest. If you follow me on Twitter, I'm kind of loud about it. I love this project that we were working and one of my coworkers just published a blog post, giving an introduction to acceptance testing on React applications with BigTest. If that sounds interesting to you, you should check it out. We'll leave a link in the show notes. Now, let's jump right into it. Hi, Michael. How are you doing? MICHAEL: Hi Robert, I'm doing well. Thank you for inviting me to be on the podcast. ROBERT: Oh, no. Thank you for joining. I feel like this going to be really fun conversation. We went back and forth on Twitter a little bit and I was like, "You know what? This serves really well like a free flowing conversation." MICHAEL: Yeah, it's something I really like to talk about, specifically, when we're talking about components or when we're talking about React components. I think there's a lot stuff there to discuss and I think that React, specifically has really, at least defined that word for me. When you were talking about your mini application, I was like, "Oh, yeah. That's cool," and to me, that's kind of what these components have the potential to be, what these React components have the potential to be. It's kind of like almost these miniature applications that you stitched together to make a bigger one. ROBERT: Yeah, that's really cool. I was frustrated at the end of that day, just because that had so much logic crammed into it and you can kind of see that come through in the tweet but I'm not going to lie. After I sent that tweet, I was a little disappointed with myself because it came off a little bit like flangy but I guess we could just kind of jump right into defining what is a component. MICHAEL: When I saw your tweet, I was like, "Oh, you know like --" and of course, I don't know the component that you're looking at. It could have been terrible. Totally, it could have been terrible. I'm totally willing to believe that it was not a good component. But writing React is hard, especially writing good React is actually hard. At first, I thought it was easy but I think it's easy to solve your immediate problems but to write React to that is generic enough to solve lots of different problems, I think it's actually very, very hard and it's something that I've spent the last couple years learning. Anyway, that's kind of a tangent. But regardless of the component that you were looking at, the way that I've tend to think about these components is we used to have a model for thinking about how to build frontend applications -- ROBERT: Like MVC? MICHAEL: MVC, that's the one. That's the one that talking about. You have, here's your model, here's your view, here's your controller. You know, there are separate logical entities and lots of times, those even live in separate files on the file system and we keep them sort of separate and spaced out. As far as I can tell, that's a sort of paradigm. I learned it in school. By the time universities catch up with industry is at least, like twenty years, so it's probably something that was invented back in the 60s or 70s. ROBERT: I think it was like the 80s because Charles talks about it a lot and sort of Taras, actually because we're building something that's like a composable model, just like the Vue of React is a composable view, its components. I think it's interesting because I was listening to the Changelog Podcast and it sounds like you worked with Ember for a while. MICHAEL: I did, yeah. ROBERT: I forget, which podcast that was but we can find it and we'll link it to the show notes but I thought that was really interesting that you also came... Oh, maybe not came from Ember. You had experience with for, at least a couple years and that's where I came from. That's kind of where that tweet came from and was like, "Man, I don't like what happened to the word component," because when I think of component, it's like something that is encapsulated in a small piece of UI. But I'm okay with letting go of that. MICHAEL: Well, yes. Ember came out of something called SproutCore, which actually originated at Apple. Tom Dale used to be a developer at Apple. I'm sure you all know all of this but just for some sort of back story for others who might not. Apple was a place where MVC was really, really big. The whole Cocoa frameworks. They're all very much like, here's your controller, here's your view, core data has all of your models, that kind of thing. It's a software development philosophy that goes back a long time and has deep roots and I'm not here to suggest that because it's old it's bad, because lots of old things are actually very, very nice and good, especially in programming. We're starting to see a resurgence of functional programming ideas, for example, which have been around forever, since at least, the 60s or even earlier than that. It's not necessarily that I think that because it's old, that it's bad. I don't. ROBERT: Right, right. MICHAEL: But the thing that I do see in these React components is they kind of go very much against the grain. If you had, for example your model, your view and your controller as these vertical silos, just imagine turning that whole thing on its side and then cutting a slices of that, so that each of your React components has elements of MVC in it. They're all sort of mixed together. I run a training company called React Training and whenever I'm doing one of my training workshops, the way that I talk about it is a component is able to encapsulate three things: markup, which is the view essentially; state, which is essentially your data or your model; and behavior, which is essentially the controller, so what happens when the user is interacting with the view and clicking on the buttons? What do we do in response to the user input? You've got all three of those MVC elements in the React component. In fact, I've been meaning to kind of coin the term for a while. Instead of MVC, I call it MSB -- markup, state and behavior. ROBERT: You heard it here first. MICHAEL: That's right, here on The Frontside Podcast, we're coining new terms. ROBERT: That's pretty great. I guess coining off of that, is it fair to say that MVC kind of still lives on, except it's now in React? Or it's kind of more sliced up into smaller, more digestible pieces? We can always come back to this composability element, right? Would you say like really React would made it possible to compose many little MVC apps? MICHAEL: Yeah, exactly. The thing that people really, really love about MVC, I think you still have it in React. MVC, the thing that people always come back to is the separation of concerns. Let's just say, "I don't want everything sort of mingled together. I want it to be very clear. What is my model? What is my controller? And what is my view?" The cool thing about a React component is if you look at it, you still have very clear separation within the single component. You have a very clear separation of all three of those concerns: your state lives in an object called 'this.state,' then your view is whatever you return from your render method. That's in a completely separate spot, since still in the same component and then your behavior or your controller usually has its own method, so you can inline those in your render method or you can pull them out if this is how you'd like to do it. You can pull them out into instance methods. You can still have kind of that separation of the concerns within a single component. I think to your point, the React component model is all about composition, so this is kind of a term that we've actually adopted in other areas in technology. It's sort of just coming to frontend. The idea is you've probably heard of a service-oriented architecture for design in backend systems. These servers over here are application servers, these are database servers, here's our caching tier, here's our Ingress or LoadBalancer and maybe, you stitch them all together on the backend into one coherent system. You know, here's our storage and our image-resizing services. You stitch them all together on the backend into one coherent system but it benefits you to not build them all as one part of sort of monolith. We've got a lot of benefits from the decoupling. For one, if one piece of the system fails, the whole thing doesn't go down, so you can like swap it out or upgrade it and replace it with something else. I feel like that is kind of a similar idea to what is going on the frontend with these React components. ROBERT: Oh, microservice components. MICHAEL: Yeah, exactly. Each component is kind of like you said. It could be like a miniature application and it could be totally self-sufficient and I could drop it onto a page and it could just do its own thing or what I could do is I could take that app, that component and I could drop it into a larger app that can speak to it and can communicate state to it via the props that it sees and then can get state back out of it via these callbacks. I kind of view it as like all of these miniature systems that they can either be completely encapsulated and self-governing on their own or you can take them and compose them with a larger app. ROBERT: That's really interesting. I guess what is a component specifically in the context of a React. I guess, we kind of just answered that, that you can bundle all these things together, right? Does that make sense? MICHAEL: Yeah. The beautiful thing about this composition model is you can have all three of those things in the same component: markup, state and behavior. You can have all three of them right there, encapsulated in one component or once you discover more advanced patterns with React, you can actually make it so that a component only has two of the three or one of the three. ROBERT: And then it kind of like passes callbacks or props or state around? MICHAEL: Exactly. It can essentially delegate the responsibilities for handling the other pieces that it misses to other components around it. There's a pattern that I kind of coined last year called render props. ROBERT: Oh, yes. I remember hearing this on Changelog Podcast. I was actually one of the people that at first thought it literally was a prop name render. MICHAEL: Well, I mean it's not a bad way to think about it. It could be a prop name render. ROBERT: But then I found out it actually is a prop that you send JSX too and render whatever is there. MICHAEL: Yeah, exactly, a prop that you used to render stuff. It's the way that I describe it. When you think about it, any component, for example that accepts a render prop is really just delegating it's rendering to some other function. It can contain the two pieces: the state and the behavior, but then it can sort of delegate this third piece, which is the markup and say, "You know what? I don't really care about, specifically what I have to render." I don't have an opinion about that. You just give me a function and I'll give you my state and possibly, some behavior callbacks and then you can tell me what to render. I'm like a component that I have two of those three pieces. I don't have the markup, you just give me a function, that I will call when I need the markup. ROBERT: That's really powerful. MICHAEL: Yeah, exactly. I can have all three in one place or I can also with this component model, just delegate one piece or even two pieces, using these kinds of patterns to other components, so it's really nice. ROBERT: I'm always have to come back to this because this is where I kind of cut my teeth in the frontend world. I feel like render props are very similar to the yield pattern in Ember, where you can yield out a component and place it anywhere inside that template block. I think it's really similar. Because we have a large base of Ember developers that listen and they needed a draw like a parallel, I would say that's almost a parallel. I might be off on that. Taras, would you agree with that? TARAS: Yeah, it's very similar. There is one little 'gotcha' with render props in React, which I think Ember deals with a little bit more gracefully. I do use React all the time now. I use it much more often than I use Ember but -- ROBERT: Same. TARAS: Yeah and I'm kind of curious, Michael if you would think about this. Because there are certain things that, for example, JSX does, like one of the attributes of using render prop is that you want to pass stable functions, like something that is actually defined in init hook, so you're not necessarily recreating a new identity for this function every time that you pass into the render prop. Is that right? I think for someone who is might not be familiar with this, it's a little bit counterintuitive because it just kind of like, you just pass something and then you later realize, "Actually, I can't really do that because now your components were rendering over and over again." I'm curious like where can we kind of innovate in that? Because in Ember world, for example, it's really safe to use render props. If you're delegating to the context to do the rendering, you can very easily pass a block of template into the component and then the component will know how to render that in a performant way. My experience with render props in React was that the pattern in Ember is it's a very common behavior to delegate to the context of how the children of a component are rendered. This is the primary purpose of the yield in Ember and this is used by a lot of the components to provide APIs, so essentially, you're yielding, you're sending into the children function behavior that you want the developer to use while consuming your component. The parallel with React is that you would have, essentially a function, like you have a children render prop, which is a function that receives so that when a component is rendering the children render prop, it's passing some data into that function and it's invoking the children function and it's passing to it some data and then that data is being used inside of the children render function. Now, this mechanism works really well in Ember because Ember is using its own templating engine, so it manages every placeholder in the entire template as being passed into the component. It knows exactly what has changed in the function. Looking at that, the value just passing through component as a whole thing. It's actually managing each individual spot where the dynamic elements needs to be rendered. What that does is it allows it to manage the entire children function so you don't need to worry about stabilizing the render props. You don't need to assign them. Because there's also other challenges that kind of arise when you have to move the actual function that you pass into children. You have to move into the body of the actual component. Your ability to compose the state that is within the render function is kind of limit because you now have kind of broken up into different places. I'm a little bit curious what are your thoughts about this? And if there's any innovation that's going to require or improvements that will require in the way that React handles render props. ROBERT: I definitely remember seeing some tweets from you, Michael about this, like very recently. MICHAEL: Yeah, just yesterday in fact, I was talking about this on my Twitter. First of all, thanks for the question, Taras. I appreciate it. I think you kind of nailed it with the difference between Ember and for example, just JSX -- Handlebars, really and JSX is that Handlebars is not JavaScript. Handlebars is a language of its own, really. As the implementers of that language, the Ember team or the Handlebars team has complete control over how things work. For example, when functions are allocated. If they have a yield block, for example, that yield block does not have access to things like JavaScript Scope. It really is just a block within the templating language and so, they can decide when they're implementing that language. They can say, "We're only going to ever allocate one function for this yield block." JSX on the other hand, it really is just sort of some syntax sugar over JavaScript, which is nice lots of times because you can use things like JavaScript functions scope. You can do things like refactor it, like you would any other piece of JavaScript and pull that function out into its own variable or something like that. In a lot of ways, it's more flexible but with that flexibility comes this extra concern of what happens with the prop passing and it's a real concern but I don't think it's as big of a problem as most people have heard or might think it is. The real problem, the root of the problem is that if you have a pure component in React, the pure component is optimization tool in React, if you find that your component really is a pure component of just a pure function of its props and state, and that it will never render anything different, if it receives the exact same props and state, you can declare that that component is a pure component. Instead of just a regular component, it's now a pure component and so, it will actually opt out of the render cycle if it receives the exact same props and state on subsequent render. By exact same, what I mean is like identity triple -- ROBERT: Yeah. MICHAEL: -- Same. That's an optimization tool that you can use in React to say for example, maybe I've got a component and for some reason, it's always receiving the exact same props and it's rendering a lot. I can say, "You know what, React? Don't even waste your time re-rendering this component and doing the reconciliation around it and everything like that. If it receives the exact same props, don't even waste your time. This is a pure component. It received the same props. It's going to render the exact same stuff as it rendered last time, so it will completely opt out of the render cycle," so React won't even call the render method, won't even bother doing the reconciliation for that component or its descendants. It's actually a really, really nice way to get a little performance boost in that situation. ROBERT: Interesting. Does that mean, rather than passing some JSX that returns out an anonymous function, you would rather have like a pure component over that? MICHAEL: All it really means is that when you identify a place in your app where this is happening, instead of extending React component, you can extend React.PureComponent and now you component opts out of the render cycle. ROBERT: Gotcha. Because I see a lot in React applications, it will just return some JSX out of anonymous function, kind of think, Taras was getting at, when each re-render happens, it's recreating a new function and all of it were done inside of it, from the JSX because it's just a new function that's being bound each time. I think my takeaway from that and correct me if I'm wrong, is don't pass JSX and an anonymous function or I guess, from your tweets yesterday, that's kind of a premature optimization. Maybe, not pass as anonymous function but pass as pure component. MICHAEL: I hadn't yet gotten to directly addressing Taras's concern but the idea is -- ROBERT: -- Jumping the gun. MICHAEL: Yeah, it's fine. If you do have a pure component, that is when you're going to have a problem with this render prop pattern because you can't pass a render prop to a pure component. They just don't go together. Well, sorry. I should actually qualify that. You can pass around a prop to pure component but you need to make sure that it is always the exact same function, otherwise why are you making this thing a pure component, so there's a little bit of a problem there. I actually wrote the documentation on React's website on render props and there's a little caveat section where I discuss how you could get around this, you could convert it into an instance method or something else but then the concern at this point and this is why I said it's not such a huge problem because we're getting very, very specific now. Let's assume that we've got a pure component that is the child that we want to render and it accepts a render prop and that render prop depends on state and/or some sort of scope that it needs in the render method. Now, we've got a problem because we need to generate a new function in the render method and the fact that we're generating a new function and passing it to a pure component means that we are essentially negating all the benefits of extending pure component in the first place. First of all, in order to experience the problem, you have to get very, very specific and it's not easy to actually get into a point where the problem manifests itself. But then for the second part, fixing the problem is actually not tricky, so the way that you would fix this issue, there's a couple of ways to fix it. The most common way, I think to fix it would be to just say that pure component, let's just move that down one level and we'll put it inside the render method of the component that takes the render prop. The component that takes the render prop is no longer pure but the pure component has dropped down one level and we can still get all of the benefits of a pure component and again, its whole descendant tree lives underneath it. ROBERT: That make sense. MICHAEL: So, we can still get all the benefits of having a pure component, while still being able to use the pattern. But again, just getting back to what we were saying at the beginning. The render props is just one example of an advanced pattern that actually lets you delegate one of these three pieces to somewhere else. It's just one pattern. It's not like there are others as well. ROBERT: Yeah, so getting back to what is a component, is there ever a line that's drawn, like when does it stop becoming a component and it becomes something larger. MICHAEL: It's actually interesting because for a long time, we didn't have a component model on the web and I think -- ROBERT: It's very true. MICHAEL: -- still, like we mix to all three things together in our jQuery code. It was just like there was some state mixed in with some markup, mixed in with some behavior. It was all kind of mixed into one place. ROBERT: Nice plate of spaghetti. MICHAEL: Yeah, exactly. As soon React came along and actually gave us a real component model that really worked where we could actually identify these pieces, then all of a sudden, everything is a component and you really can make if you want, like if you really wanted to, you could make your entire application out of components. It could just even behavior stuff like, "I want to fetch some data," that could be a component or, "I want to listen to the window scroll or the window size," that could be another component. "I want to render an image or a bit of text or do some measuring or I want to do some parsing of some data or something like that," all of this stuff could be represented as components if you wanted it to. Of course, you can still extract those functions out into their own bag of utility methods and lots of times when I write a React Apple, I have a little bag of utils and I'll go and reach in there and grab those as I need them. But for the most part, most of my React apps are just components all the way down, so there's not much that I can't do with a component. The cool thing about that is what do you get when you have components, where you get reusability and sharability. I can make a component and I can just share it with you, Robert. I could say, "You want a component for listening to the windows size? Here you go. Here's the components. Got to render --" ROBERT: Drop it in. MICHAEL: "-- It will give you the size when you need it," so that ability to share code is, I think super important. ROBERT: Yeah, I think so too and it really helps you build applications rapidly because you can just start dropping these little components that are contained in composable throughout your entire app. I guess, I'm still clinging onto like there is maybe a line that is drawn and I think from the React community, there were a couple of terms coined called the container component and the presentational component, in which I immensely mapped those to basically being synonyms for controller and view. It's like the container components is kind of like a controller, like it delegates the view... Or decorates the view, not delegates. And the presentational component is just like we're talking earlier -- pure component. It's just taking props and rendering that. Is that fair to say? MICHAEL: Yeah. As far as I can tell, that's a pattern that was first talked about by the redux community, specifically I think Dan is the first to discuss that that pattern and it's a pattern that I think can work well. I haven't ever found it to be especially useful in my code but I can see how other people could like it for their code. I really just think it has to do with how your brain works. If you prefer structuring things like that, if you prefer like the vast majority of your components to just be these little view layers and then your main container components to hold all of the logic, I want fault you for that. I'd say, that's fine you can build your app like that. But I do think that when you're thinking about components like that, you are thinking about the much less like these miniature applications. Basically, in my opinion it's kind of a false separation. It's a separation that doesn't really need to exist because essentially, the thing that I really love about these components is you have encapsulation. You encapsulate everything. As soon as you adopt this pattern of containers and essentially, just these presentational leaf nodes, they're not as useful on their own. They just encapsulate some of the rendering logic. ROBERT: That's very true and they're not reusable. I mean, it's very, very hard to make those reusable. MICHAEL: Well, yeah. Most of the time, they're designed to be used with a very specific container. It is like, "Why couldn't we just put that in a container." Like I said, I really don't fault anybody for using them. It's just not how my brain works. I tend to think more about components as if they were these miniature applications and they're going to be useful on their own for the most part. One place where I have started to do that, the fourth thing that your components can encapsulate is style information, which is really just kind of the markup but it's the fourth thing and I think that I've really started to employ that kind of pattern when styling comes in. But it's not for this separation of containers and leaf nodes. It's just because I would like to encapsulate some of the styles down at a lower level or be able to reuse some of the styles down at a lower level, so that's when I'll typically start breaking up one of my components into multiple kind of tightly-coupled components but it's just for the sake of the styling, not really in any of the control flow or the logic. ROBERT: Right. When I first got into doing React, I was first like a little befuddled and then, I fell in love. I was like head over heels. When I hear about separation of concerns, it's always talked about like we need to separate HTML, JavaScript and CSS. They're all different things. They just need to be separate. I understand that. I kind of come from there but for me, my personal opinion is coming from the context of single-page apps, there is no feature that you can ship without the three. I don't think there is a complete feature that exists. Sure, there's edge cases that's like a blanket statement but I think those lines of separation is way more blurred these days and I think that's what React just unlocked. That's kind of where all of this is sort of rolling downhill and it's not a train. It's really powerful to be able to encapsulate all of those things together and then just think of your UI as these components. That's why we call them components. They componentized. Like when I have a butt-in and I drop it on the page, I don't want to have to go and make sure that I have the right class that's wired up in some other file. I can just drop the button in there and it's going to do its thing. I can pass the props, it'll change it, that's fine. It lives within itself. MICHAEL: Yeah, I would say you're absolutely right. You can't ship anything meaningful without having, at least some styling in there, unless you're shipping very, very basic behavioral style components. It's kind of one piece, I think like the React components are able to encapsulate their own styles but there's no, I guess officially recommended way to do it, which is where I think React get some of the critique, like some people come in and say like, "There are a million different ways to do styling in React and therefore, React is supposed to something like --" I guess, yeah, some of the other frontend frameworks have like, "This is how you do styling in our framework." ROBERT: Right, like the lack of convention. MICHAEL: Yeah, exactly. It's a blessing and a curse, though. If there's a lack of convention, it's harder for newcomers to know exactly what to do. ROBERT: Yeah, or like what's best for their use case. MICHAEL: Yeah, exactly but then on the other side, it's kind of a blessing because people are free to experiment and they don't have to feel like if they're experimenting, they're going sort of against the grain of what the community has already accepted to be the answer. I think that freedom to get out there and experiment is really valuable as well. ROBERT: You can see but I'm nodding. TARAS: I'm just curious what your thoughts were. This Suspense API is something that's... React kind of lead the way with components and now, the changes that are coming in with Suspense API coming in and it'd be great, if you can, are you able to explain a little bit about what it does for people that are not familiar and I'm curious what your thoughts about it. MICHAEL: Yeah, for sure. The Suspense API, I think is actually, with regards to what we've been talking about, with the encapsulation of markup, state and behavior and possibly styles, I think the Suspense API is kind of the React teams attempt to sort of encapsulate or generalize, at least one more thing, which is asynchronous behavior. The truth is, the most common async behavior that we know of, that most people are familiar with is a fetch, a data fetch -- you go and fetch some data. But there are others, there are things like loading of images and animations and navigation and things like that, where you have some time that passes in between when you initiate an operation and when you're actually able to render as a result of completing that operation. How do we manage or how do we generalize that and how do we think about it? The Suspense API is basically a way to declaratively say, "I need this async operation to be done." Let's just use the example of a fetch. I need this fetch. I need to have fetched this data in order to render this view and don't even attempt to render this view, unless the data has been fetched. Before the async API or Suspense, as they're calling it, you would basically have to manage this asynchronous behavior yourself. You would basically have to say, "Go and do the fetch," and while we're doing the fetch, maybe I'll set a loading flag in my state and say, "Loading is true," and then when the fetch gets back, I'll say, "Loading is false," and then I'll render. Maybe, while loading is true, I'll show like a spinner or some loading dots or something. What the Suspense API allows us to do or what they're hoping to do, again it's all very like... I don't know if I made this clear. It's still very, very, very, very early days for this API and I don't actually know when it'll be ready. But anyway, the idea is to be able to say -- ROBERT: Would you say the Suspense is killing the community? MICHAEL: The suspense around suspense. ROBERT: A terrible pun. MICHAEL: Anyway, the API is basically just a more declarative way to indicate where this asynchronous stuff is happening and give React sort of clues, if you will, to say, "There's some asynchronous stuff happening here, just so you know." That has many applications in the real world. Let's say for example, you were navigating in a master detail view and you're tapping down the master view and loading these detail views, if you tap a master view and you haven't yet loaded the information for the detail view, instead of sliding to the detail and showing the data still loading there in the detail view, you might want to show some sort of loading indicator while you're still in the master view. Then, if it's taking a while to load, they can actually select something else from the master view and in that case, you would cancel the old fetch and start another fetch. It's just supposed to make things like that, kind of feel a little bit more fluid and a little bit more intuitive to the programmer, so you don't have to think so hard about managing a lot of that complexity in your own head. ROBERT: Yeah. By the way, I love the mobile first language that you used. You tapped here, you tapped here, that slides in. MICHAEL: Yeah, for sure. It's all we're building these days. ROBERT: Yeah, it's very true. TARAS: It's interesting because the Suspense API, you wouldn't really imagine it to be within the scope of a view in a traditional sense, to [inaudible] but considering the scope of a component in React, it makes sense but I think people might not imagine as being something that would become part of core, potentially in React. I'm curious like what do you think other areas of React and I'm glad that the scope of components in React is so broad because it kind of opens up this question to be pretty much anything in React ecosystem. But is there an area of React building or the aspects of applications that you would like to see an improvement in or some kind of a change or something that hasn't seen the right amount of innovation in the same way that we've seen in other areas? MICHAEL: Basically, is there a place where I would like to see the React ecosystem improve? TARAS: Yes. MICHAEL: I know this goes kind of contrary to what I just said but I would like to see a little bit more cohesiveness. I feel like in some ways, the freedom is good but I also feel like in some ways, for the last couple of years, we've been just sort of like rehashing the exact same old problems again and again because React really made everything else so easy, like a lot of the stuff that was hard about building web apps, just got really easy when React came along. I'm not saying that because I have React training company. Of course, my livelihood right now depends on React but honestly, if it wasn't for React, I think I probably would have quit and done something else because it was actually getting really, really difficult for me. I was trying to build an app in Ember before I started with React and I just couldn't do it, you know? I just couldn't get the level of polish that I wanted in my app and get all the bugs out and get it working exactly how I want it to. It frustrated me, actually that I've spent a lot of time. I spent about 18 months, about $100,000 of my own money, just down the drain trying to build this app, trying to get it out the door and I wasn't able to finish it off. At the end of the day, I really started to question like, "Was it me? Do I just suck? Am I not a great developer? Is that the problem?" You really have to start asking ourselves hard questions like that when you put everything you have into something and it doesn't work out and then React came along and I was like, "I was just using the wrong tools." The tools were the problem. It wasn't me. There is a different way to think about this about building stuff. I thought the way that I was doing it was the only way that existed to build things but it turns out, it's not. I used to not understand what were people talking about when they were talking about functional programming or what do they talk about when they're talking about composition, solving problems with composition, instead of inheritance. I didn't even understand what that meant. But all I knew is really smart people would say stuff like that and I was like, "What are you talking about?" Now I feel like, because of React, I've gotten it. Again, to get back to your question, Taras, React made a lot of the stuff that we used to worry about, that we used to think about. It made it easy and so, we could build amazing things now a lot more easily. But now, for the last couple of years, I feel like we've just been sort of rehashing a lot of the same stuff. I would really like to see us, as a community sort of tackle the next level problems. I think the React Suspense stuff is definitely getting there. That's a problem that I really don't see anybody else sort of address, which is how do I make it easy to deal with the fact that applications by their nature -- these networked applications -- are asynchronous. How do I deal with that in a declarative way? That's why I'm encouraged by that work because I do think that it's kind of one of the more forward thinking things right now that's going on in the React community but I would like to see us in general, sort of like get past talking about styling and get past talking about service and rendering and move on. ROBERT: Right and I'm going to assume you have this really unique experience since you do a lot of trainings. I follow you on Twitter and it's just always talking about where you're flying to and who you're training, so the things have to come up there where you see these things in pattern over pattern over pattern. MICHAEL: Yeah, exactly. I see like a lot of and this again, gets back to Taras's question. I train a lot of people who are very new to React and I see people who are new to React, they really don't have a ton to go on besides just like blog posts and Medium pieces and podcast like this one and who am I? A lot of people in their React community don't even know or care who I am. It's like, "There's a guy out here who are saying stuff about React. Maybe I should listen to him. Maybe I should listen to somebody else," and it's confusing. It's confusing, I feel like, for people who are just getting into React. It's confusing. Like I said, experimentation is good but I guess, I wish the experience of coming to React was a little bit more like the experience of coming to Vue because -- ROBERT: Oh, like it was a beaten path. MICHAEL: Exactly. I don't actually think there's not a whole lot about the Vue technology that is compelling to me and let's not dig on it. It's just -- ROBERT: A personal preference? MICHAEL: Yeah, exactly, just preference but I do think the thing that is very compelling about the Vue experience is just the cohesiveness of it all. You go to Vue and there's like a way to do server-side rendering with data fetching and styling and -- ROBERT: They have a CLI and -- MICHAEL: And a CLI and a component and all these stuff. Yeah, and a router built right in. Anyway, I think that's a way that the React community could improve. I don't know if that'll ever happen because the React community at heart is artists and hackers and those people are traditionally very reluctant to be corralled and like I said, it's a blessing but I think from the perspective of people who are new to the community, it does tend to cause some confusion. TARAS: I want to add to what Michael is saying. What's interesting and I'm sure Michael sees this in his training but the kind of people that use React is very diverse. There's this kind of original group or there's kind of mentality that prompted the early adopters of React and now, we're seeing these companies that are traditionally enterprise-y with MSE backgrounds and coming into React. It's really interesting to see all this kind of worlds collide and then see what's happening as a result. It's definitely interesting on what's going on now. ROBERT: This is an excellent stopping point. I really agree. I come from Ember background so I would like to see a little bit more convention but I think it's okay. It would be nice to see that. Thank you, Michael for coming on. Is there anything that you would like to give a quick plug for and where people can reach you? MICHAEL: If you want to support the work we're doing, you can sign up for one of our upcoming workshops. We've got one right now on ReactTraining.com. We've got a workshop coming up, actually in my hometown of Carlsbad. You can come out here in July and hang out with us and do some React training. We got a really awesome host here who's right here in town. We're doing some React training workshops on July 25th through 27th, I think and then, other ways that you can support what we're doing is publish in all my open source code at GitHub.com/ReactTraining or you can follow us on Twitter at Twitter.com/ReactTraining or at my personal account at @MJackson -- Michael Jackson. ROBERT: Awesome. I really appreciate you taking the time to come on. MICHAEL: Yeah, thank you so much. It's been a pleasure. ROBERT: This is a great talk. Cool. Thank you everybody for listening. We are The Frontside and we build UI that you can stick your feature on. If you would like to give us feedback, you can always reach out to us on Twitter at @TheFrontside or you could email us at Contact@Frontside.io. We're always looking for any new topics or things you would like to talk about or things that are interesting to you. As always, thank you Mandy for producing our podcast. It's @therubyrep on Twitter and on June 28th, we're going to have Chris Martin on to discuss blockchain development.

The Frontside Podcast
102: FOLIO with Harry Kaplanian

The Frontside Podcast

Play Episode Listen Later May 31, 2018 40:44


In this episode, Harry Kaplanian of EBSCO joins the show to talk about the FOLIO project: a community collaboration to develop an open source Library Services Platform (LSP) designed for innovation. He discusses the why behind the the decision made to embark on this project, the benefits it brings to the market, and what makes it different from current offerings and other open source projects. Harry also shares where he sees FOLIO going in the future, challenging and unexpected outcomes of making the choice to go open source, and advice for other businesses that are considering embarking on a similar journey today. Do you have opinions on this show? Want to hear about a specific topic in the future? Reach out to us at contact@frontside.io or on Twitter at @thefrontside. This show was produced by Mandy Moore, aka @therubyrep of DevReps, LLC. TRANSCRIPT CHARLES: Hello everybody and welcome to The Frontside Podcast Episode 102. My name is Charles Lowell. I'm a founder and developer here at The Frontside and I'm going to be today's host. So today, we're going to be talking about the business of open source with Harry Kaplanian. Harry's someone that we've had the pleasure of working with over the past year and collaborating with on a very unique project, which we are going to get into later. With me is Robert DeLuca. Hey, Robert. ROBERT: Hello. CHARLES: And before we start out today, we just wanted to take care of some quick news. Just so you know, we released BigTest React. This is actually something that grew out of the work that we've been doing with Harry. It's a set of React helpers to acceptance test your React applications so that you can make sure that you know that your application is actually working on actual browsers in actual life. So, that's exciting. You can go check it out at BigTestJS.io. And with that said, let's get on with the project. So first if all, welcome, Harry. HARRY: Thank you. CHARLES: I teased this in the intro, but we'll go ahead and say it outright. The project that we've been working on with you and with EBSCO is a project called FOLIO. And it's one of the more unique projects we've ever had the pleasure of working on. So, maybe you could just give us a brief overview of what exactly FOLIO is and how it came to be. HARRY: Sure. So, FOLIO I think can best be described as an open source platform for services. Our focus has always been the library market and so, currently this platform exists in the library space. That said, there's nothing about this platform that is library-specific. It can actually be used anywhere, anytime, for anything. The platform itself, all communication occurs basically via HTTP. It's microservice-based. It's language-agnostic. And it is really the core of what we're building. However of course, a platform on its own is not very useful. And at least for right now, libraries are overall expecting to get to a point in terms of features, functionality, apps, and services that are being built. So FOLIO can actually take over the enterprise-wide day-to-day operations of what it takes to actually run a library. CHARLES: And these are libraries like university libraries, the Library of Congress, the library at Alexandria. I mean really, when you think of library, like library [3:00 inaudible]. HARRY: Yes. However, we decided to focus on a particular market, at least initially or I guess a subset of the library market. And so, that subset we've actually chosen to focus on is the academic library market. And so, really mainly colleges and universities all around the world. That said, there is no reason why others can't use this software. And it is all open source. So, if any changes are ever needed, modifications or additional applications are needed to support those additional markets, that can certainly happen at any time. CHARLES: Historically, it's a very complex problem, right? There is a lot that goes on at these libraries. But historically, the software that's driving it has not been open source. HARRY: That is correct. So, it's sort of an interesting history. And I guess you're leading into what I think was maybe your second question [Chuckles] which was: What are the circumstances or the thinking that lead to the creation of a project such as this? And really, libraries have been pretty much operating the same way, to be honest, for probably about the last 40 years. And I'm sure we either all know or have heard, most libraries are facing shrinking budgets. They're really challenged in terms of space and storage requirements. And just in general, users have changed dramatically in the last 40 years, the last 20 years, maybe even the last 10 years. Most people don't really ever expect to walk into a library and actually conduct research anymore. They expect that to happen elsewhere. And so, in many ways, they're really facing what amounts to Google and others, because that's where people expect to go. The vendors that typically created the systems and software that supported these libraries, the day-to-day operations over the years, many of them have consolidated. And there are just actually very few options left. These are really old, monolithic systems. They were built initially with the best intent. And for the first couple of years, many features and functionalities were added. But over time, these systems grew to be so large. There really was never any one person anymore that fully understood it. They find themselves in situations where if they add a little feature here or modify something there, it breaks something somewhere else within the system. And so really, they've gotten to a point where libraries have generated lists of features and functionality that they need that are frankly years long. And the vendors just can't deliver any of it. They just don't have the ability anymore. The systems are too old. In addition, really they're sort of building these walled gardens where they really try to take over all the day-to-day operations of the library but are actually starting to try and expand out in other areas of the university as well. And as they do this, they really tend to lock the system down. They're not really open to integration with other systems or other vendors. And they really see it as they are the one company you should go to that can completely manage and operate everything that goes on in your library. And when we talk about innovation in these systems, really they've been operating the same way, as I mentioned earlier, for the last 40 years. Really, the only major, major innovations is there's maybe one company now that's offering these services on the cloud. One size fits all. And the real issue there is, all of these libraries we talked to, all of them see themselves as being unique in some certain and specific way or sometimes multiple ways. All of them believe they're bringing something special to the world in terms of knowledge, research, understanding and learning. And they tend to cater or specialize often to the institution they're a part of. And so for example, if a library belongs to a medical school, of course their collections are tailored that way. A lot of their workflows and operations tailor to students that conduct research in that field. And oftentimes, even to a hospital that may be associated as well. And this will oftentimes be very different from what might exist for example in an engineering library. And so, for most of them, they look around at what's available to them. Not only has nothing changed, not only has there been no innovation, but on top of it, they're forced to choose essentially a single system. And that's not really getting them what they want or where they want to be. So I, as well as some others, spent quite a bit of time looking around at the market and trying to assess and understand all of this. And one of the things we felt was, as we look at all of this, really we're living in a world, these libraries are living in a world of closed systems, lack of transparency, lack of change, lack of innovation. How do we change that? How do we spark that innovation? And it seemed like what we really need is some sort of an ecosystem, a sustainable ecosystem or really, openness and transparency. And it seems like the only way to get that really is open source. And in fact, we actually conducted a survey and out of that survey, 100% of the libraries we spoke to really believe in open source. And when you think about it… ROBERT: Whoa. HARRY: Open source really in many ways aligns itself really nicely with the mission of the library, right? The library is there to not only promote learning but to make sure information and knowledge that normally you may not have access to is accessible to everyone. They're really leveling the playing field. And that really is a really nice analogy for what open source is doing in the marketplace as well. And so, this seemed like really, and at least, an initial ideal path to head down. And so, we did. CHARLES: Yeah. And so, you did. And I'm curious to explore more about that decisions. Because – now this is a little bit of a dated quote – but Steve Balmer, when he was the head of Microsoft, called open source communistic and un-American, then how do you reconcile that? Because obviously you represent a business that ultimately needs to be profitable and is engaging in this in order to make a profit. And so, where does the balance lie and how do you reconcile that? And obviously you all perceive this as a strong business move. And so, yeah, how do you balance those two concerns? HARRY: I think from our perspective, we looked at it as if a single vendor or maybe a group of two or three vendors end up locking up the entire market with systems that operate the entire library that are not open and they're not willing to integrate with other systems and services that exist out there, in essence that's an attack on what is the basis of our business as a company. We provide services and we provide content that libraries use and ingest and make available to their users. And essentially, it looks like they're trying to lock us out. And how does that really help in terms of creating an open and fair marketplace where people get to make choice? It doesn't. And so, what can we do to disrupt that? And building a system that allows everyone to play at least puts us on a level playing field where if an organization or a library chooses to adopt it, we're now back in a very competitive situation where really, the vendor or the organization or the individual that provides the services that best fit that library's needs wins. And that's what we really want to happen. And so, that's in essence how we win. We believe we offer better services than most others in the industry, if not everyone else in the industry. We think there's a sizable percentage of the market that truly believes that. And we just need to make sure that the mechanisms or the systems are in place that allow us to compete in that manner. And in the end, if what we end up with is a platform that allows 3, 5, 10, or 20 companies to actually compete in a reasonable manner fairly, really it's the customer in the end that wins. It's these libraries and it's the users and everyone else conducting research. ROBERT: So, I'm still kind of reeling from 100% of libraries said that they would like to have an open source platform. How many did you survey? HARRY: So to be truthful, it wasn't a large number. ROBERT: That's still insane to me. [Laughs] HARRY: Right. We focused on, however, surveying different segments of I guess really representation within the library. So, the people that do the work, the middle managers, and then really, the folks at the director level that are really responsible for running and organizing a library. ROBERT: The ones that will experience that pain of being locked in, right? HARRY: Right, right. And trying to get decision-makers at many different levels. And we tried to also cover both very small libraries to very large, enormous libraries as well. And all of them saw a benefit. One of the pieces where things sort of maybe went in the other direction as far as the statistics are concerned, if you ask them though “How many are willing to adopt open source?” the numbers aren't quite the same. In fact, they're rather dramatic. And so, at that point it's roughly about 33% said they'd be willing to adopt. CHARLES: So, why is that? HARRY: So, we asked. And interesting question. And what most of them came back and stated was, “Well, we love the idea of open source. We fully support it. We're willing to do what we can to help it and make sure this happens. However, we ourselves don't believe we've got the staffing, the resourcing, or the knowledge to host this ourselves.” And so, this leads to another really interesting thought or idea as far as open source is concerned, is so this really implies that there really needs to be sort of an ecosystem of organizations that are providing these types of services. And to be honest, the faster we can make that happen, the better off the market is. Libraries are now getting to choose vendors that they get to get their services from, which is rather interesting. Because for the first time, not only do they get to choose the vendor but if they're not happy with the vendor, they should be able to switch vendors but keep the software and the data the same. Today, in the library market, if a library chooses to switch vendors, that means essentially they're completely starting over in their library. They completely have to migrate to a fully new system which means enormous amounts of training, enormous amounts of data transfer, and all the pain that goes along with it. I had a librarian tell me once, “The next time we migrate to a fully new system, I either want to die or retire.” I just want [14:30 inaudible]. ROBERT: Man, that sounds painful. HARRY: That's how painful it was. CHARLES: Yeah, wow. Because the complexity intrinsic to these systems, it does, it boggles the mind sometimes. Just even the little slices of the ecosystem in which we're operating, there's just a lot at play there. ROBERT: Yeah. Like trying to work with other vendors and be agnostic so anybody can adopt these things that we're building. And since we had that vendor lock-in, it's hard for you to adapt the two systems, because they were built in complete silos. So, trying to merge that is an interesting challenge. HARRY: And I think everything I'm saying here, I'm talking about it from the library perspective. But if you look at other industries, I don't think it's really any different. If you look at any of the enterprise-wide management systems that are used in corporate organizations today, most of these corporate entities will stick with the system they chose for a very long time. Because it's incredibly painful, it's disruptive, and it's expensive to switch from one system to another. And so, the idea of you're not happy with a vendor and hey, I can go to somewhere else and maybe keep the system I have in place is really kind of interesting. And even better, if the vendor's not able to provide some of those features that I need but for the most part I like the system, wouldn't it be great if I can hire someone to do that work and to have those pieces built for me? And those are some of the things that open source offers. CHARLES: Right, right. So now, I understand that for example to kind of put a concrete bow on this, [Chuckles] to move away from abstraction of what it means and provide an example, so we have this open source platform, this FOLIO platform. Which if I'm a library, I could in-house, I could either use it on premises on my own servers or I could run them on AWS or I could run them on Google Cloud – there are all these different deployment options and some libraries are doing that, but that's something that they might not want to do. So, I understand that EBSCO is actually going to be for example one of the services that y'all are going to be offering around FOLIO, is actually hosting the platform so that the overhead of managing all of the servers and provisioning accounts and doing all that stuff is going to be taken care of for you. So, I can just sign up. HARRY: Yes. So, that really fed into the results of the survey. For those libraries or organizations that felt they couldn't do it themselves, where would they go? And who could provide those services? So, we're absolutely going into the business of providing these services for libraries that choose to. But at the same time, we're really strongly encouraging other vendors and organizations to provide these services as well. Because for instance, you may represent a series of libraries in let's say Hungary. You may have a vendor there you enjoy working with in the past. It's provided great services for you. There really ought to be no reason why you should not choose that vendor to provide those services for you. And again, it's an open system. There's nothing there that's excluding me and the organization I work for to provide additional services, to provide content or what have you. It's an open system. And so, we should strongly encourage that. And the reality is, if we're going to have a disruption in the market, it seems we can either have one organization or one company trying to usher this disruption along. But what if we could get 10? Or what if we could get 20? Or more companies out there ushering this disruption along simultaneously worldwide. It feels like we've got a lot more of a disruption happening in that case. And so, that's what we're strongly encouraging. CHARLES: Right. But at the same time, I can see it from if I were considering making a play like this, one of the things that would worry me is, “Okay, so we're going to disrupt the market by allowing a large tent where lots of vendors could compete.” But then, I immediately experience fear of, “Well then, how do I differentiate myself?” Because ultimately I want to be competitive. How do I make it so that I'm not a commodity in this new market? HARRY: So really, I think that's key for any vendor that chooses to compete in a market like this. Do you believe as an organization you have not only what's needed to compete but those key differentiators that at least a certain segment of the market would be interested in you and the services you offer? We believe we do. Another company that just recently announced that they're going to be supporting FOLIO and providing services around it is a company called ByWater Solutions. They've actually been in another segment of the library market for many years providing services to libraries as well. Longstanding, actually, with open source codebases. And so, this very much appeals to them. They believe… ROBERT: Oh, interesting. HARRY: They have a niche that they can provide and they are going to be doing that. And we strongly encourage it. What's again great about it is if they set up a library with FOLIO, they're not building the walled garden. They're building or providing the open platform that we can connect our services to. So in many ways, yeah there are some areas we're going to compete. But there are actually many areas that we're also going to be complementary. And I think that's what's really, really interesting to us. CHARLES: So, it sounds like you're also counting on just by having the ecosystem in place and having this sea as it were filling the ocean to enable trade, one of the bets too is that you're going to open lines of business that weren't even possible before. HARRY: Correct. So, another way to look at it – we've got our iPhones or Android devices. Apple built a platform is really what that phone is. When it was released, you could make voice calls. You could do some simple text messaging, some basic email, and I'm sure there are a couple other of things in there that I've forgotten. I do not believe that Apple had any idea that they'd actually be able to create a marketplace that had hundreds of thousands of people and vendors providing features and functionality for that platform. I am pretty sure no one at Apple had ever imagined the guitar tuner would be released. I don't know, a compass app, flashlight apps, whatever. You name it. And not only that, as a user of that platform, you're not happy with the standard email app? Well you know what? I can get a different one. In fact, I've got a choice of many and I can find the one that suits me best. And that's fine. It's an open marketplace. And so, with FOLIO today, we're in early stages. We're building out that platform. We're building out some of the basic functionality for that library that they need to operate as a library. But once this gets released, it's at that point when we believe the more interesting things are going to happen where we build a cataloging app for FOLIO. Well, we know already that there's other organizations that are starting to look at and think about, “You know what? We've got a whole other way or a whole other interest in terms of how we'd like to support those workflows on the FOLIO platform.” Or even better, librarians starting to think about, “Hey, if I've got this open platform just like Apple does, this means I now have the option to build features and functionality that take me where I want to be five years from now, 10 years from now. And I've never had that ability on the existing systems that we use today.” And so, one of the other I think advantages or benefits that something like FOLIO or a platform like this brings to the market is the ability to create that marketplace very much like Apple has done and Google has done with Android as well. ROBERT: So, we're pretty far in, but you mentioned FOLIO a couple of times. Do we want to unpack what FOLIO actually means? HARRY: Yes. FOLIO actually stands for the Future Of Libraries Is Open. ROBERT: Right there in the name. I love it. HARRY: Absolutely. CHARLES: So, we've talked about this platform. We've talked about this marketplace. We've talked about the business incentive of why you would want to do this, why it makes a lot of sense. Clearly, this takes an enormous investment. So, we think, I think, a lot of people think of open source as a bunch of wild developers running around. ROBERT: Pushing commits wherever they want. CHARLES: Pushing out code and doing stuff. And then it kind of organically grows into something that someone then picks up. ROBERT: And then you burn out. CHARLES: Yeah. [Chuckles] But that's I think a lot of people's experience with open source. But an initiative like this takes a staggering investment both in terms of capital resources but also in terms of will, in terms of management, and putting all these enormous forces in motion. There's developing the software, developing the awareness, and I think right now there are hundreds if not thousands of people working on this right now. How do you even go from zero to 6,000 like that? And I'm not talking about people. I'm talking about velocity. [Laughs] HARRY: Right. Early on, when we were conducting research, market research, one of the things we did, we spent some time looking at what we believed were successful open source projects. And I think what was interesting was in many cases it took a single individual or a company to actually create what amounts to that first piece, that first core building block that others could start to expand upon. And very often, they literally just created it themselves, made it available out there as open source, and basically told the world, “Here. Have at it. Have fun. Do with this whatever you wish.” So, we actually thought we'd like to do that. However, building a system on this scale is not that easy. Understanding the operations of a library day-to-day is not that simple. We need help. And so, what we decided early on was: could we kick off and start this project while at the same time [25:42 inaudible] that community as early as possible? To get people excited, interested, and to get this project in a place where we're not the only contributors, where there are many others contributing as well. And when I say ‘contribute' I don't necessarily mean software developers. But that is certainly one aspect of it. But one of the key pieces of building software is gaining access to subject matter experts as well. And it's absolutely key and critical. And so, our goal of course was to build this community, have that community start to provide that in-depth knowledge, those subject matter experts that we need so we can determine what it is we need to build, how we need to build it, and really go from there. And by including those people as early as possible, I think one of the things we find that happens with this project which is really sort of incredible is the excitement that starts to build. The word of mouth advertising, marketing, as librarians, libraries, vendors and individuals start to talk to others and really spread the word about this project. In many ways, it starts to compound or snowball and build on itself. But that was really challenging. And it was really actually kind of slow going in the beginning. Because we started with nothing. And one of the issues you face is, “Well, you want me to contribute my time to this project, yet I see nothing.” Right now it's just a dream. And so, one of those early, early issues was, “Can we build a team small enough, focused enough, where we can start to build some of the basic, basic, basic core pieces, to really prove to the world that this project is real? This project is actually moving forward and this project is actually delivering.” And now that we're in a state where people can actually see working software, the excitement is just starting to expand and compound rapidly. And we see it everywhere. CHARLES: So, do you find libraries or people in the target market, there's that key point where they start to feel empowered? It's real and then the thing that I think that you're going for is to have the realization dawn that not only is it real, I can put my hands on the wheel and I could control my destiny. And I can contribute now because there's this critical mass. ROBERT: You have the power to make change, which never existed in the library world before. HARRY: Or at least, not in this specific area. Because to be truthful, I think libraries as a whole believe they're making change around the world all the time. But it's really related to content. But this is actually making changes in the actual operations of the library. And they are actually empowered to get involved, to contribute, and to help us get this done. And it seems to really resonate with folks. Because it's something they haven't been able to do previously. And it seems genuinely exciting. And we announced this really, well the market learned that this was happening I'd say a little over two years ago. Maybe more like two and a half years ago. And it was sort of a gentle drip in terms of a roll out. People started to learn because we started talking to them. There was no real active marketing going on. But of course, those people started to talk to other people. And so, it happened. And when we were able to provide those first demonstrations, no matter how rudimentary it was, that's when things seemed to really kick into a much higher gear where people started talking to each other. Librarians started talking to each other and say, “Hey, this is real. This is exciting.” ROBERT: It's not vaporware. HARRY: And this is happening. Right. It's not vaporware. And we need to get involved. And so, they have. CHARLES: Yeah. And the energy and involvement just in the course of the time that we've been a part of the project is apparent. Every kind of gathering is larger and the diversity of topics that are discussed is increasing. And yeah, the conversations have burned from “What can we do with it?” to the last time the project got together as a group, it had much more of a conference-y feel. And the topics being discussed were like, “How do we actually deploy this to our real systems?” Which has been fantastic to see. And so, just to actually feel the traction is just, it's so gratifying. So, I guess one of the questions that is on my mind is – so you mentioned that you had been at this for about two and a half years. What is in your mind the most pleasant, unexpected outcome of this project that you didn't foresee two and a half years ago that you're experiencing now? HARRY: So, I think one of the one's that's surprising is I've never actually personally been involved in an open source project before. And I think one of the fears constantly working for organizations that really have been closed source – in fact, I've been that my adult working life – and you sort of walk into this with some [trepidation]. Because oh my gosh, everything I'm doing, everything I say, everything that gets documented is going to be out in the open for everyone to see? Including competition and everyone else? And I have to say, one of the most interesting things, or one of my favorite pieces here, is: it is so freeing. It's a release. It's actually amazing to not care about what your competition or anyone is doing or thinking. And it's even more amazing whenever you've got a question and someone's out there asking you for access to documentation, you can simply point them to the website, to the URL and say, “It's there. It's all there. Anything you want is there. Go take a look.” I think that's pretty amazing. The other one of course are the relationships between many, many different people who I've just never really been – or I never would have had the chance to work with before. And really hearing all these different perspectives and points of view as far as what people think are right, correct, or what we should be doing – it's great to see. And it's great to see this wildfire word of mouth message that seems to be moving everywhere. We're hearing back from people not just in North America, not just from the EU, but from the Middle East, from South and Central America. There's really just people interested everywhere. And it's amazing to me, because I don't think I spoke to anyone over there. So, it's happening. And that's just an exciting thing to see. CHARLES: Yeah, yeah. ROBERT: It's really cool that open source can connect you with the rest of the world like that. It's just so powerful. HARRY: It does. And it's an amazing thing. ROBERT: And the amount of collaboration that happens, I've never experienced it in any other way. It's really cool. [Chuckles] I don't know how else to put it. It's just, it's almost mind-blowing that you are able to across timezones, across the world, collaborate with somebody on something that you both feel passionate about and you're pushing it forward in an open manner. HARRY: Right. And it's also amazing when you have these meetings and there's people you've been collaborating with for months if not a year or more. And getting to meet them face-to-face for the first time. That's really a pretty amazing experience. ROBERT: Yeah. And it's pretty awesome. At our last gathering that we had at WolfCon, I had the absolute pleasure of chatting up a bunch of different librarians. And hearing their experiences and what they're looking for out of an experience, it's just really cool to be able to talk to those people and see how they work and help build this into the platform that they're wanting to use. HARRY: Right, right. CHARLES: Yeah. I would say on the whole, there's been a lot of those wonderful, unexpected outcomes. Were there any that presented a particular challenge or wasn't quite so much a walk along the path of roses? HARRY: So, you know I think the biggest one is – I mentioned earlier we embarked on this project a little differently versus what we saw as normally successful open source projects, right? We did not have that core, beautiful, shiny object to unleash onto the world and let them know, “Hey, have at it.” And so, it wasn't so hard in terms of getting interest. But what's been hard is the amount of interest has generated enormous numbers of organizations that are interested in contributing to the project. Which also implies then that now, not only are they coming to us asking us, “Hey, how can we help? What can we do here?” but then there's a certain aspect, because this is a first version of, “How do you manage the building and construction of that very first version of this software project when the reality of the matter is, you're not really responsible for most everyone working on the project?” And how do you get everyone aligned and organized? How do you get everyone onto that same path along with those same milestones that we've all agreed on? And even worse, how do you get agreement on those milestones so we can all walk that same path and deliver that first version? And so, I get asked sometimes by folks that are involved in other open source projects, “How do you handle this situation? Or how do you manage all the work that goes on?” And when we tell them, it's kind of surprising because it's not what they're used to seeing. And a lot of it is because of the way we started, the interest that was generated early on, and the fact that we did not have an initial version. And I don't want that to sound like, “Oh, this is a huge problem,” or, “If I were to do it again, I would not do it this way again.” I in fact would do it this way again. I think there are a lot of benefits and it's been a great and interesting way to go. It's just the management aspects of it are definitely challenging. And I think more than maybe we had initially anticipated. Going into this next time, though, I definitely know what I'm facing and I'll be prepared. CHARLES: Yeah. So with that in mind, given that you've been through this, do you have any advice to offer someone who might be considering embarking on a similar journey? And undertaking a similar Herculean task. HARRY: Well, I think you'll find it's harder than you think. And be sure to plan for that. But I guess at the same time, I think my biggest advice or my best advice would be: you need to keep an open mind. And when I mean an open mind, you need to be open to other thoughts and ideas. And I think you need to put yourself in the perspective of what if you were one of these other people that are working on the project or trying to contribute to this project? What are the things that you're doing or rather the things that you're doing now, the way you're acting, the way you're reacting, how does that look to others on the project? Because you're not the only one contributing. You're not the only organization contributing. And are the things you're doing reflecting badly in terms of others' perception or optics as to what this looks like as an open source project? And I think for me and others, there was a huge learning experience. Because your first thought is, “I'm going to tackle this like any other software project,” and it's not. It's not like that at all. CHARLES: I think that's… ROBERT: That makes sense. CHARLES: Yes, that makes sense. That's excellent. That's excellent advice. And I think that's one of the things that makes open source so powerful, is because there's that aspect just baked into it from the get go, you have to be mindful of a bunch of different perspectives. And that ultimately results in a solution that's going to be workable for a bunch of different perspectives, that's going to be flexible to accommodate for all the different use cases that all the different participants in the community might bring to the table. HARRY: And you have to be very mindful of how your actions are perceived. Because normally, your actions are perceived by the company you work for, what tends to have a particular culture. But on an open source project, you're actually dealing with many different cultures. CHARLES: Yes. HARRY: And so, that's a tight line that you have to walk. CHARLES: That was a powerful note to end on. Thank you everybody for listening. We are The Frontside and we build software that you can stake your future on. If you want to get in touch with us, continue the conversation, you can reach out to us on Twitter at @TheFrontside or drop us an email at contact@frontside.io. Thank you so much Harry, for being on the show today and talking to us about FOLIO. HARRY: And thank you very much for having me. This has been great. CHARLES: And if you want to, if there's something that you want to learn about or a topic that you want to discuss, please, please let us know. We always are open for your feedback, especially when it comes for things that you would want to hear. And if you want to get involved or learn more about the FOLIO platform, you can just head on over to FOLIO.org. There are resources for librarians, developers, and anyone who is curious about becoming a community member. Thanks as always to Mandy, our producer. And we've got a really great podcast coming up on the 14th of June. We're going to have Michael Jackson on the podcast to talk about separations of concerns in React. So again, thank you Robert. Thank you Harry. And we'll see you all next time.

In The Cloud - The eXp Realty Explained Podcast
Robert Creamer & Les McDaniel - Why Keller Williams largest commercial team moved to eXp Realty

In The Cloud - The eXp Realty Explained Podcast

Play Episode Listen Later Apr 9, 2018 23:48


Interview – Robert Creamer & Les McDaniel On today’s Episode we have Robert Creamer and Les McDaniel. Robert graduated with a degree in Real Estate from the University of North Texas. He then joined Eddie Holiday in Dallas to start their commercial arm. Shortly thereafter he joined Keller Williams when realizing they were forming a bigger division prior to starting the CMO commercial group in 2011. This episode covers how Robert and Les reached 90 million in volume and paid out 150,000 dollars last year in referral dollars to residential Realtors, why they chose eXp Realty and how they are experiencing exponential growth. Learn More about eXp Realty - Click here to watch a quick 7 Minute Intro Video. Remember our disclaimer: The materials and content discussed within this podcast are the opinions of Kevin Cottrell and/or the guests interviewed.  This information is intended as general information only for listeners of the podcast. Listeners should conduct their own due diligence and research before making any business decisions. This podcast is produced completely independently of eXp Realty and is not endorsed, funded or otherwise supported by eXp Realty directly or indirectly.   In this episode Process of transitioning to eXp Realty The Texas market Residential referrals at eXp A look at the cloud environment Why the eXp system is set up for collaboration Where is the future going? The company culture at eXp Realty Want to Learn More about eXp Realty? If you are interested in learning more about eXp, reach out to the person who introduced you to eXp or one of the contacts below to inquire or ask questions. Contact Robert via email at creamer@cmocre.com Contact Robert via phone at 214-564-8909 Contact Les via email at les@cmocre.com Contact Les via phone at 512- 963-2973 Noteworthy “The global environment, the ability to reach out to everybody, where have meetings in the cloud where we see the environment of real estate going and then the revenue share on top of that was a no brainer.” “On the year that we had the largest commercial sale in history, and the second largest transaction in KW history we decided to make the move on top of the fact that since we were managing and helping lead a division we did have a sweetheart deal which was even more shocking to a lot of people.”   PODCAST TRANSCRIPTION Kevin: Welcome to the show Robert and Les. Robert: Hows it going. Less: How's it going. Kevin: It's going excellent. I've been looking forward to this conversation now for some of the listeners on the podcast that may not be familiar with you. I don't know who wants to go first but why don't you guys give me a little bit of the background on CMO and how you guys have been involved in the commercial real estate side of things. Robert: Well sure I'll go this is Robert Creamer got my degree in real estate from the University of North Texas in 2005. Jumped in with Eddie Holiday in Dallas to start their commercial arm. Learned that KW is forming bigger division. Jumped over in August of 2007 was there until end of last year. We formed the CMO commercial group in 2011. As my career progressed we reached up to 90 million in volume. We paid out 150,000 dollars last year in referral dollars to residential realtors which we are extremely proud of because that is our niche. Residential realtors we want them to be our partners in our business and that's pretty awesome we think. We have grown our team from 3 to 9 commercial associates. We have a huge track for growth right now and we have a lot of really awesome things that are really been official and we're super excited. Kevin: So if you look at that history and obviously you've got very very successful large commercial practice and you get referrals fed in. And you mentioned you get referral business out of the residential side of the house and you're at Keller Williams. How did you go from having a rapidly growing business and I know just for reference for anybody listening. You also had a very large transaction in the Keller Williams system, I think it was if not the largest one of the largest ever second largest highly successful business. You guys are humming along. Walk me through how you take a big team like that and you decide when you're an integral part of the Keller Williams commercial side of things to come over the eXp Realty. What was the process there? Robert: You know our team was doing phenomenal things at KW commercial and we heard about eXp. We were investigating it and we really wanted to bet the company because we didn't want to make a bad business decision and bring a lot of people with us right. On the year that we had the largest commercial sale in history, and the second largest transaction in KW history we decided to make the move on top of the fact that since we were managing and helping lead a division we did have a sweetheart deal which was even more shocking to a lot of people. We had a sweetheart deal the largest sales still left. So a lot of things happened. But let's talk for a minute. Less: There's another piece of this that is.. I'm not upset about or we're not upset about it but the reality is that KW is so big. You know the recognition that we need to continue to grow our business and sustain it wasn't something that was going to be happening at a large level, at the greater KW level. You know. We were trying to build a business based upon referrals which is what we've been... I was told from day one coming into commercial real estate was good residential referrals and we didn't have the support structure in place with them to actually provide that. And so that move, it made a lot of sense. When we were actually talking to the CEO and the president of eXp. We have their attention that they want to be family that they want to be available and so that was really attractive to us and we knew for a fact that with 8000 member strong company that we can get in there and we can become family with 8000 rather than trying to pick out and target 150000 or 40000 whatever agents and maybe get a few and do a good job at it. We're coming in and we're at the beginning of this as the commercial guys that have a lot of opportunity with 8000 agents and I can't imagine anyone who wouldn't want to be able to do that. And I believe that's how we're going to become the largest commercial and residential real estate company in the world is through referrals so that's kind of where we are at. Kevin: That's an interesting point because I think that for people listening there's nothing wrong with Keller Williams and I have a long history with Keller Williams and they're a great company. But what people in the industry fail to understand because Keller Williams is a large franchise system, Remax is a franchise system. There's everything prior to eXp was all franchise oriented. And so what ends up happening we going to dissect Texas for a minute. Right you have a presence in Dallas you have a presence in Austin in different markets and even within those markets there's different market centers and each one is almost like its own little island right. So if we translate that into eXp Realty and I'm doing this for listener purposes, the ability. We'll just talk about residential referrals for agents to collaborate mastermind and share in the cloud the way eXp is set up is much more dynamic, it's much more fruitful and it is happening a lot more continuously. In other words you can go into the cloud environment the eXp world and you would be able to interact with this larger volume of agents. Now if I take that in the franchise system, even though you guys were successful and you talked about paying out that large volume of referrals and Keller Williams system, I would imagine a big part of the calculus is when you looked in there and looked under the hood the system is set up for collaboration because we don't have islands that are market centers or offices. I've got to imagine that was a big part of what you guys figured out pretty quickly. Less: Oh it's huge. I also have to say that the first day that we joined we were introduced in the virtual world but it was still impressively powerful to 350 agents that were there. We've never had an audience of 350 agents where we get to talk about commercial real estate at KW. And it's not their fault, it's just that they can't there's not that system set up yet but this support to where that area where we have our meetings can truly become larger and larger and larger and we can still have that platform and others can have that platform. And it's across the nation. So it's a huge benefit to have that globalized society if you were no longer seeing the boundaries of states and all that and being able to collaborate with others basically feels like are in the same room they are, virtual. Kevin: Absolutely. So if you look at your previous operation and you're in multiple markets in Texas I think that certainly there'll be plenty of eXp agents and agents from outside that maybe are in a franchise. Your model is to operate multistate. So if somebody is listening to this and their adn EXP agent for example and they have a potential commercial transaction we'll get your contact information in here before we wrap up. But you guys are available to take a look at potential commercial referrals not just a market like Austin or Dallas. You're looking at operating in a larger environment. Robert: Oh absolutely. We loved our experience at KW. We had nothing but good things to say. We grew the team we had a lot of opportunity there. We loved it. One thing we saw was the future where is the future going. Do we need this office space? How can we really grow at an exponential volume and reach people because everything is going online. The business model is going global. So how can we reach agents in every state easily, efficiently and really help more and more people because the more people we can help it's just going to be awesome our business will grow. Their's will grow. We're I mean the whole real estate environment is going to change over the next three to five years. It's already changing. Kevin: Well absolutely and I'm glad you touched on the bricks and mortar attacks back because I know that you know in some of the meetings we've been in together that's a big part of the discussion. In other words in a franchise system, they are all oriented around physical locations even though you go to those market centers or those offices and there's not a lot of agents there. So it's sort of like a dichotomy right you've got this gigantic office in some cases in the franchise system you just came from. But yet. If you compare it to the overall agent count there's not a lot of agents there. It's more transient right. They come and go. Now in your world I know you're potentially going to have some physical Prem for the team and be able to have some aspects of that. Seems like the cloud environment allows you a much bigger reach. Less: Oh absolutely. I mean it's kind of one of those elements for me that kind of cracks me up about how the agentcentric concept is being pushed by so many of these franchise models with bricks and mortar and I can't think of anything that says your agents are number one more than when you're giving away ownership. And when you're giving away a benefit of paying them off the top for people that they bring in that are great you know real estate agents and not just any agent but top producing agents that are flocking over there right now. In my mind I look at that and go "How can anyone say that they're really truly agent centric when right now it's almost impossible for anyone coming in at the later stages to see much of a margin from profitability". To me this is just such a great model and it's one that really says you guys are important and we want you to be the owners, we want you to be the ones who direct the company and they're listening they're moving as quickly as possible to answer any questions we have and the availability is great because of the world Kevin: You guys have a unique perspective on this. Those of us that come out of the franchise system and I certainly used to not only understand it at a high level but taught market center financials. I mean when you've got a plug in Team Leader and administrative staff and actual and this is your world the physical space that could accommodate a large volume of agents your PNL is already heavily laden with expenses that in a model like eXp realty you just don't have. So as Agent shareholders in a business I'm sure it was really apparent from a PNL standpoint that this economic model for lack of a better analogy runs circles around the one where I've got to pay for space and people just to keep the lights on. Less: Oh yeah I think Robert talked about your experience as a managing director and recruiting you did. And ultimately what you get paid from that was not much in terms of your recruiting efforts. Small check one time you were so proud of. Robert: The idea of profit sharing is phenomenal. It's the companies giving back. You want to help them grow because you're excited the company gets excited everyone is making money together right whatever. We train and they produce we produce together. But we found the reality is you had to have a huge number of people in your downline to actually see an impact. I understand the tree concept where you get your first couple levels or you go deep there and those that go deeper you go wide there and they go deeper you later. But even then you need quite a considerable amount of agents to make an impact on your well-being, your life, your retirement. Where this model, because expense side is diminished so much they have the capability to pay at a much higher level and off the top that was icing on the cake. The global environment, the ability to reach out to everybody, where have meetings in the cloud where we see the environment of real estate going and then the revenue share on top of that was a no brainer. We really see some huge potential in our little over 8000 agents. Right now we are pretty sure we'll be over 20000 into the year. I mean this is happening. It's really exciting. We're super excited our team is excited. We cannot wait to see where we are in five years. Kevin: Yeah it's a game changer and that's the fun part on this, there's a lot of misinformation in the marketplace about revenue share not being sustainable, you can't pay money off the top. And what I always tell people and this will be no surprise to the two of you because you've heard me say this is for anybody that thinks that what you should probably ask if you're in a franchise system is how do the regional owners or owners of the company get paid. And they typically get paid off the top. It's either royalty and or company dollar and royalty and they get paid on Agent count. And so if you actually look at the model and the economics, this is 100% identical to how in a franchise system I'll just take Keller Williams because that's where I came from most recently, they pay the regional owners. So in other words if you own North Texas and you own all of those market centers, you're getting paid on the agent account off the top. Just like the equivalent of revenue share. Don't let anybody confuse you with the fact that this is sort of an unproven uncharted territory. This is exactly how the franchise systems pay the regional owners in the way that they can do it. What's viable is what Les and Robert just talked about where you look at the profit loss and not having staffing and the physical premises you have to pay for the economic model makes it that much more viable. I too like you guys am fully vested in the Keller Williams profit. I still get checks. I still am in the system so I get it, right? I've been on both sides of the fence. I would always challenge people that if I had my choice I would always want to be a regional owner instead of relying on profit share. You can make money in both but the regional owners are the ones that make the big money. Less: In the initial stages, even the owner of Keller Williams I just know Keller Williams well like you because I was there 10 years right. So we got to see a lot of growth and lot of exciting things but one of the things they said and I know is when you franchise it's because you don't have the capital to expand as much as you want. So you bring in other investors in your franchise. It's easier, you can grow faster. The problem is you give of ownership. Gary Keller himself said if I could do it all over again I'd create the largest real estate company in the world or the largest real estate team in the world. So he's actually said that. The other thing he did overseas which he altered from profit share was a revenue share model overseas where he went from 6 percent to 8 percent and never capped it which is pretty phenomenal considering we're here now in 2018 with a non franchise model and a revenue share model. Kevin: It is an interesting thing you know as they learn and they did things you know I think if it was back in the 90's Gary would do it completely differently. So I want to talk about your team for a minute. You mentioned something and I want to tie it down for listeners because we've had plenty of guests on the podcast talk about this from a retention standpoint because certainly revenue share will be a benefit for you Robert and you Less but you also have team members. You said everybody's pretty excited and I want for people listening to this whether they're in the commercial space or the residential to be thinking about this. What was your thought on that from a retention standpoint in other words revenue share for team members. Less: That's probably one of the driving factors for me is that in my mind it would be irresponsible not to give them the opportunity to be at the top of this company, to be somebody who can bring people in and be leaders because they all want to be leaders at some level. We don't have anybody on our team just like Hey I just want to make a living. I mean everybody is driven to seed and this provides to me a more organic means of leadership growth where a mistake can't be made of a leader that is placed in a position through any other way than hard work and proving themselves because they're either going to be a leader or they're not. Based upon what they're doing and my team can see that they already see the leadership that's in the company they see what's happening in the company with people who joined earlier and are showing up to help recruit in helping us to build our business. That's what leadership's about. And it creates this camaraderie that we don't have competition among market centers. It's a camaraderie that says we're all working together to see if we can't get this thing be giant. My team sees it and it creates that momentum for us when we're together just to continually put that vision in front of them. Let's go Big let's make this about the relationships we have and build upon those. For me it's a no brainer and it's an irresponsibility factor on my end, not only from my family to not do it but also for my team. That's huge. And anybody who won't listen to and I'll just be frank anybody who won't listen to the presentation and considered as a possibility is irresponsible, straight up irresponsible. Kevin: And I would tend to agree with that. And for anybody listening I mean the challenge with teams and this is not residential or commercial issue is just a team issue in the franchise system is retention. You'd spend a tremendous amount of time recruiting, building teams. You pour a lot of energy into training and getting people productive and that if you go into these mastermind meetings and I know you guys have been in there you know whether it's led by Gary at the top 100 or it's led by somebody else, you get these rainmakers that own these teams saying my toughest thing is keeping people on the roster, not getting them to do their own thing. Well in the eXp realty model, I want to get you guys perspective on this. Not only can they get revenue share but if everybody's a shareholder, we're all pointed in the same direction. It's a huge retention tool as well. But I also like the fact that you mentioned culturally whether people are in somebody's revenue share group or not everybody shows up to assist. It's an interesting culture. I mean I've seen people in the cloud or in the workplace environment go in and post they need help literally within 15 60 minutes they've got somebody somewhere else in eXp that has nothing to gain other them culture for the company, raise their hand and say I know how to fix this, let's get on the phone and me walk you through it. Could be allegiances them. It could be something they need to do to make their business work better. It is coming out of a franchise system it is one of the most surprising but pleasing things that I saw in there and I know you guys see the same thing. Less: Oh sure. We have a great example that is leading the way for us and that's Gene having Gene Frederick be the guy who is... I mean he hasn't even gone as wide as he could in this world. Some people get that. What he is doing is is he's helping everybody else build their downline. He's just saying hey if you need help, call me and the guy is busy helping other people more than he's even helping himself right now and it's paying off. That's all we're doing for our team. And I think when we create that value for our team they want to be around because they know that we're going to go and talk with people on their behalf. We're going to help them build that side of their business and we'll do whatever it takes to do that. I mean that's another leverage point that for keeping people around that it's hard to argue with when you are helping when you're literally actively helping your people grow that part of their business that creates that family that creates that bond that it's just special. Kevin: I'm glad you stated that way Les because I think the one thing I've observed is for people that are over either as an independent. It doesn't matter residential or commercial or they're in a franchise system that's not very readily apparent because even a franchise system is very culturally oriented right. They talk a lot about it. It's just not executed in practicality the same way it is at eXp realty. You have to experience it. You can hear and you're not the only one on a podcast interview that talked about this and everybody being pointed in the same direction and helping and people going out of their way to make sure everybody succeeds. But having experienced that there are plenty of great people in franchise systems including the one that I just came from. But you look at it as an overall organization, the level of collaboration and culture is amazing and Gene's a perfect example of that. But there's plenty of other it's like for example our conversation about podcasting. You guys raised her hand and said hey we want to do one too about what we do in our commercial world. And I'm like sure I'll be happy to help you. And that's just an example of how we would collaborate. But even on the real estate side whether somebody wants to learn best practices on how to help attract people for revenue share or they want to learn about commercial real estate. Let's say that they're looking to grow what they're doing and they know commercial people in their part of the world. That's where you guys were raise your hand and go hey let me tell you how to attract the right agent to come in because it's realty is going to have a big commercial practice much like what you were involved with Robert as what you built over at KW. I mean I imagine and I want to give you a shot to talk about this for a minute. If somebody is listening to this and they're either know a commercial party that either has a team or they're a producer or they are one and they want to find out more. You're the guy to talk to you. Any other specific thoughts or stuff you want. That I maybe didn't bring up and then I want to get your contact information so if somebody is an agent at eXp and they want to get a hold of you with a potential commercial opportunity or somebody maybe as a commercial broker or a team either themselves or maybe then again there's an eXp agent that wants to refer you somebody that potentially could come over and bring their practice over. How did they get a hold of you? Robert: Well I'll talk about the commercial first because we really want to be commercial point of contact we really want to help the commercial agents at eXp grow in the right way because we found that our previous company there wasn't enough collaboration. People weren't running in the same direction. We kind of separated ourselves by what we were doing. We'd like to create here as we're going to create a 10 12 step module on how to become a commercial realtor. How does it succeed in commercial real estate. How do you gain confidence how to get referrals from residential agents. All of those tools we want to provide because we truly feel that the cloud environment is so beneficial to a commercial agent. So anyone out there has any questions on commercial real estate. Please reach out to us. We'll show you why going and talking to people who are already talking to everybody about real estate right. They're your easiest target. That's what you need to be talking to. Give us a call. We'll help train you. Shoot us an email. It's either creamer CREAMER or LES les at cmocre.com is our e-mails and our number... Less: Mine is 512 963 2973 and texting is definitely the best way to get a hold to me. Robert: And mine is 214 564 8909 and usually we cover central Texas. We are looking for talented commercial agents to expand into the rest of the country. So if you do have questions we'd love to hear from you. Less: Yeah absolutely. Kevin: Excellent. Well guys I'm sure we'll have you back on again. Any final thoughts before we wrap up today. Less: At the end of day for me this is something that is just exciting. I got to tell one story about Gene this past weekend we had a team meeting up in Dallas. He came up and did a live presentation to someone who had not heard a presentation before. It was that kind of thing that I think people don't realize it's special and we were texting with the CEOs and I'm not saying that's going to be forever thing. But right now family is family and it is really tight knit and I'm excited about really kind of breaking down some of the BS that's out there being said about what this company is in order to really show what a family looks like. That's exciting and I appreciate you letting us have the opportunity to share that from a commercial perspective. Who knows what the future holds with regard to how our company plays out here. But I think it's going to be big. Kevin: Absolutely. Thanks for coming on the show guys. Less: Absolutely. Hey thanks man.

The Frontside Podcast
075: Babel with Robert Jackson

The Frontside Podcast

Play Episode Listen Later Jul 6, 2017 42:49


Robert Jackson: @rwjblue | rwjblue.com Show Notes: 01:00 - Build Tooling in JavaScript 02:19 - Ember and Babel 07:14 - Deciding on Features 11:46 - Class 13:29 - Workflow 14:39 - Payload Size 15:24 - Config Targets 17:18 - Source Maps 25:05 - Ember Decorators, Objects and ES6 Classes 36:07 - What's next and when can we get it?! Resources: Babel.js esperanto Ember CLI Targets

The Frontside Podcast
061: Accessibility with Marcy Sutton

The Frontside Podcast

Play Episode Listen Later Mar 9, 2017 46:09


Marcy Sutton: @marcysutton | marcysutton.com | Deque Systems Show Notes: 01:07 - Deque Systems 01:54 - Accessibility Tool Integration and Testing 05:26 - Configuration and Success Criteria 07:04 - What is accessibility? WCAG 09:22 - Spurring Adoption of Accessibility 12:09 - The Accessibility Matrix 16:56 - Accessibility-First Development 18:12 - WCAG and ARIA Roles 24:57 - Test Automation vs Human Interaction 28:56 - Empathy Building 30:45 - Porting to the Web 35:57 - Accessibility in Single-page Apps and Focus Management Resources: axe-core aXe aXe Developer Tools WCAG (Web Content Accessibility Guidelines) Web Accessibility for Designers WAI-ARIA Authoring Practices 1.1 First rule of ARIA use Access Works: Usability and Accessibility Training Marcy Sutton: Notes On Client-Rendered Accessibility a11y on Slack Transcript: CHARLES: Hello everybody. Welcome to The Frontside Podcast Episode 61. My name is Charles Lowell. I'm a developer here at The Frontside. With me also is Mr Robert De Luca, a developer at The Frontside and today we have with us, Marcy Sutton who is going to be talking with us a little bit about accessibility, both in the large and the small. Welcome, Marcy. MARCY: Good morning, everyone. Happy to be here. CHARLES: I know, I understand you're actually calling us from the parking lot of a ski area. MARCY: I am at the legendary Mount Baker ski area outside of Bellingham, Washington where we have the winter that is just going on and on and on and getting after it on the last few days of my birthday vacation. ROBERT: Oh, wait. Happy birthday. CHARLES: Yeah, happy birthday. ROBERT: Happy belated or happy birthday. MARCY: Yeah, it was Sunday so still on that shiny birthday week. CHARLES: Well, thank you for getting with us on your vacation and on your birthday but doing a little bit of work, you actually work at Deque Labs. What is it that you guys do over there and what's your particular area of interest and work there? MARCY: Deque is an accessibility company. We have people who work on products and services for accessibility. We help people avoid lawsuits and make their websites and mobile apps more accessible to people with disabilities. My slice of that work is on the product team, where I work on browser extensions, APIs for developers. Basically to make it so you don't have to write every single accessibility tool or test yourself. You can pull in these APIs and get some of that experience that Deque has built up for years and years and years, which was part of the reason I went to work there was to learn from them. We make tools that make it easy for you to make use of that knowledge in your applications. ROBERT: That's awesome. It's like a base JavaScript library that can be ported anywhere, like to browser extensions. I know we use it in Ember accessibility testing. That's really cool. That's where I've gone for the way I write JavaScript. It's in a base library so everybody can use it and it's even more awesome that it's testing and like wrapping tooling around accessibility because I know a lot of developer-minded people want to see like a failed built. CHARLES: Yes, what does that experience look like? I mean, coming from someone who's never even heard of these tools, how would I integrate them into my project and what would change about my workflow? What information would it surface? MARCY: The best place and the reason I work on these products is that I saw projects go out the door broken a lot of times, when working in agencies or maybe testing isn't part of your methodology. Personally in my career, I just knew there had to be a better way. I got into software testing and the more I learned about it, the more I thought that it was sustainable, you could pull in other APIs to help you write better tests. I went to work on axe-core, which is the JavaScript library that we've talked about a second ago. That really is bottling up all of these accessibility tests that you can automate some of the accessibility checks for things like if your HTML markup is in a good state and you're using attributes correctly. Basically, saving you from having to write all of those little microtests, some of which can be sort of complicated. It's all about getting test coverage for the automated things that we can actually test for. CHARLES: You described a pretty wide-ranging coverage. How do you go about actually implementing that into your CI process? Do you just install the axe-core? Do you have to load up your browser and then pointed it out? What does that look like? MARCY: Ideally, you would already have a test suite and you could just pull in the test harness. There's all different versions of aXe. There's versions in JavaScript and in Node. The core thing that you need to test is get your app running in a browser, whether it's a headless browser or could be a mounted browser but we need those actual DOM browser APIs to check things like color contrast. We need to be sort of coupled to the DOMs so that we can run our full set of tests, which is a distinction from, say some shallow rendering that you might be doing in React testing or something like that. For accessibility tests, we need an actual DOM so you could get axe-core on npm and then pull it into your project and then you basically either require or import it, depending on what your stack looks like in JavaScript. Then you have access to all of these tests. It's pretty useful since our ecosystem has evolved to cover things like npm. I've found that it works pretty well. ROBERT: That is pretty neat. You require it into your test and then you visit a page that's fully rendered and then you do aXe check, like you call a method that runs all these checks? MARCY: Exactly. You would call axe.run and then you configure it to run, either specific tests or just one test. One of the tricks that has been helpful to know is that if you disable the color contrast rule, you don't need quite as many of the DOM APIs so it will run faster in things like JSDOM, which doesn't implement the entire browser APIs. But you could call axe.run, either in your unit tests or more likely it would be in your integration tests because you'd already have a browser instance, either through Selenium-WebDriver or karma-chrome-launcher or something like that. Then you basically call axe.run, passing a callback function and then it will return to you at set of JSON results and then you can do things with those. ROBERT: When you call run, can you pass options of what you want to check? Can you filter out things that you know might -- because I imagine like if you put this into an existing app that's been going for a while, I imagine you're going to get a bunch of fails and it might be overwhelming. Is there a way to peel a back like an onion and start working at it that way? MARCY: Yes. You can get pretty specific with our API. The GitHub for axe-core has our entire API configuration. You can get pretty specific. You can filter by tags. I imagined we're going to talk a little bit more about what WCAG is but there's a set of standards that you can break accessibility down into things that you can actually assert that they are either accessible or not. There's all different kinds of what we call success criteria. All of our rules are mapped to these actual guidelines and standards because that means that our tests are helping you solve things that are actually helpful so you could filter by the different levels. Maybe you want to configure it with custom rules. We have some additional products for that. You can get pretty specific with what you want it to run. ROBERT: It's extensible too so you can add your own stuff. MARCY: You can and we do a lot of work with some of our clients to actually help them write custom roles so that's a service that we offer. But the API is pretty configurable on the JavaScript side so you can do quite a bit of configuring on your own as well, which is cool. ROBERT: That is pretty awesome. You alluded to WCAG, I guess now we know how you can integrate a testing library into your JavaScript apps, let's take a step back a little bit and what exactly is accessibility and then you can start explaining WCAG because WCAG is a very big document that tells you how to go and be accessible. CHARLES: I assume WCAG is some acronym? MARCY: It is. Peeling that back a little bit to what is accessibility. I'm more on the digital side. There is physical accessibility as well for spaces. But when we're talking about digital accessibility, we're talking about making apps and websites that work for people with a broad range of abilities. Say, you had color blindness or a low vision or you're fully blind, you would need to be able to zoom in, you need high-contrast colors, you might use a screen reader if you're blind. But then there's other categories. People might actually fall into more than one category including motor disabilities, where maybe you can't use a mouse and you have to use a keyboard only or a keyboard with one button, which is how we think about a switch control --that's another device. You might be deaf or hard of hearing and need transcripts or close captions so any audio or video content needs an alternative of some kind. Then there's cognitive disabilities where people have learning disabilities. Maybe the language used on a website is too vague or too marketing copy speak and we need to simplify, people with traumatic brain injury like Stephen Hawking has ALS. I discovered at some point in my career that I could actually make the web a better place by supporting all different kinds of people. That's really what it's about for me is doing good craftsmanship and making sure that you're actually making things as accessible as you can. The WCAG thing that we mentioned, it stands for Web Content Accessibility Guidelines. It's just that. It's a set of guidelines, sort of a map to help you get there. You have to actually interpret those guidelines and put in the work to do it. The guideline is just a guideline but it gives us a really good roadmap of how to implement all of these different areas of accessibility. CHARLES: I actually had a question and this is a little bit harkening back to the discussion about the axe-core but also kind of straddling. How do you spur adoption, both the technology and the value inside of your development team? You know, we definitely make our web apps as accessible as we can because we have Rob on the team. But for teams that don't have Rob, how do you spurred option? How do you pitch it to your team and to your management structure? Like testing. Testing used to be controversial. I think in some pockets, it still is but it was something that you had to pitch or agile methodologies was something that you had to pitch. Now it's kind of accepted. It's a core-value of development, I think. I hope. MARCY: Definitely more so. I agree. CHARLES: Do you see a future where making applications accessible is just a tenet of development in the modern era and how do we get to that point? How do we pitch our teams to adopt that value? MARCY: Part of what I'm trying to do is meet developers where they're at and make tools that make it really easy and free to integrate things so it doesn't cost you anything to npm install a library and pull it in your project or to use a free browser extension. What we're trying to do is really help developers get there by lowering the barriers, just kind of a funny way to put it because that's what we're doing with accessibility is removing barriers for people that get access to things. I'm pretty optimistic about it. We talked a lot in the accessibility world about education is really needed because often, it's just that people don't know about it. I've made it my mission to spread the word as much as possible by doing talks and blog posts and just trying to get as many people on board as possible, instead of making them feel bad about it like, "Oh, you don't know about this? You're terrible." ROBERT: Oh man, you're speaking to me. MARCY: "-- You can do this." I try to bring people along and make them feel welcome because it's not really a fun experience to be like, "Oh you're bad because you didn't do this. You don't think about this thing." That's what I try to do. ROBERT: One of my first experiences in accessibility was like somebody giving me that moral argument like, "You're ruining people's lives. They can't do things on their computer." I just remember the response I had and it wasn't that, "Oh, you're right. I should go make this accessible. It was more of like I had a flight or fight response. I start to justify the reasons I didn't do and that wasn't a good experience so the way you put it, like meet the developers where they're at, I love that because that's how I've been operating too. I think accessibility is just another engineering problem and it can be an engineering problem that would be fun to solve. The accessibility matrix gets really hard and hairy as you get into it like -- CHARLES: Oops! Jargon alert! What is the accessibility matrix? Does the accessibility matrix has Neo? ROBERT: The different AT combos and since my experience stems from screen readers -- MARCY: Assistive technologies? ROBERT: Yeah, assistive technologies -- I'm doing a poor job here -- Basically, you have three levels that you work with here. It's the operating system, the type of assistive technology and if we're talking about the web, it's the browser. You could have like the matrix, the beaten path is MacOS, VoiceOver and Safari. That's going to be your matrix. Then on Windows, it could be Windows JAWS and Internet Explorer or Windows NVDA, which is another screen reader on Windows. JAWS is also a screen reader. The browser for NVDA would be Firefox. Then it can just fork in any of those different combinations that you could possibly imagine that makes it hard to debug for. But that's why I think this is a cool programming problem is because we can build awesome tools to help us do this and test for it like aXe. MARCY: Yeah. I would also argue that it's almost even more of a design problem. It's part of the additional challenges that we have to get our design friends and colleagues on board as well because the more that they are thinking about it before they handed off to us, the less we're going to be caught in these situations where we have to make it work in one browser and assistive technology but then it's broken somewhere else because we're trying to use really experimental APIs or we're just trying to do things differently for the mouse versus the keyboard. I can tell you that could be really difficult. The more we're thinking about making things straightforward and intuitive from the design side, not to say the easier job is going to be but the more successful, I think we can be as a team because it's more than just developments responsibility. There's good resources for designers as well, like a web accessibility for designers. If you just Google that, there's a great checklist from WebAIM. I think it's helpful to make it inclusive to people that we work with, not just in the development side because we really want them to set us up for success or else were really just fixing problems that not at their core. You know what I mean? ROBERT: Yeah, as they come down the pipe, we're kind of dealing with them instead of getting ahead of it. CHARLES: That reminds me actually of an experience that I had, a pair programming with Rob, probably about a year ago as we were making an interaction model for a select box. This was for a custom client. We actually stripped it away and we're like, "Let's just focus on what is the state machine behind this thing," so we drew it out on the board and it turned out that we were really just capturing the interaction apart from any rendering so we had a very strong model. With each state's transition, we were able to basically radiate that information with a screen reader in this case. But it was actually very trivial to do because we've actually forgotten about the DOM, forgotten about the fact that we were actually chasing a visual interaction and like I said, what is the actual user interaction? What is the information coming in and coming out? It turned out once we kind of flush that out and have developed that, hanging the interface on that skeleton was very easy and we could do it in multiple media. It feels like a similar concept where if your designers are very upfront about really exploring the information architecture of an application then being able to represent that information architecture in multiple forms becomes much easier because the joints and beams are very, very clear and they aren't bound to a particular form of representation. MARCY: Yeah, I think it a way that's definitely true. One challenge I would issue for this part of prototyping would be to consider all of the user inputs. Make sure that you're considering a keyboard user hitting an escape key to close that select or maybe they're using a screen reader on a touch device and like the single finger swipe, it's already allocated when that screen reader is running so if you have an interface that was only swipe left or right and there were no other affordances like buttons that you could actually activate, that would be an unusable interface to a mobile screen reader user. What really helps to make that information architecture stand up or hold out when you're developing it, like stay true to your vision through the process is making sure that you're considering all of those user inputs. Sometimes, developers aren't thinking about keyboard user so they're not thinking about focus styles, really trying to activate it another way. I do think that's a helpful exercise. ROBERT: Yeah, and to be fair at Frontend developers, we already have a lot to think about. It's just a lot to juggle so I can understand that's why we have tools like aXe. But what Charles is talking about, I think is actually kind of neat is we were experimenting with accessibility-first development so the people do TDD -- test driven development -- and I was trying to see if we could build something. I wanted to see if what we're writing would yield better software if we did it with an accessibility in mind from the outset. I think that's true. It was a more accessible typeahead. It was better, more well-defined user experience around the typeahead and it was because we thought about accessibility and all of the different edge cases. We really boil it down to the core problem. CHARLES: Right. We were driving it first with keys and nonstandard interaction methods. It meant that we actually got more clear interaction model lying underneath. It was decoupled from the actions that drove it completely because we had to support too from the get go. ROBERT: I thought that was neat. CHARLES: Yeah that was a fun exercise. You know, we should have blog about that because I think that actually results in better software. ROBERT: Yeah, I had a conference talk brewing in there somewhere. Just never got around to it. Talking about the web accessibility guidelines. There's different levels to it. Now, you have an A, AA, and AAA. What do those mean and where does that play into ARIA roles and stuff? MARCY: There's WCAG 2.0 and actually 2.1 is an update that they're working on right now but WCAG 2.0 is -- ROBERT: Oh, yeah. I saw that. MARCY: Yeah, there's some new stuff coming out. It's mainly for low-vision users and mobile touch things. But the WCAG 2.0 is the blessed standard that we're working with right now and the levels are different conformance levels. There's different things that you can achieve with A, AA, or AAA. Most people go for AA. AAA is pretty restrictive in what you can do and if you make it support WCAG 2.0 AA, it doesn't necessarily mean it's going to be intuitive to use. You could make it technically conformant but it won't necessarily be that beautiful or accessible. There's a bit of a dance that we have to do around that to meet these guidelines but do them in an intentional way so that we're actually making something usable. I think that goes back to that idea of craftsmanship and caring about your user to know if this actually going to work for them. There's a number of success criteria in WCAG that are broken up into different categories. There's perceivable, operable, understandable and robust. Within each of those, there's all kinds of different checkpoints that you can look at to inform how do I make this keyboard accessible. There's all kinds of really helpful documentation. That's the WCAG guidelines and within each of those, there are a number of different ways that you can code something. As I'm sure you know, there are infinite ways to code the same thing, pretty much and part of what that cover is techniques for making things accessible. They'll tell you all about Native HTML and what tools you can use within that standard. Then there's this other standard called WAI-ARIA and that's the Web Accessibility Initiative – Accessible Rich Internet Applications. That was originally created back in the day when we didn't have as many browser APIs and we didn't have great ways to expose accessibility information to screen readers. They made this API in browsers that implemented that you can actually bolt on some of the same information that you get from HTML. It's helpful if you're writing as VG or XML, where you just don't have those built in semantics so we have things ARIA role states and properties. You may have seen things like 'role="button"' or 'role="main"' or 'role="search"'. You might see that somewhere and that is just exposing programmatically bolting on a role to any element. You could put on 'div role="button"' and there's a little more that goes into that to make it an accessible button. Anytime we mentioned -- ROBERT: The tab index. MARCY: Yeah, the tab index. You have to make sure you have a keyboard event but that would be a programmatic way to create a button element. You should always start with the native button element because you get all that stuff for free but ARIA gives us an API to actually implement accessibility information. You'll see those techniques come up a lot in WCAG of how you can accomplish the same thing multiple ways. Those are some of the things that we test for in our animated tests in aXe. We check to make sure that you've only use roles that are actual roles because there is a set standard of them. We check to make sure that all of the ARIA values that you might use are actually allowed for that. Sometimes, if you're using 'role="list"' for whatever reason, you can't use a real list. It is possible to create a list with ARIA but if you had the wrong child role or something, that's a pretty easy thing that we can flag with aXe so we're sort of saving you from yourself. It helps me sometimes when I get a role wrong because we're human and we do make mistakes. There's a lot of things to remember so that's pretty key technique that aXe will help you with. That's making sure that your ARIAs used correctly because it is pretty easy -- ROBERT: That's really nice. MARCY: -- to get it wrong, to be honest. ROBERT: Yes. I've definitely done that. Being through the spec document is not the most fun. Trying to read the standards language is a little bit complicated so having a tool like aXe is really helpful for me to pick my way through it like, "aXe will tell me that this is wrong," so it narrows the problem set down for me where I can go and look at the standard and kind of tunnel vision in on that one, rather than get overwhelmed looking at that whole standard documents like there's so much here. MARCY: Yes, there is. One thing that might help with the is the initiative that people are working on called the ARIA Practices Guide, the ARIA Authoring Practices and it sort of breaks down these techniques into what is the keyboard navigation model for that component or it will break it into known patterns. This is really helpful also for designers to know what are some known patterns and how can I implement accessibly. They can really help you jumpstart to using those patterns with this more easily digestible information to tell you how to do it correctly. That has come up in the last few years that I found really useful. ROBERT: That's awesome. I think I've seen this. Is it where they tell you like, "If you're going to reimplement a checkbox, here's how you would do with ARIA?" MARCY: Exactly. I've dropped a link in the chat so we'll expose that in the show notes, I'm sure. There's more resources out there now that are really helpful. There's another one called ARIA in HTML and that one is also from the W3C and it's a note on using ARIA and HTML. That one I found to be very useful as well because they tell you this first, second, third, fourth, and fifth rules of ARIA use. The first rule of ARIA use is if you can use a Native HTML element or attribute, you should absolutely use the built-in one first. That's a big -- ROBERT: Yeah, let's stop reinventing. MARCY: Yeah, you know it's tempting because you can create these custom elements and try to bolt on ARIA but the reality is that if you're trying to make it really backwards compatible, it's just so much easier to support the native things. There is an assisted technology called Dragon NaturallySpeaking, that's a dictation method and they didn't support ARIA until 2014 so you can easily imagine some of your user base with an older assistive technology. That might be completely broken for them so that's why we really push using the native things first just because of the better support on every platform. CHARLES: I have a question about the test automation. We've been talking a lot about aXe in the way that you can do this. Did I get it right? Are my roles correct? And all these things. What's an example of something that you just can't test for in an automated fashion? It just requires human interaction just to perceive it. I mean, this would be right now, kind of in the visual sphere, the state of automation for testing like did I break the layout still requires a human. What are examples of that in terms of accessible interface where you just do the things that you have to be on the lookout for that you can't cover with automation right now? MARCY: I think context and content are some of the most difficult like writing good all text. That can be really challenging just because what makes a good alt for an image and that supposed to be a text alternative to say, "This is something useful," and Facebook has solved that by using artificial intelligence to dynamically guess what's in an image. A blind colleague of mine that works there has written about and he said he always felt left out when he would read his news feed and someone would be talking about their first love or some kind of vague status update. With this new feature, it could say, "Oh, this image that they're talking about their love is a pepperoni pizza," or something where -- [Laughter] MARCY: It's really missing the context so they've started to do automatic all text. For us doing accessibility checks, we try to keep our solution as light weight as possible and without false positives. We can check whether you have an all attribute missing like you don't even have the alt attribute at all which means that the file name would be read in the screen reader which is often terrible, depending on what your filenames are so we can check if that's missing but we can't really tell you what would make a better alt attribute, if you already have one. That's one is a bit difficult. There's another one that we're working on right now with color contrast where we can't really tell if you have a background image that's behind some text. If it has multiple pixel color values in it, even if we could read those colors, it gets really hard for us to say whether text meets color contrast when it's over an image for multiple reasons. That one's a bit tricky. I think there are some other examples throughout WCAG that we can only automate. Depending on which rule set you're using, we estimate between 30% to 40% of issues, we can actually catch with automated tests so there is quite a bit that we still need humans for. But however, I think some of these really basic ones that we can check to help you do those easy wins so that you're not getting messed up by using the attribute Aria-role when it's just role. Those kind of things. It's like we're helping you so you can save that time for those more complex task that might require a human. There's definitely no substitute for trying to use the keyboard to make sure that your app is usable from the keyboard. Test it with a screen reader, you can find people in the web accessibility Slack that might be willing to help you test it, if you're extra nice or maybe you can give them a gift card or something. There is an organization called Knowbility and they have this thing called Access Works where if you need to find a user with a disability to deduce a user testing for you because that's a great thing to do. It's very important. They can help you, as a business think up with someone who can test your app. I would definitely check out Access Works. That's really what's the missing piece. As a developer, I'm okay using a screen reader after doing accessibility for a few years but it's not my primary way of navigating so it's really helpful to have real users to test your app and that's a good way to find someone to actually test it. That sort of makes up the rest so you can get that really valuable feedback. ROBERT: I'm a firm believer in testing but also, I really do think a lot of accessibility work is just kind of empathy building and the way you do that is just sit down and actually use this assistive tech that these people will be using. In that way, you can understand as you're building it, how somebody might move their screen or cursor over the top of this and you can start to think about what the screen will read off and stuff like that. I think using a screen reader as a developer is powerful. But I agree, it will never reach the level like my mom that has been using a screen reader for seven years now. I'll never be able to use it as well as she does. It actually putting in the hands of people that do this day-to-day and live this. A far better idea and that goes beyond accessibility too. You want to user test all your apps anyway. MARCY: Yeah, exactly. I think that should be a big thing that we demand just from our organizations like how you were saying it was kind of controversial. I feel like user testing is another flavor of that where we have a bit of emotional tide of these things that we create and we want them to be perfect in the way that we have envisioned but not everyone interacts with things the same and it's really humbling to watch someone use something that you made and have it completely not get it at all. I think that's a really valuable experience. I've watched my mom or my dad or people try to use something that we assume is really intuitive and it's just not. We look at the web all day -- day-in and day-out being professionals and it's really helpful to show it to people who maybe aren't as fluent, aren't digital natives like that. CHARLES: We talked about actual user testing. We talked about the checking where you render your application and you run a set of checks. Do you have any experience with actually -- this is kind of an idea that just occurred to me, although we did a little bit of it when we were doing native applications -- using the accessible interfaces to actually drive your acceptance tests? Is that anything that you have experience with? Because it seems like on the face of it, you've got this assistive technology that surfaces the key levers of your application so is it a good idea to grab those levers from within your test case? Within your acceptance test to manipulate your application and thereby kind of front load your accessibility because in order to verify it, you must have those levers in place. MARCY: Yeah, from understanding your question correctly, you're wanting to just run your tests using accessibility features? CHARLES: Yes. For example, when we write our acceptance tests in our application, what we do is as part of setting them up, say we want to click here and I want to enter this text into this text box and I want to move this over here and that implies actually dispatching mouse events, keyboard events and then also being able to find the elements in the DOM that I want to dispatch those events on so we're kind of doing it in, I think we use CSS selectors to find them and then we use the jQuery event interface to actually create the events and send them to those elements. But it seems that part of ARIA roles or something else is like identifying the role that this element has in your application and basically saying, "For my test cases, I'm going to use these roles and I'm going to use these things and I'm going to use different access methods, keyboard mouse or whatever to manipulate my interface." Does that makes sense? MARCY: Yeah. ROBERT: I think this makes sense in the native world where in order to get the label, I think you have to use the accessibility label. CHARLES: They do that when you're functionally testing iOS apps so why not -- ROBERT: Does it port to the web, basically. CHARLES: Yeah, does that port to the web? MARCY: It does -- CHARLES: It's really long, way of saying that, I guess. Sorry you all. [Laughter] MARCY: No, and I wanted to clarify because I was wondering if you're talking about driving it with actual assistive technology, which we can't quite yet. We don't have any tools for that. But yes, you should -- ROBERT: We should explore that in Ember. MARCY: Yeah, we just don't have the hooks for that. Maybe Python and NVDAs, since it's open source, maybe AppleScripts. CHARLES: What would that look like to drive it with assistive technologies? ROBERT: We talked to some people at Apple with Ember accessibility team and if I remember correctly, we could only drive VoiceOver on MacOS with AppleScripts but there was no way to do it in any other way so you only could do it with VoiceOver on MacOS and that was still kind of murky. MARCY: Yeah, exactly. The idea would be, rather than just testing the browser, we would actually be able to run a simulator programmatically, to know is the screen reader actually exposing this information. Because a lot of it is there are things that get lost in translation, sometimes where we're following best practices and standards because we have this agreement that people who implement browsers and screen readers are going to follow those standards. It's definitely is not always smooth sailing with that. But there's sort of this disconnect between the browser testing and then actually firing it up in the screen reader and make sure it worked. We take that on faith a lot of time, which is getting back to your original question, why it's so valuable to have tests that use these interaction methods. Absolutely, either in your unit tests or even in your integration test, they can live in either place to have tests that assert and closes with the escape key or it operates with the enter key or whatever the user interaction should be, that we have tests that assert that because that way, if you leave your team or heaven forbid, you got hit by a bus or something, you have a test coverage that makes a contract of how this component should work and you have accessibility support, actually built into your test infrastructure. That is super valuable. At least we know that that part of it is there. We know we can drive it from the keyboard, which is how a lot of screen readers work. They operate on top of the keyboard so we can get really far just by having basic keyboard support. Then, if you pull in an API like axe-core, you can have it tell you if you were using ARIA wrong or something. It's sort of a combination of both where those feature tests in your actual project where you're writing something that it works with the escape key, those are custom tests for your application. I find that they're really valuable just to have in there, especially if you work on a component library or something reusable so that everybody who is contributing knows how this thing is supposed to work. I think that is really valuable. ROBERT: Absolutely. I want to talk about accessibility in single-page apps. The problem with accessibility in single-page apps is while using a screen reader, you click a link and to the screen reader user, all it says is the link was pressed. They don't actually know that the content has changed. But in Ember, we kind of solve this by focusing the outlet that has changed but in other frameworks, in your experience everywhere else, how do you combat this? What are the best ways of attacking this? CHARLES: Yeah, what are the problems that you encounter in single-page applications? MARCY: I've done quite a bit of research and blogging and conference talks on this. I'm working on the Angular team for a while. The issue with the single-page app is the page isn't being refreshed when you make a raving change or something happens dynamically. The user's focus is never refresh to the top of the page so they don't hear a title change or things like that. There's different techniques that you can employ to make that experience more accessible. The first and foremost tool to have in your toolbox is focus management so that you're programmatically sending the user's focus to this new content. Say, I have a sidebar with links in it and I click one of them, I can send focus to content wherever it loaded on the page. That way, they are both alerted to the new content because depending on where you send it. There's different techniques for this but often, we will send focus to the wrapping element so that everything will be read aloud and you can accomplish that by using tab index of -1 in your HTML. That will make this wrapper catch the focus, essentially but it won't add it to the tab order of the entire page. That's a technique that we used to shuffle focus around. I've also seen people use what's called an ARIA Live Region where you have this element somewhere on your page that's not visible. It has to be rendered so you can't use 'display: none' but you can basically pipe messages to these live regions to announce what's happening on the screen. I've just saw a React example where they put an ARIA Live attribute just on that wrapping element, instead of the focus management so anytime new content went into that element, it would just be announced. The challenge with that is that you can't always control everything on the page. That works if you control everything and you know that only this one element is getting updated at the time. But often, we work in this big ecosystem where there's a bunch of things happening. Depending on how complex your app is, you might need some sort of a focus manager, some sort of a utility that will keep track of what's focused and routed around at a correct place. That's the biggest tool for creating accessible single-page apps, that's focused management. I mean, not only for the reading content purpose but also to have their focus in the more accurate place so if they hit tab or they try to start interacting with something that they're in the right part of the page. A good example, if you think about like a modal window -- a modal window may open as a new layer over something -- that requires focus management on open so that your focus is sent into it, either to the first focusable element or to the wrapper. Then when you hit escape or close the modal, it just send your focus back. ROBERT: To the previously focused element, right? MARCY: Exactly, so that if you are using a keyboard and you can't actually use a trackpad or a mouse to get back then you're in the right place or if you're screen reader user and you can't even see the screen, then you're always in the right spot. That's actually, I think really cool. Something that's become more common place with dynamic JavaScript apps is that we can do these really cool focus management techniques. I think they're really cool, they can be challenging but that is something that we definitely need to think about as developers of single-page apps. ROBERT: Absolutely, especially since none of the single-page app frameworks out there were libraries. Actually maybe with the exception of your work on Angular, they don't come with a router focused-library built in so this is something that you have to actually think about and then pull in and do yourself. Does Angular have it, by default? MARCY: No, we never added a focus manager utility. There were some things to try and clean up that HTML, which ended up being, honestly worse than the original problem. But I've written a blog post about focus management techniques. I just dropped that in the chat. There's a smashing magazine article I wrote and it really is framework-agnostic so it sort of covers all of the things that you need to think about if you're writing a client-rendered application using Ember, React or Angular. It is something that we have to think about as developers because from the framework level, it's impossible to know what the right situation would be in your app in a given moment so we can only get so far with magic at the framework level. It's something I would like to see more of. Maybe if there is some sort of a layer manager, I think that is a tool that someone could write that would be super useful -- to make sort of an intelligent layer managing system for focus management. I've heard the Facebook team talked about how they do it internally but it's not open source so I have yet to see an open source solution for this. We have to tackle it in our own apps but once you know that that's the thing, you can really make sure that you're covering it. If you have someone with a visual disability or impairment that try and use your app, they'll probably uncover that problem pretty quickly. That's the value of user testing in case you forget. Maybe there's a few views -- ROBERT: Need to sell it. MARCY: Yeah, or maybe with your application, if you don't have visible focus styles turned on, you might not see that the focus isn't being sent. That is one trick, I will tell you in development. If you're working with focus management, turn the focus outlines on and then if you were trying to send focus before it got fully rendered or something because it has to actually be rendered to catch the focus. That is good debug flag, if you can all agree on the focus styles, for all users. I found that to be really useful in our app. You just to have those turned on so you can debug it. ROBERT: And make it really loud like this is a giant red outline. MARCY: Yeah, then you'll know, if you forgot to add tab index of -1, to make it catch the focus or like I said, maybe there's a rendering thing where you need to wait a tick by using a set time out or something. That is a good technique that I've used recently. ROBERT: Awesome. Basically, what it boils down to in single-page apps is manage your focus and enhance your focus, some might say. MARCY: Yeah, let's think about keyboard ergonomics, like if you are doing things dynamically on the screen and then you want to start typing, I think the most common example I see is autofocus. The developers, even if they aren't thinking about accessibility, they'll ask for autofocus. That in a way is focus management. The difference with autofocus is that you can only use it once and it will send your focus there automatically. But in a similar way, that's the idea of what we want is to get the user's focus point into the right spot so that they can do the right activity on the screen and they know what content they're looking at. ROBERT: Right. Sometimes, it's like navigating around a website with your keyboard, that's like power users who have Vim or Emacs or anybody that's a power user of computer that doesn't like to leave the home row, you can make your application awesome for you to use and also lay the groundwork for accessibility, if you can navigate your website with just a keyboard. MARCY: Exactly. ROBERT: Let's try to pitch it to people in that way. It's still a developer problem. CHARLES: I like that because it really highlights the fact that there is this kind of deep interaction model. The user actually is focused on one thing at a time in the application and if you track that, then it's going to be a benefit for all of your users. If you are deliberate about thinking like this is the subject of interest at this moment. You're just going to reap a lot of benefit for everybody. ROBERT: Keep coming back to it, building accessible applications yields a better application for everybody. MARCY: Absolutely. It might enable you to support some futuristic device that you haven't even thought of yet. If you have your actions decoupled from the actual input and you can do everything declaratively, that really makes it easier to try and support of use cases you haven't thought of like we need to borrow up that other keyboard combination or some touch device. It just really helps to not have everything buried in a jQuery event. ROBERT: Yes. [Laughter] MARCY: Like, "Oh, man I need to call that same functionality for multiple events. Crap." You need to decouple that real quick. ROBERT: "Let's obstruct this." CHARLES: Right. I think we're about the time. I know you've got a hard stop. You got some skiing to do. MARCY: I do. CHARLES: So we will let you get up on the mountain but thank you so much for coming by. This is been a great conversation. ROBERT: Yes, thank you for dropping all the knowledge. CHARLES: Yeah, I'm feeling lots of knowledge right on top of my head -- MARCY: Awesome. CHARLES: -- That I got to go and process. But for everybody else out there, I would say go experiment with aXe. The idea is going to be easy for developers. I know I'm going to experiment with it and then you said, there was a browser extension as well to help you out and probably call out every website that you ever use, right? MARCY: I'm dropping some links for you, just now. CHARLES: There's some links to go along with the knowledge so go check them out and you are @MarcySutton on Twitter? MARCY: That is correct. CHARLES: All right. Fantastic. Thank you so much for coming by. MARCY: Yeah, no problem. Thanks so much for having me.

The Frontside Podcast
059: Build Useless Stuff

The Frontside Podcast

Play Episode Listen Later Feb 23, 2017 40:08


Show Notes: 01:11 - Doing Dumb Stuff aka “Throwaway Projects” 06:06 - Combatting Burnout 10:01 - Dumb Projects That Pay You Back 17:00 - Brainstorming and Abstraction 25:19 - chillestmonkey.com 20:19 - “The Iron Triangle”: Creativity, Accomplishment, and Learning Resources: React Native and Chill: A tale of stupid made fast by Charles Lowell Transcript: CHARLES: Hello, everybody and welcome to The Frontside Podcast, Episode 59. We're getting up there, 59. That's like, I don't know, it's not a milestone but it's something. ROBERT: It's like one away from 60. CHARLES: Yeah, it is. It's past middle age. It's like elderly. ROBERT: Start thinking about retirement. CHARLES: Yeah, exactly. JEFFREY: These are our golden years. [Laughter] CHARLES: Welcome to the golden years. ROBERT: All right. Possibly, we need to go and watch the Golden Girls. [Laughter] CHARLES: Actually, I think it was only five or six episodes, maybe 10 episodes, we were singing The Golden Girls theme so it all comes back around. We're here with a very special guest and that guest is nobody. It's just folks from The Frontside -- JEFFREY: I was hoping you would say it was Betty White. [Laughter] CHARLES: We're going to fly it solo or like tri-lo or like trio. ROBERT: Trello? CHARLES: Trello. I, of course, am Charles Lowell. With me is Jeffrey Cherewaty and Robert DeLuca. Hey, guys. JEFFREY & ROBERT: Hey, what's up? CHARLES: We were kicking ideas around and something that's been kind of percolating around the offices is a theme for 2017 is doing dumb stuff, just stuff that has no apparent value but that you can learn from. I think, we each have a bunch of these experiences where we've done something a very little import that ends up being really, really helpful, either both in the short-term and the near-term. JEFFREY: And who knows, maybe this episode will turn out the same way. ROBERT: Oh, how meta. This could become a black mirror episode. I'm start to questioning my values. CHARLES: I know for me, I recently did some explorations into React Native, which I found to be very edifying. I could obviously talk about that experience quite a bit I did on a blog post but I'm curious, if you guys recently had something that was a throw away, something that you did that wouldn't really matter if it had come into existence or it didn't but it's just so happens that in this thread of reality, it did. ROBERT: You know, I have. It's always been centered around the impagination library that we wrote here. I was always kind of intimidated by impagination for some reason because it was this big library that I didn't necessarily understand. I was like, "You know what? I'm just going to go for it. I'm going to go do something dumb with it," and then I just decided to implement the most useless infinite scroll. It solved absolutely nothing and as you're paginating through 500 records of robots from Faker, I sat down and spent six days and wrote some code and implemented it React Native and it was actually the most informative and fun thing I've ever did. I don't feel tied to it. CHARLES: Yeah, so what kind of inspired to do that? Because usually, it feels like there's this pressure to ship something. Ship something is like just go build something but the idea is that you're going to build something that people actually might use. ROBERT: Yeah, I always had that idea. Maybe you can think about it as like feeling getting cornered, like the pressure of shipping sort of pushing me into a corner. Then eventually, I just kind of lash it out like, "No, screw this. I'm out." I'm going to go do something that's not even useful. I don't care. I'm not going to try and support people or make it to something that other people can use. If that is what falls out of this, that's cool but I'm going to totally sidestep and this needs to be something that other people can use. Sometimes, when I go to build a project, I start thinking, "This is going to be in my GitHub public profile. What if somebody comes and finds it? What are they going to think about my code?" And I just shed all of that fear away, then what happened is I learned a ton. After that experience, I was like, "Whoa. This is massively valuable." CHARLES: Yeah, like hearing you talk about it makes me think about one time I went to a Picasso art exhibit and they had all these sketches that he'd made just in pencil from when he was younger and they were in studies. I guess, apparently artists do this a lot where it was like just a goat's leg. Or some old man's nose. You know, just in pencil or charcoal and these are little tropes that he later integrated into all of his painting -- ROBERT: That is an amazing way to put. JEFFREY: It's funny. When you see engineering tutorials are like, "This is how you learn to make software." A lot of times that is the way they're structured it is around studies. Like, "Make this little tiny thing that by itself is worthless but can be part of a greater whole." ROBERT: Yeah, take that impagination infinite scroll thing, I think three months later, it turned into a full on talk about co-chairing between React and React Native but it started with this dumb little project that I decided, "If I don't finish it, nothing bad happens. It just kind of sits there and rots." I feel no guilt. No pressure. JEFFREY: Would you say that was part of your blue period? [Laughter] CHARLES: Yeah, I like you [inaudible] point to like ship it. It's like we have a culture of ship it or don't. In any way, it's entirely up to you. ROBERT: I kind of thought to think about it as the extreme of ship it. Literally, just ship it even if it doesn't work. CHARLES: Right, ship it even if it's wrong. ROBERT: The other thing that I figured out was who is to determine what's wrong or right. I figured out that no one like I figured that out and I choose if it's wrong or right. CHARLES: Right, and it's like whether I learned something or whether I didn't or whether I get to be the arbiter of what I get out of this experience. ROBERT: And you almost always learn something. Always. CHARLES: Yeah, you definitely do. I think it can pay off, both in the short term and in the long term too. I know with my recent experience, I was feeling extreme burnout. I don't know... You feel like the code that you're working on or the things that you're doing have become a burden. I guess that's kind of to your point, Rob like when you are building something that it creates users. It creates code. It creates maintenance cost. It creates contributors. There's all this mass and inertia and momentum that are for it and that can be great if you own something massive, you can have a lot of momentum and it can be extremely energizing. But it can also be a burden, if it's something that you have to carry and you feel obligated to carry. ROBERT: Yeah and when you have those huge successful projects, things that come to mind like Ember or React or Babel or things like that, those are awesome. But I was always experiencing that responsibility with things where I had big plans for them but nobody knew that just by looking at the projects like it was still very much a work in progress. But I felt that feeling in my gut. CHARLES: Right and that mass and that inertia can come completely and totally from an internal source. It's both important for the project to be like these throwaway projects to be completely and totally free from all attachment, especially from your own dreams and your own ego and things like that. ROBERT: And when I learn to let go, that's when I learn that I'll learn. [Laughter] ROBERT: I'm going to learn-learn. CHARLES: I guess, the kind of greater point that I was making is that when you are able to approach a project like that, then it can be a really intense cure for burnout because you are just allowing yourself to create, you're allowing yourself to feel creative and actually deliver something whose success parameters you define entirely. I think, Brandon actually talked about this almost like two years ago with that robot. That project that he did where he was kind of in a similar situation and he really, really needed to do something that was not a web app. I think there was a series of talks that came out of it but that was primarily for the burnout case. ROBERT: I think I can agree with that. I might have been in the similar situation where I was starting to think about the feeling cornered. It was maybe because of burnout. CHARLES: Maybe those are one of the same. ROBERT: Because I felt like I wasn't producing anything and I was like, "I should be doing this stuff but I feel like I should be but I'm not," and the things that I'm doing aren't great enough because the things that I have done in the past and that's a bad way to think about it. JEFFREY: There's something so refreshing about being able to switch contexts of I've been working on this same app for a few months and doing kind of similar tasks over and over and that's such a nice way to create at really recharge like, "I'm just going to do something completely different and see how that feels." ROBERT: Yeah, I've gotten really good at writing computer properties but I want to write something else. JEFFREY: Just like anyone who does a lot of Ember, they're great at computer properties. CHARLES: It really is the equivalent of throwing a dart into a map. If you're feeling burnt out and you're looking for what to do, There are so many things like you actually aren't cornered. You have the universe of possibilities and the dumber the better. Choose something random that you can do in five minutes, do something random that you can do in an hour or a week or something like that so it has that payoff for being an answer to burnout. I've experienced where these types of activities come back and pay you back down the road. ROBERT: It doesn't have to solve a problem. I was always looking for the next project that I could build that would solve a problem. I always felt like I needed to solve a problem and I was just looking at it backwards. You should also be looking at things like it solve a problem. That's cool. But why not take a piece of technology and like, "How can I bend this? What can I do?" And exercise the different corners of this framework or do just something that's totally useless. CHARLES: I remember actually, that was something that Ryan, when he first started coming to the Ember meetups, he was asking questions about it and I think he was coming from Backbone and was -- ROBERT: Just Ryan from [inaudible]? CHARLES: Yeah, [Ryan Ralph?] from [inaudible] and he was asking questions and like, "Yeah, it's pretty good. The only disadvantage right now is you can't have multiple apps inside of a single tab," so literally he comes back the next month with a talk of how I embedded more than one app in a tab and here's what I had to do it. First thing was like, "Let's see how does it break." Let me prod at it and poke it in and just see what happens. I know I had an experience recently where I had done something really, really stupid with Amazon Lambda and I just very recently came back like the fact that I had actually gone through the process of just deploying a very dumb -- ROBERT: How dumb, Charles? Tell me how dumb? CHARLES: Remember when I was going on and on about badges and how we needed to have our own custom badges. I kept on trying to get everybody excited -- JEFFREY: I don't know that we need that. CHARLES: That was pretty much the response that I got from, I think in a poll of nine out of ten. It was 9.11 or something like that. ROBERT: -- That was cool but -- CHARLES: It was cool but no one wanted to put it anywhere. The badge was just a static SPG that was served on top of the Amazon Lambda but as part of that, I had to go through all of the steps through actually getting it to deploy. While that thing was completely useless and it was thrown away, that knowledge ended up becoming useful almost a year later or maybe six months later, something like that. I feel like it was sunny so it had to have been at least six months ago and so -- ROBERT: You know, that it's always sunny here. CHARLES: Uhh... Ish. I mean -- JEFFREY: It's not Philadelphia. ROBERT: I was trying to work somewhere. CHARLES: It was warm but it's a practice that often has long term payoffs. I guess that's just the learning aspect of it, the fact that you're going to learn something. ROBERT: The thing I want to stress here is you don't have to go into it expecting that. CHARLES: Yes, that actually is critical. ROBERT: Yeah, that absolutely is critical because then if you expect that, then the problem with all the things for me started with setting expectations. It was always I had expectations. You take them and throw them out. Toss those things out the window. CHARLES: Zero expectations. JEFFREY: Really, it's an adjustment of your expectations to where at any point, you can say, "No, I'm kind of done with this. I learned something but it's not going to turn into anything," versus the expectation of, "I'm going to make something amazing that thousands of people are going to use." ROBERT: Yeah, that's the way I always start out as like, "Here we go." CHARLES: "I'm going to take over the world." [Laughter] ROBERT: "I'm writing another JavaScript frameworks. Next step, world domination." CHARLES: Yeah, I know it's absolutely important to make sure that if this thing that you're doing just cease to exist, you wouldn't feel good or bad. It wouldn't make any difference. Very Zen, I think. Some people try to approach every aspect of their life that way. I'm not sure if that's healthy. ROBERT: That's another podcast. [Laughter] CHARLES: But I certainly think it is, if you at least allocate a portion of your projects to be that way. I think that applies to any creative endeavor that you try to undertake. Jeffrey, you had some actually some non-programming examples that you were talking about earlier. ROBERT: It ties in nicely to the Picasso thing. JEFFREY: Yeah, actually I was I'm moving right now to a new apartment and I have no architectural background at all but I am comfortable with vector graphics in Illustrator and doing things mathematically precisely in there. I do have a little bit of problem solving that comes out of this. It's not purely exploration but I've been like, "I'm moving to this new place. These are the pieces of furniture I have. How can I rearrange them and play and --" ROBERT: Did you actually set the scale correctly to your -- JEFFREY: Oh, absolutely. ROBERT: Oh, that's amazing. [Laughter] JEFFREY: --Otherwise it's worthless. ROBERT: This is a whole new world. This is awesome. CHARLES: -- Like there's an atomic gauge on the couch. [Laughter] JEFFREY: My couch is six feet, three inches and 24 angstroms. I have not reached that level -- [Laughter] ROBERT: Does Illustrator have that level precision? JEFFREY: It can go pretty far. But yeah, it's just an opportunity to play around and like in a situation where actually moving those pieces of furniture in 30 different ways would be a pain and just unrealistic but thinking about it more in the abstract and just being able to play with it at a scale that's playable with, turns it into something fun and creative. CHARLES: Yeah, I guess that's a luxury that we have, I guess in the modern era of being able to simulate so much and be able to apply this practice of total creativity in a consequence free zone where people might not have been able to do so before. Before the advent of computer-aided design, I don't think that would've been a possibility. ROBERT: There will be a lot of manual hand-drawing and sketches and stuff. JEFFREY: And now software it's at point where -- CHARLES: Or you just get your children to do it. [Laughter] CHARLES: "Move it over there." You guys are sweating but man, I'm feeling really creative. JEFFREY: Yeah, really making stuff happen here. But software has kind of reach the point where we have similar abstractions there to be able to do it, move pieces around like that. Maybe not as fluidly as I'm going to move all these squares around in Illustrator but we're at the point where we can kind of plug in pieces and see how it performs and plug in another piece and see how that performs in a way that feels maybe more creative and less scientific than getting lower down in the code. ROBERT: Honestly, I wonder if this is where React began because the idea of rerendering the entire dom every time was more performant like you just throw something at the wall. See if it sticks. I don't know but -- CHARLES: Yeah, you have to wonder. I'm actually become surprised at the origin story is not more widely known. ROBERT: Yeah, I also don't really know it. I kind of heard of it like -- CHARLES: I remember hearing about it the first time I was like, "That's crazy." ROBERT: Yeah, that sounds like it'd be massive performance hit. That sounds really slow. Why would you rerender everything? CHARLES: Right but then again, it's always getting into pre-[inaudible] optimization. We always fall down these paths of optimizing in our heads. Of course, we want to do incremental rendering. Why? Because it's faster but nobody's actually measured then realized that it's actually the dom that's slow. ROBERT: It's like opening up your world to this. It's just like you explore everything. JEFFREY: That's another thing we can take from design thinking and the philosophies around the design field that maybe aren't as recognized in engineering is the idea of simply brainstorming of being open to dozens of ideas, trying out dozens of ideas and seeing what feels right and being able to have so many ideas that you can throw most of them away. In software, so many times we get to the point where maybe we'll have two or three ideas but none of them are worth throwing away. We feel uncomfortable throwing out any work. CHARLES: Part of it is you were so busy. You have so much invested in your current track that it's very easy because your current track is on Rails. It goes forward, there's clearly a path forward and to hop off of those Rails, it require some sort of energy and are you going to be leaping into like a chasm? I don't know. ROBERT: Or in Jeffrey's case, if your computer dies and you're forced to think without a computer -- JEFFREY: That actually happened the other day. CHARLES: That was amazing. That was worth a story. JEFFREY: I forgot to bring my charger to the office so I have one of those new [inaudible] MacBook with the USB-C charger and we didn't have any backups in the office. I was hacking along on some configuration devops kind of stuff and just kept running experiments and eventually my battery died. Then I was forced to whiteboard out by what I was doing and I came way over to conclusion that I would have ever come to, if I had just been sitting on my computer the whole time. It was another case of where I needed that abstraction away from looking at the code to be able to rearrange the blocks in a way that made sense. ROBERT: Pull yourself out of the [inaudible]. JEFFREY: Yeah, definitely. CHARLES: I really like that idea. Again, I'm not being too familiar with the way that the design world works. Is that kind of like a modus operandis to have too many ideas that you can throw a bunch of them away at any given point? ROBERT: Where you start stealing pieces from all of them and you make one master design. In my digital design class -- shout out to Miss McDaniel -- she would always make us start off -- JEFFREY: Check for that in the show notes. [Laughter] CHARLES: -- She would always make us start off in a sketch book and I remember because I'm not an artist at all. If you know me, I draw even the worst stick figures: my arms and stick figures don't line up. That's how bad it is. She would always make us start off in a sketch book and it drove me nuts. But after doing it for two months, I finally realized the value because she would make us come up with five or six different design concepts. Then after I did the process a couple more times, I realized, "This actually has a ton of value." I sort of picking things from one of the other. It makes you think outside the box. The first couple of ones that I would turn into her she would be like, "You actually have three of almost the same design here. You need to think more outside the box. Think of something that's completely different." Seriously, it's just like you're throwing things at the wall. Whatever freestyle off top of the brain and just let it go. JEFFREY: I'm thinking of a concept side of exercise where maybe you're playing around with layouts for selling a magazine or something and you'll sketch them out and you'll sketch out maybe a few dozen of them but you don't get into the nitty-gritty details. You do it at a very-low fidelity where it's just pencil and some boxes and rearranging those boxes and maybe mark what that box is but you don't worry about the details of that box until you mix and match like, "That layout is not going to be great. This layout seems like it might be along the right track. I like this piece of this one. Let's combine them and make something completely different." Then once you have that high-level view, that make sense to you and you've gone through lots and lots of iterations, then you can start honing in on the high-fidelity details. CHARLES: This conversation makes me feel like there's definite poverty in our processes as software developers in the sense that what I'm hearing is that these things are just taken for granted, that these are the activities that you're going to be doing as part of design and what are we doing if not design. Each of us has these experiences that are kind of these one off things where we actually experience this creative space. It seemed very special and it seemed revelatory but really, it almost sounds like you need to make sure that it's something that you're revisiting again and again and you're doing it as integrated with your work. But I feel like it would be hard to pitch that -- JEFFREY: That's not understood to be part of the software design process. CHARLES: Maybe that's a little bit of what happens when we've put together our design documents -- ROBERT: Yeah, it just occurred to me like looking back through my history of how I landed to be a software developer, I actually wanted to be a designer first. That's why I was in digital design and stuff. I rejected design so much because I thought it was super... What's the word I'm looking for? Flighty? CHARLES: Wishy-washy? Non-committal? [Laughter] ROBERT: Anybody could walk in and say, "I don't like that design. It looks ugly. It doesn't look good," and I thought I was going to programming because it was more black and white like, "This is the right solution. That's not the right solution." As I've worked my way into my career, I actually realized they're actually really similar because you're designing software and software is abstract. As much as you want to try to think about as it's not, you start to develop this mental picture of the programs that you're developing. You're designing these things. It's just a different form of design and design is problem solving. CHARLES: In digital design, it's not artwork. It is measured by some quality. It's just hard to put your finger on but there is some kind of external measure of, "Does this fit the purpose for me, which it was made?" JEFFREY: "Does this solve the problem?" Usually, there are some expectations just like there are software of, "There's been best practices established. Did you stick to those best practices? And if you didn't, Why not?" Because sometimes there is a good reason to break those best practices. CHARLES: Right. I wonder if it would be interesting at integrating into our process like what we think of as the ideal pull request or issue reporting or design document have. It kind of similar to some of the RFC processes out there. It's like, "What are some crazy alternatives?" Not just any alternative -- JEFFREY: I don't just need viable alternative. CHARLES: Yeah, I don't need viable. Give me the in-viable. Give me the ones that are like, "What crack are you smoking? Oh, wait a second... Hmmm..." [Laughter] ROBERT: "All right. Here we go. I got it. It's got to be powered by nuclear --" No. [Laughter] CHARLES: Curious. I'm very, very, very curious. ROBERT: Let the curiosity fly. JEFFREY: Charles, do you had a blog post recently about a dumb project you built. Would you tell us about that? CHARLES: Sometimes, it gets stressful around here. Sometimes it gets stressful in life. Sometimes you just feel stress and there are a lot of things you can do to deal with it. Everybody has their coping mechanisms. For me, one of my secret weapon coping mechanisms -- ROBERT: Not a secret anymore. CHARLES: It's not secret anymore. [Laughter] CHARLES: This also will be in the show notes but I'll go ahead and say it right now is ChillestMonkey.com. If you need to enhance your chill, you can just go to ChillestMonkey.com and I guarantee you will not be disappointed. You will feel instantaneously better. I was in the point where I was feeling a lot of stress. I don't know exactly how it came up but I was actually with Stephanie and she was like, "Charles, you just got to do something stupid. You just got to do exactly what it is that we've been talking about on this podcast. You've got to just do it and you've got to do it fast and you've got to not look back and look forward." I was like, "Oh, my God. You're right." That planted the seed in my brain but then, I think it was the next day, I was talking about ChillestMonkey.com -- go check it out. You can pause the podcast right now and go have a look at it. It's really awesome -- And I was showing it to everybody and then I think Rob were like, "Oh, my goodness. We've got to have this on the Apple TV." ROBERT: It just lands itself perfectly. CHARLES: Yeah, I was like, "Yes. Absolutely we need it on the Apple TV. We need it on the Apple Watch. I need this on my iPhone," so right that minute, I hearken back to the conversation I had with Stephanie and I was like. "This is it. This is perfect scope." I have been looking to build something in React Native. Something that I can just completely and totally throw away, something that fits in a small time box and I also have this opportunity to build this thing that I really need but if it doesn't work out, it's fantastic. I went home. I think that was that very night and started hacking on React Native and took the Chillest Monkey, then put it first into an npm package. You can include it in any React Native application. Then once that was accomplished, I went out and checked the support for Apple TV had dropped literally ten days before, maybe even less. I was like, "It's a sign and this has got to happen." It was a little bit of a slog but we were able to get it up on our Apple TV and with a remote and feel that glassy touchpad, move it over to the Chillest Monkey and open it up and just see those wisps of hair and those tranquil eyes up there and six feet across. It was just such a great feeling. But it was something that was accomplishable within a day or two. I don't think it was more than that but it serve the purpose that I was able to learn a lot about React Native. I was able to learn about packaging, shared components. ROBERT: Actually, I remember we fought about flex box and what not for a little while. CHARLES: Yeah, that's right. I learned about laying out images and kind of the best practice around there. Also, I think this is important as I got to experience a win and it felt good to be able to experience that win. It felt like if I hadn't experienced it, it probably wouldn't have been that big of a deal. But the fact that I was able, it was a low-hanging target but it felt like a big-hanging target. It's hard because there's no such thing as a free lunch but kind of there is, when it comes to little projects like this because when you see something totally stupid come together and it works exactly you wanted it to work, then it feels like you've accomplished something major. I don't know if that's some sort of brain hackery or some sort of life hack or what but that was extremely good for my internal morale. JEFFREY: This is an example of a project where, maybe you didn't get as much creative juices flowing out of it. CHARLES: No. JEFFREY: But you've got a high accomplishment and learning value, which I guess are all, I call that the iron triangle of building dumb stuff. [Laughter] JEFFREY: You can have two of the three. CHARLES: On one side is creativity, on the other side is what? JEFFREY: Accomplishment. CHARLES: -- Is accomplishment, just shipping it and then on the third is time? It's the iron sticks -- [Laughter] JEFFREY: The third side was learning. That's creativity, accomplishment and learning. You can't have all three, sorry. It doesn't work that way. CHARLES: It doesn't work that way. Okay. [Laughter] ROBERT: Then you'll take on a big project, that's how you'll get all three. CHARLES: I like that. JEFFREY: In a particular project where you're having to throw tons of ideas at the wall, You're probably going to be learning, you're probably have to be very creative but your chance of shipping here is much lower. CHARLES: It's almost a detriment. ROBERT: Yeah. CHARLES: Whereas in this case it was take something that is easily accomplishable and accomplished it. JEFFREY: And you learned something from it. CHARLES: You learn and you accomplish but you're not particularly creative. But it's still a feather in your cap. I like that. It's a good way to categorize it. ROBERT: And the accomplishment is how you define it. In this case, you actually finished this project. CHARLES: Yeah. I finished it. We have it on Apple TV. ROBERT: Yeah, and like you said, you have to do that. For me, after I did a couple of these things, actually what I just do, a newsletter has come in and somebody was like, "Look at this new thing," and I'm just going to put it off to the side and then eventually, I'll stack two or three of those things together and decide, "We're going to take all three of these things, we're going to put them all together and see what happens," and that's how GraphQL and dove in to create React app. CHARLES: That's actually a good idea. I like the random newsletter driven development -- [Laughter] CHARLES: -- You're like, "I'm going to subscribe to this newsletter. I'm going to pick one thing from each week and after I have five things, I'm going to build something with those things. ROBERT: Wait. I have a dumb app idea. We could make this just a random app idea generator. It takes ten packages and you see like -- JEFFREY: A bunch are required to build the Hackernews clone. Isn't that a classic newsletter driven development? ROBERT: Or the Reddit clone? This feel like that's the React thing -- the Reddit clone. CHARLES: Yeah. I think it's more like Frankenstein driven development like you've got GraphQL, Vue.js and I don't know... Datomic. JEFFREY: Like a GRD stack -- CHARLES: No, like a rando stack. [Laughter] CHARLES: Rando.js, that would actually be a good -- ROBERT: You hear it first. It's our new JavaScript framework. CHARLES: A stack generator. JEFFREY: It's going to be a high on learning and not so much on accomplishment. ROBERT: You won't ship anything but damn will you learn? Every week! CHARLES: What is an example then? We've talked about the one where the accomplishment. I'm wondering if there's an affinity between those sides of the triangle. What would be an example of a project that was high on creativity, low on shipping? How do you approach projects like that and then make it okay to fail? Because I think, one of the things that was great about the Chillest Monkey Native was I did get to ship it. It wasn't much but it felt great. How do you prepare yourself for those projects which are high on creativity that you're not going to ship? What is one of those look like? JEFFREY: I think those kinds of projects are usually tend to be ones where you're more comfortable with the tools already so that you do have the space to be creative and you're not having to fight against, "I don't know how to do this." The learning is already been done, at least to a point to where you're comfortable enough to go, to feel loose and creative and be able to brainstorm without having to bump up against walls over and over. CHARLES: I guess, tender love is a master of that, where it's really has a deep knowledge of Ruby and systems programming and does some fun and creative. Do I say zany? ROBERT: The Ember example of this, I think it's Alex Matchneer. Matchneer? CHARLES: Matchneer, yeah. ROBERT: Sorry, I cannot pronounce names. The Photoshops, I mean those aren't exactly -- [Laughter] ROBERT: -- Those aren't exactly programming related but -- JEFFREY: High on creativity and accomplishment, low on learning. [Laughter] ROBERT: And then the Ember Twiddle is the one that I laughed out and I was like, "Can React router do this?" CHARLES: I don't actually see that one. ROBERT: Actually, it was broken when I went to look at it but the responses were hilarious. They're like, "Actually, no. I'm happy. I can't." [Laughter] ROBERT: But he always has the Twiddle and he's like, "What about this? It's like the programming equivalent of his Photoshops. [Laughter] JEFFREY: I'm wondering if there are particular, out of those kind of three different types of dumb projects that we've identified. If there are particular types that people gravitate toward like I know that I am higher on the, "Just go, do something creative with tools you already know side," versus, "I enjoy learning," but I'm more likely to want to accomplishment up things and be loosen in my creativity. I'm wondering what the breakdown is among different engineers of those different profiles. ROBERT: It's quite interesting and I wouldn't think of myself as an explorer but I feel like I'm driven by FOMO -- fear of missing out. That's where this comes from for me. All this technology that I hear so many good things about that I haven't even done anything with. I don't even have Hello, World or anything. That's usually where I start picking things up the shelf and I'm like, "What if I did redux, Vue.js and whatever else. Let's see if we can make all these things work together." CHARLES: Do you feel like you can, at least always be kind of touching? ROBERT: Yeah. CHARLES: Pinging different areas of the ecosystem? ROBERT: Yeah, I really like to see what they're doing because they all have different takes on things. I really like what Chris Freeman said, he's like, "I feel like programming is just gaining experience points." Like it's video games where you're just going through and you're getting experience points with different things. That's kind of the approach that I've been taken for the past five months. Since I discovered this, this is just like, "Oh, that look shiny." Maybe that's also driven because of our JavaScript-type cycle or whatever you want to call it, where something new is always coming out. Somebody is always reinventing the wheel. CHARLES: Whenever I see a cool demo or whenever I read a really provocative blog post that guides my exploration a lot, which I guess those things usually are extensions of some activity like what we're talking about that someone did. A lot of really good blog posts are just like, "I've been doing this stuff for five years and I have gained an absurd level of expertise on it. Let me take you to school." I definitely love those but a lot of it is like, "Look at this cool thing that I've done." Without talking about murdering names, what is it? Hakim...? Gosh, I can't remember his last name. The guy who does Slides. Some of his demos for CSS and JavaScript animations back in the day we're just like, "Woah, someone has just revealed a huge power source," and so I want to go do it. But most of that came from him just having to play. ROBERT: Jeffrey, you've actually got my brain ticking here. I'm thinking about where people fall in applying this like just go do something dumb and it doesn't have to mean anything. This makes me starting to think, "Maybe I need to go do something really creative in Ember." JEFFREY: It's making me think that I need to go do some learning -- [Laughter] JEFFREY: -- Just try some new stuff so I have new tools to play with. ROBERT: Because that's the whole purpose of this, right? I just recognized that I am not doing very creative things and the tool sets that I am comfortable with. CHARLES: Yeah, it is harmonious. The more learning projects you do, you acquire tools and then with familiarity with those tools, engenders creativity so you can see how the process feeds in to itself. ROBERT: Now, I'm going to build something creative. CHARLES: All right everybody. There you have it. Go out, build something useless, build something creative, build something that will help you learn and acquire new tools, new techniques and take you [inaudible] and do it quickly.

The Frontside Podcast
045: The New Theory of Teams with Sarah Mei

The Frontside Podcast

Play Episode Listen Later Nov 3, 2016 41:15


In this episode, Sarah Mei, founder of RailsBridge, Director of Ruby Central, and Chief Consultant of DevMynd Software, talks about the way we write software: What's right? What's wrong? How can we do better? The conversation examines changing code and reassessing needs. i.e.: "Does it bring me joy? Should I get rid of this thing? Do I understand this code?" She also talks about what these needs mean for others on a team. Sarah Mei: @sarahmei Links: Sarah Mei: How We Make Software: A New Theory of Teams @ Brighton Ruby 2016 The Life-Changing Magic of Tidying Up: The Japanese Art of Decluttering and Organizing by Marie Kondo Transcript: CHARLES: Welcome to the Frontside Podcast. I am Charles Lowell and with me is Robert DeLuca. We have a very special guest this week. One that I'm really excited about because the things she says and the ideas that she has - open eyes and minds all over the place, in all different types of areas that are so pertinent to the way we do our jobs. So, we'll get to it. Our guest today is Sarah Mei. SARAH: Hi. Thanks for having me. CHARLES: Like I said, we are super excited to have you here. Before we get started talking about some of the things that you've been thinking about recently, why don't you just give like a very brief introduction of how you got started with development, where you've been, and how has that brought you to where you're going right now? SARAH: You know, I actually was not one of these people that got started with it real early. I came to programming in college. I was an Engineering major. I wanted to build bridges. I wanted to be a Structural Engineer. I want to build things. I had a weird schedule the first couple of quarters of college, so I ended up taking an elective earlier than most people take it. It was a programming class in Fortran that was required for the structural engineering program. I took my class and I was like, "This is really cool." CHARLES: Wait, Fortran is what set the hook? SARAH: Yeah, and the professor of the class was like, "Well, if you think Fortran is cool. I've got some other stuff that you might like." I mean, the language and whatever doesn't really matter. What I liked about it was the fact that I could build something. I can get that same feeling of building something that you get if you build a bridge but you can do more than like one or two in your career, like you do if you're a structural engineer. I like the constant feeling of building. That's what I liked about it. So I ended up switching my major and graduating with the CS degree and coming out and doing a bunch of different things, mostly like starting in a large company and sort of doing smaller and smaller companies over time. CHARLES: Yeah, there's a lot of people in the industry who are career switchers, where they started out in something else and moved into Computer Science but I actually feel that a lot of people, like myself included, I have the degree in CS too, but that was not what I set out to do at all. It totally derailed, like the course of my life in a good way. But in that way, it's like a career switch within a career switch. ROBERT: I'm a little odd in that aspect. I came out of high school like ready to go in software. It worries me a little bit for the later half of my life. I'm like, "Oh, am I going to do software for the entire time?" CHARLES: Probably not. SARAH: That might be a good thing. You'll never know. ROBERT: Yeah. CHARLES: Yeah, seriously, what lies ahead? ROBERT: Who knows? SARAH: I feel like in a lot of places that are like, for example, in public policy and in other places where we need more people that understand tech so if we can send you out into other parts of the world knowing a whole lot about programming, that can only be good. CHARLES: Yeah. ROBERT: Yeah, this is actually kind of funny. I was telling CHARLES about this the other days, like I'm starting to view programming more as a tool to do the things that I really want to do and less as like the thing that I'm going to be doing forever. I wanted to augment and make things that I have a passion about easier. SARAH: Yeah, absolutely. CHARLES: Yeah, it's like software is eating the world so what you're doing now is just learning how to chew. ROBERT: That's a great way to put it. SARAH: You should tweet that. [Laughter] CHARLES: All right. Please continue. I'll ignore the typing sounds. SARAH: [Laughs] Switching careers is a really interesting thing because you end up with a bunch of experience that you wouldn't have had otherwise. I'm really excited actually about the next five years as we have all these folks that switched into programming from something else who are all becoming mid to senior level because they're bringing just such amazing experience from other parts of the world. CHARLES: Yeah, I know, right? It's like, "Where've you guys been my whole career?" SARAH: Right. CHARLES: It's like you understand these things, just almost like it's second nature of these things that are opaque and completely inaccessible to me. So anyhow... SARAH: That's how I got here. CHARLES: So then, after you kind of switched in college, you went out and did you just start working in programming immediately thereafter? SARAH: Yeah, I worked in a bunch of different product companies. I built products for a while. My first job actually out of college was at Microsoft up in Redmond and then I have worked at smaller and smaller and smaller companies. Then I spent about 10 years doing product stuff and then about 10 years ago, I switched into doing consulting mostly because I realized that I have a fairly short attention span for projects. And that working on a product, there wasn't anything wrong with me exactly but what would happen is when I was working with a product, I would get six months to a year into it and I'm starting to get antsy. I started to get bored and decided that I should just embrace that. And I switch to something where I am going to be on a new project every three to six months. I've been a lot happier since then. ROBERT: That's interesting. I wonder if that comes with seniority in software development and knowing your way around because consulting for me is I've gotten the experience of, "Oh, wow, I'm just finally getting a hang of this person's product or this client's product or app or whatever we're building," and it's, "All right. It's time to rotate off." It's like you just get in there and understanding everything. SARAH: There is that aspect of it for sure but even when I was much less experienced, even with my first couple of jobs, I noticed this tendency in myself to just get bored after six months on the same code base. For a long time, I thought it was because I'm not cut out for software or maybe I'm not very good at it or something. Eventually, I just realized now actually, it's just that I just need to switch projects. I'm just one of those people. That's how my brain works. I get a lot out of switching projects because the one that I switch on to, I see an entirely different way of doing things like code bases are so different. Even if you look at a hundred different Rails apps or a hundred different Ember apps, they're all so different. So switching on to somebody else's app, I learned a ton just out of that switching process. CHARLES: It sounds like the actual kind of studying the meta-level of the software is what really engages you and kind of understanding how the software came to be the way it is and not some other way. One of the factors that gave rise to that and kind of 'that's the problem' that really sunk its teeth in you, as opposed to individual business problem. Is that fair to say? SARAH: It has certainly been interesting to see different business problems and to understand different parts of industries and so on. That's definitely part of it for me but what really gets me interested is the different ways that people organize their code and by how they make the decisions that they make. ROBERT: Yeah, you get to see different problems that they've maybe put themselves into because of the way they structured something, which you wouldn't see if you wrote yourself but somebody else did and get to see, "Oh, I understand this pattern now." That's kind of been my experience out of it. I don't want to speak for you, but yeah, that's kind of how I've seen other client projects like, "Oh, this is really cool. I didn't think of a way to do this," and you get to experience many different things in many different ways. SARAH: You get to see a lot of the tradeoffs. Like a lot of times in a single code base, what would happen is I'd make a decision or we'd make a design decision of some kind. Then I'd see how it turned out. But there's no way for me to see how it would have turned out if I did it the other way. The nice thing about switching projects for me is just being able to see all of those tradeoffs, like the tradeoffs that you make tend to be pretty similar. You can see very similar situations where people do different things and how does it turn out for them. ROBERT: Right, and like one of my favorite things is where you go into a project that is totally against something, like for me it was object-oriented CSS and then you go in and you actually see it in practice, and you're like, "Oh, wow. This is turning a whole new light on it. I like this in this case." SARAH: Microservices are like that for me, where it's generally I am anti the microservice bandwagon. But then I went on one project where I was like, "Wow, they actually figured it out. This works really well. I can see why people like it," because I've seen so many work that was horribly executed. When you go on to the one where it's good and you're like, "Oh, this is why people do that. Okay." ROBERT: Yeah, it's like that light-bulb click, "Oh, yep. There's another side of this." CHARLES: Once you actually see it done right, it helps you avoid every other situation where it was done wrong and you can say, "Oh, this this was the one differentiator that made it all go right." I mean, sometimes it doesn't always boil down to that. But there's these one, two, three things that we could have done. But they were just completely and totally hidden from you because you didn't have that context. I would love to talk to you about microservices because I've certainly never seen it done right. I've heard it talked about and I've seen this beautiful world, picture-painted that looks so fantastic on the whiteboard. But I see -- SARAH: Oh, it's so beautiful, isn't it? It's like an object-oriented design diagram. I'm like, "Look at all the boxes and lines. They all line up." CHARLES: "They're beautiful." SARAH: "I can do this in Visio," and they're all like, the line, they are on the same shape. It was great. CHARLES: "And when I move this one over there, it just tells me that these two are exactly the same distance apart from that other one." Ah, so satisfying. SARAH: Yeah, and then you try and do it, is the problem. ROBERT: Then you build it and you cross your errors and everything. CHARLES: Which actually I think that brings us, recently -- we're talking on Twitter. I think that's actually very recently about kind of the difference between when we talk about software and the meta conversations we have around it. When we do talk about these abstract and perfect worlds of boxes and lines versus the actual code bases, which is the things that you've kind of been observing many, many, many since you've started consulting, and kind of the vibe between those and you know what that means. I think a lot of people aren't even aware like I certainly, before kind of reading that, wasn't really aware that that is a very, very distinct difference, like these are two very different modes for software. One that exists and one that is kind of perfect world. ROBERT: Kind of academia versus the real world, I guess. SARAH: In some ways, yeah. I remember when I was in college, we had a software design class as part of our degree program. We studied how you define objects and you write a little bit of [inaudible], like we did all this stuff. When I got out and I got into the real world and I had a job, I found it very difficult to actually apply that stuff successfully, to be able to draw a diagram and then turn it into code and have it work out the way that the diagram said it was supposed to work out. I initially thought that was because I was just not experienced enough to figure it out. But eventually, what I realized is that it doesn't work because it doesn't work. It really doesn't work to design things ahead of time and then just do them. I think there might be a certain type of person that can do that. I am not that type of person and most people aren't. I think that it takes a very unusual type of brain to be able to just draw a diagram that has already taken into account all of the things you're going to encounter once you start making it. CHARLES: Yeah, I would even go so far as to say there's probably a brain that solved that problem many, many times, that just could skip a bunch of steps. SARAH: Right, and they're not aware they're skipping them necessarily. Unless you have an entire team full of that type of brain, it's probably not a good idea in general, for the software that you're building as a group. I feel like I've been trying to talk about that concept between the difference of how we talked about software in books, in blogs, and in conference talks and then how we build the software we actually build. I feel like I've been trying to articulate that for 20 years, like since I have my [inaudible] and I was like, "This doesn't work. Why can't I make a diagram and then make it into code?" Like two days ago, I feel like I finally found a way to articulate it that captures everything that I've been trying to communicate and it was a really strange feeling. I'm like, "Wow, I finally kind of got it." One of the reasons that I came up with that, I think, is because I haven't really been thinking about it for a couple of months. I've been off and not really thinking about software stuff for a while. Oddly enough, I've been thinking about organizing my house for the last three months. All of my free time outside of my job has been thinking about like, "I've been learning how to cook, so how can I organize my kitchen so that the things I actually use every day, I don't have to dig through a drawer every single time to find them?" There's actually some interesting problems there like, "How do I make sure that all of the stuff that I need is at hand that I use all the time? All stuff that I need occasionally is still around and accessible, and then things that I don't use, I should probably just get rid of." I have this problem that I think probably a lot of people have which is that I have trouble getting rid of stuff once I have it. I live in a small apartment in San Francisco and that's not a good thing to be able to unable to get rid of things because in an apartment this size, I can let it go for a week or two maybe, but like I got to be very vigilant about it because otherwise, it just overwhelms the space. CHARLES: Yeah, there's a bunch of research that the people estimate vastly different the cost of acquisition versus the cost of loss, and they've [inaudible] way too much, like irrationally unbalanced like not wanting to lose something that they already have. SARAH: Even if I bought it for a need that I don't have any more or the need has changed or shifted. I don't buy things I don't need. There are some people that have that problem, that they buy a bunch of stuff that they don't have any particular plans for it. I don't have that problem, thankfully. I've had people in my family that have that problem which I think is why I have avoided that. But the problem I have is that once something is here, I find it very difficult to get rid of it. I look at it and I'm like, "I can think of all these reasons why I shouldn't get rid of it." Oh, that was expensive so the sunk cost fallacy of like, "Oh, I paid a lot of money for that even if it's not useful and I don't like it, I shouldn't get rid of it." Or, there'll be like a dress in my closet that I haven't worn for two years and I'm like, "Ah, maybe I should get rid of it," and I take it out and I'm like, "Oh, my God. But it looks really good on me. I like it. I should wear this. I should really wear this." So I'm going to keep it even though I haven't worn in for two years for some reason, but I should keep it anyway because it looks good. I have all these stories. I tell myself about why I can't get rid of things. A couple of weeks ago, I read a part of a book, to be totally honest with you, called The Life-Changing Magic of Tidying Up. It's written by this woman from Japan who's a professional organizer. Her name is Marie Kondo and her method is called KonMari. Basically, what it does is when you're trying to figure out whether you should get rid of something, you don't ask yourself, "Should I keep it?" What you ask yourself is, "Does this thing bring me joy? And if it brings me joy, then I keep it. If it doesn't, then I'm going to get rid of it." So that made it really easy, going back to the dress example. I'm like, "Does this dress give me joy?" And I thought about it, I was like, "No, the reason I don't wear it is because I went out to dinner and I had a bad experience at dinner so every time I look at that dress, it reminds me of that experience." And so it looks good and everything but I'm not going to wear it because it doesn't make me happy. So that was just like, "Okay, fine. I'm just going to give it away." And changing that question that I ask away from 'should I keep it' towards 'how does that make me feel' was a huge change for me because it's like, that's really easy to answer, where 'should I keep it' is a much harder question. There's these bunch of sort of ifs and maybes or what-ifs and what happens. I feel like that applying this KonMari question to stuff has changed the way that I calculate what stays and what goes in a very positive way. CHARLES: Yeah, boy, I need to get this book for several family members who will go [inaudible]. SARAH: Well, you know, I've got two kids and so there's a constant flow of stuff coming into the house. Because of the amount of space I have, there has to be a constant stuff going out. So this is something I just need to be very vigilant about and this has made it so that it takes up a lot less of my time and a lot less of my brain space, which is really awesome. It feels like it's moving my house in the right direction. I've been thinking about that sort of in various ways, on and off, for a couple of months and I haven't been thinking about software. I have this fear that like, maybe that means I'm never going to think about software again. I go through these phases where I've got like, "Oh, I'm going to come up with a bunch of new ideas," where I'm coming up with new ideas for some whatever reason. Maybe I'm making new conference talks, I'm doing stuff, and I'm thinking about software a lot. Then I go through these phases where I don't do that, like I sort of retrench and maybe... I don't know. I think about other stuff for a while. So it's been home organization for several months now. I was like this, "I'm never going to think about software again," because it's just that -- [Laughter] CHARLES: Career change. ROBERT: Oh, man. This sounds so much like my life since I moved down to Austin. SARAH: You know, I live in San Francisco and I'm not 25, I'm 40. A lot of it is like maybe I'm just too old for software now. I should just give up and live out the rest of my career doing quiet, maintenance work -- [Laughter] SARAH: Somewhere. I don't know. Then suddenly, this thing happened on Monday, where I was just like, "Oh, code, an organization." And boom! There it was. I realized, I was like, "I basically just had to give my brain some time off," like my conscious brain needs some time off from software and it wasn't that it had disappeared because what I came up with on Monday was really just how home organization applies to code because I realized that the feelings that I get when I'm trying to figure out what I should do with code are very similar to the feelings that I get what I'm trying to figure out whether I should get rid of a thing. I look at this piece of code and I'm like, "Should I change this? Should I get rid of this? Should I refactor it?" You know, why I can't get rid of that? We just spent two weeks refactoring it so I can't change it again. [Laughter] SARAH: We just put in a story for refactoring this and we spent three days and I can't go back to the [inaudible] people and tell them, "I need to change it more." Or, "I really like this code because I wrote it with someone that I really liked." CHARLES: So I don't want to get rid of it. SARAH: I don't want to get rid of it because then I would lose the memory of working with, you know. CHARLES: I actually can say that I have experienced that. SARAH: Yeah, there's a lot of reasons why you don't want to change code. What I was thinking about, like maybe I was asking the wrong question, in the same way that 'should I keep this' is the wrong question when you're talking about stuff. Maybe 'should I change this' is the wrong question when you're talking about code. Maybe it's sort of leading you in the same way with stuff that leads you down this conversation of reasons that don't really have anything to do with the essential quality of why the code is there or why the thing is there. We need something that helps us reassess our needs. So if our needs have changed, maybe you don't need that thing anymore because your needs have changed. Same way with code. If your needs have changed, maybe you don't need that code anymore, at least not in the form that it's at now. I think that question for code that, "Does it bring me joy," because joy is not something that I think is concrete enough when we're talking about code. I think the question for code is do I understand this? Do I understand what it's doing? Not just understand it like a very surface level of like, "Can I figure out what this syntax means?" But understand it more like the grok level of like, I understand this at a very deep level. I understand why it's here. I understand what problem it's solving. I understand why this abstraction is necessary. I understand how it got here. CHARLES: Yeah, how it fits into the bigger picture. SARAH: How it fits into the bigger picture, exactly, like the application. CHARLES: How it fits in with like our conventions that are just purely stylistic. SARAH: How does it fit in with the other stuff that we've been doing? How does it fit in with the product needs and the features we're trying to build and the business goals and all of that stuff, all of these different levels of understanding of why this code is here and what it does? CHARLES: Do other team members' understanding factor into that? Like, "Do I understand the way that other people understand it," so to speak? SARAH: I think that it can. But I think the important thing is whether you personally understand it. CHARLES: Okay, like it's a very personal decision. SARAH: I think it is. Hopefully, what you do is you want different people looking at the same code. You don't want just one person on a piece of code that no one else ever sees, whether it's pairing or code review or whether it's something else. It need to be really clear to someone is coming in and looking at that code what it does, what it means, and why it's there? CHARLES: Right. I guess the reason I asked the question is because a lot of times when I look at a piece of code, I try and really step outside of myself and say, "What will someone else think who has never been on this project before?" Or, "Who is on this project and they see this code, will they understand it?" SARAH: Absolutely. It's definitely a part of it when you're on a team. CHARLES: Yeah, so I'm just trying to figure out how that question factors into this framework. SARAH: I think that it depends a lot on how you distribute tasks. For example, if you work in a shop where you're pair programming most of the time, so there's always two people looking at a piece of code, 'do I understand this' is a reasonable question just for the two of you to consider, both from the fact that you can pool your knowledge but also from the fact that 'are there pieces of this that you understand that I don't understand' and vice versa. On the other hand, if you work in a shop where it's more like, "Here's the piece of code that you work on like you own this section of code." Then I think it's more important for you to be able to step outside and be like, "Okay, do I understand this? Would other people on my team understand this?" That can be a very difficult thing to assess and that's where I think it's very helpful to do things like code reviews, call people in and be like, "Hey, can I run some stuff by you. I'm trying to figure out if this is good or not," because what you want is you want a code base that is comfortable and understandable for you and for your team. Just like the thing that makes the KonMari Method powerful for stuff is that it doesn't tell you what you're going to end up with. It doesn't tell you what level of clutter versus cleanliness is good for you. It doesn't tell you. You either end up like something in one of these simple living magazines or end up something like Quarters, the TV show. There's a bunch of places in the middle, they're all fine. Everyone's going to fall somewhere differently along that line. So I've managed now that I've thought about this a lot to set up my kitchen in a way that is very comfortable for me, like I know where things are, I can find them really easily, things that I use are at hand. But other people come in, they're just like, "I have no idea where everything is," like it's very personal. The organizational system you end up with [inaudible] that you have is a very personal thing and that's why, if you look at something like staged houses, so you're selling your house, you hire someone to put in rugs and furniture and stuff and make it look like somebody lives there so that people can walk in and sort of imagine themselves in this space, they don't put any of that clutter into the stage. They don't put any books on the coffee table except the big picture books. They don't leave the remote controls on the couch. There's no plunger by the toilet. There's no like -- CHARLES: There's no Legos on the floor. ROBERT: Everything that looks good. SARAH: Everything that makes it more personal, they leave out because it looks like somebody else's mess. You go into something like that and you're like, "This is not my mess. This is somebody else's mess. It can't possibly be my house and I'm not going to buy it. ROBERT: Oh, do we do this for software in conference talks and posts? SARAH: Absolutely, we do. That's sounds very similar when you get someone new onto a project, especially if they're more senior and they'll walk in and be like this, I can't live like this. [Laughter] SARAH: This is somebody else's mess and clearly we need to make some changes. But that's the reason why they leave it out of the staged houses is because you want people to be able to imagine their own level of clutter and disorganization that superimposed on the skeleton. But real life is not that. Real life is somewhere between that and hoarders. There's a very interesting parallel there with code, which is like when we look at code, if we look at the object-oriented design textbooks, you look at conference talks, you look at blog post, sample code, it's all very staged house. It's very uncomplicated. It has no clutter in it and that's because you're supposed to be able to look at that. CHARLES: I mean, that clutter can distract the sales process so to speak. SARAH: Exactly, like they have an idea they're trying to get across and the clutter would distract people from the idea. But the problem there is the same with the staged house which it's very difficult to tell what it will be like once you move in. It's very difficult to take some of these ideas that you see demonstrated in these staged environments and take them and apply them to your code base which is probably closer to a hoarded house than to a staged house especially if it's a code base that existed for a while over time, that has been worked on by lots of different people. This is the problem that I've noticed with a lot like there's some really amazing books about software design that have come out in the last couple of years. Of course, Sandi Metz's book is at the top of my list. But the thing that people have trouble with, like they love the book. They love the book. I love the book. But then they find it very difficult to apply those principles when they sit down in front of a code base that has already been worked on for six or seven years, in some cases by maybe 50 different people, who knows, over time. How do you take those principles and start applying them in a way that moves you in the right direction? That's where people are just like, "I can't do this. I can't do this and I'm not going to do this." And it's very similar to a problem where you've got a very dirty house and you don't know where to start in order to move it towards something from the Simple Living magazines or are more like a staged house, you don't know how to start to get it in that direction and so you just kind of give up. The powerful thing about KonMari is that it doesn't give you like, "Here's what you're going to end up with it," but it gives you a way to get started on something that gives you a very easy question to answer. It moves you in the right direction. It moves your house in the right direction without being overly prescriptive about what you'll end up with. CHARLES: Yeah, what that direction even is. SARAH: What you'll end up with is personal for you, anyway. I think the question about 'do I understand this code' is similarly helpful and that it moves you and your code base in the right direction without necessarily giving you a lot of prescription about how you do it or where it goes or even where it's going to end up. It just gives you a question to ask that it tells you whether or not this code needs to change and a question is, "Do I understand it?" If I don't, it should probably change, and if I do, okay, we can just kind of leave it for now. CHARLES: So now, if you're working on a team where you have two different people, maybe different skill levels, maybe just a different temperament or different set of preferences, what do you do when the answer to that question is two different things for two different people? SARAH: Well, sort of like when you move in with someone. This is the hard part about living with somebody else, is that you have to mutually agree upon a method of keeping your house that is agreeable to both of you. Sometimes, when they say that working through a startup is like being married to someone, there's some elements of that because you basically have to figure out like, "Okay, we're going to live in this code together. If we're going to live in this code together, we better both be happy with it. How can we both be happy with it?" It involves usually, some compromise, like I really hate doing the dishes but I don't mind cooking and vice versa. You have to figure out. It really bothers me when there's socks on the floor but I don't care if you leave dirty dishes in the sink or whatever it is. You just have to have these conversations about, "What is going to make the code livable for you?" You basically want to end up with a code base that's understandable where all parts of it are understandable to everyone on the team. Now that's like an ideal. You're not going to get there. But that's kind of what you're going for. If you have two people in the code and you have disagreements about what is the right way to go, sometimes it can help to just be like, "Hey, I don't really understand this," versus, "I don't think this is the right decision and here's why I don't understand this." Sometimes, reframing the question in that way can prompt them to communicate reasons that they have for doing this that they maybe weren't able to articulate before, for example. Just like when you move in with someone, you need to have sort of this commitment to finding a level of housekeeping that you're both happy with. When you're working on the team, you do have to have sort of a mutual commitment to having a code base that everyone can live in. CHARLES: Right. I like that because having like, "I just don't understand this and here's the reason why," that being a completely totally valid answer because sometimes in a code base, where someone's brand new or maybe they're at a more junior level, they don't quite have the tools to understand it or there's a lot of steps that haven't yet taken. It's like understanding is not going to be accessible to them immediately. SARAH: And maybe that means that's the wrong decision for that code base, is that right? CHARLES: Right. SARAH: Because if something is abstracting to the point that a lot of people on the team don't get it, then it's probably not the right abstraction for that code base. That abstraction might be totally appropriate in a code base in which you've got folks that are more experienced who understand why it's there, who have the scars from previous times when they didn't do it, et cetera, et cetera, and they understand why it's there. There is sort of like intellectual understanding of like, "Yes, object-oriented design is a good thing," and then there's, I would call it almost emotional understanding of like, "Oh, yeah, there's this time that we didn't do that and that worked out badly for us." I think that folks that don't have the sort of experiential understanding, sometimes they just need to have that. They need to get that. Sometimes, what that means is you want to let them see what happens to a certain extent. Let them see what happens when you don't do that. CHARLES: Right. This reminds me actually, I've got three kids and the way our house is now versus the way it was seven years ago is wildly different -- the way that we live. You know, with our first child, I'm ashamed to admit it, like our strategy was just to kind of put safety locks all over everything: every cabinet, on the oven, not on the refrigerator, but just kind of 'childproof' the house so that we wouldn't have to change the way that we lived but it made the house really uncomfortable for our children. And kind of having observed that over the course of having the second and the third, there's not anything that we childproof really. We put the dangerous chemicals way up high, where only we can get them. It's a little bit more inconvenient if we need to access the bleach but that level of discomfort is something that we live with. We've always got cups that are set out on a cabinet that sits below the counter so we've got water cups set out so that the children can get water and stuff anytime that we want, and we try, for things that they're going to need, make sure that it's accessible if you happen to be four feet shorter. That's just a condition of who you are. So it means that the actual configuration of our house, even though it's the same house, is just radically different and it is more optimized or it's optimized as a compromise for the fact that there are people living in this house now that haven't learned how to operate everything but they just need to learn that the oven is hot and you don't go there rather than slapping a lock on it. SARAH: Your house is probably more comfortable for you as a group, right? CHARLES: Yes. SARAH: And what that means is that as the 'senior' in the house, it's slightly less comfortable for you in some ways but it's worth it. It's worth being less comfortable for you in order to increase comfort across the board for everyone in the household. CHARLES: Right, because it means that if the child needs water, I don't have to stop what I'm doing to get a cup out of the cabinet and fill it for them. SARAH: And they feel [inaudible] over the stuff in their house. They feel like they live there, like the house is for them. CHARLES: Yes. ROBERT: That builds comfort and confidence. SARAH: Yeah, I think that's a very good analogy. Anytime you have a group of people living together, everyone makes compromises in order for the house to be set up in the way that's optimized for the group. CHARLES: Yeah. "So man, how are we going to apply this to software? What's the next step? What are the concrete steps?" I guess it's just asking those questions, like asking, "Did I understand it?" SARAH: It is asking those questions and it's also, if you are one of the more experienced folks on the team, it's your job to elicit the answers to that from other people that are less experienced. They're not going to tell you. A lot of times, sometimes, they may or may not feel comfortable saying that they don't understand something. So it's your job to really try and figure out like, "Do they get this at a level that is acceptable? Do they understand why this abstraction is here at an intellectual level or at an experiential level, at an emotional level? Do they get it?" Which is not something you can really just ask. In many cases, it's your job to -- CHARLES: To just observe it. SARAH: To observe and to see how it works. If people are having a hard time understanding where things are in the code base, it could be because everything is so cluttered that you can't see anything or it could be that everything is so hidden that you can't see anything. It's sort of the staged house equivalent where everything is too abstracted, or is it the hoarded house equivalent where everything is just obscure and under piles of junk. Either way, no matter which direction you need to move towards the middle, the question is always, "Do I understand this?" ROBERT: I like this a lot. I keep on coming to the analogy of if you put a chef in a different kitchen where everything is just totally rearranged and they don't know where their knives are, where their measuring cups are and stuff, I think that plays perfectly in a software of like you put somebody into a code base that they don't know, "All right, I'll figure it out." It's not their home. It's not what they're comfortable with or used to. Yeah, I think this is making my brain work on how I can apply this. SARAH: Or if they're moving in like when you hire somebody and they 'move into your house', you need to be ready for things to change. And this is one of the reasons why I've been saying for many years in ways that I think maybe didn't quite connect as well as they could have, that really the team is the code and vice versa. Every time you add someone to the team or someone leaves the team, teams are not mutable. You get a completely new team. So, it's not like you can just sort of carry on like you did before. Every time you get someone new onto the team, everything gets reimagined, every breakdown of responsibility, every decision. You look at it in a new way when you have someone new come on to the team. If they're going to stay, like in your chef example, if this person is moving in and this is going to be their kitchen and they're sharing it with other people, then what you're going to end up with is probably something in between what it is when they get there and what they had before. They're going to bring in some ideas, you're going to keep some of your ideas and you're going to end up with something in the middle. The same thing has to happen with your code when you bring someone new onto the team. CHARLES: I really like the way that this just focuses the discussion and I know that you've talked about this a lot before, whether it's a kitchen or a house, this idea of the code not being so much the shrink-wrapped product. It's a structure, yes. It is definitely that but it's a structure that you, as people, inhabit. It protects you from certain things and it provides you certain things that you need to live. When people ask us why is a continuous delivery pipeline so important in automating all these things for deploying your software it's because the idea is this is going to be a living thing that your team will actually be living in. And every member of that team will be living in from the time they start with the company or start with the project until the time that they exit and the time that they leave. It's the actual living process that you want to make comfortable and pleasant. SARAH: And what comfortable and pleasant means will be different depending on who's on that team? It's not something that you can have like a -- CHARLES: It's not. SARAH: Right. This is why all of these things are like, "Here's how you design things." It always seemed to fall flat. I think it would be better titled like, "Here's how I did one thing once." [Laughter] SARAH: Or, "Here's what works for me." I feel like every conference talk that is about design could be, "Here's what works for me. I did this one thing once." CHARLES: You might want to try it. SARAH: You could try it. It might work for you, it might not, right? CHARLES: Right. SARAH: A lot of times where conference talks fall flat and blog post and everything else was why they're more like, "This is how you do it. This is the right way to do it." You're like, "Well, it certainly works for you." [Laughter] ROBERT: The one time I gave a conference talk, the night before I went through every slide and scrutinized it as much as I thought somebody out in the public would do it. And I think that might be where we go through in a 'stage our code'. It's like we're trying to make it perfect for somebody that might come through and scrutinize it or criticize. Because I know when I was going up to put those slides up, I wanted to make sure it was the best foot I could possibly put forward. CHARLES: Right, we don't want to be wrong but I think that's where it actually, thinking of it as 'this is what worked for me' and this is an example from my house that worked. This is a way that I organize my code and my space. That'll not take a lot of pressure off of not having like, "I am right and I'm an authority at saying that this is the right way." That's a lot of pressure. SARAH: I don't even like that. I try and frame a lot of the things that I talk about as like, "Here's the thing that works for me really well. Maybe it'll work for you too. Let me know." CHARLES: Yeah. ROBERT: Yeah, that's how I give it. CHARLES: Up until really about two years ago, I felt like that was the expectation that was put on people is to say the right thing. SARAH: That's true. And I think that there's a lot of teams where that is an unspoken requirement and that's something that we should examine. Because even within a team like 'here's a thing that works for me or here's a thing that worked on my last project' isn't very different from saying something like, "Well, industry best practice --" [Laughter] SARAH: And I think that like you get to a certain level of experience and people expect you to say things like that. In my experience, the best way to do it is 'blah'. I mean, it's not actually a super useful statement because your past experience may or may not be directly applicable to the thing you're looking at right now, no matter how experienced you are. I think that it's much more friendly to have a range of experience levels to say things like, "Well, this worked for me on this project. Let's talk about whether it could work here." CHARLES: Right, yeah. ROBERT: I really like that. CHARLES: I do. It's so hard because your human nature is to try and boil things down into a simple binary. SARAH: People would love to have a list of rules, I'll tell you that. This is a problem. This is one of the reasons why I think it's important for us to come up with these questions that you can ask that will move you in the right direction without giving you rules, that will move you in the direction of finding the rules that work for you. Because rules themselves, people really, really, really want them. But they're always misused. They're always misunderstood and what you really need are the questions that led you to those rules in the first place. That's what people really want, although maybe that's not what they are asked. ROBERT: Ah, the Steve Jobs approach. SARAH: [Inaudible] to start wearing black turtlenecks. I hate turtlenecks. ROBERT: And New Balance shoes and the jeans. [Laughter] SARAH: But yeah. I think it's one of those things where people are very hungry for guidance. But we've been giving them the wrong kind of guidance. We've been trying to give them rules. When what we really need to do is give them questions to help them develop their own judgment. ROBERT: Right. Like when I was coming up, I thought, in everything, there was a right way to do it and a wrong way to do it. I've been slowly, sadly figuring out that it's not all black and white and it's not all just logic. I've always treated programming as like, "Well, they wrote this and it's just logic so I should be able to understand this." It's been a long road to come to this conclusion that kind of like what you're talking about and this has been enlightening for me. Like you are going to solve your problems your own way, your own person, and you'll think about things differently. I really like the analogy of 'this is your house and this is how you work and live in your house'. SARAH: Right, and no one would tell you in order to be a proper human being, you have to set up your house this way. ROBERT: Exactly. SARAH: We feel comfortable telling people, in order to be a professional developer, you need to set up your code this way. I think that those are very similar statements and we should really examine a lot of these 'should' statements that are all over the place when you're talking about software. Think about whether or not they're actually serving us in our mission of doing more things with tech. Like overall, my mission here is for people to be more effective with code so that we can do more interesting things with it. I live in the TV show, Silicon Valley, essentially so I'm surrounded by these companies that are solving these little tiny problems and I'm tired of it. I want us to solve bigger ones. In order to do that, we need to get better at coding. We need to get better at managing code over time and that's what I'm trying to do. CHARLES: Because it's not going to scale, otherwise. We're out of time. We're going to have to have you on the podcast again because I don't think we've got to... what? About 15% of the things that we want to talk about? SARAH: Oh, we are overtime, aren't we? CHARLES: Yeah. But thank you so much, Sarah, for coming on and talking with everybody. You drop real quick your Twitter handle so that if people want to have follow on discussion, they can reach out to you that way, or your other preferred means of contact. SARAH: Yeah, Twitter is probably the best. My Twitter is @sarahmei, and that's mostly where I am. CHARLES: All right. Well, fantastic. As always, feel free to reach out to us too. I'm @cowboyd on Twitter. And what are you, Rob? ROBERT: @robdel12. CHARLES: All right. It's a wrap. Thank you so much, Sarah, and we'll see you in Ether and hopefully we'll have you on the podcast again sometime.

PittsburghPodcastNetwork
The YaJagoff! Podcast | Leslie Gray, The Steel City Medium

PittsburghPodcastNetwork

Play Episode Listen Later Oct 10, 2016 56:57


October 10, 2016 #YaJagoffPodcast / Episode #041 Get ready for the wildest conversation on our podcast yet. Leslie Gray, The Steel City Medium, is with us talking about her skills in relating to the dead, helping out with crime investigations and how she honed her craft! If there was a goose bump emoji, we’d insert it here! We were at Monte Cello’s Italian Restaurant on Babcock Boulevard in Ross Township. Why there? Because it’s haunted! Lisa Shalcosky, the Manager, tells us about “Robert” the in-house ghost plus the wings, chicken, pasta, pizza and wraps that we had! VIEW the Episode Promo Video: LISTEN to the Podcast show right here below or on iTunes, Apple Podcasts, Google Play Music, Stitcher Radio, Soundcloud, Overcast, Pocket Casts, and Tunein Radio via the “Pittsburgh Podcast Network” channel. YaJagoff! Podcast - SHOW NOTES: Episode 41, Leslie Gray, The Steel City Medium Music: Mace Ballard, “1701” 001:04 Comedian John Knight (and Presidential Candidate for the Jagoffs Party because #HesNotTheOtherTwo) is the substitute co-host. He loves ghosts! So he went with Ghosts N’at to tour the Carrie Furnace site. He wrote a blog post about it. 03:49 First up is Lisa Schalcosky, Manager of the Monte Cello’s. Who is “Robert?” Oh, just ghost of a guy that died there years ago and now gets Lisa paper towels in the restroom! Yep! 09:18 Tasha from The Food Tasters jumps in about the food AND she gets the first reading from Leslie Gray. What’s Leslie’s suggestion for Tasha’s future career? Plus, an exclusive Food Tasters Tip about one of the off-menu items. 17:48 Leslie Gray, The Steel City Medium… We can’t possibly write all of the stuff we talked about but seeing heaven and seeing dead people is a good start, huh? 41:12 Questions from the audience about aliens, the Big Bang Theory, seeing people in dreams and heaven and… 55:07 Big thanks to all of the people who came out, Leslie Gray, Lisa and the super kind staff at Monte Cello’s on Babcock Boulevard. Find daily #Jagoffs posts at www.YaJagoff.com How to Listen Regularly: All shows on the “Pittsburgh Podcast Network” are free and available to listen 24/7/365 worldwide. Audio On-Demand in-your-hand, on smartphone, tablet, laptop and desktop computers. – APPLE users can find us on the iTunes and Podcast app. – ANDROID users can find us on Google Play Music, – ALL users can listen on computers, tablets, and smartphones via RSS, SoundCloud, Stitcher Radio, Overcast, Pocket Casts or tunein radio, website or apps. * SEARCH: Pittsburgh Podcast Network iTunes • Google Play Music • SoundCloud • tunein radio • RSS • Website Thanks To: Photo Credits: The Food Tasters & The Pittsburgh Podcast Network Production: Frank Murgia & Wayne Weil How to Follow Everyone on Twitter: The Podcast@YaJagoffPodcast John Chamberlin@YaJagoff Craig Tumas@CraigTumas John Knight@JKnight841 Jason Havelka@SportsMongerPGH Mace Ballard @MaceBallard Leslie Gray @SteelCitymMediu (that’s NOT a typo) Monte Cello’s Babcock Boulevard @MonteCellos Ghosts N’At @ghosts_nat The Food Tasters@TheFoodTasters Pittsburgh Podcast Network@PghPodcast Produced at talent network, inc. @talentnetworktv by the Pittsburgh Podcast Network @pghpodcast

New Philadelphia 2013

Sunday, November 24, 2013 Sunday Service (Hillside Campus 1pm) Speaker: Robert Oh Duration: 00:42:11

ELT Podcast - Basic Conversations for EFL and ESL
Basic Conversations - Introductions

ELT Podcast - Basic Conversations for EFL and ESL

Play Episode Listen Later Mar 2, 2007 2:03


This is a basic introduction between two people. You will hear it three times: first at a regular speed, then at a slower speed, then at the regular speed again. Robert: Hi, I'm Robert Chartrand. Bill: Hi. I'm Bill Pellowe. Nice to meet you. Robert: Nice to meet you, too. What do you do? Bill: I'm a university teacher. How about you? Robert: Me too! What university do you teach at? Bill: I teach at Kinki University. And you? Robert: Oh, I teach at Kurume University.

conversations basic esl efl learning english elt english as a second language robert oh elt podcast english as a foreign language bill hi
ELT Podcast - Basic Conversations for EFL and ESL
Basic Conversations - The Weekend

ELT Podcast - Basic Conversations for EFL and ESL

Play Episode Listen Later May 19, 2006 2:30


This is a basic conversation about the weekend. First, you'll hear it at a normal speed, then at a slower speed. Next, you'll hear some practice drills. Finally, you'll hear the conversation again at a normal speed. Robert: Good morning, Bill. How are you today? Bill: Good morning, Robert. I'm all right. How are you? Robert: Pretty good. Did you have a nice weekend? Bill: Not bad. I went to the movies on Saturday night. Robert: Oh yeah? What did you see? Bill: I saw the new Harry Potter movie. Robert: Did you like it? Bill: Yes, it was excellent! Practice A: I went to the movies. B: Oh yeah? What did you see? A: I went to a new restaurant. B: Oh yeah? What did you eat? A: I went shopping. B: Oh yeah? What did you buy? A: I went for a drive. B: Oh yeah? Where did you go?