Whenever I need to document a particularly complex task or procedure, I record a 10 mins screencast and explain the process + show the steps. Any screen capture tool would do, but I find OBS to be very good and versatile https://obsproject.com/
But who wants to watch a 10 min video, with slow sections, typing and "ummm" pauses? Why not compress the information into 6.66min instead? Using the following command will speedup the video as if the user is watching at 1.33x:
ffmpeg -i "$1" -filter_complex "[0:v]setpts=0.6666666666666*PTS[v];[0:a]atempo=1.5[a]" -map "[v]" -map "[a]" "tmp-$1"
# Delay audio of $1 by 60ms to fix discrepancy caused by above step
ffmpeg -i "tmp-$1" -itsoffset 0.06 -i "tmp-$1" -map "0:0" -map "1:1" -acodec copy -vcodec copy "faster-$1"
rm "tmp-$1" # cleanup tmp file
After that I upload the video to youtube as "unlisted" and share the link so my teammates can check the video whenever they have time. It's as effective a communication medium as having a meeting, but communication is async. Example use cases: git rebase tutorials, documenting devops procedures, code walkthroughs. (edited to provide also the command to fix 60ms delay) ffmpeg -i "$1" -filter_complex "[0:v]setpts=0.75*PTS[v];[0:a]atempo=1.333333333333[a]" -map "[v]" -map "[a]" "tmp-$1"Perhaps 1.5x is too much (as in the example above), but I think 1.33x speedup would not be noticeable. People just think I drank a lot of coffee and talk fast.
If YouTube player had more speed options keyboard shortcuts like https://chrome.google.com/webstore/detail/video-speed-contro... then I probably wouldn't touch the source.
* If the instructions are worth making, more time will be spent viewing them than producing them.
I try to get the whole video in one take to save editing but I'll do multiple takes to try to get it right/succinct. I consider the first one a draft/rehearsal (though if it works out, great!).
This still doesn't take very long (even when using a small area of the screen to save file size), and viewers should find it easy to pause or back up a few seconds.
This is all for step by step style instructions rather than heavy conceptual teaching, though.
Also, for documentation it sometimes works even better to make a looping, animated GIF of a single step and then inline that with a text description.
Full disclosure: I’m the founder. But I’m also an engineer and our team has a non-trivial percent of remote people. This thing has truly made my life easier at work.
Also, I'm working on a desktop app for you soon! Hopefully we can hit the Firefox extension ecosystem as well, considering how awesome quantum seems!
Also, the unfortunately named but really useful asciinema (careful pronouncing it!) is a great tool if the other person is hands-on and the entire demo is going to be about a terminal session.
It's just a json file with timestamps. I suspect the original authors would not want to move away from this simplicity.
1. No overhead of managing files and uploading: you can record and share webcam videos and screencasts without leaving the Outclip webapp.
2. Better privacy than unlisted videos: Outclip has a group feature, where only logged in group members have access to videos.
We're 100% focused on making remote work better by enabling teams to communicate through video clips. Check us out at https://checkoutclip.com.
Seems like it'd be a useful and comparatively doable problem to solve.
Record 30 seconds without ums. If you failed, do it again. Then increase the time. Stop if you fail to much/can't concentrate, try again tomorrow. Recording yourself is the perfect opportunity to train.
Also, if you start to edit the ums out, you will quickly get tired of wasting time on doing this, and would train yourself to not do it yourself. I went through this exercise after recording youtube screencasts that are 5 to 10 mins long, and wasting about 30 minutes editing out my ums and ahems.
I'm pretty good at not um-ing too frequently (20 years of public speaking will do that), but I can't exactly require all my guests for podcasts or interviews, for example, first rigorously train themselves for months!
Because your question was in response to OPs statement regarding screenrecording, and in that, OP is talking about video and audio for recordings he/she does, not of group meetings.
> Whenever I need to document a particularly complex task or procedure, I record a 10 mins screencast and explain the process + show the steps
Source: OP.
There's something funny about contrasting this idea and yours but I'm having trouble putting it into words. Something about technology rendering solid communication skills obsolete in a subset of cases
1. Dropbox Paper for easy note-sharing. We've got a ton of docs we share, update, and constantly reference to
2. Appear.in - https://appear.in/ - probably the best team conference software we've used. We compared it to Slack, Skype, Hangouts (which is horrible), and a few others. Appear.in always won out, plus we can use it with contractors/clients without the need of an account. Works really well from the phone, too.
3. Org Mode - a recent addition, we've been using org mode to plan out dev sprints and story out features before putting them into PM software
4. Slack - self-explanatory
Paper does that.
I’ve been using Paper for months and it feels old and stodgy now when I open a Google Docs.
However, being so easy to manipulate it has become a place of braindumping. I begged my boss to separate his personal notes vs. company documents. It has gone out of hand. Tons of unattended documents that people have forgotten about.
Creating new documents and editing them has become so cheap (congrats to paper devs for managing that) that its backfiring in our case.
As for team conferencing, we used many many different tools. Recently we started using zoom.us and the quality is amazing. Much higher framerate and resolution with a better CPU usage.
I say "trying" to get a trial, as two people from our company have contacted Zoom multiple times, and while the initial contact is great, we just cannot get any followups. It's very frustrating, especially considering that all my dealings with Promevo have been absolutely outstanding.
[1]: https://meet.jit.si/
Would recommend if you are on a budget and need a self-hosted solution though.
Here's what it usually looks like:
* Project name
* * Large Project section [manually added point value]
* * * task name [pt value]
- further notes on task (really shouldn't be there, task should be very self-explanatory and atomic)
* Estimate
* * Pt value total for the project and estimation math.
Your rapport goes up 10x. You can not just discuss but also talk over the top of each other in the way that is naturally part of conversation; and even argue.
We develop a system originally for broadcasters and audio engineers to transfer live audio: http://cleanfeed.net/
It's a niche but interestingly more and more developers seem to be using it for audio quality -- and of course, we use it to develop it.
Whereas regular conferencing systems don't give good performance as they are focused either on video, or trying to process bad audio into good.
With proper hardware and software you can eliminates the stop-start feeling in conversations.
---
¹ OK, so it still looks interesting, I’m just turned off by that as a long-time Firefox user—and most of the people I work with are Firefox users also.
[0] https://support.mozilla.org/en-US/kb/google-hangouts-tempora...
When we started Firefox didn't have the level of functionality that we needed; it wasn't even possible to capture stereo audio, for example. Even today we're reliant on Chrome functionality that either isn't in the standards, or is undocumented.
That has been changing over time, and periodically we go through the codebase and re-align it with what's going on in Firefox or the standards as best as possible. You may even find you can close the warning and try and use it anyway. I'm also a long term Firefox user, and a proponent of a multi-browser world (I only started using Chrome to develop and use Cleanfeed!)
Cleanfeed began as a tool used to produce live radio; focusing on Chrome is a practical way to keep the bug footprint lower. That's important when things like the audio handling can be 'within spec' but just not performing very well. Things get more interesting with the peer-to-peer nature too, everything blows up in possibilities when you start trying to get Chrome to peer with Firefox and so on -- not just supporting each browser version, but combinations of them.
So I think we're justified as we sit on the bleeding edge a little, but also try and keep an eye on browser developments too, especially important if Cleanfeed finds uses in other areas. I'm happy when I hear people do care about Firefox (and other browsers) so the right thing is to let us know.
# needtomeet.com - for scheduling meeting.
# Screenhero - for collaborative screen sharing.
# Monosnap - for screenshot and annotate.
# Google doc - for collaboration.
# Zoho - for project management. They have a suite of apps so it's easy to integrate.
# Google wiki - for documentation.
# Rundeck - for automation. Will save lot of your time.
# Slack, Skype and Whatsapp - for communication.
# Secretserver - for credentials sharing.
# Autossh - for always connected ssh session.
# Tmux - for collaborative debugging.
# Dropbox - for file sharing.
# F.lux - remote developers spend more time staring at the screen so take care of the eye strain.
Uh... we do?
Also, is there anything out there that does screensharing but with multiple cursors like Screenhero? Just did a search on HN and found this: https://news.ycombinator.com/item?id=15854137
It seems reasonably functional. I'm surprised it took so long for something like it to appear though.
The most stable, easiest video conference and screen sharing tool I’ve found is http://appear.in
[0]: https://tmate.io/
We have started trialing RealtimeBoard with an iPad Pro + pencil. It’s a good start but their iOS apps are kinda terrible. Anyone got something really successful?
* A drawing app e.g., OneNote or Sketchbook or Krita
and
* A screen sharing app e.g., join.me
Has worked well for me. What's particularly nice is that you have a saveable, shareable, modifiable artifact when you're done with the remote session.
I'm also a bit surprised that Wiimote whiteboards never really took off: https://youtu.be/5s5EvhHy7eQ
Couple that with a drawing app and it works great
And yes, one cursor. But you can have multiple terminal sessions open on your local machine, but only be connected to one common session. That defeats the purpose of pair programming though.
You both want to be focusing on the same thing, at the same time.
I know people want more profound answers than that, but the company I worked for got by just fine with nothing but the basics. Being effective remotely is far more about your actual communication skills than the tools you choose to use when engaging those skills.
Chrome extension is available here:
https://chrome.google.com/webstore/detail/screenr/ppgaejlknk...
We'll do it asap. thanks for the reminder
If I need to be working from home I like to use pomodoro to keep me on task. Having a clear list of tasks is good. Taking notes in org-mode on the activities that I'm working on is also good. Basically anything that I would normally do to deal with complexity I need to do when I'm working at home or I end up wasting swathes of time unless I'm really well slept and on point (which I'm usually not because I work at a tiny startup)
* skype, google hangouts, webex, zoom for 1:1 and conference style video-calls
* github/zenhub and/or atlassian jira/confluence for scm/bugtracking/codereview/backlog/agile boards etc.
especially: write comments to tickets and PRs (!) even if it often seems trivial. it helps documenting work-progess and keeps decisions for later reference. don't forget any kind of wiki for documentation
* screensharing via ... screen/tmux or vnc, teamviewer or even some videochat - not skype because of its poor image quality - to do pair-programming
* irc/slack/skype-chat/... - any kind of im for synchronous text-based chat
* good old email for everything else :)
That said, the phone is probably the best friend of the remote developer.
1. Rocket chat - i.e. the self-hosted slack
2. Blue jeans - conference calls, integrated in our meeting-rooms, no idea how much we pay for it, but fairly reliable. Can record sessions, good for sharing among people :-)
3. Google-docs - mostly for sharing things that need to be discussed and meeting-minutes
4. Having a help-repo, containing internal guides and how-tos, that everybody can improve
5. having good ci/cd on all of your repositories, because sometimes there is no-one online yet and only one that will reply to you is your irc bot and Jenkins :-)
1. Cushion https://cushionapp.com/ - Super helpful freelance managing software targeted towards solo freelancers. I use it to track different projects and their invoice feature with Stripe integration is amazing.
2. RemoteLeads https://remoteleads.io/ - A newsletter that sends you free remote front-end freelance leads to your email about twice a week.
Shameless Plug: I started RemoteLeads to make it easier for myself to get those leads coming in.
Toggle for time tracking - https://www.toggl.com/
Bookmark OS for bookmark sharing - https://bookmarkos.com
Disclaimer: I work there.
hidefilenames = true
I’d argue people who are thinking of using a VPN wouldn’t fall for this kind of attack.
What signs should the user be paying attention to?
The attacker cannot serve to the victim a valid certificate for facebook.com unless the facebook.com private key or a CA has been compromised.
Alternatively the attacker could try a close enough domain (facebooks.com, or something) that it controls and for which it can get valid certificates, and redirect the victim hoping the user won't notice the slight difference in domain name.
That's the best way to see how many services still relies on http at least partially.
... unfortunately
I hope it will get better and soon we all will be able to do that
A voice chat with good audio quality and group calls. Preferably integrated with the chat, so you can “escalate” from chat to voice for the same group. Sadly I haven’t seen a better app for this than Skype (which is terrible apart from the sound quality).
Currently trialing shelf.io as a repository. It syncs your dropbox and drive etc and adds wonderful search capabilities, even inside scanned pdfs. Everyone can dump all the project docs in and you can still find what you need quickly.
https://wakatime.com/ allows you to install a plugin in your IDE for tracking time
Virtual desktops (windows but there is a mac version - Mission Control) is great for quickly moving back and forth between work desktop (no distractions) and communication desktop (email etc)
I’ve found it to be very useful, especially as it logs away times and the currently focused window titles. You can also set exclusions if you want.
I have found zoom has the best screen share quality. Great for pair programming/explaining
I find it best to over communicate what you are doing to the team. "Starting on x task", "brb coffee" even of no one cares or replies it just lets people know what i am doing
I work in an agency so i use slack status with the icon of the client i am currently working on.
The company encourages the use of a service called wooboard i feel that might be a good tool to keep up with the non remote team but i struggle to actually use it my self
I've used more than one of each of the above and o never found that low quality caused issues as long as it was close to real time.
The hardest part is questions: they're asynchronous much of the time. Calendar software with appointments is the cure for questions that must be asked synchronously.
What are you having trouble with? That may help you get better responses.
Skype For Business for one-on-one company calls & PSTN calls
Skype for VoiP with external parties
Yammer for company latent awareness/news sharing
TasksInaBox for collaboration planning and task followup
Doodle for meeting scheduling
Sharepoint for document repository
Having a remote session server ready can also be very helpful when you want to dial back home (vnc or teamviewer).
I also try to keep different users to help me focus on work on my machines, maybe even enable some kind of parental controls in the work account if you find yourself drifting away browsing the web (blocking some distracting websites).
We use the following 1) https://appear.in/ => Good conferencing tool 2) Asana -> to plan 3) Google docs to share the docs 4) Google chat & whatsapp web to chat
Has been working pretty well till now.
Completely free, and it's also open source. Highly recommend even if your team is local.
1) Discord - superb chat, voice & screen sharing (weak on file sharing)
2) GitHub - +LFS if you track large binaries
3) Paper - note taking tool from Dropbox (best for personal use only)
4) Dropbox - bit pricey but more natural to use than Drive etc
5) Asana - can be slow, but good for project org
Tools we used to love:
1) Skype - malware, UI train wreck
2) Slack - distraction contraption
3) Hangouts - too much wtf
4) Hipchat - slow, annoying
5) Google Drive - feels half baked
6) Trello - scale fail
For personal management todoist <3
I'm now getting a wacom tablet to draw during presentations or explanations, since I believe sometimes a couple of boxes and lines is way better to express intention other than 20 pages docs.
Also full disclosure: founder. But a large chunk of our team is remote and it’s certainly made my life easier.
1. JetBrains YouTrack , HUB or 2. Visual Studio Team Services 3. Telegram , Keybase & Discord
Thats it
GitHub issues for taggable discussions.
Zoom.us for calls and beer hangouts.
Google Docs for collaborative writing.
Screenhero for pairing/reviewing together.
its really hard to not go into always working mode and this helps with that.
ssh, tmux and emacs --daemonI'd like to add a less conventional tool to the list:
We're currently trying out https://sneek.io, a tool that takes a mugshot every minute and shares it with the team on a panel. Most of us use it on a separate device next to their workstation/laptop. The idea is that it simulates an office environment a tiny bit. This has two great benefits: 1) you know whether someone is behind their computer. Knowing that someone is away means your IM message will not get a speedy response for sure so you won't wait for it (or maybe not even ask it). This reduces time spent in IM. Secondly, faces instead of names, text and voices somehow makes the team feel more like a team.
This concept was popularized by Sqwiggle, but they went bust. I'd be very interested to hear other people's experiences with tools like this.
By the way, anyone found a good Screenhero replacement? Slack bought them but even 2 after years in development hell their calling and sharing support is ridiculously slow and buggy. For the uninitiated, Screenhero was a tool that gives everyone their own mouse pointer in a screen sharing session. Perfect for pair programming.
A few key benefits of being remote for me are that:
- I don't want to sit at my desk all the time, because I like to walk to think. If you do this in an office, people tend to think I'm not working. As a remote engineer, not showing up on that screen capture tool would make it even worse.
- I don't want to have to think about how I dress or where I sit or if I lie down.
- I don't want to have the distraction of checking who's there or not.
I get the idea behind it - that you need more human contact and everything, but this looks terrible to me.
I haven't used it though I believe TeamPlayer[1] has the functionality.
Note: my co is ~30 devs split across two offices in different states, plus a handful of people working from home. YMMV