Growing pains 2

Sorry, no quick TL;DR for this post, but you can read just the first and last sections (background/conclusions) to get the best summary.

Background

This blog post and the first one in the series were the only two posts that I’ve disliked writing. It just sounds so self-entitled to write a post that’s seemingly about “having too many viewers”. However, I’ve always wanted to be as transparent as possible, and to that end, informing people about potential changes is crucial.

I’ve always loved interacting with chat. It’s something that separates the entire platform of live-streaming from watching prerecorded videos. However, as time has passed, I’ve gotten more and more comments saying, “when are you going to code?” and “it seems like you’re always talking to chat when I come in here”. I’ve noticed a steady decline in the pace at which I get features done, and my first and foremost goal of the stream has always been accountability. I tend to say that there’s exactly one way I can fail, and that’s to not finish Bot Land.

I think that coding and interactivity are generally at odds with one another. This comic illustrates exactly why. There are certain areas where it’s easier for me to split my attention, e.g. pure CSS work. Anything more mentally taxing than that and I’m just giving off the appearance of multi-tasking. At that point, my goal of remaining accountable is being compromised.

Potential solutions

There are really only two high-level ways to address this issue:

  • Stream less
  • Interact less

Streaming less is straightforward: I would change my schedule from 32 hours a week down to something like 24. I would then spend the 8 hours that I “gain” with my nose to the grindstone.

Interacting less is a trickier beast. As I mentioned earlier, interaction is core to the platform, not just my channel. I’ll talk about several potential high-level solutions and how I feel about them:

  • Sub-only mode (i.e. you have to spend $5/month just to be able to chat at all): this is incredibly restrictive and too “sellout-y” for me to seriously consider.
  • Follower-only mode (i.e. you have to click the follow button to be able to chat): this seems agreeable enough to myself and to viewers, but I don’t think it actually addresses the issue since I doubt it would cut down on messages; I only average about 20-25 new followers for an 8-hour stream, and I don’t know how many of those people type anything at all.
  • Slow mode (i.e. people can only send messages every X seconds as opposed to having no delay): again, this is probably agreeable enough (although I imagine less so than follower-only mode), but it could lead to longer messages that require the same amount of interaction.
  • Only respond to messages where people tag me (i.e. you have to type “Adam” somewhere in your message to get my attention): I think it’s worth giving this a shot. When chat gets busy on a “regular” day, this is what I tend to do anyway.
  • Respond to fewer messages arbitrarily (i.e. scanning chat and ignoring messages (perhaps the ones that someone else could answer with a command like “!faq”)): I think this dampens the overall mood/feeling of the stream. Almost every streamer with 1k+ viewers employs this strategy; they’ll pick out some messages from chat to respond to and pass over most of the others. You’ll probably never see a streamer with 1k+ viewers meaningfully interacting with absolutely everyone who comes through. Of course, I don’t have 1k viewers, but I’m also trying to develop a game while I stream.
  • Only respond to messages at certain times (i.e. something like the Pomodoro Technique where I would code for 25 minutes and then interact for some time): I feel like this would require a lot of work to get right. For example, I’d need a way of filtering messages such that I don’t have to read through 25 minutes’ worth of chat all at once, and it would still end with me missing something. As a viewer of other people’s streams, I can’t stand when they’re not interacting at all, so I think this isn’t a viable option.
  • Combined with any of the above, I could try to foster more self-sufficiency in chat, e.g. by having regular users answer questions for newcomers.

Impact and other thoughts

Something to keep in mind is that almost any solution is going to stunt the growth of the channel. If I’m cutting down on the amount of time I’m streaming, then I’m hurting my discoverability. If I’m cutting down on interactivity, then I’m hurting part of what makes the stream fun. These could make it so that the original issue simply disappears. While this would be a good thing for the development aspect of the stream, it detracts from the second major goal I have: marketing. I need people to know that Bot Land exists!

Related to that: the increased traffic could be a temporary uptick caused by any number of variables outside of my control: exam schedules, external sites directing more traffic to Twitch, etc. Regardless of how it happens, if my stream ends up with only 1-2 viewers at some point, I think this thought process is still helpful to publicize.

Another thing to consider is that some of these solutions only push off the problem until even more people join. I can’t stress enough that I’m not trying to assume that my channel will grow to 300+ viewers or that I’m Mr. Popular. Instead, I’m just trying to come up with more permanent solutions so that the next 8-9 months of development can go smoothly and I can launch the game in as good a state as it can be.

I think that there’s clearly a desire for “IRL Programming” streams from me where I focus almost entirely on chat interaction. The Visual Studio Code stream was great for that: I had a vague and unimportant goal (trying out a text editor), and I could prioritize interacting with chat. They would probably need to be standalone streams so that I could advertise them as such (a “free-for-all” stream for chat, so to speak), so I can’t promise that they’ll happen with regularity.

I do know what it’s like to be in a channel where 50 people are all shouting the same thing at a streamer. It’s a frustrating occurrence from the perspective of the viewer, but it got to be that way for a reason. For all we know, the streamers in those cases went through the same thought process that I did here and gradually came to the conclusion that they couldn’t interact with chat without sacrificing some other goal (which is usually to be entertaining!). It’s impossible to please everybody, and the dog who chases two rabbits catches neither. This dog wants to finish Bot Land and make a great game for you all to enjoy.

Conclusions

Unfortunately, I don’t have a single strategy going forward. I’m likely going to try different things: maybe taking off one day per week to code, maybe testing other ideas out… The whole reason I wrote this blog post is to let you all know that there are going to be changes to the stream even though I don’t know exactly what they’re going to be just yet.

Here are some things you can do as a returning viewer to help me out:

  • Help on-board new viewers by answering their questions. If they say “what’s Adam working on?”, feel free to type “!new”, “!botland”, or “!faq” (and don’t forget to @-tag them!). It’s nice to feel welcome as a new viewer, so even just saying “hi” to them is great!
  • Provide feedback to me over a Discord private message on absolutely anything: the stream/game, this post, the water bottle I drink from, etc. I read every PM, and by sending it over Discord, you’re cutting out the need for me to handle it immediately.
  • Be understanding with me. Transitional periods are rarely easy for everyone involved. I still want to provide entertaining and educational content, but I need to lower my overall stress level in order to do that.

I’m grateful for the support that you’ve all shown to me time and again while making Bot Land… I am living my dream right now and I am incredibly lucky to be doing so. I don’t want to take this opportunity for granted. Thank you for reading this and I hope we can find a happy equilibrium going forward.