
Ok, hear me out. This is a small problem in the grand scheme of things, but it drives me crazy.
Someone posts a Ruby demo. Could be a bug repro, a gem walkthrough, or even just a simple Rails feature explanation. It is a two minute screen recording. Then you click it and the file is as big as Santa’s belly – you will notice I am keeping this seasonal.
Nobody asked for a feature film. We just wanted to see the thing work.
How this happens every time
Most screen recorders normally record everything at their max available resolution. Big monitor. High frame rate. Maximum quality. It looks great – until you try to upload this massive bloated file.
Terminal text does not need 4K. A Rails console definitely does not need cinematic fps. But here we are.
Once that video exists, people avoid it. GitHub loads slowly. Docs feel heavy. Someone on a train gives up after three seconds.
The video technically exists, but functionally it might as well not.
Here is what actually matters for dev videos
You can ignore most video advice on the internet.
Three things matter.
Resolution. If the code is readable, you are done. Anything above that is ego.
Bitrate. This is where file size explodes. You can cut it down without any noticable difference in quality.
Frame rate. Unless something is moving fast, thirty is already generous.
Here is a more indepth technical explanation- Wikipedia covers video compression without trying to sell you anything. Not like I ever do this of course…
https://en.wikipedia.org/wiki/Video_compression
But honestly, you do not need to care how it works. The compression will do the heavy lifting.
Formats that do not cause problems
Use MP4.
That is it. Do not be clever. Do not experiment. MP4 works. Browsers. Docs. Internal tools. Everything.
WebM is fine until it is not. MOV is for editing, not sharing.
My unscientific workflow
This is what I do, every time.
I cut the beginning and the end hard. Nobody needs to watch me open a browser.
I drop the resolution if it recorded my whole screen.
I lower bitrate until it looks like it was recorded on a Nokia 3510 – yes, this was my first camera phone. Then gradually increase it so it looks better.
I export once and move on with my life.
That turns most demo videos into something people will actually click.
Why I do not bother scripting this in Ruby
Yes, you can automate video compression. Yes, you can wrap FFmpeg in Ruby. That is fine if video is your product.
For random demos, it is friction. I do not want to debug flags or remember command line options. I just want the file smaller.
That is why I usually use something browser based like the video size reducer clideo.com. Upload. Compress. Download. Done. No setup. No environment drama.
If I am doing it from my phone, the iOS app does the same job
https://apps.apple.com/us/app/clideo-video-editor/id1552262611
This is not a tooling philosophy. It is laziness in the best sense.
Why this is worth fixing
Smaller videos get watched.
That is the whole argument.
People actually click them. Docs load faster. Bug reports make sense. Demos do their job.
If your Ruby project cares about performance, this is part of it. Heavy videos are just slow pages in disguise.
Final rant
If your demo video is larger than the app it is showing, something went wrong.
Compression is not about polish. It is about not wasting everyone’s time. If someone bothered to record a video, the least we can do is make it easy to watch.
