Podcasts about robert you

  • 20PODCASTS
  • 33EPISODES
  • 34mAVG DURATION
  • ?INFREQUENT EPISODES
  • Apr 2, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about robert you

Latest podcast episodes about robert you

The Patrick Madrid Show
The Patrick Madrid Show: April 02, 2025 - Hour 3

The Patrick Madrid Show

Play Episode Listen Later Apr 2, 2025 43:13


Patrick brings forward profound discussions about life's priorities through heartfelt calls. David reflects on the true value of time and possessions as he faces terminal illness, offering a sincere perspective on what's truly important. Patrick also engages with John, learning about the spiritual significance of final sacraments and apostolic blessings as shared through John's touching story about his late father. The episode further explores aspects of Catholic faith, from the meaning of the Eucharist to the inspiring story of faith in the book of Job. Whether it's about faith, family, or understanding spiritual truths, Patrick captures the essence of living a purpose-driven life. David (email) – I have non-curable cancer, and money means nothing to me (00:41) John – My father passed this weekend. How does the apostolic pardon work? (03:13) Robert - You can do good or bad with wealth. Look at Job, who was wealthy yet loved God. Wealth is neutral. (09:15) Jennifer - My friend took the Host from a Satanist (18:27) Jane - What is the Church ruling on changing the words of scripture for the readings? (22:12) Shawna - Can you refer me to why Mary is not in the Bible more? (29:11) Jack - If you don't have last rites, but a priest comes to you, do you get a default plenary indulgence? (36:08) Tara - Why was the Eucharist not mentioned in the Creed? (38:58)

Training4Manhood
A Message to Fatherless Young Men

Training4Manhood

Play Episode Listen Later Feb 10, 2025 28:10


Guest: Robert Christian   Guys, if this message is meaningful to you and you'd like to email Robert Christian directly, you can reach him at robjonchris@gmail.com Words of wisdom and encouragement from Robert: You are qualified God is a good father God wants the best for you God will discipline you You are created to glorify Him You do that through obedience   Resources for more encouragement: Man Alive by Patrick Morely Kingdom Man by Tony Evans The Resolution for Men by The Kendrick Brothers Abba's Child by Brennan Manning Happiness is a Serious Problem by Dennis Prager Knowing God by J.I. Packer Disciplines of a Godly Man by R. Kent Hughes   T4M guys - just a reminder that Training4Manhood is a non-profit, 501(c)(3) ministry and you can make donations either via Zelle (info@training4manhood.com) or by visiting the Training4Manhood website. Huge thank you to Jared Wood for allowing T4M to use his music in our intro and outro selections.

The Patrick Madrid Show
The Patrick Madrid Show: November 19 2024 - Hour 1

The Patrick Madrid Show

Play Episode Listen Later Nov 19, 2024 51:03


Patrick addresses a thought-provoking question raised by a listener regarding Mark 13:32, where Jesus states that only the Father knows the day and hour of the Second Coming. Patrick explores the mystery of Jesus' dual nature—being fully divine and fully human—and how it relates to His knowledge and understanding. Drawing from theological insights and referencing the early Church's teachings, Patrick provides a clear and accessible explanation of these complex doctrines.   The Associated Press is now maligning the Jerusalem Cross, which has been worn and carried by Christians for 1,000 years, as a “white supremacist” symbol (00:41) Robert - You suggested a book which I am really enjoying called “The Hidden Mana”. Thank you! What is the inner and outer form in regard to church authority? (10:06) Joe - What do you think about 7th day Adventist? I am talking with someone who is pretty against the Catholic Church. (22:31) Joshua - Is Sampson from the Old Testament a saint and worthy to be prayed to? (31:11) Barbara - Mark 13:32. What does it mean that the Son doesn't know the time of the coming? Since he is God, I thought he would know. (36:53) Mike - What I like about your show is how you listen to people!  (47:35)

Studio Sherpas
402. The Role of Creatives in Society with Robert Teegarden

Studio Sherpas

Play Episode Listen Later Sep 9, 2024 41:48


Robert Teegarden, owner of Create Your Own Path Productions, shares his journey into running a video business and the importance of creativity in society. He discusses the role of creatives in shedding light on different perspectives and telling stories.  Robert emphasizes the need for creatives to respond to the needs of the world and act on their ideas. He also highlights the value of consistent practice and getting the reps in to improve one's craft. Robert's work today focuses on small business video marketing and production in the health and wellness and music niches.  The conversation explores the importance of consistent and high-quality visual communication in building brand value and perception. It emphasizes the need for creatives to understand the business side of their work and translate their creativity into tangible ROI for clients. The concept of repurposing content and creating a suite of services is discussed as a way to maximize value for clients.  The conversation also highlights the power of behind-the-scenes content in humanizing brands and building authentic connections with consumers. The key takeaway is to focus on the purpose and joy of being a creative and to remember the impact and value of the work being done. Key Takeaways  Creatives have a unique role in society to shed light on different perspectives and tell stories. Responding to the needs of the world and acting on creative ideas is essential. Consistent practice and getting the reps in are crucial for improvement. Small business video marketing and production can be focused on specific niches like health and wellness and music. Consistent and high-quality visual communication is crucial for building brand value and perception. Creatives need to understand the business side of their work and translate their creativity into tangible ROI for clients. Repurposing content and creating a suite of services can maximize value for clients. Behind-the-scenes content is powerful in humanizing brands and building authentic connections with consumers. Focus on the purpose and joy of being a creative and remember the impact and value of the work being done. About Robert Teegarden Robert is a life-long creative. He started as a musician and has traveled the world performing as a vocalist and bassist. He has a Masters and undergraduate in Music Business and worked in the industry for 15 years.  In his early 30s, he left his corporate job and started making short films and the rest is history. He has been the creative alongside Ron "Boss" Everline, Kevin Hart's personal trainer and business partner, and worked with several multinational brands like Chase, Yamaha, Easton Sports Cellucor and more. In This Episode [00:00] Welcome to the show! [04:19] Meet Robert Teegarden [07:51] A Creative's Role In Society [11:51] Robert's Journey Into Production [23:40] Maximize Value For Your Client [39:41] Connect With Robert [40:27] Outro Quotes “We occupy a very specific role in society and we have this need and ability to be able to kind of make sense of the world around us. And having that understanding that your work matters and the stories that you're telling matter and your ability to do that is a skill set that not very many people have.” - Robert Teegarden “We have a role and a purpose, and it's to be able to shed light on these things, the nuance of what life, society, and culture is. And I don't think that that's a job set for just every person to have. It's a very specific way that you have to view those things. It's a gift, really. It's a privilege to be able to do it.” - Robert "You talk about there being a need in the world and, as creatives, some of us see that need and then respond to that need.” - Ryan Koral “I think a huge Cardinal sin is like you have these beautiful spaces that you create as a small business and then you just don't have the communication, the outbound communication to back that up." - Robert Guest Links Get your copy of the Video Marketing Playbook Find Robert Teegarden online Follow Robert Teegarden on Instagram Links Find out more about the Onward Summit Join the Grow Your Video Business Facebook Group  Follow Ryan Koral on Instagram Follow Grow Your Video Business on Instagram Check out the full show notes

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.

Remarkable Marketing
The Hacker Chronicles: B2B Marketing Lessons from the Award-Winning Podcast with Jérôme Robert, CMO & Chief of Staff at Tenable

Remarkable Marketing

Play Episode Listen Later Oct 27, 2023 48:36


