I use the combination of OBS, ffmpeg, and YouTube to share knowledge asynchronously with teammates.
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:
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)
Remote work use cases like yours are the reason my cofounder and I created Outclip (https://checkoutclip.com). The advantages of Outclip over the OBS + ffmpeg + Youtube workflow are twofold:
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.
Like @ndh2 has stated, train yourself to not do it. Otherwise, your spoken audio files will be fine, but your conversations in team meetings over webex or conference calls will still have it, and it would be annoying everyone else (if it's a lot) and you wouldn't know about it because no-one is going to tell you.
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.
This is good advice, but one question: why is the default assumption here that I'm the only person I ever record?
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!
> why is the default assumption here that I'm the only person I ever record?
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
Total digression, but I participate in Toastmasters and there is a role in every meeting known as the 'Ah-Counter'. Every time someone uses a filler like um, ah, er, like, and, etc. they ring the bell to bring it to the speaker's attention. It supports individuals in being mindful about what they're saying and the fillers they are using.
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
Train yourself not to do it. It's not that hard, and it will go a long way in improving your communication.
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.
That's true, but I think very few bother to change the speed so I'm making the sped-up version as the default.
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.
I'm veering slightly in topic and only sharing personally, but I actually make a conscious effort to slow down when I am sharing something with other people. In my youth I used to race through all kinds of speech assuming the other person was on the same wavelength (and maybe also some anxiety I was wasting people's time). Recording classes that I currently teach has made me super-aware of bad patterns, which also include completing sentences with "but..." - assuming the unstated alternative is obvious, and using pronouns later in paragraphs like "so we are able to tell this is out of scope" when I really should be saying something like "...so we are able to tell that the doSomething() function is out of scope" to be explicitly clear. Definitely a big mindfulness challenge for me not to fall back into my default mannerisms.
For screen-cap/video instructions, I also try to take a little extra time* but towards making it concise/brief.
* 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.
Protip: include which operating systems/browsers you support and what kind of application it is (on the landing page). Without signing up, I can't see if I can even use it. Guessing this is either a Mac app, or a Chrome extension, neither will work for me on Ubuntu and Firefox.
Signed up for Loom last week and it's pretty awesome! I like the fact that it's one click to record/upload/host. The embedded video of the speaker is cool too. My team is currently working on a set of internal training videos using it.
I'm curious of ways to trim a video down to 'stuff happening', similar to how a voice-activated tape recorder works. One way might be to take clips of a certain length, with no user input and speed them up since these will usually be waiting on a progress bar.
Hey, I do that, too, but just OBS, YouTube, and private videos with explicit sharing.
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.
I don't think so, but I usually see people just typing notes for the viewer either directly on the command line (and then erasing them) or as # comments.
The algebra was wrong. If you do something in 66.66% of the time, you do it a 50% faster (i.e. 1.5x). Perhaps it is easier to see it with the case of reducing 10 minutes to 5 minutes. It is 2x faster, not 1.5x faster.
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
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.
My company uses hangouts almost exclusively, but I have had a chance to work with a 3rd party that uses zoom and zoom is amazing. It just works. Most conferencing software I rate on a numberline of hate. Zoom doesn't even exist on that dimension for me.
We're in the process of trying to get a trial for Zoom, as we initially bought in heavily on Google Hangouts and it's proving to be a terrible UX. I know how to use it, and I've shown everyone how to setup meetings, add rooms, etc... several times now, but it never sticks.
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.
I could never get hangouts to work properly across platforms/devices. Once I had to spend 15-20 minutes with an interview candidate setting it up (it messed up on both sides) at which point, I refused to do hangouts with anyone.
Tangential question, any tips about using orgmode with a team? Right now I use it for notes at meetings (pretty much all meetings) and translating those notes into tasks with dates etc, but I haven't been able to figure out a good way to get a team to use it...
We don't use it for async collaboration. So we have one "driver" who takes the notes and when we're done and ready to move to the PM, one of us transfers the tasks. One of our devs pretty much started this trend.
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.
We used this for awhile and it is OK (will get the job done) but we had much better audio/video quality with commerical solutions like GoToMeeting, WebEx and Jabber.
Would recommend if you are on a budget and need a self-hosted solution though.
It forces you to focus on content, not layout, and it has a great editing & commenting experience. Basically it's Google docs with fewer features, and then the remainder very well done. This makes it a joy to use.
Even comparing Google Docs against itself, it fails. Slow to launch, poor search, document corruption. The only good quality is being able to plus someone a task.
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.
Cleanfeed looked interesting until it got to “Chrome only”.¹ I’m curious: is there anything actually Chrome-specific in it at present, or is it just about focus? (A mistake, in my opinion, unless it’s depending on something only available in Chrome at present, but I acknowledge the validity of the argument.)
---
¹ 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.
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.
Yeah, the audio input world isn’t at all great on the web. Nor is the output world, for that matter. I wish Mozilla’s Audio Data API had won, it’s so much more sensible as a foundation than the Web Audio API.
Maybe related, but Google hangouts relies on plugins that are not present in other browsers as a result, you can only use Chrome[0] (or download a 3rd party plugin for Safari).
I agree that good audio is important, but we never had software problems... we just got everyone high quality headsets, and then the standard conferencing, skype or hangouts worked just fine for us. The only exceptions were people with poor internet connections at their home. I'd invest more into hardware and network than anything else.
Not OP here. Think of all the time people spend in face to face meetings every day when working from the same office. And now think about the time you spend on conferences in front of your monitor.
Well for me it's a ten minute stand up every day, so about an hour more per week. I hate f.lux though. Tried it for a week and I found my screen going yellow just made me feel like my eyesight was fading every evening
I use a tool called http://casual.pm to break larger problems down into smaller chunks. It's a mix of a todo list and a flowchart. They even allow drilling down into sub tasks which is super handy.
Zoom is amazing. I particularly appreciate that I can do videoconferencing with multiple people without the fans of my MBP making a lot of noise, as it is the case with skype or appear.in
We use Zoom and agree it's pretty great, but is there a similar product for doing whiteboarding remotely? Zoom's annotate thing leaves much to be desired...
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
Corporate credit card. ;) It's used to finance the tri-yearly two-to-five day meetups with the whole team in one location to work together and do more extensive longer term planning, plus 'bonding' dinners.
I was hoping this thread would discuss remote whiteboarding. As a remote engineering team, I think inability to easily/quickly whiteboard collaboratively is our biggest productivity sapper. What are people using?
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?
I can only recommend groupboard, not sure they have an iOS app but their web app is as close to whiteboarding as possible: only focus on getting your idea on the board and not about styling and other fluff
In a pair programming situation, this is very useful.
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.
It's incredibly helpful to launch a service and ensure it's running, and allow a dev to see it running in action as well. You can also have a one on one situation where a dev might want to show you how to debug a running app or something like that vs explaining where it logs error messages after they occur.
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.
I don't like working from home personally. I pollute my personal space with working habits. And pollute my working habits with my activities from my living space. So for me, going away from home to work - even just a coffee shop.
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)
everything which helps you to communicate with your colleagues:
* 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
Not really a remote worker (I am in a QE team that shares an office), but often we work in small, distributed subsets (i.e. small project containing QE crom Czech republic, OPS guy from Ireland, one eng from Spain and second from Germany).
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 :-)
As a remote freelance front-end web developer I use the following to help me manage the business side of being a remote developer.
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.
www.timelyapp.com is worth a look for automated time tracking too. Timely can track anything you work on (not just code), is a complete “time tracker” package.
Many of the tools that I use have already been mentioned, so I'll only mention that VPNs make me feel much better about working from coffee shops. I use EncryptMe, but most any VPN will do
Sites using HTTPS are still vulnerable on a public WiFi access point if you don't use a VPN. To give an example, an attacker can perform session hijacking:
How so? Effectively with a MITM attack the attacker becomes a router. Users don't connect to sites directly, the attack can be made transparent at the user level.
The only way one can MITM an https connection is by terminating the https connection at the level of the attacker and presenting an http connection to the user, hoping he won't notice the absence of the green https lock.
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.
A chat client that supports animated gifs; and a screenshot tool that lets you snag a gif and paste to chat. Helps a ton if you do any UI related work.
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).
I don't do much remote work but I am always trying to promote teamwork across sites. I use Trello for grouping projects with some success. Slack a bit for chat.
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.
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)
for automated time tracking, I've found that "Timing 2" is a bit better at giving a better overview since it also tracks the things you did "around" coding such as research and whatnot. Tasks not inside IDEs.
Personally i think communications tools help me more then anything in the remote developer category. Programming tools are the same if i am in the office or not.
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
Honestly, I've been remote for 5 years now (September 2012) and it's never been an issue for me. A combination of video calls, a decent chat client, and any work organization tool (something with tickets, assignment, and comments) had meant I've always felt more productive at home then in the office.
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.
File synchronization helps me keep documents and other data ready in both my laptop and worstation (that way I can always be on the go). Dropbox, google drive or resilio can help.
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 are a 7 member team and only 3 come to office. Rest 4 are in different cities - but same time zone.
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
Many of our developers are remote, so we needed a solution for facilitating retrospectives. I found a web app called RemoteRetro https://remoteretro.org/
Completely free, and it's also open source. Highly recommend even if your team is local.
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.
Woah - awesome! It's really cool to see other people on HN know what Loom is. :-) Hopefully more goodness to come in the new year (and more HN peeps using it).
The phone usually works OK as long as both people have a good signal. But actually audio latency can be an issue so whatever you pick that is one thing to optimize for. Hangouts etc. that are online might work better.
In my case, Slack, Hangouts for communication with my partners, and any music/podcast service to help me focus on my task, instead of listening to others noise. My favourites are Spotify and my iTunes Podcasts.
We paid for screenhero before they stopped charging. Last I heard, it was not as good as it once was now that it is part of slack. That aside, my work looked at going to slack and it was shot down vs staying with hipchat for a few reasons. Partly the cost of slack itself and partly the cost of chat bot rework (we have an unhealthy coupling of chat bots to hipchat that make it hard to migrate them to slack apparently). The bot(s) handle pr workflows, build jobs, internal service disruption comms, paging, and more.
I'm a bit disappointed by the current comments here. "Skype" can't have been the answer the OP was looking for? It's like saying JavaScript made you a more effective programmer. No, it just made you a programmer.
I'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.
Ooomph, I would absolutely hate sneek. It really feels like you're in an office.
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.
We tried a tool like that, everybody hated it and we switched it off. It just felt too big brother, especially for those of us that work from home. Made people uncomfortable and wasn't actually useful.
Note: my co is ~30 devs split across two offices in different states, plus a handful of people working from home. YMMV
Unlike the others I like Sqwiggle/Sneek. It stops me feeling cut off working from home. However Sneek has real performance issues and we had great problems getting the webcam/audio working reliably across computers, so we cancelled it.
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:
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)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.
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
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.
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.
https://www.useloom.com
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. 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
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.
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.
[1]: https://meet.jit.si/
Would recommend if you are on a budget and need a self-hosted solution though.
Paper does that.
I’ve been using Paper for months and it feels old and stodgy now when I open a Google Docs.
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.
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.
[0] https://support.mozilla.org/en-US/kb/google-hangouts-tempora...
https://opus-codec.org/comparison/
# 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?
https://zoom.us
The most stable, easiest video conference and screen sharing tool I’ve found is http://appear.in
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.
[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
hidefilenames = true
Disclaimer: I work there.
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
https://scotthelme.co.uk/advanced-session-hijacking/
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.
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.
https://www.useloom.com
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.
https://tomato-timer.com
its really hard to not go into always working mode and this helps with that.
I'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.
Note: my co is ~30 devs split across two offices in different states, plus a handful of people working from home. YMMV
I haven't used it though I believe TeamPlayer[1] has the functionality.
1. https://www.dicolab.com/