3 ms·
I love it, I've been considering how to livestream real coding best for quite a while, in terms of personal streaming. Having a dedicated site is great. I'm se
by ColinDabritz 12y ago
I love it, I've been considering how to livestream real coding best for quite a while, in terms of personal streaming. Having a dedicated site is great.
I'm seeing some skepticism over all for a variety of reasons, certainly valid concerns, but I think they largely frame it in terms of traditional "attention grabbing" streaming, like game play. The other day Notch was streaming his doom-on-the-web experimenting, which was really fascinating to watch. Imagine if Bret Victor was live streaming his playful explorations of coding and visualization, discussing his thinking as he progressed. To me, those are killer apps.
I think programming streaming is essentially different from, for example, video game streaming.
It has many specific qualities that make it an interesting platform. Education, a window into true software development, and the highest integrity source control possible.
It's definitely true that the 'pace' is different, especially if it isn't "showcase" programming. I think the strengths lie in a couple key areas.
It's extremely honestly educational. In the programming industry you see a lot of canned talks, which are great for introducing new things, showing specific techniques, they have lots of uses. On the down side though, they are very misleading to learners. The work programmers do is not largely blazing away along the perfect path of a problem, whipping out code as fast you can type (or copy paste). It messy, complicate, has lots of fumbling and dead ends, and it's more about thinking hard than typing fast (not that fast typing is bad, it's handy to get your ideas out of your head quickly, it's just not job #1).
It's "boring" in a switch off your brain, entertain me at all times sense. If you literally streamed hidden spy cams of most programming, you would get very little interaction. I think it's intellectually very interesting in an engaging way, to watch others wrestle with problems, to see how they do things differently, and gain insights into a very intimate process.
I livestreamed a bit of turn based gaming on the release of a game, and it was remarkable. Most streamers day one were tearing through the game at a relatively fast pace. I was taking it slow. Some people complained about the speed, but my goal was to "full plan" working the thoughts and strategy options through, and talking through it end to end. Some people were frustrated by that, looking for more of the other styles of streaming, but I gained a small audience (averaging 20s, peaking at 80s, it felt decent for a new streamer). I talked out my thought process, which helped improve it. My brain was 'fully switched on' in a state of flow. Just these things helped my play immensely. I also interacted with my audience, which helped that much more. A live stream can be your pair programmer. You can explore new ideas and possibilities.
I imagine it more like when an SC2 player is exploring a build. It's "dull and boring" because it's relatively predictable, but as they explain their thoughts and discover new timings and possibilities, it catches a lot of peoples interest.
Another important aspect for me is the timeline. Maybe not every minute is interesting, but perhaps with a highlights feature you could step through a process and show example. "See, this is where I made the architectural goof. You can see hints here and here showing that it's problematic. Here's where the realization happened and why, and here is the much more satisfying fix".
What if you had a recording of every moment of the programming of a non-trivial system? You could do great research. You could study the kind of mistakes people make, do minute-by-minute root cause analysis. My only concern here is that narrating what you are doing, and having a live audience may alter the style of your work. Can you still complete your best work under these circumstances? It's an interesting question, and I've love to explore the answer. I think it's definitely a different approach from the solo quiet solitary work style, but if my experience with streaming gaming was an indication it's one you can leverage into high engagement and flow. The question is can you do all of the great work you need to in front of an audience?
To me, with a timeline, livestreaming and archiving is the ultimate in source control. What if you could trace a line of code to a check in to a time stamp to the video of that line of code being created? What if you could stitch that all together to a work item or ticket, and get video of the design and thinking process, to understanding why the code is a certain way? That's exciting.
One of my biggest concerns is the licensing policy. I need to own my code. I need to own my ideas. Maybe it's open source software. But as a streaming site, you are getting a non-exclusive, revocable right to host my livestreams. In return you can play ads and host my archives.
I've thought about this quite a bit. I want to be a part of this. I've submitted my email on the website. I believe you can also email me here.
Thank you for embarking on this adventure.
- minimaxir 12y ago> To me, with a timeline, livestreaming and archiving is the ultimate in source control. What if you could trace a line of code to a check in to a time stamp to the video of that line of code being created? What if you could stitch that all together to a work item or ticket, and get video of the design and thinking process, to understanding why the code is a certain way? That's exciting. Isn't that the exact use case for code/commit comments? :P
- tree_of_item 12y agoCommits don't even come close to capturing the amount of data a screen recording does.
- minimaxir 12y agoTherein lies the problem. Screen recordings aren't a concise representation of the programmer's thought processes, and it would take any viewer more time and effort to watch 15 minutes of video for a problem context and resolution than a concise 1-2 line comment summary of the code delta.
- ColinDabritz 12y agoCertainly! The compression is handy when you have it. This is why check-in comments like "Fixed bug #1234" are really frustrating. The link to the bug is nice, but out of a list of 10 similar comments, I need to find the one that say, turned on the security. I need the compression. That said, sometimes my goal isn't "find it quick", it's "understand it fully". Perhaps we'll figure out ways to understand the video in fast forward, make visualization of code change timelines, that sort of thing. But I think it's interesting to start with all the raw data and figure it out from there.
- ColinDabritz 12y agoQuite, but this would be moment by moment, not "huge chunk after an hours work", a proper stream of the flow of time, and very high fidelity. Isn't source control just a fancy way of saving plain text files? In a certain sense sure, but it's also a lot better. I think it would be interesting to explore. I think the big difference for me is treating a timeline as a first class programming artifact, giving you locality on the code, and being able to explore. What lead up to this code? How long did it take to create? What dead ends were explored on the way? etc.