Hear us out. A children's book, a novella, a fictional crime podcast, but make them B2B. Because B2B marketing doesn't have to be a webinar, a blog post, an email newsletter… Every B2B company does those. Today we're challenging you to rise above the noise and make radically different content. In this episode, we're learning from a company that has created B2B content as all three: children's book, novella, and fictional crime podcast. That company is Tenable. We're chatting with their CMO and Chief of Staff, Jérôme Robert, about the art of creating fictional content that feels realistic, lived in, and resonates with your audience while also improving brand affinity. So grab a coffee from your local barista, tip well, and settle in for this episode of Remarkable.About our guest, Jérôme RobertJérôme Robert is CMO and Chief of Staff at Tenable. He previously served as Managing Director of Alsid's U.S. operations. His responsibilities included enabling users to harden their Active Directory and detect attacks. and supporting PSG. Prior to Alsid, he served as SVP of Product and Marketing at EclecticIQ. He has also worked at companies like Orange Cyberdefense and Arkoon Netasq.About TenableTenable® is the Exposure Management company. Approximately 40,000 organizations around the globe rely on Tenable to understand and reduce cyber risk. As the creator of Nessus®, Tenable extended its expertise in vulnerabilities to deliver the world's first platform to see and secure any digital asset on any computing platform. Tenable customers include approximately 60 percent of the Fortune 500, approximately 40 percent of the Global 2000, and large government agenciesAbout The Hacker ChroniclesThe Hacker Chronicles is a podcast about a barista named Alice who's struggling to make ends meet, and that's when a friend suggests buying a Ransomware-as-a-Service kit. So she starts exploring the Dark Web as a way to make some extra cash and ends up becoming America's most wanted hacker. It's now in its second season, “Digital Nomad”. It stars Chloe Taylor as Alice Mitnick and Michael C. Hall as John Doe. And it's presented by Tenable.What B2B Companies Can Learn From The Hacker Chronicles:Create marketing content in a non-marketing genre. Like a children's book, like a fiction podcast. Because not only will you appeal to marketers, you'll tap into a much broader audience who enjoys the story. Ian says, “What I heard a ton of when we launched season one was, ‘I don't normally listen to podcasts like this, but I binged it with my girlfriend,' or, ‘I listened to the entire thing in the car.' We talked a lot about, ‘How do we make it bingeable?'Ground your fictional characters in a real world. Make your content resonate with your audience by creating hyper realistic scenarios. Accuracy in the details is key. Ian says in creating the storyline, “The characters had to experience the world in a certain way in order for it to feel real. Like, they need to have real stakes. They need to have real relationships. They need to have real pressures.” And Jérôme adds that, “W​hen you see a movie and there's a supposed hacker, but you see their screen and it's a dumb script that they are running that has nothing to do with cyber security, when a cyber security person watches this movie, we're like, ‘This is awful. I can't stand it.' That's exactly what I didn't want. So everything [the main character Alice] does has been thought through and is realistic.” The Hacker Chronicles is based on a lot of real hacks, and so anyone in the cybersecurity industry would believe it.Get rid of ads. Try entertainment instead. Jerome says, “Everybody believes that the opportunity for ads is shrinking dramatically. People don't like interruptions. You have to provide something that is enjoyable. That rewards your audience.” And he said after bringing this up, his team no longer got pushback from the leadership on updating their marketing strategy.Quotes“Tenable was one of the founders of cybersecurity as an industry. And there's a lot of good things that come with that heritage. But there's also the tendency to not try new stuff from a marketing perspective. And there were people at the company when we joined that had an innate desire to challenge that.” - Jérôme Robert“You have to be self-critical about what you're doing all the time. It's not easy, I think, from a brain gymnastics standpoint. It involved a lot of effort, but it's very rewarding. You're very happy when you end up with something that you think cannot be attacked, cannot be challenged. I mean, yeah, they could say they don't like it, but they can't say it's wrong. You have the eureka moment when you think, ‘Yeah, we got it.' It's very cool.”  - Jérôme Robert *”You do something that is fundamentally different from the rest of the industry, you are going to stand out. Which is, as marketers, what we're looking for. But as a company that is managing their risk doing something that makes the company stand out creates mixed feelings. They think, ‘If the outcomes are not what we hoped for it's a huge risk, it could backfire, and you don't have any ROI to put in front of it, so, no, I'm not going to do it.' There's too much risk in being different, somehow. And I think that's totally overstated. I think, notably in an industry where the marketing practices are very mature and very identical from one company to another, there's very, very little downside in standing out, in doing something that is entirely different.” - Jérôme Robert  Time Stamps[0:55] Meet Jérôme Robert, CMO & Chief of Staff at Tenable[1:57] What does Jérôme do at Tenable?[5:45] What is The Hacker Chronicles?[11:26] About the inspiration behind The Hacker Chronicles[17:17] The importance of realism in a fictional piece of content[19:39] How scary is it to make a primer on hacking as a cybersecurity company?[35:30] How do you prove the ROI of content?[40:02] Why does Jérôme have a long-term approach to content like a podcast?[44:40] How does Jérôme tie the podcast back to Tenable customers?LinksListen to The Hacker ChroniclesConnect with Jérôme on LinkedInLearn more about TenableAbout Remarkable!Remarkable! is created by the team at Caspian Studios, the premier B2B Podcast-as-a-Service company. Caspian creates both non-fiction and fiction series for B2B companies. If you want a fiction series check out our new offering - The Business Thriller - Hollywood style storytelling for B2B. Learn more at CaspianStudios.com. In today's episode, you heard from Ian Faison (CEO of Caspian Studios) and Meredith Gooderham (Senior Producer). Remarkable was produced this week by Jess Avellino, mixed by Scott Goodrich, and our theme song is “Solomon” by FALAK. Create something remarkable. Rise above the noise.

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.

Success Fundamentals
How To Become Elite with Robert Badstein

Success Fundamentals

Play Episode Listen Later Apr 2, 2022 52:49


HIGHLIGHTSFinishing the last 20% is harder than getting to the first 80% You require obsession to achieve elite status Your path to success will differ based on your goals Aim for a healthy body, mind, and spiritThink of the journey, not just the end goalStrength comes from stress It's all about training Celebrate all your victoriesQUOTESRobert: It's difficult at first. I think sometimes, you need to go off track to get back on track, if that makes sense." Robert: "You just gotta appreciate the positive more than the negatives of whatever you're trying to be elite at. If you're trying to be an elite football player, if you love football that much, I don't think you're gonna care about the things you got to give up." Kris: "The illusion of being elite, the illusion of being great is, when you think of that, you think of the end goal. People tend to emulate the end result, not the journey." Robert: "It's all training. You're training your mind, you're training your spirit, you're training your body. I started to think about coordination, like people sometimes come in and say oh I'm not very coordinated. And it's like, you never put in the time to build that coordination. You never made the connections in your brain to help your body do what you want it to do. Whenever you're learning a new skill, you're just making new connections in your brain." Robert: “Somebody comes in, they don't have to be older, then can be younger and in pain they're not able to do stuff they used to be able to do and then they break through that barrier. And now they can do something simple like walk around the grocery store and not be out of breath or something like that. Those are really huge wins, those are life-changing wins."Learn more about Robert in the links below: Website: https://believeadultfitness.com/LinkedIn: https://www.linkedin.com/in/robbadstein/Follow Success Fundamentals on the following links below: Website: https://www.successfundamentals.com/YouTube: https://www.youtube.com/channel/UC4XCvuwxnFi5_7C6Ncm12xQLinkedIn: https://www.linkedin.com/company/success-fundamentals™Facebook: https://www.facebook.com/successfundamentalspodcastInstagram: https://instagram.com/successfundamentalspodcast

Purpose Highway™
S2 Episode 27 - Unlikely Transcendence with Rob Sanderson

Purpose Highway™

Play Episode Listen Later Jan 11, 2022 44:11


HIGHLIGHTSLeaning on spirituality for police work Can spirituality fill the gap between police officers and the community?Quitting the police force and ruminations on use of force Surfing as a way to decompress for service personnelBridging the gap between community and police through surfingMaking waves and reaching more communities QUOTESRobert: "Spirituality is just a thread you're constantly trying to reel, in to keep yourself grounded and whatever that might be, so that you can remain good, and you can remain of service and not look at the world through this kind of, jaded lens."Robert: "You really need to lean in to your values and spirituality in order to hold on to that humanity. Far too often, people in that profession, and you often see that in veterans as well, just put up this wall where they just can't take anymore and they just become a robot. And, they have no emotion. They can't be empathetic to people. And that's when you get the bad outcome." Scott: "Spirituality at least, arguably, connects us to something larger. But, I would be utterly remiss, particularly in this day and age, if I didn't point out that in many communities, there is a profound disconnect between the officers that are serving the communities, and the members of the communities themselves." Robert: "Police, fire, veterans, military, they are constantly in a state of hypervigilance, right? Always looking over their shoulder, whether it's for physical violence, or safety, or to help  somebody. They always wanna radio. Some of them carry a weapon. We're constantly scanning, and worrying and then guess what, your family is there and they're pinging you."Robert: "I want to continue for SWEL to be, and it says in our strategic plan that we're stewards of the community. We're providing inclusive opportunities for other communities to experience this and maybe experience this with a service man or woman as well. Really, my vision is to scale and to continue to make trips and perhaps even have dedicated spot at the beach to where we have everything lined up."  To find out more about Robert, please see the links below.Linkedin: https://www.linkedin.com/in/rob-sanderson-44419b1a9/Website: https://www.theswel.org/Facebook: https://web.facebook.com/TheSWELmission/Instagram: https://www.instagram.com/theswelmission/To hear more of Scott Mason and the Purpose Highway™ podcast, join our community at https://purposehighway.com/ and subscribe to get notified when new episodes go live.

Business Owner Elevation Podcast
BOE-S2126 - The Secrets To Finding Your Own Voice with Robert Kennedy

Business Owner Elevation Podcast

Play Episode Listen Later Nov 29, 2021 29:39


