9 ms·
Document your code just by hitting “record”
- bryanrasmussen 6y agodamn, this is very close to an idea I had some months ago (but better) that I decided to drop in favor of others. I think I am going to be using this in the next week.
- segmondy 6y agoI had a simliar idea a year ago, and did a proof of concept with some script and OBS. Glad to see it moving to reality, there's lots of rooms to grow for this idea. Got the idea after watching a coding session from some of the core golang devs.
- forkLding 6y agothis is a really cool idea, hope it gets traction
- mmm_grayons 6y agoIs the pricing structure documented somewhere and did I just miss it? If not, I would encourage the author (if he sees this) to please publish it, as I like to know how much something might cost me before making it part of my set of tools.
- tomatohs 6y agoHeader has been updated with pricing. http://paircast.io/pricing http://paircast.io/pricing.
- rdrey 6y agoJust a quick heads up: I'm a weirdo with WebRTC disabled by default which broke app.paircast.io for me. Because the pricing page embeds pricing from app.paircast.io, that failed for me, too, until I enabled WebRTC.
- beamatronic 6y agoCould become a killer app for Mac TouchBar
- rainyMammoth 6y agocool idea, but no support for linux?
- mmm_grayons 6y agoJudging by the binary size it's probably electron, so I can't see why.
- mrits 6y agovideo is too small to read and I don't see how to enlarge
- breck 6y agoTiny video and you can't full screen. Why not use YouTube?
- JoshTriplett 6y agoNot using YouTube is often the right choice. Blocking browser video controls is almost never the right choice. (Rare exceptions when you're using video as a substitute for animation, but even then, don't block right-click controls.)
- tomatohs 6y agoWe're not explicitly blocking video controls. I think this is due to the iframe embed.
- JoshTriplett 6y agoAh, interesting. Looks like the video controls become available once the video is playing, just not before it starts.
- tomatohs 6y agoThis is probably because it appears in an iframe. Try the full link here: https://app.paircast.io/replay/fa41d539-aea0-4d62-a192-3cd77c60a3ee?shareKey=ieVogFIq41Yu04YUBogaZA#0:352729 https://app.paircast.io/replay/fa41d539-aea0-4d62-a192-3cd77...
- calcifer 6y agoRight click -> full screen
- mrits 6y ago
- ClawsOnPaws 6y agoI hope people do not use this to document their code for others. I code for a living and I cannot see screens or watch videos. Maybe to keep a diary, sure, but nothing can beat written text in terms of accessibility.
- Breefield 6y agoPaircast automatically transcribe the video's audio to text.
- ClawsOnPaws 6y agoYes, but then you only have the video's audio but miss out on the actual code being written, meaning you lose a lot of context.
- tomatohs 6y agoIt also records the code being written.
- Retr0spectrum 6y agoIf the text-only experience is good enough, then why bother with encoding and storing a video?
- deleted 6y ago[deleted]
- apazzolini 6y agoBooks are pretty good, why bother with movies?
- yladiz 6y agoAlthough I agree with you, this comment is missing the mark. Books and films are two fundamentally different mediums and have two different audiences, while this is more about supplementing the text version of something with audio/video. I think that an audio (or video) version would be superior, but more because, assuming there are captions, the audio might be able to describe something beyond the code alone more easily than typing out a note would.
- sdan 6y agoThis sorts of videos would be much better if you could record keystrokes instead of the video; since coding is mostly just text based (and would be nice if you could copy straight from the video somehow).
- tomatohs 6y agoThe full code samples appear in the transcript below. Try the fullscreen version. https://app.paircast.io/replay/fa41d539-aea0-4d62-a192-3cd77c60a3ee?shareKey=ieVogFIq41Yu04YUBogaZA#0:352729 https://app.paircast.io/replay/fa41d539-aea0-4d62-a192-3cd77...
- mauerbac 6y agoThis is awesome !!
- sequoia 6y agoThis is an enhancement to video tutorials, not a replacement for documentation. Looks very cool but this is not a get-out-of-jail-free card to avoid writing documentation as the title here seems to imply.
- tomatohs 6y agoThe idea isn't to avoid writing documentation, it's to create any documentation where there was none. It's inspired by this quote from a GitHub survey. > 93 percent of the respondents noted that incomplete or outdated documentation is a pervasive problem, but 60 percent say they rarely or never contribute to documentation. The bet is that it's easier to talk about coding while you do it than sit down and write the docs. https://opensourcesurvey.org/2017/ https://opensourcesurvey.org/2017/
- solumos 6y agoIn my opinion, "creating a coding tutorial" and "creating/updating documentation" are two things that seem conflated here when they're very different workflows. I wouldn't ever prefer to create a video tutorial rather than just write out documentation. It's just too far from my workflow (maybe that's just me). I can, however, see how something like this would be extremely valuable to people who are instructing others on how to write code (DevX, bootcamp instructors, people who do video coding tutorials). I think that "Document your code just by hitting 'record'" is overselling that value though.
- spartanatreyu 6y agoTL;DR The Grand Unified Theory of Documentation: https://documentation.divio.com/ https://documentation.divio.com/ There's a lot that is mistakenly conflated as "documentation". Sometimes I would know enough about a topic except for one little thing and would look to the documentation. I only needed information on that one little thing to be productive, but I'd get stuck reading someone's entire backstory, trying to skim and find the one useful line in a random example to help me. Other times, I would find documentation and struggle to follow it in practice until I came to the conclusion that I would need to read the whole thing in its entirety to become productive. I would either have to block out some time to learn it all or go with a completely different solution. I used to think projects that claimed to be documented either fit into two groups: 1. Good documentation: I can find what I'm looking for 2. Bad documentation: I can't find what I'm looking for My eyes were opened when I read something that I have since committed to memory: https://documentation.divio.com https://documentation.divio.com There isn't just good documentation and bad documentation, there are 4 different kinds of documentation for distinct types of information delivery: Tutorials, How-To Guides, Explanations, and finally Reference. Now I consider documentation good or bad based on if it contains all 4 kinds of documentation.
- forgotmypw17 6y agoI often just do one fps screen captures of my coding sessions and it,s helpful to review
- remram 6y agoI wish I could see something on that video. For an app focusing on delivering screencasts, you are dangerously bad at delivering screencasts.
- tomatohs 6y agoRecorded this yesterday pretty quickly and submitted it here not thinking much of it. Turned the iframe into a CTA.
- remram 6y agoEven in fullscreen, this is barely readable. This video is prime example of why using videos is probably a bad idea when the focus is on text. It is so frustrating to see a screen where most of the content is impossible to make out. Pro-tip: don't record your demos on a 4k monitor setup or whatever this is. I just measured, and your IDE's font shows characters as 6 pixels high on my 1920x1080 monitor. Did you watch your recording?
- tomatohs 6y agoVideo at this resolution is a common use case, so feedback like this is helpful. No developer wants to reduce their screen resolution to record a screencast, it totally breaks flow. There is a huge focus on text, which is why the full markdown transcript is included.
- aspaceman 6y agoVideo is a great additional tool for the communication of ideas or learning. But it is an additional tool. I much, much prefer the written word for communicating ideas about code and technical concepts. I cannot stand videos about programming topics, and I'm frustrated by how frequently they're the definitive source on a topic. They do not feel as effective for me. While I understand why others might like videos, I really hope they stop catching on so hard. Especially with a facecam. One of the beauties of programming is that I can function with a bunch of fellow ugly nerds who don't make me show my ugly face just to get work done.
- tomatohs 6y agoI feel the same way which is why we're building this. Paircast outputs a markdown tutorial for anyone who's making coding videos. Facecam (and using the product) is optional.
- aspaceman 6y agoSorry I must have gotten pretty confused. The tool is mainly responsible for going video -> markdown rather than being a video solution? That seems better but putting effort into written communication is why I like it more than video anyways.
- tomatohs 6y agoIt's a three-way link between video, git commits, and markdown. You can edit the markdown on the cast as well. None of this is explained as well as it should be.
- mgkimsal 6y agoabout.... 15 years ago, I had an idea for allowing embedding of multimedia files with commits. svn was the thing at the time, and eclipse and netbeans were the dominant players. I had 0 idea about how to build something like that, but it seemed useful. still does. even now, we end up, sometimes, writing comments in pull requests which may correspond to particular lines in particular files, but we can't easily connect anything else. Perhaps some metadata format for comments could be defined and IDE plugins could make fetch the media... ? OFTEN I want some form of "stream of consciousness" thoughts associated with code - "spoke with Titus and Jen about this, and the loop needs to be broken up because foobar...". most of the time if I embed comments like that, someone blocks a PR or just rips them out in the name of "cleanliness", then 3 years later people are wondering "why was this done this way?" Links to tickets can help, but ... ticket trackers change - a reference to Trello card GKO-826 does no good when the project moved off Trello 2 years ago. Perhaps long term there's no good way to deal with any of this...? // @medianote ./20180902121352.mp3 while (x<users.length) { // ... } button in IDE to record audio note, and have it stored under ./.media relative folder... ?
- gitgud 6y agoSeems a bit redundant to store an audio file in version control which essentially represents a comment... Why not just use a "speech-to-text" software to add documentation?
- mgkimsal 6y agomaybe. I used audio as an example, and it was on my mind years ago when screen capture was far less common. Audio/screenshots/movies - Webex snippets, etc. Also, sometimes audio can let you more easily capture nuance/tone that you don't get in text alone. And ... some people just are good at talking through their thought process.
- jefftk 6y ago> Links to tickets can help, but ... ticket trackers change - a reference to Trello card GKO-826 does no good when the project moved off Trello 2 years ago. Keeping links working within your organization is really important, and I wish places prioritized it more. Our code often links to our bug tracker, and I'm thankful that my current employer does value this and these links work even when they are decades old.
- syamilmj 6y agoBeing able to automatically translate the texts would be a killer feature. It's probably outside of the scope for this product but language is quite a significant barrier for at least 80% of world population that doesn't speak English.
- jcun4128 6y agoIs there a thing where you can show your code running on the left(say a GUI) and then on the right it shows a high overview(file names/related files/method calls in a visual way like uml) and highlights lines of code as it executes. This could be helpful for code reviews imo regarding context transfer. I usually pick the easy stuff eg. syntax/more efficient code as opposed to the bigger actual context part depending on how big the review is/how familiar I am with that area.
- brainless 6y agoI like what has been done here and this is a problem I am actively thinking of as I am creating my own attempt at teaching how to code [1]. Would it be possible to use an IDE, like VS Code, to replay git and video? The author's video could be a hovering head with video controls that are tied into git (repository contents being shown by the said IDE). The comments here might seem demotivating but I too feel that video is not the best delivery mechanism for code - the IDE is. You have nicely wrapped Git with video timestamps. I feel that using video to show the code is poor UX. [1] https://github.com/brainless/solvex/tree/develop https://github.com/brainless/solvex/tree/develop Edit: sentence structure in para 2.
- tomatohs 6y agoI think the audience here is missing that the code diffs are included in the markdown below, probably because you need to scroll to see them. See around 3:38: https://app.paircast.io/replay/fa41d539-aea0-4d62-a192-3cd77c60a3ee#209238:329184 https://app.paircast.io/replay/fa41d539-aea0-4d62-a192-3cd77... Because the Paircast git commits include a timestamped link to the video, using something like gitlens in VS Code would allow you to click from code to video. https://github.com/eamodio/vscode-gitlens#autolink-settings https://github.com/eamodio/vscode-gitlens#autolink-settings
- brainless 6y agoYes I noticed that and the diffs are really done well. I feel your product has a great start but as a founder myself, I would suggest you to take the comments here, from everyone, in a positive spirit. I understand how negative it might feel, but if you want the best UX for teachers and students, then integrating with filesystem/git/IDE is really going to make a dent in the problem space. IMHO.
- brainless 6y agoUnfortunately I can not test the link as it needs me to download the app and I am on Linux - that is my primary/work OS.
- ranman 6y agoI used an earlier version of this to run some tests for AWS usability and for PyTorch usability. I like the product a lot.
- jtsiskin 6y ago@op very cool, reminds me of ascicast. Random example: https://asciinema.org/a/237460 https://asciinema.org/a/237460 Personally when I do a recording I have constant mistakes. It would be nice if in editing, I could easily delete pieces based on the transcript, and it would automatically delete the corresponding part of the video. So I could just delete that part in the middle where I mistyped and had to spent 2 minutes debugging, instead of having to stop and start over.
- tomatohs 6y agoYes! Asciinema and similar tools were huge inspirations. Editing the video from transcript (like Descript) is certainly a feature for the future. For now, you can use "highlights" to isolate the "the good parts." See this image: https://i.imgur.com/wBLPyAI.png https://i.imgur.com/wBLPyAI.png
- jchook 6y ago“Everything should be as simple as possible, but no simpler.” -Albert Einstein
- anonymous344 6y agoI watched this and I have somehow the feeling that it solves the broblem that does not even exists ? documenting code - do not use video! Do you even document it while writing, that does not make sense because the video will be invalid and old in 2 hours teaching -nope, just give us the working code
- cinbun8 6y agoI watched the video and did not understand the product. Is this supposed to be some way to make me watch a video that also documents how the code was written and how it is meant to work? The video would be distracting from the mental model I have built of how the calls stack and can get stale pretty quickly.
- ajnin 6y agoOkay as a tool to create tutorials or lessons this is pretty cool. It was not clear from the title and home page that this is the target but looking at the demo video makes this clear. As a tool to actually document code however as the title suggests this would be a terrible, terrible idea. No code comments or commit messages except a link to a video hosted on a website that may become broken or simply shut down at any time in the future? No thanks. What if I take 2 hours to write 10 lines of code, do I expect people who come after me to watch a 2 hour long video to understand what I was doing? It would also make public a mental process that may be messy, and maybe cause a similar effect to being watched over your shoulder while you code. Not to mention the usual problems of video like low consumption speed, linearity, and non-searchability.
- tomatohs 6y agoHere you can click on a line of code and be brought to that point in the video: https://github.com/haxordx/paircast-demo-1/blame/main/main.js https://github.com/haxordx/paircast-demo-1/blame/main/main.j...
- tomatohs 6y agoHere's an example of readme output: https://gist.github.com/ianjennings/15a65d05f1112e6b9cfc31ca88d02d0d https://gist.github.com/ianjennings/15a65d05f1112e6b9cfc31ca...
- orliesaurus 6y agoI tried this and it was really smooth: Good experience from installation to upload and reviewing the cast! Things I really liked: 1) the electron app records my voice and screen and then gets transcribed with some API in the back: as an English speaker with a thiccc accent this worked very well 2) git all the things: as you type and you record your screen, all changes are staged and time-stamped so you can quickly grep the result and find when you said or typed certain things. That is major useful for code-reviewing so you can go back during your pair session and immediately find things. My only fear is that all this data is stored somewhere outside of my realm, and if it records personally identifiable data of some sorts from my screen, I never will feel like I will be able to make sure the recordings/transcripts are gone-gone. Good job Ian!
- d0100 6y agoI looked at the pricing table and apparently you won't own the output?
- abbaselmas 6y agoI am not a native english speaker but transkript is not that good. I can change the script later thats not a big NO for me. I have tried the free public cast version. It works well. Now i want to delete that demo try cast. Delete buttons not responding. Developer Console Output is below: Failed to load resource: the server responded with a status of 500 (Internal Server Error) production.min.js:1 Uncaught (in promise) CloudError: Endpoint (`deleteHighlight`) responded with an error (or the request failed). at Object.exec (https://app.paircast.io/min/production.min.js:1:1581269 https://app.paircast.io/min/production.min.js:1:1581269) at https://app.paircast.io/min/production.min.js:1:1580713 https://app.paircast.io/min/production.min.js:1:1580713 at new Promise (<anonymous>) at Object.toPromise (https://app.paircast.io/min/production.min.js:1:1580681 https://app.paircast.io/min/production.min.js:1:1580681) at Object.then (https://app.paircast.io/min/production.min.js:1:1580465 https://app.paircast.io/min/production.min.js:1:1580465) Error Summary: (see `.responseInfo` for more details) ·-------------·----------------------------------------· | Protocol | http(s):// (jQuery) | Address | POST https://app.paircast.io/api/v1/highlight/delete https://app.paircast.io/api/v1/highlight/delete | Exit | error | Status Code | 500 ·-------------·----------------------------------------· Response Body: Internal Server Error
- tiborsaas 6y agoThis looks really useful for leaning a new language or framework. The basic idea of syncing commits with video timestamps and adding speech to text is brilliant. I hope you make traction with the new tutorial format.
- asyrafql 6y agoHaha, this guy build awesome stuff. But when I reading all the comment, most of them give a straight feedback . ouuchhh
- ivanche 6y ago@tomatohs If it's not a secret, what do you use for audio to text conversion?