My future of #scicode, live coding, live sciencing
I had a good time streaming. And it seems as though the audience also had a good time.
Our first stream averaged 7 viewers. The second stream averaged 8 viewers. The third stream averaged 10 viewers. The fourth averaged 7 viewers. That's relatively consistent -- and actually pretty good since there was channel switching between me and Chris.
Live coding has its place. I think it's really engaging and fun. Chris will promote the educational aspects of live coding. I'm more about the messiness and potential disasters, less about clarity of what's going on. I think that may have been clear through how we hosted.
Some complaints about live coding are warranted: it's slow and it's hard to discuss live. Fast coding leads to novice mistakes, and that's more annoying than interesting. Coding slowly is a careful process but sometimes isn't the most visually interesting -- a lot of my time is spent scrolling and highlight over my code just to make sure it looks correct. Also, discussion of code live is really difficult if you don't really know what is about to happen. You can basically talk to yourself, but if you aren't very good at keeping your own dialogue entertaining then the stream can go stale very fast. Code doesn't allow for very great commentary in-the-moment (unlike video games or something more reaction-based).
Some positive highlights about live coding are also warranted: it's a part of the coding process that isn't very well documented and it is also very informative usually. You don't know how much of a relief it was to hear someone say whoa you code similarly to how I code. That was more vindication for me in coding than I've got ever. Alongside this comment was the viewer's relief as well -- people code like me and that's cool! This is also the same feeling as when people find something really informative from our streams. It doesn't have to be something mind blowing -- it's not like people are learning the tenants of statistics or machine learning within two hours from us -- but it usually is mind blowing to someone. Like performing certain data slicing or data munging techniques. Or information on certain functions.
I don't mind the complaints about how it's a "slow" format. I think slow is fine. It's not like slow formats don't exist -- many marathon video gaming streams exist, and those are all slow formats. Hell, board game streaming is becoming more popular. Coding isn't so far off but there is a stark difference -- games have a goal that is easy to understand. Even the rules of games are usually easy to comprehend, regardless of if you are entering the game at the beginning or watching in the middle of game play. Code is not necessarily easy to comprehend. There is no visual cue for something you're coding. And there's no simple end game state of a code -- other than a code doing what you wanted to do.
It's difficult to make code a more visual experience. I think data visualization is important in the science process and so I try to present data visualization front-and-center (I personally believe data visualization can be valuable in almost every step of the pre-processing and analysis pipeline). But to get to the visualization is sometimes difficult -- and slow -- so I understand why live coding will not be a thing for many people. On the other side, many people won't be interested simply because it's difficult to process immediately. I try to keep my live streams near something that is relatively easy to comprehend (food, sports), but even with simple and widely popular forms of data the nuances of the stream become difficult to follow and the data becomes less of an emphasis (and is replaced with confusion).
Is live coding just an extension of live... anything? Could I be doing anything and attracting a relatively similar crowd? In a way, I'll be testing this idea as I stream my dissertation process (starting within a few days, actually). Content is driven either primarily by how interesting the content is or primarily by the personality behind the content. This is a common sentiment in a lot of media -- great content-driven shows do not need a personality (i.e. sports broadcasts provide a lot of content and the color commentary is not what makes the broadcast interesting) whereas great personality-driven shows may need very little content to be interesting (i.e. most talk shows; late night talk shows are fantastic examples of personality-driven and little-content shows). I don't see myself presenting great broadcast-worthy content, but I do think I can entertain a crowd. My dissertation will be a good test of what formats of streaming are best for me -- whether it's coding or writing or statistics or something else. I'll gravitate towards those formats more often if the feedback is positive.
I think perhaps the best experience I've had live coding was the most selfish reason: my side project codes that I've been wanting to start happened. And if anything, live coding helps with being held accountable for those bits of code you wish you had more time for. Perhaps it's an eccentric way to force yourself to start (or finish) a project, but it is a way and a relatively helpful one (having 8 or 9 sets of eyes on your code is a lot more helpful than only one set).
Thanks for tuning in to the streams. I promise more are on the way in more engaging and interesting formats.