Welcome to another edition of  the Business Owner Elevation podcast! Today, I have another great guest, Mr. Robert Kennedy III. He became a teacher for a while with music groups formed, led and recorded. Robert also started several businesses and really loves technology. He also became a news anchor, classroom teacher, and technology trainer. Now, he works with business leaders who need to connect with their teams, especially on video and uses different tools to help business leaders. The conversation started on some information about Robert as he shared his love for music and how his interest changed. He also shared his experiences before he started being an entrepreneur. Robert shared that he worked in the mental health field for about three years and became a supervisor. Suddenly, he made some realizations and resigned from his job. After being in the mental field, he started teaching science and his career in teaching lasted for 7 years. He certainly enjoyed teaching but he knew that he is not one of those teachers who will last for decades in the field. Soon he started an internet radio station in the early 2000s. And this paved the way for him to think of another business that he can start with, which is incorporated with his love for technology. Find out more about how Robert became a successful entrepreneur with his experiences, creativity, and passion. More tips and strategies from Robert, better to  stay tuned. Enjoy!   FREE!!! Robert will be sharing a document on how you can get people's attention at the beginning of your speech or any presentation. It is called 21 Questions and if you want to get a copy to be sent to you just text 21 Questions to 4109364049.   Here are a few insights you'll hear in today's podcast show All about Robert Kennedy Different structures and frameworks to help business leaders Lessons that Robert learned from his experience The importance of paying attention to people How being confident can change your life What are the 4Cs' method? And many more!!!   Success Quotes “As we go through life, we have these milestones, or these moments where we look back, and we see some of the common threads.” -Robert “If you want them to pay attention to you, then you have to pay attention to them.“ -Robert “You've got to believe that you've got something amazing to share.” -Robert  “Facts tell, stories sell.” - Robert    Links and Resources   Robert's books:  Find Your Voice: 28 Secrets To Inspire You To Speak Up 28 Days To A New Me: A Journey of Commitment   Books recommended by Robert Talk Like TED The 9 Public-Speaking Secrets of the World's Top Minds by Carmine Gallo   THE COMPOUND EFFECT JUMPSTART YOUR INCOME, YOUR LIFE, YOUR SUCCESS by  Darren Hardy   Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones by  James Clear   Secrets of the Millionaire Mind by T. Harv Eker   Connect with Robert Twitter Instagram LinkedIn Facebook YouTube Website   Connect with Leon YouTube Facebook Website Instagram

Extraordinary Man Podcast
091: Ep. Recap Robert Smith - From The NFL to Successful Entrepreneur

Extraordinary Man Podcast

Play Episode Listen Later Oct 2, 2021 10:26


In this episode I give a quick recap of my interview with Robert Smith including: - Why his dad is his role model and what he taught him about being a man- The biggest lessons he learned playing football at Clemson under head coach Dabo Swinney - How he transitioned from the NFL to entrepreneurship and the skills he used to quickly became successful And so much more...  Robert Smith grew up in St. George, South Carolina and is a former 4 year starting safety for the Clemson Tigers football team under Head Coach Dabo Swinney.After an outstanding college career Robert was signed as an undrafted free agent by the Indianapolis Colts and after being signed and released a combined 9 times by the Colts and Seattle Seahawks he decided it was time for a transition from the NFL. After the NFL Robert became an entrepreneur and launched a franchised neighborhood magazine. He is consistently one of the top producers in the company and won the “Big Dog” award for having the most significant impact in the company.Click Here to connect with Robert*************************************************************You will never maximize your potential on your own so I'm personally inviting you to come and join me in the private Extraordinary Man Facebook group so you can level up your business and your life. Just Click Here to join the Extraordinary Man private Facebook group. Iron sharpens iron and this is the #1 place for you to connect with me and other like minded men who are on a mission to maximize their potential. My goal is to help you become the man God created you to be in all areas of your life. So come and join us in the Facebook group and upgrade your business and your life.

Extraordinary Man Podcast
090: Robert Smith - From The NFL to Successful Entrepreneur

Extraordinary Man Podcast

Play Episode Listen Later Sep 29, 2021 43:01


Robert Smith grew up in St. George, South Carolina and is a former 4 year starting safety for the Clemson Tigers football team under Head Coach Dabo Swinney.After an outstanding college career Robert was signed as an undrafted free agent by the Indianapolis Colts and after being signed and released a combined 9 times by the Colts and Seattle Seahawks he decided it was time for a transition from the NFL. After the NFL Robert became an entrepreneur and launched a franchised neighborhood magazine. He is consistently one of the top producers in the company and won the “Big Dog” award for having the most significant impact in the company.In this episode, we discuss:- Why his dad is his role model and what he taught him about being a man- The biggest lessons he learned playing football at Clemson under head coach Dabo Swinney - How he transitioned from the NFL to entrepreneurship and the skills he used to quickly became successful And so much more...  Click Here to connect with Robert*************************************************************You will never maximize your potential on your own so I'm personally inviting you to come and join me in the private Extraordinary Man Facebook group so you can level up your business and your life. Just Click Here to join the Extraordinary Man private Facebook group. Iron sharpens iron and this is the #1 place for you to connect with me and other like minded men who are on a mission to maximize their potential. My goal is to help you become the man God created you to be in all areas of your life. So come and join us in the Facebook group and upgrade your business and your life.

Extraordinary Man Podcast
073: Ep. Recap Robert White - From Losing $30 Million To Retiring To Aspen by Age 46 Part II

Extraordinary Man Podcast

Play Episode Listen Later Aug 20, 2021 7:12


In this episode I give a quick recap of part II of my interview with Robert White including: -  The  3 pieces of advice he would give to his 20 year old self- Why being aligned with your purpose is critical- The lesson every 5 year old can teach entrepreneurs about being successful And so much more...Robert is a Speaker, Author, Leadership Trainer and Executive Mentor who teaches the art and science of mastering executive challenges. He specializes in integrating a heart centered, result-oriented and transformational leadership approach to being effective. His experience includes founding and leading companies doing high-impact experiential learning events with over one million graduates.Robert's culture change work has been praised by corporations like JPMorganChase, Progressive Insurance, Duke Energy and The American Cancer Society. Additionally top business experts and authors Ken Blanchard, Jimmy Calano, Kathy Gardarian, and Robert Wright, plus thousands of training and mentoring clients, have endorsed his professional skills.Robert authored the best-seller “Living an Extraordinary Life” available in English and Mandarin. He is a contributing author to “Being Fuller” a compilation from students of Buckminster “Bucky” Fuller.Today you'll find him speaking at conferences, hosting masterminds, mentoring today's emerging business leaders and teaching everything he knows about fostering entrepreneurial success and building an entrepreneurial mindset in established, growth-oriented companies.Click here to connect with Robert*************************************************************You will never maximize your potential on your own so I'm personally inviting you to come and join me in the private Extraordinary Man Facebook group so you can level up your business and your life. Just Click Here to join the Extraordinary Man private Facebook group. Iron sharpens iron and this is the #1 place for you to connect with me and other like minded men who are on a mission to maximize their potential. My goal is to help you become the man God created you to be in all areas of your life. So come and join us in the Facebook group and upgrade your business and your life.

Extraordinary Man Podcast
072: Robert White - From Losing $30 Million To Retiring To Aspen by Age 46 Part II

Extraordinary Man Podcast

Play Episode Listen Later Aug 18, 2021 22:38


Robert White is a Speaker, Author, Leadership Trainer and Executive Mentor who teaches the art and science of mastering executive challenges. He specializes in integrating a heart centered, result-oriented and transformational leadership approach to being effective. His experience includes founding and leading companies doing high-impact experiential learning events with over one million graduates.Robert's culture change work has been praised by corporations like JPMorganChase, Progressive Insurance, Duke Energy and The American Cancer Society. Additionally top business experts and authors Ken Blanchard, Jimmy Calano, Kathy Gardarian, and Robert Wright, plus thousands of training and mentoring clients, have endorsed his professional skills.Robert authored the best-seller “Living an Extraordinary Life” available in English and Mandarin. He is a contributing author to “Being Fuller” a compilation from students of Buckminster “Bucky” Fuller.Today you'll find him speaking at conferences, hosting masterminds, mentoring today's emerging business leaders and teaching everything he knows about fostering entrepreneurial success and building an entrepreneurial mindset in established, growth-oriented companies.In this episode, we discuss:-  The  3 pieces of advice he would give to his 20 year old self- Why being aligned with your purpose is critical- The lesson every 5 year old can teach entrepreneurs about being successful And so much more...  Click here to connect with Robert*************************************************************You will never maximize your potential on your own so I'm personally inviting you to come and join me in the private Extraordinary Man Facebook group so you can level up your business and your life. Just Click Here to join the Extraordinary Man private Facebook group. Iron sharpens iron and this is the #1 place for you to connect with me and other like minded men who are on a mission to maximize their potential. My goal is to help you become the man God created you to be in all areas of your life. So come and join us in the Facebook group and upgrade your business and your life.

Extraordinary Man Podcast
070: Ep. Recap Robert White - From Losing $30 Million To Retiring To Aspen by Age 46 Part I

Extraordinary Man Podcast

Play Episode Listen Later Aug 13, 2021 7:40


