Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A live streaming platform dedicated to code (devv.tv)
78 points by chippy on Sept 13, 2014 | hide | past | favorite | 47 comments


A couple months ago, someone asked "Why isn't there a twitch.tv for programming?": https://news.ycombinator.com/item?id=8039299

I believe my answer still holds true. Programming isn't as well-suited for constant live streaming because:

a) The viewer can't leave the stream in the background (as you would television)

b) A very large amount of dead air where nothing is happening and the streamer needs to fill dead air. (even worse if you have to debug something)

c) It would require a very optimized overlay that makes it easy to see the code at sub-1080p resolutions. (almost no screencast even now does this because it impacts usability)

d) The presenters need to be socially engaging; given the demographics of people who are the best coders, this is not a guarantee.

In the meantime, I've done some code streaming Hello World PoCs just for fun, with a few optimizations to solve the problems above. They haven't gone well (need to fix a sound desync issue) but there is potential: http://youtu.be/DWRI_7HgZwk


Well yeah a lot of programming can be dead air, but consider:

* Some programming, like quick bursts of activity after an epiphany, can be very lively. These moments can be surfaced to viewers if the right signals are used.

* It can be a million people with an audience of 10, not just 10 people with an audience of a million. It could be useful for real-time distributed projects to have collaborators' streams open. Or track a favorite open-source project whenever the developer is working on it.

