Ask HN: What software/service helps you be an effective remote developer? - pearphp
======
ivan_ah
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/](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)

~~~
thenomad
On the subject of "ums" \- does anyone know if there's a tool out there to
automatically remove ums and uhs from spoken audio?

Seems like it'd be a useful and comparatively doable problem to solve.

~~~
justboxing
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.

~~~
thenomad
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!

~~~
justboxing
> 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

Source: OP.

------
antjanus
Sure! A few of them:

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/](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

~~~
makuchaku
How is Dropbox Paper better than Google Docs?

~~~
bradgessler
Imagine if you could format Google Docs using markdown, including code fences
with syntax highlighting built right in.

Paper does that.

I’ve been using Paper for months and it feels old and stodgy now when I open a
Google Docs.

------
zbuf
Decent audio -- far more important than video.

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/](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.

~~~
chrismorgan
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._

~~~
zbuf
It's both.

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.

~~~
chrismorgan
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.

------
navinsylvester
Been doing remote development for past 5 years. These are some of the super
useful tools i use.

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

~~~
roryisok
> remote developers spend more time staring at the screen so take care of the
> eye strain.

Uh... we do?

~~~
oAlbe
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.

~~~
roryisok
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

------
checker659
I use a tool called [http://casual.pm](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.

------
jonsagara
Zoom for screen sharing and conference calls. It's incredible.

[https://zoom.us](https://zoom.us)

~~~
gregsadetsky
As other people have noted, I’ve had issues with zoom as well.

The most stable, easiest video conference and screen sharing tool I’ve found
is [http://appear.in](http://appear.in)

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

------
yakshaving_jgt
100% remote developer for several years. The only tool I use that's specific
to remote development is tmate[0] for pair programming.

[0]: [https://tmate.io/](https://tmate.io/)

------
apinstein
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?

~~~
steamer25
Using a Wacom tablet with:

* 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](https://youtu.be/5s5EvhHy7eQ)

~~~
mronge
Also check out Astropad [https://www.astropad.com](https://www.astropad.com)
which turns the iPad into a Wacom like graphics tablet.

Couple that with a drawing app and it works great

------
spoonie
Shared terminal sessions using `screen` or `tmux`.

~~~
mvkg
For what purpose exactly? Surely you don't have multiple developers writing
code with one cursor.

~~~
akulbe
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.

------
codingdave
Slack, Google Docs, and our cell phones.

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.

------
d--b
Shameless plug: we made a screenshot tool with an extremely simple annotation
system to make it easier to communicate around visual issues.

Chrome extension is available here:

[https://chrome.google.com/webstore/detail/screenr/ppgaejlknk...](https://chrome.google.com/webstore/detail/screenr/ppgaejlknkbfkhjoiijoodojfiogpgmp)

~~~
jmui
No HTTPS on your site [http://screenr.co/](http://screenr.co/)?

~~~
d--b
Sorry, yes, we've just shipped a first version of that website, and https
hasn't been done yet.

We'll do it asap. thanks for the reminder

~~~
dekz
Your embedded video links to a random Vimeo Staff Pick

~~~
d--b
Indeed... sigh... thanks

------
ninjakeyboard
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)

------
t312227
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

* good old email for everything else :)

~~~
cgh
To add to this, Webex also has excellent desktop sharing. I use it many times
every day.

That said, the phone is probably the best friend of the remote developer.

~~~
purplezooey
WebEx always works really well. I wish it had better Linux support.

------
a-saleh
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 :-)

------
anon1094
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/](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/](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.

~~~
sverhagen
What made you limit this to front-end?

~~~
blumomo
Parent is apparently a frontend dev as he states in the first line.

------
davidp670
Slack for communication

Toggle for time tracking - [https://www.toggl.com/](https://www.toggl.com/)

Bookmark OS for bookmark sharing -
[https://bookmarkos.com](https://bookmarkos.com)

~~~
welder
Try out [https://wakatime.com](https://wakatime.com) for automatic time
tracking.

~~~
Slaul
Can't use this where I work because of information being sent to their
servers. Even if it is just absolute paths.

~~~
welder
Try adding this to your wakatime.cfg:

hidefilenames = true

------
peterlk
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

~~~
skrebbel
Can you explain how that matters? I mean, isn't every service you use on HTTPS
these days?

~~~
ZenoArrow
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:

[https://scotthelme.co.uk/advanced-session-
hijacking/](https://scotthelme.co.uk/advanced-session-hijacking/)

~~~
cm2187
That’s sites not using HSTS and where the user is not paying attention

I’d argue people who are thinking of using a VPN wouldn’t fall for this kind
of attack.

~~~
ZenoArrow
> "where the user is not paying attention"

What signs should the user be paying attention to?

~~~
cm2187
The https lock logo. If it is there the interception mentioned in the link is
impossible.

~~~
ZenoArrow
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.

~~~
cm2187
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.

------
alkonaut
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).

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

------
lazyeye
Great question

[https://wakatime.com/](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)

~~~
wingerlang
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.

~~~
jmiserez
On Windows, I can recommend ManicTime (www.manictime.com) myself. It’s free
and all data is only stored locally/offline.

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.

------
NationOfJoe
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

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

------
PeterStuer
GotToMeeting for group meetings/calls

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

------
victor_vhv
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).

------
hawksy
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/](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.

------
z-magic
Many of our developers are remote, so we needed a solution for facilitating
retrospectives. I found a web app called RemoteRetro
[https://remoteretro.org/](https://remoteretro.org/)

Completely free, and it's also open source. Highly recommend even if your team
is local.

------
strayamaaate
Tools we love:

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

------
rwmj
It's the boring stuff: IRC, email.

------
postit
Zoom / Gdrive / Github

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.

------
vhiremath4
I use Loom to create instantly shareable screen casts:

[https://www.useloom.com](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.

~~~
lcpriest
I _love_ loom. We use it heavily at my company both internally and with
customers.

~~~
vhiremath4
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).

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

------
26pcode
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.

------
notaboutdave
Any good time management tools out there? What do you guys use?

~~~
ivm
My app for productivity and project tracking:
[https://qotoqot.com/qbserve/](https://qotoqot.com/qbserve/)

------
bullen
[http://host.binarytask.com](http://host.binarytask.com) Global Distributed
Hot-Deployment PaaS.

------
R0otChiXor
I use these working remotly on multiple projects:

1\. JetBrains YouTrack , HUB or 2\. Visual Studio Team Services 3\. Telegram ,
Keybase & Discord

Thats it

------
codecurve
Slack for the noisy chat.

GitHub issues for taggable discussions.

Zoom.us for calls and beer hangouts.

Google Docs for collaborative writing.

Screenhero for pairing/reviewing together.

~~~
sethammons
Screenhero is dead and I have not found a viable alternative yet.

~~~
kod
Screenhero is in slack now, so... Pay up?

~~~
sethammons
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.

------
dominotw
pomodoro technique

[https://tomato-timer.com](https://tomato-timer.com)

its really hard to not go into always working mode and this helps with that.

------
conorcleary
Password manager. I recommend Enpass or 1Password.

------
dbg31415
* Discord - Free Voice and Text Chat for Gamers || [https://discordapp.com/](https://discordapp.com/)

------
FahadUddin92
TeamViewer, Slack, WhatsApp and Skype.

------
ajarmst

      ssh, tmux and emacs --daemon

------
polock
Absolutely Slack and Google docs.

------
samueldavid
rescuetime for time tracking

------
whatyoucantsay
SSH

------
lowry
'screen -x' is my favourite. Has been there for ages.

------
skrebbel
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](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.

~~~
d--b
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.