In this episode I give a quick recap of part I of my interview with Robert White including: -  What he learned from his major business failure of losing $30 million and firing 240 people- The biggest myths about entrepreneurship and why it's dangerous to believe them- The  price all entrepreneurs must be willing to pay to be successful And so much more...Robert is a Speaker, Author, Leadership Trainer and Executive Mentor who teaches the art and science of mastering executive challenges. He specializes in integrating a heart centered, result-oriented and transformational leadership approach to being effective. His experience includes founding and leading companies doing high-impact experiential learning events with over one million graduates.Robert's culture change work has been praised by corporations like JPMorganChase, Progressive Insurance, Duke Energy and The American Cancer Society. Additionally top business experts and authors Ken Blanchard, Jimmy Calano, Kathy Gardarian, and Robert Wright, plus thousands of training and mentoring clients, have endorsed his professional skills.Robert authored the best-seller “Living an Extraordinary Life” available in English and Mandarin. He is a contributing author to “Being Fuller” a compilation from students of Buckminster “Bucky” Fuller.Today you'll find him speaking at conferences, hosting masterminds, mentoring today's emerging business leaders and teaching everything he knows about fostering entrepreneurial success and building an entrepreneurial mindset in established, growth-oriented companies.Click here to connect with Robert*************************************************************You will never maximize your potential on your own so I'm personally inviting you to come and join me in the private Extraordinary Man Facebook group so you can level up your business and your life. Just Click Here to join the Extraordinary Man private Facebook group. Iron sharpens iron and this is the #1 place for you to connect with me and other like minded men who are on a mission to maximize their potential. My goal is to help you become the man God created you to be in all areas of your life. So come and join us in the Facebook group and upgrade your business and your life.

Extraordinary Man Podcast
069: Robert White - From Losing $30 Million To Retiring To Aspen by Age 46 Part I

Extraordinary Man Podcast

Play Episode Listen Later Aug 11, 2021 21:07


Robert White is a Speaker, Author, Leadership Trainer and Executive Mentor who teaches the art and science of mastering executive challenges. He specializes in integrating a heart centered, result-oriented and transformational leadership approach to being effective. His experience includes founding and leading companies doing high-impact experiential learning events with over one million graduates.Robert's culture change work has been praised by corporations like JPMorganChase, Progressive Insurance, Duke Energy and The American Cancer Society. Additionally top business experts and authors Ken Blanchard, Jimmy Calano, Kathy Gardarian, and Robert Wright, plus thousands of training and mentoring clients, have endorsed his professional skills.Robert authored the best-seller “Living an Extraordinary Life” available in English and Mandarin. He is a contributing author to “Being Fuller” a compilation from students of Buckminster “Bucky” Fuller.Today you'll find him speaking at conferences, hosting masterminds, mentoring today's emerging business leaders and teaching everything he knows about fostering entrepreneurial success and building an entrepreneurial mindset in established, growth-oriented companies.In this episode, we discuss:-  What he learned from his major business failure of losing $30 million and firing 240 people- The biggest myths about entrepreneurship and why it's dangerous to believe them- The  price all entrepreneurs must be willing to pay to be successful And so much more...  Click here to connect with Robert*************************************************************You will never maximize your potential on your own so I'm personally inviting you to come and join me in the private Extraordinary Man Facebook group so you can level up your business and your life. Just Click Here to join the Extraordinary Man private Facebook group. Iron sharpens iron and this is the #1 place for you to connect with me and other like minded men who are on a mission to maximize their potential. My goal is to help you become the man God created you to be in all areas of your life. So come and join us in the Facebook group and upgrade your business and your life.

Cruise Life Experience
Influential Hotel Director Robert Taggart

Cruise Life Experience

Play Episode Listen Later Jul 6, 2020 28:12


30+ year cruise industry veteran & popular Hotel Director Robert Taggart shares fun stories from the past, his experience at sea during Covid-19, and great advice for crew looking to move their way up the management chain. Get In Touch!Find us online and send us your questions, topics and guests you would like to hear from. Subscribe to the podcast also watch the video version on Youtube.Facebook: www.facebook.com/cruisedirectormitchInstagram: www.instagram.com/cruisedirectormikeInstagram: www.instagram.com/cruisedirectormitchWatch on YouTube: www.youtube.com/CruiseDirectorMitchShow notes:0:01 - Welcome & Intro: Episode 9Mike & Mitch share information on the Executive Committee onboard and introduce our guest, veteran Hotel Director, Robert Taggart.4:05 - Robert discusses his journey and how he achieved the position of Hotel Director with Royal Caribbean.6:20 - Robert shares his proudest memory at sea.8:28 - Any advice or words of wisdom for new Hotel Directors or potential young managers who are looking to work their way up?Robert is known for being very popular with both guests and crew and we wanted to get his advice for young aspiring managers and upcoming HD's. Our favourite quote from Robert "You can't be friends with everyone, but you can be friendly with everyone".11:00 - What does a Hotel Director do? Differences between land and ship based?Some guests and crew don’t always know what the Hotel Director does. Robert explains a little about his role and why some crew be scared or intimidated by a Hotel Director. Also Robert shares how the job of Hotel Director onboard a ship versus a hotel on land differ.13:35 - Could you see a Cruise Director transitioning to Hotel Director one day?Most Hotel Directors come from a Food & Beverage background. Robert is asked about a Cruise Director progressing to the HD role. 17:15 - Robert shares a few stories from his time on ships and some of the best pranks fun may have happened.21:40 - Robert walks us through a typical “Day at Sea” morning for a Hotel Director.23:05 - Robert shares how many more years he has left on ships and what long-term plans after life at sea.24:15 - Rapid Fire fun25:58 - Thank you Robert!26:40 - Mike & Mitch wrap up the show - Special shout-out! Happy Birthday Carolyn Scieszka on May 31stThank you for listening! Subscribe and we'll see you next episode.

Conspirasay What
#20 Nobody Went to the Moon Part 2

Conspirasay What

Play Episode Listen Later May 27, 2020 69:18


Back at it again to tell you that the moon landing in the 60s was full of lies, with the help of Robert (You, The Science) Heitzman from Attack of the 50 Foot Podcast! Why did that PA tape his dance video over the original moon tapes and what does Cam really think about the moon?

moon attack robert you
Everyday Miracles Podcast
39. Radical Redemption Miracle

Everyday Miracles Podcast

Play Episode Listen Later Apr 2, 2020 39:14


Robert Decker endured more trials in his childhood than most endure in a lifetime.  His dysfunctional childhood included periods of neglect, substance abuse, and violence.  The years of sadness, pain, anger, and hopelessness culminated in a failed suicide attempt.     At his lowest point, Robert found himself in a hospital bed with multiple serious injuries, told he would never walk again.  He was handcuffed to his hospital bed, accused of a crime he did not commit.  It was in this pit of despair that God spoke to Robert in a powerful way.  With God's help, everything changed.  He was able to turn his story into one of forgiveness, understanding, and love. His desire is to inspire, encourage, and give hope to those who have had similar battles.   Today Robert is happily married and living in Colorado Springs with his two young children.  He is a husband, father, health coach, fitness trainer, inspirational speaker, and author.  He is passionate about helping others.   My favorite take aways from Robert: "You are NOT alone.  You are LOVED." "There is purpose and hope for all of our lives."   "In the midst of trials and hurt there is opportunity for growth." "Allow your heart to be changed.  Address the things that hurt so that healing can take place.  Forgiveness is HUGE." "Surround yourself with people that truly care about you." "DON'T give up!" "When you receive healing...go out and HELP other people.  There is nothing more gratifying than that!"   Thank you, Robert, for sharing this deeply personal testimony.  I am blessed to hear your faith (and healing) journey after so much heartache.  You are undoubtedly an inspiration to many!   Let the redeemed of the LORD tell their story— those he redeemed from the hand of the foe. - Psalm 107:2  NIV    For you were bought with a price. So glorify God in your body.  - 1 Corinthians 6:20 ESV

TV Blackbox & McKnight Tonight
McKnight Tonight with Julia Morris

TV Blackbox & McKnight Tonight

Play Episode Listen Later Dec 16, 2019 32:20