* It would also work well if scheduled and with a specific task in mind, especially if the programmer is a "rockstar". (Similar to Notch's recent performance.) e.g. "7pm-8pm PST Linus will begin Git forking refactor". As a performance, could also be used for code walkthroughs instead of actual coding.

* Even though it's live-streamed, it can be still be packaged into highlights later, and the best way to do it is to have the raw content available for anyone to remix it. Different work can also be curated together to highlight a common theme.

* Regarding video quality, that's an easy fix given that most programming remains text-based. The obvious solution is to capture high-level terminal content rather than just plain old video. A coding session could then even be curated into posts like http://asciicasts.com/.

It's interesting to see different people's workflows and mindsets, so I think it's worth pursuing this, and it could be very popular with the number of people learning to code right now.


Yes, I agree that some of those answers currently hold true. But what's to stop them changing?

I feel most of those issues you mentioned can either be solved with technological solutions (pause, rewind, ffwd a stream) or with streamer education and practice (talking through your thought process, increasing font sizes).

I do, however, have lots more to research and understand before I can be confident there are solutions to all the problems currently faced.


I agree with most of these points, but there is one niche where this could make a lot of sense: programming contests (e.g. topcoder, google codejam). These are very similar to sports to begin with, and it can be quite interesting to watch somebody implement a moderately complex algorithm in 15 minutes.


I concur wholeheartedly. I've watched people code on streams during game jams and even then I was quickly bored to tears. Most coding is even less exciting than coding games.

Some tasks just aren't well suited to streaming, and coding is one of them.


I've watched plenty of stream and I agree sometimes there can be dull moments. The same could be said for any type of live stream though. Often this is down to the streamer rather than the subject matter.

Watching quill18 fix a bug and be visibly excited about his code working (raising his hands and shouting something along the lines of 'fuck yeahhhh') during the last Ludum Dare was such a warming experience which mimicked the internal monologue I often have when a piece of code finally works as I expected it too.

There's obviously a demand for people who want to watch coding steams, my biggest challenge is ensuring there are people who can offer streams worth watching.


I guess we just need to remix it with http://www.hypermasher.com/hyperlapse


Person behind devv.tv here.

I built this landing page at the end of the last Ludum Dare compo/when Notch began streaming his Doom build.

I'm currently trying to think of ways to attract developers to stream. There seems to be lots of interest in people wanting to watch good quality streams but I feel the challenge lies in providing these good quality streams.

I plan on streaming myself building the MVP in the near future.


Neat! This seems like a really good idea.

I'd recommend focusing on a particular niche of developers who all gather in one place, and who have a strong interest in learning more and watching others code. Game developers would spring to mind but I'm sure there are other even better groups for what you intend.

Then, if you can persuade one or two of the stars of that community to use your platform, you should get a decent amount of starting traction.

Looking forward to seeing how you get on!


Thanks for the encouragement. One of the first places I actually went with my idea was /r/gamedev (https://www.reddit.com/r/gamedev/comments/2ekkeg/im_thinking...) where I got some really useful feedback. The feedback helped me tweak the features I'd listed and understand some of the problems faced which I want to tackle.


I think that's a great idea, and launching it at a hack-a-thon might be a simple way for people to all do it together and share it with the rest of the world.


My problem is that I work on private code bases. I can't stream it because it would expose sensitive info. Otherwise, I would like to.


Good luck building something. I am curios where your initiative will end. Once I saw the title I had a feeling it should be inspired by Notch's stream, which was recently on HN. You also registered your domain about 3 weeks ago.


Thanks for the good luck message. Yup it's certainly all very new right now. I'm having to learn quickly but it's something I'm passionate about and it's been nothing but fun so far.


I'd love to see how this goes. :D

I recommend having a read of this other discussion thread further up the page: https://news.ycombinator.com/item?id=8312701


Sent you an email. This could be a lot of fun.


I don't think I ever received an email from you. Feel free to get in touch at chris {at} devv {dot} tv if you want to chat.


I love the idea. Something like this will happen soon.

There are some games developers who live stream occasionally on Twitch.tv. The results are generally visual, and feedback quick.

I wonder how much they interact with the viewers / chat. If they can take feedback from and incorporate ideas or fixes.

When I've tried streaming, I've found it hard focusing on the chat side and coding at the same time - it's probably a skill that the best games streamers have - that of paying attention to the viewers, being entertaining, and doing a good job.

The other issue is wondering why I would want to stream myself programming? The first thought was to share with others if they might find it interesting. The second was that as a home worker I might like some virtual company, and the third was that of narcissism. All three thoughts were kind of weak, and I couldn't really come up with a benefit to myself from doing it. Nevertheless I think that there is some future here with such a platform!


Thanks for the kind words. Your final paragraph is the exact issue I'm working on solving now.

The general gist I'm getting is that people often feel insecure about streaming their coding sessions due to perhaps not feeling confident in their skills, workflow, tools or various other issues.

I'm planning on chatting to some established streamers to understand their process and analyse what's currently missing which I could help them with. I then need to chat to some programmers who have never streamed before to understand what stops them from doing so and if anything can be done about that.

If you've got any thoughts or feedback they'd be much appreciated.


> There are some games developers who live stream occasionally on Twitch.tv.

That sounds interesting. Links?


here's a couple

http://www.twitch.tv/ae_play CityBound developer

Notch http://www.twitch.tv/notch (minecraft) used to be on twitch, but I think he's moved to http://hitbox.tv/Notch now


I'll be very interested to see how this goes.

In a former life, I worked on developer tools and as part of that we did some extensive on-site filming of experienced developers, in order to do some new product development (I think we used 10 years of professional development as the minimum bar). I don't remember the exact numbers, but it was over 75% of the time was spent reading code - just navigating, stepping through a debugger (without making any changes), and just staring at huge piles of code.


I've been streaming a second monitor most weekend for the last month on thing ranging from writing blog posts to building iOS apps. The hard thing has always been trying to separate config files & notifications from user-visible streams.

I think it would be interesting to have the stream be text input aware, so that it can showcase the text currently being selected or edited in a way that highlights it better. That and/or either having window specific zooms. I know up-front what the interesting Apps I'll be working in are.

Also, it's a real hassle to keep open a chrome instance to chat, allowing XMPP or IRC would mean I could have a native app for communicating with the streamers.


I've had this mentioned a few times that video is perhaps not the best medium to share something like a live coding session. I can understand that and I've got some interesting ideas to play with around alternatives at some point.

I think in terms of a devv.tv MVP it'll probably be video embed to begin with though.


Twitch uses IRC for their chat, what platform are you streaming on / using?


I've been using twitch.tv, but found the IRC to be unreliable. I tried multiple IRC clients and they disconnect and reconnect regularly, and often miss messages which appear on the website.


My co-founder once put 1.5 hours of coding on YouTube. Quite some enthusiastic responses on YouTube and HN. Recently we got the idea of streaming more code sessions. Didn't execute on it yet. You find his video here: http://youtu.be/cYrbc-g6R-U

Judging from the responses there is a place for a platform that shows long coding sessions as a tool for people to learn. With all the online courses available today, these kind of video's are a nice way to facilitate further learning and practice.


So who would you want to see streaming their development?

Let me nominate:

    Bret Victor
    Rich Hickey
    Scott Hanselman
    Jon Skeet
Who would you watch?


John Carmack


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.


> 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


Quite, 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.


Commits don't even come close to capturing the amount of data a screen recording does.


Therein 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.


Certainly! 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.


Appreciate the insight and feedback. There's been some really great discussion in this submission about the pros and cons of live streaming code but this is a real deep dive into what the future could hold and it's great to see people have the same positive attitude I have.


I wonder how coding in front of a live audience frequently would change how you write code. I can imagine both positive and negative effects. I think you would probably get very good at getting boilerplate code out of the way, but I assume it would make you more prone to mistakes, at least in front of a live audience.


I can imagine you'd feel a little more under the microscope so may be either prone to errors or may be so wary of errors you'll be overly cautious. Either way I think that'd be something which would perhaps disappear once you'd been streaming for a while and realised no one was really judging you.


I look forward to checking it out when it's live! Have you thought about including designers? It might make your audience larger. Designers are usually part of the dev process so I think it would still make sense with your name.


I've long thought this could be interesting. Please implement a feature to do a time lapse at varying speeds on replay.


just make something like google docs with read only view to public. it will be much more streamlined for data where you don't have to stream 1080p displays in all.


Where is your stream showing you coding this? :)


Haha, I will actually be doing that! Probably over on hitbox.tv to begin with, eventually porting over to devv.tv once I've actually built something.


This seems like a a great idea and a lot of fun. Something I would personally participate in on both the watching and the streaming side. The only concern I think I would have is that of API key / password exposure. It would be up to the developer to be very careful not to accidentally switch to a config file in their editor or whatever.


It's great to hear people want to stream!

The sensitive information issue is certainly a valid concern and something I'd be worried about personally too when streaming. I'm not sure how we'd solve this in the long term, initially though it'd probably just be down to streamer education.


It's a problem that Github suffers from. The thing is, it's easier to educate people about .gitignore and .hgignore, and those are both more effective at blocking out sensitive files than accidentally switching over an editor tab with a yaml or whatever. The risks become compounded when you consider that people will record the sessions and make them part of the public record.

I might be overreacting, but it might be something to think about.


No I don't think it's overreacting at all, I've got this listed as a reason people may not want to stream. If I could solve the problem then it'd be one less barrier. Thanks for your feedback, really appreciated.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: