Carmen talks about the creation of Open Source Thursdays, including the tools she used, accessibility considerations, as well as the improvements she made along the way. Carmen's message is that nyone can be a great live streamer!
Takeaways coming soon!
Speaker 1: Hello. Thank you so much for joining today. I'm so excited to tell you a little bit of what I've been up to this past year. Quick heads up before we start. I've shared my slides on Twitter just in case.
Speaker 1: So if you want, you can go to my Twitter there, ola soy milk, and you can grab a copy of the slides to follow along on your device as you like. So, yeah, let's talk about live streaming. For me, the big focus has been on inclusivity, effectiveness, and, yes, most importantly, fun. So to tell you a little bit about that, I'm gonna tell you a little bit about me. So hi.
Speaker 1: My name is Ramon, pronounced he, him. I'm a head of open source at CodeSee, and I've been up to a lot of stuff. I've been developing software for about ten years now, which feels like ages. And, more recently, like, I've been doing a lot of work with, live streaming as you saw. So I've actually been doing a little bit of live streaming in my own time, which has been a lot of fun.
Speaker 1: Here's a screenshot you can see from my show last Thursday. So every Thursday, I'll come on and just do a little bit of live learning, live coding, live working with friends, and just chilling out and having a good time. Here, I'm working with exorcism.org. So if you're interested, do please, check it out. I'll be on tomorrow again.
Speaker 1: But I'm not here to talk about my my personal streams. I'm talking about live streaming for DevRel. And most importantly, I wanna answer a couple of questions when I before I get into that. Namely, first, why do live streaming for DevRel? There's a lot of types of video content that we can provide, for example, as I'm doing now with talks, But, there's also other options with, you know, produced video.
Speaker 1: So why do streaming itself? And there's a couple of reasons I wanna get into. Joe on Monday talked about this concept of reusability, which is really, really handy because indeed you can take those streams and reuse them as different types of video content. But some that I wanna cover is, first off, this aspect of collaboration. The great thing about live streaming is that you invite your chatters to interact with you.
Speaker 1: You are live. They can, you know, chime in with ideas. I love to do a lot of ensemble programming when I'm live on stream. So for example, we'll do things like let encourage our viewers to look up documentation on the fly, maybe give us ideas, maybe fight us on different ideas of how these things should work. Yeah.
Speaker 1: It's a lot of fun, and I really like this interactive, aspect to it. When compared to video, it's also relatively low preparation and production cost intensive. That doesn't mean negligible, but it's definitely less so. Once you have your assets and once you have some guests or a kind of format that you wanna go with, you can kind of let your production flow in a much more informal way. It's a lot less, it's a lot less stressful in my opinion in terms of getting to the point where you can, you know, have your content on a regular basis.
Speaker 1: More on that later. But most importantly for me, what I like about live streaming is that it kind of, especially when it comes to, like, the developer education aspect and, you know, something a little closer to relatively newer programmers, is that it lowers that barrier to entry in my opinion. One thing I've been harping on in the last in the last year is sort of this this sort of notion that as a senior developer, one is expected to have perfect knowledge or, you know, being able to have SDKs memorized in our heads. And I find that streaming really helps demystify that because I don't know. I I enjoy being wrong on stream.
Speaker 1: It's it kind of helps it kinda helps me loosen up and show folks that, you know, we we're all in the same we're all on the same ride here. Another question I wanna answer is this notion of whether I, as a streamer and I said, I've been only doing this for about a year myself. Do I need those high end equipment and, you know, technical skills? Do I need one of those those streaming decks that you with the fancy buttons? I wanna say absolutely not with the caveat that, yes, I realize I'm on stream right now, talking to you with a nice with a nice microphone, and I've got a fancy light.
Speaker 1: But what you probably don't know or can't see from this, I don't have a very fancy camera. I'm actually talking to you with my phone. This is my phone you're looking at or looking at me through. I'm using a free app called Reincubate Camo, which is really, really great because I can use I mean, phones have great cameras. Why not use that?
Speaker 1: And also don't have a very fancy green screen. Instead, I decided to surround myself with toys. You know, you can make it work to how fits your personality and how you want to present yourself the best way. Next, I wanna cover what kind of content we can stream because, well, streaming has really exploded in the last fifteen, ten well, definitely exploded much more in the last five years or so. Sorry.
Speaker 1: Just excuse me. Yeah. It's really exploded in the last five years or so. So there's lots of different options for stuff we can do. We can do things.
Speaker 1: I have interviews, office hours, play video games if you're if that works with your DevRel strategy. But one thing that I've been enjoying is doing, live coding, and you're gonna hear more about that from Laila Layla, sorry, in just a in just a few moments. Yeah. And, what kind and there's also this question of what kind of live coding can I do? And in order to answer that question, I wanna cover just briefly what it is that I'm doing at Codecity.
Speaker 1: And I also wanna share that this is actually my first ever DevRel role, and I'm so excited. I got brought on in January, on a job share, thanks to my dear friend Jessica Rose, and it's been an absolute joy to work on. And, what we're doing at CodeSee, just to give you some context, here's a screenshot from our website. We're working on tools, related to code based mapping and code based understanding to really help, folks collaborate on complex code bases. And one of those aspects that you see highlighted with my handy dandy arrow here is onboarding.
Speaker 1: And so I I latched on to this onboarding aspect, and I said, what kind of what kind of show can we make out of that? That kind of combines those things that I want to do with what, you know, CodeSee is trying to promote. So, for Hacktoberfest this month, yes, last month, we came up with a show called let's onboard Ramon to a certain open source project. And it's been a lot of fun. And, of course, being, Hacktoberfest, I couldn't help myself.
Speaker 1: I, of course, took the opportunity to give it a bit of a theme. I gave it a nautical theme because I'm getting onboarded. And, you know, it rhymes with c and code c. Anyway, so we did just that. And here you can see a screenshot from that stream.
Speaker 1: And, yes, I did dress up a little bit with a little bit of sailor outfit. And I, of course also, my buddy, here was, ship shape. And, this was a lot of fun. Here's, here I'm getting onboarded onto the electron app time to leave by Tamara, and it was a wonderful time. I worked on I did four of these, and each of these one is on a different stack, some of which I'm more familiar with than others, TypeScript, Python, vanilla jai vanilla JavaScript, Go.
Speaker 1: I'd done very little Go. And the caveat was, like, aside from getting its the project set up on my machine, no prior knowledge of the codebase, going as in as with as little knowledge as possible. And it was so much fun, and it was I had a wonderful time. And and by and, you know, one thing that we were able to do was for each show to have a person from a diff a maintainer from a different continent presenting us. It was an incredible experience.
Speaker 1: And one of the I don't wanna brag too much. Some of the best work I've ever done. And but there's some reasons we did this as well. You know, of course, for our DevRel goals, we wanna bring awareness to our products. We also want to bring exposure to different projects' communities.
Speaker 1: Tim yesterday talked about how his people were members, lots of different various, lots of different communities, and bringing those together, I find to be a really gratifying experience. And, of course, by bringing viewers exposure to these projects, we can show off that their maintainers are wonderful, inviting, accommodating people and bring in more contributors, which, again, bragging a little bit, we did manage to do. It's also been a wonderful opportunity to make new friends. Yes. It's a bit selfish, but I just love meeting people and making friends.
Speaker 1: So when it comes to bringing on those guests, one thing I wanna share with you today, is an open source project that, that something that we've open sourced, which is a set of guidelines. So if you go to this URL here, we've open sourced just a document that we send as a PDF to our potential guests with a couple things just to make their experience as smooth as possible so that they can just get in and worry about onboarding me. These things include, like, a little bit about the streaming platform, what to expect, the ex the behavior that we expect from them that that should adhere to our, code of conduct, what the timing looks like to please show up a little bit before so we can make sure all the tech is working, what the video on demand or VOD situation, looks like, what the moderation looks like. And, also, I wanna I take this opportunity to assure them this is supposed to be a relaxed, fun event. If we find that the conversation draws to a natural close, we can end early.
Speaker 1: Totally fine. If we go a little bit overboard, unless you're Ramon and you like to book too many meetings, then too closely, then we can go a little bit, overboard as well to stay on theme. Yeah. So please, oh, please do contribute to these. I don't have all the answers, and I would love to learn from all of you.
Speaker 1: So next, I wanna talk about scheduling. As you gain followers on Twitch, if you don't know it, Twitch is kind of one of the most popular, streaming platforms at the moment with lots of, aside from video games, also live coding and other kinds of, streams going on, what you can do I've set a URL here where you can plug in your Twitch username and set up a schedule that will create a calendar that folks can subscribe to. But also folks that follow you will get notified and say, It's Thursday. It's time to code with Ramon. And I find that having this consistency is really, really good, for building that audience.
Speaker 1: Of course, things will come up, and you might have to to adapt things or skip a week. It also, allows you to set holidays for yourself, which is quite nice as well. Next, I wanna touch touch upon these these these announcements, so the graphics that go with them. We like to post our announcements that we're gonna have a stream on different social medias. And in order to make those pop, it's really nice to have an announcement graphic to do that.
Speaker 1: There's a couple of reasons for that. It increases the shareability. Sure. But it also is nice to have some faces to go with those announcements. I like for example, Taylor here from Distributed joins me every week, to do some live coding, and it's a lot of fun.
Speaker 1: And so having those faces there is really nice. Having their Twitter handles, It kind of makes it, you know, a nice chunk of knowledge there. There's a sample tweet there that I've linked as well if you wanna check it out where it's and one thing I really wanna emphasize, is that when you do share these things, if you I think different tools like Buffer let you do this. But on Twitter, please, please do remember to set that alt text. Super, super important.
Speaker 1: Now in order to create these graphics, I will admit right off the bat, I'm not the best when it comes to graphical design stuff, and I'm I'm I'm learning. I've well, I don't have my copy of graphical design here. But, yeah, it's it's something I'm working on. And one thing I really, one thing that my brilliant colleague Nareen recommended to me is this tool called Canva. I don't know if you know it, but it allows you to it comes with a lot of presets for making banners and different kinds of graphics, which is really handy and almost lets me it makes me feel like I can do it, which is really, really great.
Speaker 1: But if you already have some of those designs, what she also recommended is using Google Slides to make these reusable. And, you know, you know, you can tweak them and make them really, really, reusable. Here, for example, you can see one for when I got onboarded to Shopio Shopio by, Abdurrahman Jahangir, which was, again, don't wanna brag too much, a wonderful stream. But staying on that topic of inclusivity, I think it's also really important to bear in mind what time zones look like. We're doing so much stuff online nowadays, and it's so important to make sure that everybody gets covered, not just because it's considered for them, but, you know, a little more selfishly, it makes sure that, you know, they don't miss your shows.
Speaker 1: So, you know, when you tweet or something, I like I used to like to put up a couple of time zones just to be, complete. But, course, you're gonna it eats up, characters, and it doesn't include everybody. So what somebody introduced me to that I wanna recommend is this website, everytimezone.com. Because what it does is it allows you to set a time for yourself and then create a shareable link that when folks open it, can adapt to their, time zone and lets them know, okay. That's when we go.
Speaker 1: That's when we go see Ramon. Next, I wanna touch on, streaming platforms. So I've tried two of them, one of which is a little bit more open source, but also more familiar if you use Zoom a lot. If you don't know it, video conferencing platform. And OBS is the sort of open source, the open source streaming, platform app, short for open broadcasting software.
Speaker 1: And what's really cool about it is that it allows you to set up your own stream, plug it directly into Twitch, and do your streaming from there, set up your audio, set up your window sharing, layout your scene. You can see here I'm talking to Nareen. We were talking about non code contributions. That was a great stream too. And, yeah, it's open source, and it's really nice to be able to set that up according to your liking.
Speaker 1: It also allows us to plug in automatic, captioning. More on that later. Another platform we've used is StreamYard, which is very similar to OBS with the added difference that everything runs in the browser. So I promise, I know I look sad here, but I'm actually having a good time. Here's an example of it running in the browser.
Speaker 1: You can see I can, layout my stream, have my graphics up. It's all living in the browser, which is really handy. And folks folks join that as they would a regular Zoom call, just share their screens accordingly. It's really, really nice. And what I like about it as well is that you can click on, comments from the chat, and it highlights them on the stream to let folks see what what, you know, what we're talking about.
Speaker 1: Pardon me. So I wanted to show a little bit of a breakdown between StreamYard and Zoom specifically. While OBS is open source and really nice, the problem is that it runs on my machine. So if something happens to my machine or my Internet goes out or if I'm unable to attend the stream that day, it becomes a little bit difficult. Whereas with StreamYard, it's a bit of a backup to have it up on the browser.
Speaker 1: And the and about the captions. Right? StreamYard at the moment doesn't support the automatic captioning. I hope they bring it soon because it's such a good feature to have, and I'll get to that. Actually, let's get to that right away.
Speaker 1: Yeah. Let's talk about closed and slash open captioning. Fun fact, I did not know this before I started streaming this year, the difference between closed and open captioning. What you see here with my, with my subtitles, on my on my slides here are open captions because I've enabled them and they will always show, Whereas closed can be enabled optionally. You know, for example, on a YouTube video or a Twitch stream, you can click on the CC button to bring them up.
Speaker 1: However, these are automatic captions. If you don't have the budget for a stenographer, it could be argued that these automatic ones are not perfect, and I agree. However, if you're a little bit nervous like me, I think it, like it it helps me to make sure that I'm not talking too fast. But at the same time, I like to think of it as as as an added benefit just in case I, mispronounce something to make sure that we're all on the same page. So, yeah, let's talk about that automatic captioning because I actually found a plugin for OBS that allows us to do just that, and it's called OBS captions plugin.
Speaker 1: Here's a GitHub link to it. You install that onto your OBS, and lo and behold, you've got it right there. You can set it to be open captions, for example, as you see on the screenshot. I love how happy I look there. As you can see here, I've got open captions set up so you can see that they're showing up as I talk.
Speaker 1: But you can also have those closed captions, which you saw on that screenshot before with Noreen, where folks and I like to give them a heads up, say, hey. You know, there's closed captioning on this stream, so go ahead and click on that if you need it. And on that topic of inclusivity, I also wanna talk about font sizes because it could be this might be a little bit, this might be a little bit, obvious to some of us, but I think it's important to highlight how important it is that, you know, me streaming big screen, I can show my code in a small font. And folks, you know, viewing on mobile devices, maybe you who's watching right now are watching on a mobile device. I think it's important to check-in with the audience.
Speaker 1: Say like, hey. I'm gonna make this a little bit bigger. Please let me know if it's too small or too big or or however, however it is. And just make sure with everybody. Make it a little bit larger and make sure that everybody can see your code.
Speaker 1: Super important to keep that in mind. Next on a more technical level or semi tech well, stream level performance level. Let's talk about music. Now my personal streams, I love to have music. Like, I I like to have lo fi beats to code too.
Speaker 1: It sort of, you know, prove it provides a relaxed environment, but I'm quite nervous about copyright. And for that, I found this I was recommended this app by my colleague, Grayson, called Pretzel Rocks. And this is great because it's an app that has, you know, stream safe music with a special YouTube mode included. And what it does is that it plugs into your Twitch and e gives attribution to those song names and authors, which is super handy. Highly recommend this if you wanna have music on your streams.
Speaker 1: Next, I wanted to cover follower notifications. So I was talking about, you know, that schedule before, but and when folks get, when folks follow you and you come live, you they will get a notification saying, hey. Time to watch Ramon. But just to make sure that everybody can come in and find something somewhere comfortable to sit, maybe grab a hot, a hot beverage, as Jess would say, a snack, you know, it's important to start a little bit early, have a nice little, hey. We're starting soon screen.
Speaker 1: Maybe interact a little bit on the chat, and just make sure everybody's ready to go. Next, I wanna touch on chatter moderate chat moderation because I think it's super important to bear in mind that Twitch does have these really handy tools for being able to for example, if folks are spamming or being talk, or or being negative on stream, to be able to permanently or temporarily ban them, give them a warning. And I recommend because if you're if you're trying to balance, like, coding, making sure the guest is having fun and comfortable and keeping an eye on the chat, it makes I I would highly recommend having a teammate help you out with that if possible. And on that topic of chatter, and this is my this is the last piece of advice the last tip I will cover today, I like to be really considerate of my chatters as well. It's a community.
Speaker 1: We wanna make sure that they're having fun and have a safe environment to be able to interact in. So a couple things I recommend. If somebody comes on on the chat and starts chatting and you know them in real life, try to refrain from using their real names if you know them just in case or ask them beforehand or afterwards. Hey. Is it alright if I check check with you?
Speaker 1: Because they might want to be, you know, called out and given a shout out, but still it makes sense to consider their privacy. Same goes for folks who aren't chatting. You can see on Twitch who's, in the chat itself, who's watching, but it makes sense not to call them out. Maybe they just wanna lurk. I I'll admit I occasionally just wanna hide in the shadows a little bit and watch the stream, have a good time.
Speaker 1: So if folks are chatting, absolutely do call you know, talk to them. But maybe leave the folks who aren't chatting, give them some space. And, you know, where possible, you know, be as neutral as well. Use use gender neutral pronouns to refer to everybody. Create that safe environment.
Speaker 1: Yeah. So we've covered a bit today. We've covered theming, scheduling, announcements, time zones, streaming platforms, font sizes, background music, notifications, moderation, captioning, and chatter safety. But there's one more, the the heart icon at the bottom right that I really wanna cover, and that's you as the streamer. If you're new to this and it seems a little bit a little bit scary, I wanna part I I wanna I wanna leave you all with three pieces of advice today.
Speaker 1: One, we're live. Things happen. I've had streams where the outage the Internet went out, and I was really nervous, and I just I had to cancel my stream in the end. I was quite sad about it, but things happen. Don't worry.
Speaker 1: The other one is to go easy on yourself. It's streaming can be tiring for some folks, myself included. I've lately joked about the fact that turning off the ring light at the end of the day kind of feels like the equivalent of coming home from work, kicking off my shoes, changing into some comfy pants. Yeah. So, you know, be mindful of your energy for sure.
Speaker 1: And last, you got this. You can do it. Relax. Remember, the audience is cheering for cheering you on. And as long as you're having fun, your guests and your viewers are having fun.
Speaker 1: So, yeah, that about covers it for today. Folks, I wanna hear from you. What kind of tips do you have for streaming? What kind of streaming stuff do you do? There's so much to it.
Speaker 1: Get in touch with me. I'm on Twitter. Here's some slides to, some links to stuff that I mentioned today. And with that, I say thank you so much, and I wish you a wonderful rest of DevRelCon.