You’d be hard pressed to find anyone in the entertainment industry who has a bad word to say about Julia Morris. A comedian, actress and presenter; she is a triple threat who’s become a go-to host for Network ten on a string of shows including I'm A Celebrity Get Me Out Of Here! which returns on January 5.Never one to shy away from work Julia is embarking on another tour in 2020 and tickets are on sale now at livenation.com.au or www.juliamorris.comIn this episode Julia talks about;What went terribly wrong that saw the entire crew of a TV show she was working on see her pooRunning out of money when she risked it all to move to the UKHow her husband kept her grounded with the best piece of adviceWhat went wrong with Sunday Night TakeawayWhy flirting with Dr Chris Brown doesn't work any moreWhy she insists on censoring some footage caught on camera for I'm A Celebrity Get Me Out Of HereSubscribe to McKnight Tonight and TV Blackbox here: https://podcasts.apple.com/au/podcast/tv-blackbox-mcknight-tonight/id1415436461Robert: Julia, welcome to McKnight Tonight.Julia: How are you, hon?Robert: I'm very well, all the better for hearing from you. Hey, television, it's a roller coaster ride. You have had an extraordinary career. Do you feel that you are now at the top of your game?Julia: Well, I'm concerned about the top of the game because isn't the next bit the slide?Robert: Very good point. Very good point.Julia: Every year I'm still employed, it's not lost on me, I must say. I think I remember many years ago, Andrew Daddo saying to me, I'm talking in the 90s and he had this lovely take on, "Your first two years, you think you're the biggest star to ever hit the televisual and then for the next two years you're like, I'm kind of a senior in the industry and then the next two years you're like, Oh God, I hope I don't lose my job. I've got an awfully big mouth all of a sudden." And then he said, "The next two years you're probably out of work. And then the two years after that, you're so grateful to have a job, you just keep your head low and try your best."Robert: I think there's so much truth to that. Now I need you to correct me if I'm wrong here. I have a very vague recollection of you appearing in Kathy Griffin's My Life on the D-List where-Julia: I did.Robert: You did, so this is the bizarre thing though. She was in England trying to get across all things English and suddenly I saw an Australian teaching her about being English. How the hell did you get that gig?Julia: Isn't that dreamy? I actually had been working with the production company that were making that show. I got married to Dan in the New Year's Eve of 2005 and went straight away after getting married to New York to go and work with the production company that make Kathy's show. And so when they were in the UK they wanted the perspective of what's it like to be a foreigner in the UK as a stand up and what to look out for and what to avoid.Robert: Ah, okay. That works-Julia: So that was sort of the vibe and plus, Kathy Griffin, oh my God, she's a goddess.Robert: Yeah, absolutely. That must've been an amazing shoot because you really did take it-Julia: It was incredible.Robert: You really did take a chance going to the UK for a while, didn't you? You'd had some success in Australia with Full Frontal and then you... See acast.com/privacy for privacy and opt-out information.

Punch Out With Katie and Kerry
S01 E10: Bob Collins on Comic Books, Origin Stories, and Netflix Marvel Shows

Punch Out With Katie and Kerry

Play Episode Listen Later Mar 10, 2019 21:02


What would your superpower be? Would you fly, turn invisible, or read people’s thoughts? We talk about that and much more with Robert Collins on the Punching Out Podcast. He's the SVP at LEWIS Global Communications, a proud dad, and a comic lore enthusiast. In this episode we learned: How comic books are based on mythology Where the love for comics started Bob’s favorite origin story His love for Moebius art Moebius art links: https://en.wikipedia.org/wiki/Jean_Giraud https://www.iamag.co/the-art-of-moebius/ Want to know more about Robert? You can find him at: @RobertCollins This episode of Punch Out With Katie and Kerry is sponsored by Trust Insights. Are you feeling less than confident in your marketing metrics, looking for some help automating your tasks, or wondering what topics are most important to your audience? Using machine learning and artificial intelligence, Trust Insights will help you light up your dark data. Visit trustinsights.ai/punchingout for more information. Punch Out With Katie and Kerry (#PunchOut) is the show that dives deeper into topics you care about. We don't ask the questions everyone else does. We get to the real insights (and the weird hobbies, the guilty pleasures, the secret side hustles...the good stuff)! We find out what really makes your favorite people tick. Punch out with Katie and Kerry! Have a cool hobby or side interest you want to talk about on the show? Let us know: Web: www.punchoutwithus.comEmail: punchoutwithus@gmail.com Hosts: Kerry O’Shea Gorgone (@KerryGorgone) & Katie Robbert (@katierobbert)

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.

Rock Hill First Nazarene - Services
Robert - You are God Alone

Rock Hill First Nazarene - Services

Play Episode Listen Later Sep 4, 2018 4:07


Robert - You are God Alone by Rock Hill First Church of the Nazarene

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 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
060: Ember and Fastboot with Jonathan Jackson

The Frontside Podcast

Play Episode Listen Later Mar 3, 2017 38:53


