top | item 15889939

Ask HN: What software/service helps you be an effective remote developer?

284 points| pearphp | 8 years ago

150 comments

order
[+] ivansavz|8 years ago|reply
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:

    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)
[+] carusooneliner|8 years ago|reply
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.

[+] antjanus|8 years ago|reply
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/ - 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

[+] emilsedgh|8 years ago|reply
I initially loved Dropbox Paper.

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.

[+] kimburgess|8 years ago|reply
Another huge +1 to https://appear.in. They built an incredibly well designed tool, that does one thing, perfectly, every time.
[+] i_dont_know_|8 years ago|reply
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...
[+] makuchaku|8 years ago|reply
How is Dropbox Paper better than Google Docs?
[+] zbuf|8 years ago|reply
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/

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|8 years ago|reply
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.

[+] codingdave|8 years ago|reply
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.
[+] navinsylvester|8 years ago|reply
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|8 years ago|reply
> remote developers spend more time staring at the screen so take care of the eye strain.

Uh... we do?

[+] checker659|8 years ago|reply
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.
[+] jonsagara|8 years ago|reply
Zoom for screen sharing and conference calls. It's incredible.

https://zoom.us

[+] gregsadetsky|8 years ago|reply
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

[+] n1000|8 years ago|reply
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
[+] genieyclo|8 years ago|reply
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

[+] xyzzy_plugh|8 years ago|reply
Few pieces of software have caused as many kernel panics for me as zoom has. As great as it may be, I wish it were better.
[+] pmoriarty|8 years ago|reply
How does Zoom compare to Skype, Teamviewer, or join.me?
[+] Jach|8 years ago|reply
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|8 years ago|reply
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/

[+] apinstein|8 years ago|reply
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|8 years ago|reply
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

[+] debruinf|8 years ago|reply
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
[+] jansho|8 years ago|reply
To add to the list, Skype for Business has a whiteboarding option. Easy and free.
[+] spoonie|8 years ago|reply
Shared terminal sessions using `screen` or `tmux`.
[+] mvkg|8 years ago|reply
For what purpose exactly? Surely you don't have multiple developers writing code with one cursor.
[+] peterlk|8 years ago|reply
For anyone looking for shared terminal sessions, I recommend wemux
[+] codingdave|8 years ago|reply
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.

[+] ninjakeyboard|8 years ago|reply
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|8 years ago|reply
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|8 years ago|reply
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.

[+] a-saleh|8 years ago|reply
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|8 years ago|reply
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.

[+] sverhagen|8 years ago|reply
What made you limit this to front-end?
[+] peterlk|8 years ago|reply
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|8 years ago|reply
Can you explain how that matters? I mean, isn't every service you use on HTTPS these days?
[+] alkonaut|8 years ago|reply
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|8 years ago|reply
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.