I like work video messages

According to my Slack, I've sent 477 messages with demo videos since joining Zoo last March; about three quarters of a video per day. I know they have their limitations, but at this point in my career with this small-but-global team, I have survived on exchanged demo videos.

A video accompanied by a concise written description is, in my opinion, the most effective ephemeral work communication format at the moment. I've been able to ask for help in in-progress work, report bugs, avoid meetings, and demonstrate my understanding of features I'm working through. A video is worth between 30,000 and 60,000 words per second, depending on the frame rate.

Here's a feature demo:

Here's a little issue report during a code review:

I have the Slack video button to thank for a lot of this. It's such a nice little feature! Being to take up to 5 minutes of video right alongside my message, with an optional face cam in the lower right corner if I feel like it. I have an OBS setup that is decent, but I haven't found anything that beats a Slack for a quick no-nonsense video (if you're not using your Linux machine, RIP).

The other half of my setup is a small shell script to compress my last-downloaded video. This makes it easy for me to capture a video with Slack, download it, then run my compress_last command to prep it to attach to a GitHub pull request for a demo or to an issue for a hard-to-articulate point about CAD UX. Here are my scripts in case you find them useful; they wrap ffmpeg of course:

# The generic command can run my default compression
# on a passed-in path to a video file
compress() {
	FILENAME=$(basename $1)
	FILENAME_NO_EXT=$(echo $FILENAME | cut -d '.' -f 1)
	OUTPUT_FILE="$FILENAME_NO_EXT"-compressed.mp4
	
	echo "Compressing $1 into $OUTPUT_FILE"
	ffmpeg -i $1 -vcodec h264 -c:a libopus -movflags +faststart $OUTPUT_FILE
} 

# This function makes it easier for me to quickly
# compress my last-downloaded file with `cd ~/Downloads && compress_last && cd -`
compress_last() {
	LAST_FILE=$(ls -t | head -n 1)
	compress $LAST_FILE
}

# A function to convert any video file type to mp4.
# I don't use it much, but one neat thing is
# it maintains the same creation date as the original
2mp4() {
	echo "Converting $1 to mp4"
	FILENAME=$(basename $1)
	FILENAME_NO_EXT=$(echo $FILENAME | cut -d '.' -f 1)
	OUTPUT_FILE="${2:-$FILENAME_NO_EXT}".mp4
	
	ffmpeg -i $1 -movflags use_metadata_tags -vcodec h264 -acodec mp2 \
		$OUTPUT_FILE

	# Copy creation date
	# Based on https://unix.stackexchange.com/a/492338
	exiftool -tagsFromFile $1 $OUTPUT_FILE -overwrite_original
	CREATE_DATE=$(exiftool -s3 -CreateDate -d "%Y%m%d%H%M" "$1")

	echo $CREATE_DATE
	touch -t $CREATE_DATE $OUTPUT_FILE
}

Whatever your work setup is in Slack or something else, I'm just writing this to say I think it's worth spending a short time to curate a way to effortlessly create videos alongside your work communications. I think you communicate many things at once with little videos like this, leading to a dense format. Plus in a remote team, it helps to see or hear glimmers of each other's humanity, even if it's just how each other moves a mouse around the screen while showing you some gnarly bug.