Jonathan Jackson: @rondale_sc | Ember Weekend | 201 Created Show Notes: 01:01 - 201 Created 03:09 - 2017 Ember Community Survey 14:06 - Handling Changes and Churn 27:53 - FastBoot Resources: Boots and Shoeboxes [SlideShare] Typeform EmberConf JSX Isomorphic JavaScript Ember Weekend Episode #66: Bug Integrat (with Charles Lowell) Transcript: CHARLES: Hello, everybody. Welcome to The Frontside Podcast Episode 60. My name is Charles Lowell. I'm a developer here at The Frontside. With me is Robert De Luca, also a developer. Hello, Robert. ROBERT: Hello, hello. CHARLES: Today, we actually have a meeting of the podcast minds. We have with us a very special guest, Jonathan Jackson. You probably know him from the Ember Weekend Podcast. If that's your thing, it's a great podcast. I listen to it, you should definitely check it out. Hello, Jonathan. JONATHAN: Hey, how are you doing? I'm really excited to be on the podcast. I am an occasional listener. It's similar to my own podcast where if I don't edit it, I tend not to listen to it. It's when I have long trips you guys are number one, number two right behind The Adventure Zone which is a D&D podcast. CHARLES: You worked at 201 Created. Why don't you tell us a little bit about that? It's an interesting company. JONATHAN: Actually, when we book to this podcast, I was not at 201 Created. This is a very new thing for me. I think I started right around the time of Ember Conference out in San Diego and I'm just realizing that this is not exclusively an Ember podcast. This is the first podcast I've been on where I can't just assume blanket knowledge of Ember stuff. But it's an Ember conference out in San Diego. I actually gave a talk there about FastBoot which is a server side rendering technology. Right after that, the entire 201 company which I think is four. It's very small. The entire thing, the whole crew went to do a company event and basically camped out in the mountains for a few days, which was really, really fun. But I started working there and 201 is a consultancy based out of New York but I think it's more than half is remote. I think Matt's on the West Coast, two of them are in New York and I'm in Jacksonville right now. We do a lot of really cool stuff. We worked in a lot of different companies. You can actually see the website at 201-Created.com and you can see the different clientele we worked with. But we specialized in consulting, training as well. As well as a couple of other services that we offer. It's been a real great experience. It's been very fun and also I'm learning a ton which is really cool to be in a different environment. I have done consulting for a little over four years, previously at Hashrocket. I got to tell you, consulting will get your wheels turning. It's been nice to see how different consultancy takes a stab at things. It's been super fun. CHARLES: Yeah, it's a fantastic company. I've definitely known them for a while, certainly through my involvement in the Ember community and one of the things that always struck me is just how seriously they take the community aspect of it. We were talking about just a little bit ago, it was 201 that sponsors -- well, sponsor isn't really the right word for it. It does the Ember Community Survey which I think is a practice that we're now used to in the Ember community but I think it's something that I would love to see wider communities do. Maybe you could talk a little bit about that and explain what this community survey is, why it exists and what's the knowledge that's derived from it and how do we take action on that? JONATHAN: 201 also does contribute workshops and things like that. The idea is to make Ember a more inclusive space, a place where people feel comfortable being a part of our community and a big part of that is self-reflection and realizing where you have weak points and how you can actually mend areas that are being neglected or whatever. Basically, shining a light to figure out where we need to improve and a big part of that is the community survey so figuring out what technologies are being used, figuring out what demographics are represented or under-represented and trying to figure that out. It's actually been really cool. I think this is the third community survey and it's live right now. I feel like we could probably shed a little bit about some of the questions. This year, they did a really cool thing where they actually put all of the questions before they put the survey up live. They actually asked for a comment period which is very, very Ember thing to do. CHARLES: Because I was actually going to ask about that. Who is the final arbiter of the questions that get in because part of the survey is determining you're trying to get hard metrics on a set of questions but it's the questions that you don't know that you should be asking which are really the tricky ones. JONATHAN: It was really interesting to watch the document change over time. There was a committee discussion between some of the people in core team and Matt Beale and Tom Zalman who's been doing the organizational stuff as an intern at 201 and he's been doing a fantastic job of really staying on top of it. It's a surprising amount of work to get a survey together, especially when you have a comment period so there's tons of little adjustments here and there need to be made, to wording and phrasing and also like responses. Surprisingly enough, you can actually have biases in your questions based off of the responses that are allowed because multiple choice. It's been a really interesting effort and I think trying to weigh and balance that side of things, where you want things to be worded in a way to where people can answer more honestly and without a bias coming into the question. Because the questions change year over year, trying to get data that is historically relevant so we can see what versions were being used last year and versus this year, what was your experience level with Ember last year and this year. But still make those changes that are recommended. It's an interesting balancing act. I was very interested in the process. I was trying to stay as involved as possible but I think also, Isaac was working on that as well. It's been a team effort. The survey is a very interesting aspect of the Ember community and it's only been three years but it feels like longer. CHARLES: What I love is the work. Once you actually get the survey up, the work has just begun, which clearly a lot of thought went into it, not just the questions that is very beautifully presented -- ROBERT: But the survey, what's the software that you're using to do that? JONATHAN: I think Typeform is the thing that they're using. I feel like it actually works on mobile and I have a great analytics tools. If you're doing a survey, you should come talk to me. ROBERT: Does that like track people that half-fill out a survey and exit? JONATHAN: Yeah, it does. It actually does track like -- what's the word for that -- there's a word for that. Basically, the main metric that we're looking for is people who open the form then complete it and the percentage there, that's the respondent percentage. I've actually haven't seen the metrics yet. I think I might just wait until the conference. You're exactly right, this is only the first step so once everyone fills it out, then there's a bunch of data extraction because some of these questions are open-ended and allow users to directly input their own feedback and trying to sort that and make that useful information as a lot of work and a lot of effort. It's interesting to see, of course there's some obvious graphs that are going to happen like we see transitions. It's easy to graph out the number of people using things on a time axes or the X-axis or whatever. There's some kind that are obvious but I'm actually looking forward to seeing the results. I was only really involved in the actual administration of the survey in as far as I provided some feedback before the main feedback period. But it's been really a community effort which is great because it's a community survey. That's pretty neat. CHARLES: One of the questions that I have is how do you ensure, because the only people who hear about the survey are the people who are already involved. In order to get -- I don't want to say statistically valid -- a broad and more informative data set, how do you try and balance the concern of we want to make, maybe half people exposed to this who aren't inside my community or maybe sitting on the boundary somewhere or slightly over somewhere versus at some point, if someone's an attorney for example, then we don't really care if they hear about or participate in the survey. Certainly within the developer community, which is ill defined to begin with, how do you try and draw those lines to make sure that you get the best knowledgeable dataset possible? JONATHAN: You know, I don't really know. I guess, it's the meta point that I should probably make but it will prevent me from giving my opinion. Basically, I think that since this is a community survey, it makes quite a bit of sense for the community avenues for learning about Ember to be used to actually distribute the survey itself. For instance, these podcasts, like my podcast as mentioned in the survey and now, this podcast is going to mention in the survey. I want to say, "It's going to be in Ember Weekly." That's just a guess, I don't know. But there's really avenues: Reddit, Twitter, etcetera and then the Ember blog itself. Those are the means for dispersal within the Ember community. The one metric that we get from that is what can we reach or who can we reach? How many people can be reached through the normal means? That in itself a metrics. But I think it's kind of valuable to test that every once in a while. I believe over the first two, we saw 100% increase in respondents from Year 1 to Year 2 so it'll be interesting to see from two to three to see if that number continues to increase at a really rapid clip or if we're seeing some other trend there. It is an Ember survey so we are going to assume a lot of Ember-related things. We're trying to gain insight into the Ember community so it's probably not great to put it on JavaScript Weekly, for instance and get a bunch of React developers in that. They're going to be like, "I don't use this." Why are you using Redux, they don't understand. Oh, wait, Ember Redux, what's that? That sounds up my alley. ROBERT: I did feel that form out at the survey with my experience that I've had with React recently, things that I would like to see come over to Ember. I don't know... That'd be interesting to see or I wouldn't want them to fill it out because they would, obviously ruin the data set but I think another survey with more information from other communities to see like, "What's preventing you from utilizing Ember or what are the barriers to learning it?" Maybe from other communities might be interesting. That would be cool to do cross-pollinated surveys where you can be like, "We'll do it, if you do it and then React can provide us something and vice versa. I feel like the word homogenization is bad, usually but sharing ideas is good, I think. CHARLES: If you've never experienced this in your development community, the amount of work that goes into actually analyzing the survey and trying to draw and make inferences from it is just astounding. Who does that? Is that like Matt sitting up in an ivory tower? That's was just the wrong term. Basically, he can sequester himself for a month and put on his thinking cap and just come out with these mind-blowing deductions? JONATHAN: To be honest, I wasn't here last year at 201. My suspicion is that Tom will do quite a bit of the data munging, I think is the word. Then we'll go through phases where I think Isaac and Matt are working pretty closely with the survey stuff so they'll probably do feedback loops, then eventually before anything happens, I think with EmberConf, there's usually a survey blog that comes right alongside the EmberConf thing, where you share some of the results. I think that those things will go out to core and then core will start to pick it apart, toss that around exactly and then come back and basically, you're going to try to get as many people who are pretty smart, looking at it and trying to make sure the data makes sense and honest and doing the right things the survey needs to do, in relevant, I guess is the other metric. CHARLES: Now, as part of the survey, one of the things that you mentioned was the purpose is to surface weaknesses and gaps that need to be filled. When you think about your experience and the way that you filled out the survey, obviously it's anonymous, share what you're comfortable sharing but what were some of the things that you perceived as maybe holes that need to be filled and you're hoping that the survey will bring to light. JONATHAN: That's a very interesting question. I think, the thing that I'm interested in seeing is maybe different than what I've seen. One of the things I'd really like to see the survey that bring to light -- it's probably the most important metric in my mind -- is where people are at in the upgrade process because the cadence of releases an Ember is such a big facet of what makes Ember really powerful, especially for large companies and stuff like that. But I've personally seen people get stranded in certain spaces. Usually by the time they call a consultant to help them get un-stranded, they're at a point where they're going to try to work towards pushing past it. I think this is felt primarily around the 1.13 switch. People did get stranded there and some people are still working on very large apps to push past that and I would really like to see just where the community is at right now, in general. Especially as a consultant because you come into a project and I don't necessarily know what to expect. I think on certain teams, I am always shocked I see like, "Oh, you're using beta and everything. You guys are on top of this. That's really cool. Let's do some feature [inaudible]," and you're really excited. But then other times, you get called in and they're like, "We're still using 1.13 and we have bind others in our source and could you please help us?" CHARLES: Right and it's just that mountain is just too big to cross. That's something that you see in software development as the tools that you use tend to change and for lack of a better word, rot over time. In comparison to what's more newly available, it's the phenomenon of JavaScript churn, which is known in the community at large, scope down to just one framework where you've got different versions of the framework and you've got this churn. It's been somatic for Ember to try and it has been very aggressive attacking this problem and yet still, it manages to happen. How does that work, just given the amount of attention? JONATHAN: Ember, hands down handles this better than most other JavaScript projects that I've seen. I've gone to old backbone apps throughout my career and knock out in Angular one, etcetera. I've seen the rot that we're talking about here and usually, once it gets too bad, the authors of the JavaScript libraries are unable to push it forward at all. Either band in it or end of life it and you're going to have to invest your own time to get pushed past this point. In Ember, it really strenuously disagrees with that philosophy. They try super hard. All the people in core and really the community at large, the philosophy is like, "No, we're not going to break Ember. Ember is very serious here. We're not going to leave people stranded," yet it still happens. The reason I'm curious about seeing it is really about how do we make that story like a solved problem. Is it possible to do? Is it possible for us to basically make it to where the Ember community can very honestly say, "If you choose us if you choose this framework, it will be around. There will be a path forward for you for five to ten years and that's not something you can get a promise from anywhere else." I just want to see what are the ways that we can make that promise more strong. I think, the LTS was a big step in that direction. I think that was actually last EmberConf which the LTS was announced? ROBERT: Yeah, absolutely. Definitely all of our clients have moved to LTS as rather than trying to do every six weeks because they find that much easier to upgrade in between and they're more stable. JONATHAN: They're more stable and I think it's such an easier sell like if you actually start talking about going up the pipeline and you're like, "I have to talk to my boss and my boss just to clear money. We have to clear time, etcetera." We're going to put a [inaudible] aside every six weeks to upgrade seems a little untenable for a lot of companies. I think for larger companies, it's sometimes okay because they're actually utilizing some of the edge features which is cool and I think that's a big thing. I feel like I have no real insight here but I feel like that's what LinkedIn kind of does, where they're usually pushing the boundaries because they're utilizing features like engines were first brought into LinkedIn. I think it kind of pushing it at the edge. ROBERT: If you have the new LinkedIn Ember app, if you will crack open the inspector, when I last looked, I think the beginning of this week, they had two beta versions deployed. The Ember data version, that was beta and actual Ember, it was beta. CHARLES: Usually large companies are associated with big lumbering end piece that are in terrible condition. That's actually a breath of fresh air. Shout out to LinkedIn. ROBERT: Ember Data is 2.12 canary and Ember is 2.10 Beta 2 patch so it looks like they have a patch version. JONATHAN: It doesn't surprise me that Data is being pushed. I think last I spoke to [inaudible] right around December, he was doing a lot of perf work on there so I think he's really pushing that pretty hard. There's a lot of really cool stuff like that and I feel like it kind of runs the game. You see the smaller teams who choose Ember for stability, they sometimes get stranded so I want to see if some survey data can probably correlate. You could correlate the size of your company to the version of Ember you're on. Maybe, we'll see some trends around if it does it mean that smaller companies have more difficult time pushing forward. That would actually be a little counterintuitive. I would expect that smaller companies would be able to push forward at a faster clip because they usually have to support fewer browsers, etcetera. It'd be interesting to see information like that because I think that promise for ease of upgrade and there will be a path forward, that's a big part of what makes Ember really appealing to me. Especially as a consultant for four years, you see so many projects. I don't ever really want to advocate a rewrite but we're going to have to spend a significant amount of time fixing this and it's because you went with Mootools or something. Everybody guess Mootools wasn't so bad. CHARLES: But the point is that you didn't go with a holistic solution so you basically had to write your own framework. JONATHAN: Yeah. ROBERT: Yeah, in Ember, it is a feature that you will not be left behind and you can upgrade. That is something that is really nice. I have upgraded a lot of Ember apps. JONATHAN: I think Mike North calls that the patchwork app application. It's not just like React apps where you have React-Redux and Preact and all of this other stuff that you kind of piece together and make your own little quilt and that's your application. But this also happened in Backbone. It happened in jQuery before that and it was just like take this thing, take that thing, then I have this custom quilt, which is not bad. There are some advantages -- pros and cons. CHARLES: Ember is giving you a blanket. JONATHAN: And it's going to be a comforter. It's going to probably all look the same and be right. ROBERT: My experience is I love Ember and I love the convention over configuration but whenever you hit that wall of the convention is actually getting in the way now, that is a very tall wall to scale in Ember. CHARLES: Yeah, I think the flip side of it is like you say, Rob because everything does have to mesh, because that blanket has to be one solid weave, it means that you've got a hole in the blanket, the surgery required to excise that hole and then patch it -- ROBERT: I love his metaphor. His metaphor is -- [Laughter] ROBERT: It's so good. CHARLES: It takes a lot of effort. ROBERT: Today, I'm quilting daily. CHARLES: That's right. Next topic, crochet. [Laughter] CHARLES: But, yeah in order to make that surgery on the blanket to mix metaphors, which I love to do so freely, you have to make that cut and then make sure that the weave is again, seamless. I think that takes a lot of thought, it takes a lot of effort and it takes a lot of time. It means that there are shiny things out there that you might not be able to have. I think, one of the ways that the community and the technology is mitigated is with the add-on ecosystem, which is very, very strong and allows you to riff and experiment and push those boundaries. But there are core pieces, things like the rendering engine, which can't really be modified or hooked with an add-on. They can but not in deeply fundamental ways or the templating. We saw that happened. There was a big kind of shift from first, the old handlebars to -- ROBERT: HTMLbars? CHARLES: HTMLbars and then Glimmer 2, which there's been a flurry of activity around there but that was definitely one area where there was a hard wall right now. I feel like for me it's around the handlebars itself. I would like to see that environment become more powerful because certainly, with the React Native work that we've been doing around here, you get to see just how simple like the JSX model is, React aside because like Vue, you can do with JSX. I think JSX is a separate technology. It's certainly integral to React but there are a lot of other frameworks now that are using just the JSX part for the templating. Seeing that there is real power in being able to have the functional programming aspects of JavaScript right there inside your templates. From my perspective, I think that in Ember, there's a wall there that needs to be scaled. ROBERT: To be clear to the Ember developers that are listening like us kind of advocating JSX, if you are having like, "No, that's a terrible idea. I hate JSX," I had that very exact reaction about a year and a half ago. If you go look at my Twitter feed, you would see me ranting about how much JSX is a bad idea. After I actually played with it, I'm on the opposite side. I think JSX is really awesome and I think there are things to learn from it. CHARLES: I definitely love having templates. I love having the separation. I like having it in a different file but at the same time, I don't want to lose sacrifice the power that comes. I think that for people who are kind of sitting on the fence or have played with it, if you actually are strict about not having side effects and things in your templates, it really is a great experience. I think there's a lot of people who have scars from doing ERB or liquid templates, where you can have all kinds of crazy side effects -- ROBERT: That's where my scars came from -- ERB. CHARLES: Yeah, I can show. I can roll up my sleeves. I will be like, "You see this? I got that back in aught-seven with an ERB app, where they were calling out to a service from inside the template." ROBERT: Setting the variable and modifying everything. CHARLES: Yeah. There's definitely that tradeoff. One of the things that is great about the Ember community in particular is when there is, it takes a while to generate the will to recognize that this is a major problem but then the solution that you do get does, eventually match the weave of the entire blanket, which is really, really nice. But it can be frustrating when you have those core pieces of infrastructure that are presenting those walls to you. ROBERT: I'm excited for Angle Bracket components because that's actually a lot of the gripes that I had with handlebars. Whenever I got a bunch of the curlies next to each other, like a bunch of components around each other, they all kind of just mold together and seeing the brackets and just looking like HTML, it makes it so much easier to grip. CHARLES: Yeah, it's weird because you think that small things won't have big impact and you think that big changes ought to have a big impact. An example of this, I was kind of derisive of the whole Angle Brackets syntax. I was like, "Urgh! Angle Brackets, dah-dah-dah..." Then we started doing more JSX and you start seeing like, "I want to have my templating construct separate from my JavaScript and scripting constructs," and it actually makes a huge difference in clarity there. Obviously, the change to make all that happen is big but it's a small difference in the syntax. Tiny but I think it has a huge impact in the readability and the clarity of the templates and by the same token, all the performance increases. At this point, I couldn't even give a flip. It's nice. It's great but there's a barrier, there's a threshold that has been crossed, actually some time ago. Performance of rendering is -- I can't even remember the last time it was a problem. What about you? Have you run up against performance issues in your Ember apps? JONATHAN: Some performance issues but usually, they're a result of some rather inefficient rendering. Basically, a combination between user and keyboard or whatever. I wrote something really bad. It's not Ember getting in my way. I don't particularly mind the curly braces within my template but I think a big part of that is just editor choice. If your editor syntax highlights then it also knows how to indent handlebars correctly, that makes a huge difference. ROBERT: Are we about to start an Emacs versus Vim war here? [Laughter] JONATHAN: No, as a matter of fact, I suspect you would win that when the Vim -- there's no good solution for indentation in handlebar templates that I found in Vim. If anyone knows that [inaudible], "Oh, there's one plugin," please ping me on Twitter because that would be nice. CHARLES: Well, yeah. It's true. I can deal with it. I don't think it bothers me quite as much as it does Rob but I think what has been interesting is in our hypothetical code, you always like pay snippets in Slack. We started using Angle Bracket syntax just because it's so much clearer. Even though, none of us actually use it in any of our apps, when we're actually exchanging ideas, that's what we use. JONATHAN: Yeah, there's some cool things that come with Angle Brackets that aren't just aesthetic. The container element is like you don't have to deal with the tag lists stuff anymore. I feel like there's a few tradeoffs that are going to be really interesting to see when those start becoming the norm. CHARLES: Yeah, I like also the separation of what they did from JavaScript attributes to HTML attributes. It's really clear. JONATHAN: Totally. I think it's [inaudible] cool stuff. CHARLES: It's exciting. I remember being derisive of it -- not divisive, that's not the right word -- but I'm thinking like, "Why are they spending so much time on this," but I actually think it is going to have a big impact, small change. JONATHAN: Totally. CHARLES: No dis to the people who are working on it. I know it doesn't feel like a small change at all. ROBERT: Yeah, it only took a year and a lot of really hard work. [Laughter] ROBERT: Like I peek in there and I'm like, "Hmmm... Nope, not smart enough yet." CHARLES: One of the things that I want to ask you, you mentioned that at SO Ember, you gave a talk on FastBoot. You've actually got a lot of experience around the subject so I'm just curious. First of all, what were you talking about? JONATHAN: I think my talk was actually called Boots and Shoeboxes, which there's a little library function into the FastBoot suite called the Shoebox where you can communicate between node and the browser. It's not like well-known enough to where that title resonated with people. I got up on stage and I was like, "You know, we don't have any descriptions on the speaker note like website. He just talks about FastBoot. I hope that I don't disappoint you," because they had no idea what I was talking about. Actually, I feel like the problem that's the FastBoot solves is a persistent thorn in people sides. CHARLES: So what is the problem just to give full context? I think is it called like Isomorphic JavaScript for something -- JONATHAN: Yeah, I don't like using that word. CHARLES: Yeah, there's like server side, SSR -- JONATHAN: Yeah, SSR, you'll see that a lot. CHARLES: I guess the question is why would you even? JONATHAN: That's a multi-faceted question. I think the first section of it would be what's the problem? I think for a lot of people, the biggest problem is SEO. A lot of JavaScript frameworks are not search engine friendly, then that affects a lot of different things. It means that they're not archivable either so it's not like you can have this on archive. They're not very crawable. This is becoming less of an issue because Google Crawler, for instance will actually parse JavaScript now. But I feel like that's still limited. Also you have to then think about how the Crawler is going to like actually execute your JavaScript. You're like, "Wait a second, so now I have to have a compatibility table for Google Crawler? That sounds madness." I think that's a big component. There's also the idea of speed downloading as low as poor connectivity devices or locations, I guess. Having to download all the JavaScript before you see the first meaningful thing is not a very good experience. Especially for a huge swaths of different types of sites like Discourse, I think is a big Ember forum software. Forums are mostly just static text, like you just want to read the text so time in First Meaningful Paint could be like as soon as you get text onto the page, that's could be really fast. Some sites that doesn't make sense for it like if you're posting a video game or something like that, like you need interaction for that site to be meaningful. There's still tradeoffs there but there's a whole host so I guess that's the need. Then the solution for a lot of people is to start rendering JavaScript on their backend software and presenting full HTML along with a JavaScript source tag so that you get a Meaningful Paint first and then you get the JavaScript a little afterwards. The whole point of my talk, which I was basically like -- CHARLES: That's a hard problem. JONATHAN: Oh, it's a very difficult problem. CHARLES: Unlike anyone who says they have a solution, you should look at them with extreme mistrust. JONATHAN: Yeah and there's a whole bunch of different solutions that people have tried. You could actually have prerender.io, I think is the service that will actually render it for you and you put it in front of your CDN and they'll actually do that and create static files for you, which is a solution or no script tags. You basically render all of your stuff as much as you can on the server side and you put everything into no script tags and that will presents its own problems. There's a bunch of different solutions that people have tried. In FastBoot, the solution that Ember went with and I think that it's really cool because server side rendering and this is the big reveal of my talk. I think it's recorded so you can check it out. But the bigger reveal is that the server side rendering is not just about rendering. It's also about routing and data fetching and authentication and etcetera. There's a whole bevy of things that you also have to handle very well. It's not just taking a component, the view layer to component and rendering it to HTML and then serving that. It's much more than that. You want your app to basically run in node. FastBoot does that remarkably well. There are some spots where it's a little fuzzy but does it remarkably well. CHARLES: What's an example of how you would might need to handle authentication? That sounds terrible. ROBERT: One of the problems for a lot -- JONATHAN: That's exactly the problem. You actually have access to headers and stuff and FastBoot land so you can do authentication by using traditional token off, which is pretty cool. There's a lot of really cool things and routing is obviously handled quite well so the request comes in and it does the normal Ember router. The Ember app instance itself is running in node so all of the things you expect to work in the browser, work in Ember and node, with the exception of any time you need to access the DOM because the DOM is expensive like very, very, very oddly expensive. Like JSDOM is just expensive and unreliable, then you have to deal with compatibility tables for that. Anyone who has written tests for Phantom and tried to bind a function or something, they know the pain. I think it's fix now but I was always bitten by that so many times. It doesn't even give you the right error. Forget about it. CHARLES: You have all these things. It's basically authentication. It's data. It's making sure that you have in your, so to speak, headless environment as an authentic replica of your application running in the user's browser, as you can possibly retain. JONATHAN: Yeah. CHARLES: How feasible is that? Like what you're saying is that Ember takes that whole approach and says, "Okay, we're going to make sure we handle all of these cases?" JONATHAN: Yeah, I think Ember has done a phenomenal job of this. It's still alpha software, although I believe that the path to 1.0 is basically paved. It just needs some documentation. I think FastBoot hits the nail right on the head and gets a lot of the stuff really in a good place. It's also a big part of FastBoot's call to action where this stuff is possible elsewhere. You can do all of these things. You can make all of the stuff work in the React ecosystem or Vue ecosystem, etcetera. But in Ember, it's Ember install, Ember FastBoot, I think or Ember CLI FastBoot which is a really compelling sell because I've looked at some of the alternative approaches and in other ecosystems, they're very complicated. It's not possible. It's just their ad hoc -- ROBERT: And it's usually a 10,000 line medium posts that you have to follow line by line -- [Laughter] CHARLES: Right so instead of giving you actually a working code, what you get is a treasure map. JONATHAN: Yeah, exactly. It's like you just shop at Ikea. Here you go, build it. There's some really cool stuff that it unlocks and the fact that it's so low-hanging fruit, for instance Ember Weekend, which by all accounts does not need to be on FastBoot, isn't on FastBoot because it's ostensibly free and it's a good testing ground for me to learn about FastBoot. But the future -- ROBERT: It's interesting in handling audio on a FastBoot, how was that? JONATHAN: Since the user doesn't actually can't listen in node land, the user can only listen in a browser, we don't do anything with the player in FastBoot land, which is fine. There are some weird things like you have to basically have guards around like key events, for instance. Because Mousetrap relies on, I believe in jQuery to bind its events, you have to basically say, "In node land, we're not going to bind any of these Mousetrap events because they will not work," but there are some things you have to learn about the ecosystem but by and large, it's a solution that you just drop in and you just get for free. I think that's a huge sell. That's another thing with the convention over configuration argument, the model is that eventually, once the solution arrives, most of the people who are using Ember can just use it right away. It really does help with [inaudible] activity devices. There are some really interesting things about how time to first paint, I think Martin [inaudible] just released an add-on that basically says, "I'm going to take all of your JavaScript files and mark them as async and then when you download, the time to first paint becomes almost immediate," because it's just going to say, "I have HTML. Here's the HTML and serve it." Then in the background, because of script tags or whatever, it just goes and fetches the stuff in the background and you end up like time to First Meaningful Paint is really cool so it'll perform software that is super neat. If Discourse wanted to say, "Here's the stuff and we're going to make it work later," like as soon as the JavaScript has download, that's a really cool sell too. There's a lot of weird edge cases and describing the interactions is I think the hardest part about FastBoot. It's just like describing why this might be really good for you is the hardest part because a lot of people don't have these problems. If you're doing a marketing site, you're probably going to use Squarespace or something. ROBERT: Yeah, like a static site generator or something? JONATHAN: Yeah, exactly. ROBERT: Something that will give you great SEO results. JONATHAN: Exactly. ROBERT: You want to play around with that. JONATHAN: This dovetails into something Edward Faulkner was talking about eight or nine months ago when he was working on the inline content editor for Ember. It's really, really neat. I actually like to see where that's at now. I think it was Cardstack that funded a lot of the stuff for it. But if you combine things like that, then also FastBoot, you're starting to talk about something that could do what WordPress does, which is a really interesting thing like the really, really low hanging fruit. Type these few commands and you're point clicking your way to a website which is really, really cool. CHARLES: All right everybody, thank you so much for listening. Thank you, Jonathan for coming on by and talking with us today. JONATHAN: Yeah, thank you so much for having me on. This podcast is super awesome. I'm really excited to actually be able to be a part of it. I feel like you are at Ember Weekend that one time and you were in Norway? CHARLES: Finland. JONATHAN: Yeah, Finland and we weren't able to actually have a video open at the same time because of the data problem. It's been actually kind of cool to actually have a real conversation. That's been really great. CHARLES: Yeah, that has been awesome. That was a good conversation and that, your podcast obviously is EmberWeekend.com. Everybody go and check it out. Thanks for listening.

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.

ELT Podcast - Intermediate Conversations for EFL and ESL
Intermediate Conversations - I got a new computer

ELT Podcast - Intermediate Conversations for EFL and ESL

Play Episode Listen Later Mar 4, 2007 2:42


Conversation: Bill: I got a new computer yesterday. Robert: You got a new computer? Bill: Yes, a new notebook computer. Robert: Why didn't you get a desktop computer? Bill: The notebook is light, and has a battery, so I can use it anywhere. I can use it on the train or the bus. Robert: Isn't the keyboard too small to use? Bill: It's compact, but I'll get used to it. Robert: I think large keyboards are easier to use than small ones. Also, desktop computers are more powerful than notebooks. Bill: That's true, but my notebook computer is powerful enough for me. Robert: Aren't notebooks more expensive than desktop computers? Bill: Yes, desktop computers are less expensive, usually, but notebook computers are portable. I can use my notebook in any room, and when I'm finished, I can put it away. You can't put a desktop computer away. Robert: That's true, but my desktop computer doesn't take too much space. It's an iMac. Bill: That's a cool computer. I bet my Windows notebook was cheaper than your iMac. Robert: You get what you pay for. Bill: Funny. Let's practice: A: I got a new pet yesterday. B: You got a new pet? A: Yes, a cat. B: Why didn't you get a dog? A: I got a new car yesterday. B: You got a new car? A: Yes, a compact car. B: Why didn't you get a sports car? A: I got a new iPod yesterday. B: You got a new iPod? A: Yes, I got an iPod Shuffle. B: Why didn't you get an iPod Nano? A: I went on a homestay last year. B: You went on a homestay? A: Yes, I went to Ireland. B: Why didn't you go to Australia? www.eltcalendar.com

ELT Podcast - Basic Conversations for EFL and ESL
Basic Conversations - How often do you go skiing?

ELT Podcast - Basic Conversations for EFL and ESL

Play Episode Listen Later Feb 13, 2006 2:49


Bill: How was your weekend? Robert: It was great. I went skiing. Bill: How was it? Robert: It was fun. Do you ski? Bill: Yes. Robert: You should come next time. Bill: That sounds good. How often do you go skiing? Robert: About once a month. Let's Practice A: I went to the movies. B: How often do you go to the movies? A: About twice a month. A: I baked a cake. B: How often do you bake cakes? A: About once every two months. A: I went running. B: How often do you go running? A: About three times a week. A: I had to work. B: How often do you work? A: Five days a week. A: I visited my parents. B: How often do you visit your parents? A: Once a year. Find more at www.eltpodcast.com

conversations basic skiing esl efl elt english conversations b how bill yes eikaiwa robert you bill how robert it